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 303 73 74 // Complete version of this file 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) 76 77 // VK_MAKE_VERSION is deprecated, but no reason was given in the API XML 78 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 79 #define VK_MAKE_VERSION(major, minor, patch) \ 80 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 81 82 // VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML 83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 84 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 85 86 // VK_VERSION_MINOR is deprecated, but no reason was given in the API XML 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 88 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 89 90 // VK_VERSION_PATCH is deprecated, but no reason was given in the API XML 91 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 92 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 94 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 95 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 96 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 97 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 98 typedef uint32_t VkBool32; 99 typedef uint64_t VkDeviceAddress; 100 typedef uint64_t VkDeviceSize; 101 typedef uint32_t VkFlags; 102 typedef uint32_t VkSampleMask; 103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 105 VK_DEFINE_HANDLE(VkInstance) 106 VK_DEFINE_HANDLE(VkPhysicalDevice) 107 VK_DEFINE_HANDLE(VkDevice) 108 VK_DEFINE_HANDLE(VkQueue) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 110 VK_DEFINE_HANDLE(VkCommandBuffer) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 127 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 128 #define VK_ATTACHMENT_UNUSED (~0U) 129 #define VK_FALSE 0U 130 #define VK_LOD_CLAMP_NONE 1000.0F 131 #define VK_QUEUE_FAMILY_IGNORED (~0U) 132 #define VK_REMAINING_ARRAY_LAYERS (~0U) 133 #define VK_REMAINING_MIP_LEVELS (~0U) 134 #define VK_SUBPASS_EXTERNAL (~0U) 135 #define VK_TRUE 1U 136 #define VK_WHOLE_SIZE (~0ULL) 137 #define VK_MAX_MEMORY_TYPES 32U 138 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 139 #define VK_UUID_SIZE 16U 140 #define VK_MAX_EXTENSION_NAME_SIZE 256U 141 #define VK_MAX_DESCRIPTION_SIZE 256U 142 #define VK_MAX_MEMORY_HEAPS 16U 143 144 typedef enum VkResult { 145 VK_SUCCESS = 0, 146 VK_NOT_READY = 1, 147 VK_TIMEOUT = 2, 148 VK_EVENT_SET = 3, 149 VK_EVENT_RESET = 4, 150 VK_INCOMPLETE = 5, 151 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 152 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 153 VK_ERROR_INITIALIZATION_FAILED = -3, 154 VK_ERROR_DEVICE_LOST = -4, 155 VK_ERROR_MEMORY_MAP_FAILED = -5, 156 VK_ERROR_LAYER_NOT_PRESENT = -6, 157 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 158 VK_ERROR_FEATURE_NOT_PRESENT = -8, 159 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 160 VK_ERROR_TOO_MANY_OBJECTS = -10, 161 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 162 VK_ERROR_FRAGMENTED_POOL = -12, 163 VK_ERROR_UNKNOWN = -13, 164 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 165 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 166 VK_ERROR_FRAGMENTATION = -1000161000, 167 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 168 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 169 VK_ERROR_NOT_PERMITTED = -1000174001, 170 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 171 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 172 VK_SUBOPTIMAL_KHR = 1000001003, 173 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 174 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 175 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 176 VK_ERROR_INVALID_SHADER_NV = -1000012000, 177 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 178 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 179 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 180 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 181 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 182 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 183 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 184 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 185 VK_THREAD_IDLE_KHR = 1000268000, 186 VK_THREAD_DONE_KHR = 1000268001, 187 VK_OPERATION_DEFERRED_KHR = 1000268002, 188 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 189 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 190 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 191 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 192 VK_PIPELINE_BINARY_MISSING_KHR = 1000483000, 193 VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000, 194 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 195 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 196 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 197 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED, 198 VK_ERROR_NOT_PERMITTED_KHR = VK_ERROR_NOT_PERMITTED, 199 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 200 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 201 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 202 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 203 // VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT is a deprecated alias 204 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 205 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 206 } VkResult; 207 208 typedef enum VkStructureType { 209 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 210 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 211 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 212 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 213 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 214 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 215 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 216 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 217 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 218 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 219 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 220 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 221 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 222 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 223 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 224 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 225 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 226 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 227 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 228 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 229 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 230 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 231 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 232 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 233 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 234 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 235 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 236 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 237 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 238 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 239 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 240 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 241 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 242 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 243 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 244 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 245 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 246 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 247 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 248 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 251 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 252 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 253 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 254 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 255 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 256 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 257 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 259 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 263 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 264 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 266 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 267 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 268 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 269 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 270 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 272 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 273 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 274 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 275 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 276 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 280 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 281 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 283 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 285 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 288 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 289 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 290 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 291 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 295 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 298 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 300 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 301 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 302 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 304 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 305 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 307 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 309 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 312 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 313 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 315 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 316 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 317 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 319 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 327 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 328 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 329 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 330 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 331 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 332 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 333 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 334 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 340 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 344 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 346 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 348 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 350 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 354 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 355 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 359 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 360 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 364 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 365 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 366 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 367 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 369 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 370 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 371 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 372 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 375 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 380 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 381 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 383 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 384 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 385 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 386 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 387 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 388 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 389 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 393 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 394 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 395 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 396 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 397 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 398 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 399 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 400 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 401 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 402 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 403 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 405 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 409 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 410 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 412 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 413 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 414 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 416 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 420 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 423 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 424 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES = 55, 426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES = 56, 427 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO = 1000174000, 428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES = 1000388000, 429 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES = 1000388001, 430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES = 1000416000, 431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES = 1000528000, 432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES = 1000544000, 433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES = 1000259000, 434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO = 1000259001, 435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES = 1000259002, 436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES = 1000525000, 437 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO = 1000190001, 438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES = 1000190002, 439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES = 1000265000, 440 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO = 1000271000, 441 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO = 1000271001, 442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES = 1000470000, 443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES = 1000470001, 444 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO = 1000470003, 445 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO = 1000470004, 446 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 = 1000338002, 447 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 = 1000338003, 448 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO = 1000470005, 449 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO = 1000470006, 450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES = 1000080000, 451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES = 1000232000, 452 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO = 1000232001, 453 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO = 1000232002, 454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES = 1000545000, 455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES = 1000545001, 456 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS = 1000545002, 457 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO = 1000545003, 458 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO = 1000545004, 459 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO = 1000545005, 460 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO = 1000545006, 461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES = 1000466000, 462 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO = 1000068000, 463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES = 1000068001, 464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES = 1000068002, 465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES = 1000270000, 466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES = 1000270001, 467 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY = 1000270002, 468 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY = 1000270003, 469 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO = 1000270004, 470 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO = 1000270005, 471 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO = 1000270006, 472 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO = 1000270007, 473 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE = 1000270008, 474 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY = 1000270009, 475 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 476 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 477 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 478 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 479 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 480 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 481 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 482 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 483 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 484 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 485 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 486 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 487 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 488 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 489 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 490 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 491 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 492 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 493 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 494 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 495 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 496 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 497 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 498 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 499 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 500 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 501 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 502 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 503 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 504 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 505 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 506 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 507 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 508 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 509 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 511 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 512 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 513 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 514 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 515 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 516 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 517 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 518 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 521 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 522 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 523 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 524 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 525 VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX = 1000029004, 526 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 527 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 555 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 557 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 558 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 560 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 561 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 562 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 563 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 565 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 566 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 567 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 568 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 569 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 570 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 571 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 572 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 574 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 575 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 576 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 577 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 578 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 579 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 580 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 581 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 582 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 583 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 584 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 585 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 586 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 587 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 588 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 589 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 590 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 591 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 592 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 593 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 594 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 595 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 596 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 597 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 598 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 600 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 601 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 603 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 605 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 607 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 608 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 610 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 611 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 612 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 613 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 614 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 615 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 618 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 619 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 620 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 621 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 622 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 624 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 625 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 626 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 627 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 628 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 629 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 630 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 631 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 632 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 633 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 634 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 635 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 636 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 637 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 638 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 639 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 640 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 641 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 642 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 643 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 644 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 645 #ifdef VK_ENABLE_BETA_EXTENSIONS 646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 647 #endif 648 #ifdef VK_ENABLE_BETA_EXTENSIONS 649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 650 #endif 651 #ifdef VK_ENABLE_BETA_EXTENSIONS 652 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 653 #endif 654 #ifdef VK_ENABLE_BETA_EXTENSIONS 655 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 656 #endif 657 #ifdef VK_ENABLE_BETA_EXTENSIONS 658 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 659 #endif 660 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 661 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 662 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 663 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 665 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 668 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 669 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 670 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 671 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 672 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 673 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 674 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 675 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 676 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 677 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 678 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 679 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 680 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 683 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 684 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 685 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 687 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 688 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 689 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 691 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 694 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 696 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 697 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 698 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 699 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 700 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 701 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 702 #ifdef VK_ENABLE_BETA_EXTENSIONS 703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 704 #endif 705 #ifdef VK_ENABLE_BETA_EXTENSIONS 706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 707 #endif 708 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 711 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 712 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 713 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 714 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 715 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 716 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 717 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 718 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 719 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 721 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 722 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 724 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 726 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 727 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 728 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 731 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 733 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 734 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 735 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 736 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 737 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 738 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 739 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 741 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 745 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 747 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 748 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 749 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 750 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 752 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 753 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 754 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 755 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 756 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 757 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 759 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 760 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 761 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 762 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 765 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 766 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 767 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 768 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 772 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 779 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 780 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 783 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 784 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 787 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 790 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 791 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 795 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 797 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 798 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 799 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 800 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 804 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 805 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 806 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 807 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 808 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 811 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 813 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 814 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 815 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 817 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 818 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 819 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 820 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 821 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 823 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 824 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 825 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 826 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 827 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 828 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 831 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 833 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 834 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 836 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 837 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 839 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 840 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 843 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 846 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 848 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 849 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 850 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 852 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 853 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 854 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 855 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 856 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 857 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 859 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 860 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 861 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 862 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 864 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 865 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 866 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 867 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 870 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 871 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 872 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 873 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 874 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 875 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 876 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 877 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 878 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 879 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 880 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 881 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 882 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 886 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 887 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 888 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 889 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 890 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 891 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 892 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 893 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 894 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 895 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 898 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 905 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 906 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 907 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 908 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 914 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 917 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 918 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 922 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 923 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 925 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 927 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 928 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 931 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 933 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT = 1000361000, 936 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 937 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 938 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 939 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 940 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 941 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 942 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 943 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 944 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 945 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 946 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 947 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 948 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 949 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 950 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 951 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 955 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 957 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 960 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 962 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 963 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 964 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 965 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 967 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 971 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 977 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 978 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 979 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 980 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 981 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 984 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 985 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 986 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 987 #ifdef VK_ENABLE_BETA_EXTENSIONS 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 989 #endif 990 #ifdef VK_ENABLE_BETA_EXTENSIONS 991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 992 #endif 993 #ifdef VK_ENABLE_BETA_EXTENSIONS 994 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 995 #endif 996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 1000 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 1003 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 1006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 1007 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 1009 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 1010 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 1014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 1015 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 1016 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 1017 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 1018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 1019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 1020 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 1025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 1026 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 1027 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 1029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1033 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 1035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1036 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1040 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1041 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1042 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1043 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1044 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1047 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1048 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1049 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1052 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1053 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1054 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1055 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1056 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1060 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD = 1000476000, 1062 VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD = 1000476001, 1063 VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002, 1064 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1067 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1068 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR = 1000483000, 1069 VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR = 1000483001, 1070 VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR = 1000483002, 1071 VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR = 1000483003, 1072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR = 1000483004, 1073 VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR = 1000483005, 1074 VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR = 1000483006, 1075 VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR = 1000483007, 1076 VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR = 1000483008, 1077 VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR = 1000483009, 1078 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1079 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1081 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1088 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, 1090 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, 1091 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1096 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1097 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1098 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1099 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1100 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1101 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1102 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1103 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1104 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1106 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1109 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1110 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR = 1000201000, 1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR = 1000511000, 1112 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1113 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1114 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1115 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1116 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1117 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR = 1000513000, 1118 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000513001, 1119 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR = 1000513002, 1120 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR = 1000513003, 1121 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR = 1000513004, 1122 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR = 1000513005, 1123 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR = 1000513006, 1124 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR = 1000513007, 1125 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR = 1000513008, 1126 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR = 1000513009, 1127 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR = 1000513010, 1128 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1129 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1130 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1131 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1132 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1133 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1134 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1135 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1136 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1138 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1141 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1142 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1143 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1144 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1147 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1148 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1149 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1151 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV = 1000551000, 1152 VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV = 1000551001, 1153 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553000, 1154 VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553001, 1155 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR = 1000553002, 1156 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000553005, 1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR = 1000553009, 1158 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553003, 1159 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553004, 1160 VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553006, 1161 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553007, 1162 VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553008, 1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000, 1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000, 1166 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000, 1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001, 1168 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002, 1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003, 1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004, 1171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, 1173 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, 1174 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT = 1000572000, 1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT = 1000572001, 1176 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT = 1000572002, 1177 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT = 1000572003, 1178 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT = 1000572004, 1179 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT = 1000572006, 1180 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT = 1000572007, 1181 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT = 1000572008, 1182 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT = 1000572009, 1183 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT = 1000572010, 1184 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT = 1000572011, 1185 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT = 1000572012, 1186 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT = 1000572013, 1187 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT = 1000572014, 1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, 1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, 1190 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, 1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000, 1192 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001, 1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, 1194 VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, 1195 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, 1196 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001, 1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002, 1198 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000, 1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1201 // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a deprecated alias 1202 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1203 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1204 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1205 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1207 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1208 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1213 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1214 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1216 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1218 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1220 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1221 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1222 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1223 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1224 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1225 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1226 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1227 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1228 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO, 1229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES, 1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES, 1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1232 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1234 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1236 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1238 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1239 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1240 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1242 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1243 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES, 1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1248 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1249 // VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT is a deprecated alias 1250 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1252 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1253 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1254 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1255 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1256 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1257 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1258 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1259 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1260 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1261 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1263 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1264 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1266 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1267 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1268 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1271 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1272 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1274 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1277 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1278 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1279 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1280 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1281 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1282 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1283 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1284 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1285 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1286 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1287 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1288 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1289 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1291 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1292 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1293 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1294 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1297 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1298 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1300 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1301 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1305 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1306 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1308 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1309 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1311 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1312 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1315 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR, 1317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1320 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1321 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1322 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1323 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1324 // VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL is a deprecated alias 1325 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1330 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES, 1333 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO, 1334 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO, 1335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1336 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1337 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1339 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1341 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1344 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1345 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1346 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1347 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1349 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES, 1354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES, 1355 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY, 1356 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY, 1357 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO, 1358 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO, 1359 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO, 1360 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO, 1361 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE, 1362 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY, 1363 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO, 1364 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO, 1365 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1370 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1371 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1373 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1374 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1375 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1376 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1377 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1378 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1379 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1380 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1381 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1383 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1384 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1385 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1386 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1387 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1388 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1389 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1390 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1391 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1392 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1393 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1394 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1395 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1397 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1398 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1399 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1400 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1402 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1405 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1406 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES, 1408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES, 1409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES, 1410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES, 1411 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO, 1412 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO, 1413 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1414 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1415 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO, 1416 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO, 1417 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES, 1419 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES, 1422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1424 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES, 1427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES, 1428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES, 1429 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS, 1430 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO, 1431 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO, 1432 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO, 1433 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO, 1434 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1435 } VkStructureType; 1436 1437 typedef enum VkPipelineCacheHeaderVersion { 1438 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1439 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1440 } VkPipelineCacheHeaderVersion; 1441 1442 typedef enum VkImageLayout { 1443 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1444 VK_IMAGE_LAYOUT_GENERAL = 1, 1445 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1446 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1447 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1448 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1449 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1450 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1451 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1452 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1453 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1454 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1455 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1456 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1457 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1458 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1459 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1460 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000, 1461 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1462 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1463 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1464 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1465 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1466 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1467 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1468 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1469 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1470 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1471 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1472 VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR = 1000553000, 1473 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1474 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1475 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1476 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ, 1477 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1478 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1479 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1480 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1481 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1482 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1483 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1484 } VkImageLayout; 1485 1486 typedef enum VkObjectType { 1487 VK_OBJECT_TYPE_UNKNOWN = 0, 1488 VK_OBJECT_TYPE_INSTANCE = 1, 1489 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1490 VK_OBJECT_TYPE_DEVICE = 3, 1491 VK_OBJECT_TYPE_QUEUE = 4, 1492 VK_OBJECT_TYPE_SEMAPHORE = 5, 1493 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1494 VK_OBJECT_TYPE_FENCE = 7, 1495 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1496 VK_OBJECT_TYPE_BUFFER = 9, 1497 VK_OBJECT_TYPE_IMAGE = 10, 1498 VK_OBJECT_TYPE_EVENT = 11, 1499 VK_OBJECT_TYPE_QUERY_POOL = 12, 1500 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1501 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1502 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1503 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1504 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1505 VK_OBJECT_TYPE_RENDER_PASS = 18, 1506 VK_OBJECT_TYPE_PIPELINE = 19, 1507 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1508 VK_OBJECT_TYPE_SAMPLER = 21, 1509 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1510 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1511 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1512 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1513 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1514 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1515 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1516 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1517 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1518 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1519 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1520 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1521 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1522 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1523 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1524 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1525 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1526 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1527 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1528 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1529 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1530 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1531 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1532 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1533 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1534 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1535 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1536 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1537 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1538 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000, 1539 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT = 1000572000, 1540 VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT = 1000572001, 1541 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1542 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1543 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1544 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1545 } VkObjectType; 1546 1547 typedef enum VkVendorId { 1548 VK_VENDOR_ID_KHRONOS = 0x10000, 1549 VK_VENDOR_ID_VIV = 0x10001, 1550 VK_VENDOR_ID_VSI = 0x10002, 1551 VK_VENDOR_ID_KAZAN = 0x10003, 1552 VK_VENDOR_ID_CODEPLAY = 0x10004, 1553 VK_VENDOR_ID_MESA = 0x10005, 1554 VK_VENDOR_ID_POCL = 0x10006, 1555 VK_VENDOR_ID_MOBILEYE = 0x10007, 1556 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1557 } VkVendorId; 1558 1559 typedef enum VkSystemAllocationScope { 1560 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1561 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1562 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1563 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1564 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1565 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1566 } VkSystemAllocationScope; 1567 1568 typedef enum VkInternalAllocationType { 1569 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1570 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1571 } VkInternalAllocationType; 1572 1573 typedef enum VkFormat { 1574 VK_FORMAT_UNDEFINED = 0, 1575 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1576 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1577 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1578 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1579 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1580 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1581 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1582 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1583 VK_FORMAT_R8_UNORM = 9, 1584 VK_FORMAT_R8_SNORM = 10, 1585 VK_FORMAT_R8_USCALED = 11, 1586 VK_FORMAT_R8_SSCALED = 12, 1587 VK_FORMAT_R8_UINT = 13, 1588 VK_FORMAT_R8_SINT = 14, 1589 VK_FORMAT_R8_SRGB = 15, 1590 VK_FORMAT_R8G8_UNORM = 16, 1591 VK_FORMAT_R8G8_SNORM = 17, 1592 VK_FORMAT_R8G8_USCALED = 18, 1593 VK_FORMAT_R8G8_SSCALED = 19, 1594 VK_FORMAT_R8G8_UINT = 20, 1595 VK_FORMAT_R8G8_SINT = 21, 1596 VK_FORMAT_R8G8_SRGB = 22, 1597 VK_FORMAT_R8G8B8_UNORM = 23, 1598 VK_FORMAT_R8G8B8_SNORM = 24, 1599 VK_FORMAT_R8G8B8_USCALED = 25, 1600 VK_FORMAT_R8G8B8_SSCALED = 26, 1601 VK_FORMAT_R8G8B8_UINT = 27, 1602 VK_FORMAT_R8G8B8_SINT = 28, 1603 VK_FORMAT_R8G8B8_SRGB = 29, 1604 VK_FORMAT_B8G8R8_UNORM = 30, 1605 VK_FORMAT_B8G8R8_SNORM = 31, 1606 VK_FORMAT_B8G8R8_USCALED = 32, 1607 VK_FORMAT_B8G8R8_SSCALED = 33, 1608 VK_FORMAT_B8G8R8_UINT = 34, 1609 VK_FORMAT_B8G8R8_SINT = 35, 1610 VK_FORMAT_B8G8R8_SRGB = 36, 1611 VK_FORMAT_R8G8B8A8_UNORM = 37, 1612 VK_FORMAT_R8G8B8A8_SNORM = 38, 1613 VK_FORMAT_R8G8B8A8_USCALED = 39, 1614 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1615 VK_FORMAT_R8G8B8A8_UINT = 41, 1616 VK_FORMAT_R8G8B8A8_SINT = 42, 1617 VK_FORMAT_R8G8B8A8_SRGB = 43, 1618 VK_FORMAT_B8G8R8A8_UNORM = 44, 1619 VK_FORMAT_B8G8R8A8_SNORM = 45, 1620 VK_FORMAT_B8G8R8A8_USCALED = 46, 1621 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1622 VK_FORMAT_B8G8R8A8_UINT = 48, 1623 VK_FORMAT_B8G8R8A8_SINT = 49, 1624 VK_FORMAT_B8G8R8A8_SRGB = 50, 1625 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1626 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1627 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1628 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1629 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1630 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1631 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1632 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1633 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1634 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1635 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1636 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1637 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1638 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1639 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1640 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1641 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1642 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1643 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1644 VK_FORMAT_R16_UNORM = 70, 1645 VK_FORMAT_R16_SNORM = 71, 1646 VK_FORMAT_R16_USCALED = 72, 1647 VK_FORMAT_R16_SSCALED = 73, 1648 VK_FORMAT_R16_UINT = 74, 1649 VK_FORMAT_R16_SINT = 75, 1650 VK_FORMAT_R16_SFLOAT = 76, 1651 VK_FORMAT_R16G16_UNORM = 77, 1652 VK_FORMAT_R16G16_SNORM = 78, 1653 VK_FORMAT_R16G16_USCALED = 79, 1654 VK_FORMAT_R16G16_SSCALED = 80, 1655 VK_FORMAT_R16G16_UINT = 81, 1656 VK_FORMAT_R16G16_SINT = 82, 1657 VK_FORMAT_R16G16_SFLOAT = 83, 1658 VK_FORMAT_R16G16B16_UNORM = 84, 1659 VK_FORMAT_R16G16B16_SNORM = 85, 1660 VK_FORMAT_R16G16B16_USCALED = 86, 1661 VK_FORMAT_R16G16B16_SSCALED = 87, 1662 VK_FORMAT_R16G16B16_UINT = 88, 1663 VK_FORMAT_R16G16B16_SINT = 89, 1664 VK_FORMAT_R16G16B16_SFLOAT = 90, 1665 VK_FORMAT_R16G16B16A16_UNORM = 91, 1666 VK_FORMAT_R16G16B16A16_SNORM = 92, 1667 VK_FORMAT_R16G16B16A16_USCALED = 93, 1668 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1669 VK_FORMAT_R16G16B16A16_UINT = 95, 1670 VK_FORMAT_R16G16B16A16_SINT = 96, 1671 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1672 VK_FORMAT_R32_UINT = 98, 1673 VK_FORMAT_R32_SINT = 99, 1674 VK_FORMAT_R32_SFLOAT = 100, 1675 VK_FORMAT_R32G32_UINT = 101, 1676 VK_FORMAT_R32G32_SINT = 102, 1677 VK_FORMAT_R32G32_SFLOAT = 103, 1678 VK_FORMAT_R32G32B32_UINT = 104, 1679 VK_FORMAT_R32G32B32_SINT = 105, 1680 VK_FORMAT_R32G32B32_SFLOAT = 106, 1681 VK_FORMAT_R32G32B32A32_UINT = 107, 1682 VK_FORMAT_R32G32B32A32_SINT = 108, 1683 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1684 VK_FORMAT_R64_UINT = 110, 1685 VK_FORMAT_R64_SINT = 111, 1686 VK_FORMAT_R64_SFLOAT = 112, 1687 VK_FORMAT_R64G64_UINT = 113, 1688 VK_FORMAT_R64G64_SINT = 114, 1689 VK_FORMAT_R64G64_SFLOAT = 115, 1690 VK_FORMAT_R64G64B64_UINT = 116, 1691 VK_FORMAT_R64G64B64_SINT = 117, 1692 VK_FORMAT_R64G64B64_SFLOAT = 118, 1693 VK_FORMAT_R64G64B64A64_UINT = 119, 1694 VK_FORMAT_R64G64B64A64_SINT = 120, 1695 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1696 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1697 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1698 VK_FORMAT_D16_UNORM = 124, 1699 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1700 VK_FORMAT_D32_SFLOAT = 126, 1701 VK_FORMAT_S8_UINT = 127, 1702 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1703 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1704 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1705 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1706 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1707 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1708 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1709 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1710 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1711 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1712 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1713 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1714 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1715 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1716 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1717 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1718 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1719 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1720 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1721 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1722 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1723 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1724 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1725 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1726 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1727 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1728 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1729 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1730 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1731 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1732 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1733 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1734 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1735 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1736 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1737 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1738 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1739 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1740 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1741 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1742 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1743 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1744 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1745 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1746 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1747 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1748 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1749 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1750 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1751 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1752 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1753 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1754 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1755 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1756 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1757 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1758 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1759 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1760 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1761 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1762 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1763 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1764 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1765 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1766 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1767 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1768 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1769 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1770 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1771 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1772 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1773 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1774 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1775 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1776 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1777 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1778 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1779 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1780 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1781 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1782 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1783 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1784 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1785 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1786 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1787 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1788 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1789 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1790 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1791 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1792 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1793 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1794 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1795 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1796 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1797 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1798 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1799 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1800 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1801 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1802 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1803 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1804 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1805 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1806 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1807 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1808 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1809 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1810 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1811 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1812 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1813 VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000, 1814 VK_FORMAT_A8_UNORM = 1000470001, 1815 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1816 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1817 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1818 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1819 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1820 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1821 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1822 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1823 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1824 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1825 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1826 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1827 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1828 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1829 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1830 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1831 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1832 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1833 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1834 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1835 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1836 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1837 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1838 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1839 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1840 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1841 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1842 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1843 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1844 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1845 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1846 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1847 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1848 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1849 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1850 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1851 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1852 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1853 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1854 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1855 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1856 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1857 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1858 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1859 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1860 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1861 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1862 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1863 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1864 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1865 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1866 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1867 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1868 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1869 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1870 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1871 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1872 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1873 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1874 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1875 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1876 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1877 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1878 // VK_FORMAT_R16G16_S10_5_NV is a deprecated alias 1879 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV, 1880 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16, 1881 VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM, 1882 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1883 } VkFormat; 1884 1885 typedef enum VkImageTiling { 1886 VK_IMAGE_TILING_OPTIMAL = 0, 1887 VK_IMAGE_TILING_LINEAR = 1, 1888 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1889 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1890 } VkImageTiling; 1891 1892 typedef enum VkImageType { 1893 VK_IMAGE_TYPE_1D = 0, 1894 VK_IMAGE_TYPE_2D = 1, 1895 VK_IMAGE_TYPE_3D = 2, 1896 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1897 } VkImageType; 1898 1899 typedef enum VkPhysicalDeviceType { 1900 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1901 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1902 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1903 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1904 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1905 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1906 } VkPhysicalDeviceType; 1907 1908 typedef enum VkQueryType { 1909 VK_QUERY_TYPE_OCCLUSION = 0, 1910 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1911 VK_QUERY_TYPE_TIMESTAMP = 2, 1912 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1913 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1914 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1915 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1916 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1917 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1918 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1919 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1920 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1921 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1922 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1923 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1924 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1925 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1926 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1927 } VkQueryType; 1928 1929 typedef enum VkSharingMode { 1930 VK_SHARING_MODE_EXCLUSIVE = 0, 1931 VK_SHARING_MODE_CONCURRENT = 1, 1932 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1933 } VkSharingMode; 1934 1935 typedef enum VkComponentSwizzle { 1936 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1937 VK_COMPONENT_SWIZZLE_ZERO = 1, 1938 VK_COMPONENT_SWIZZLE_ONE = 2, 1939 VK_COMPONENT_SWIZZLE_R = 3, 1940 VK_COMPONENT_SWIZZLE_G = 4, 1941 VK_COMPONENT_SWIZZLE_B = 5, 1942 VK_COMPONENT_SWIZZLE_A = 6, 1943 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1944 } VkComponentSwizzle; 1945 1946 typedef enum VkImageViewType { 1947 VK_IMAGE_VIEW_TYPE_1D = 0, 1948 VK_IMAGE_VIEW_TYPE_2D = 1, 1949 VK_IMAGE_VIEW_TYPE_3D = 2, 1950 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1951 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1952 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1953 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1954 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1955 } VkImageViewType; 1956 1957 typedef enum VkBlendFactor { 1958 VK_BLEND_FACTOR_ZERO = 0, 1959 VK_BLEND_FACTOR_ONE = 1, 1960 VK_BLEND_FACTOR_SRC_COLOR = 2, 1961 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1962 VK_BLEND_FACTOR_DST_COLOR = 4, 1963 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1964 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1965 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1966 VK_BLEND_FACTOR_DST_ALPHA = 8, 1967 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1968 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1969 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1970 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1971 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1972 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1973 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1974 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1975 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1976 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1977 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1978 } VkBlendFactor; 1979 1980 typedef enum VkBlendOp { 1981 VK_BLEND_OP_ADD = 0, 1982 VK_BLEND_OP_SUBTRACT = 1, 1983 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1984 VK_BLEND_OP_MIN = 3, 1985 VK_BLEND_OP_MAX = 4, 1986 VK_BLEND_OP_ZERO_EXT = 1000148000, 1987 VK_BLEND_OP_SRC_EXT = 1000148001, 1988 VK_BLEND_OP_DST_EXT = 1000148002, 1989 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1990 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1991 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1992 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1993 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1994 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1995 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1996 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1997 VK_BLEND_OP_XOR_EXT = 1000148011, 1998 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1999 VK_BLEND_OP_SCREEN_EXT = 1000148013, 2000 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 2001 VK_BLEND_OP_DARKEN_EXT = 1000148015, 2002 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 2003 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 2004 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 2005 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 2006 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 2007 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 2008 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 2009 VK_BLEND_OP_INVERT_EXT = 1000148023, 2010 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 2011 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 2012 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 2013 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 2014 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 2015 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 2016 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 2017 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 2018 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 2019 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 2020 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 2021 VK_BLEND_OP_PLUS_EXT = 1000148035, 2022 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 2023 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 2024 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 2025 VK_BLEND_OP_MINUS_EXT = 1000148039, 2026 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 2027 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 2028 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 2029 VK_BLEND_OP_RED_EXT = 1000148043, 2030 VK_BLEND_OP_GREEN_EXT = 1000148044, 2031 VK_BLEND_OP_BLUE_EXT = 1000148045, 2032 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 2033 } VkBlendOp; 2034 2035 typedef enum VkCompareOp { 2036 VK_COMPARE_OP_NEVER = 0, 2037 VK_COMPARE_OP_LESS = 1, 2038 VK_COMPARE_OP_EQUAL = 2, 2039 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 2040 VK_COMPARE_OP_GREATER = 4, 2041 VK_COMPARE_OP_NOT_EQUAL = 5, 2042 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 2043 VK_COMPARE_OP_ALWAYS = 7, 2044 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 2045 } VkCompareOp; 2046 2047 typedef enum VkDynamicState { 2048 VK_DYNAMIC_STATE_VIEWPORT = 0, 2049 VK_DYNAMIC_STATE_SCISSOR = 1, 2050 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 2051 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 2052 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 2053 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 2054 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 2055 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 2056 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 2057 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 2058 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 2059 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 2060 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 2061 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 2062 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 2063 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 2064 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 2065 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 2066 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 2067 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 2068 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 2069 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 2070 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 2071 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 2072 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, 2073 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 2074 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 2075 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 2076 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 2077 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 2078 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 2079 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 2080 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 2081 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 2082 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 2083 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 2084 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 2085 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 2086 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 2087 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 2088 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 2089 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 2090 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 2091 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 2092 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 2093 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 2094 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 2095 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 2096 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 2097 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 2098 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 2099 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 2100 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 2101 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 2102 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 2103 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 2104 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 2105 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 2106 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 2107 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 2108 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 2109 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 2110 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 2111 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 2112 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 2113 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 2114 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 2115 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 2116 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 2117 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 2118 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 2119 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 2120 VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT = 1000582000, 2121 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE, 2122 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 2123 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 2124 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2125 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2126 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2127 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2128 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2129 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2130 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2131 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2132 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2133 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 2134 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2135 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2136 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2137 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE, 2138 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2139 } VkDynamicState; 2140 2141 typedef enum VkFrontFace { 2142 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2143 VK_FRONT_FACE_CLOCKWISE = 1, 2144 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2145 } VkFrontFace; 2146 2147 typedef enum VkVertexInputRate { 2148 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2149 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2150 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2151 } VkVertexInputRate; 2152 2153 typedef enum VkPrimitiveTopology { 2154 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2155 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2156 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2157 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2158 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2159 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2160 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2161 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2162 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2163 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2164 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2165 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2166 } VkPrimitiveTopology; 2167 2168 typedef enum VkPolygonMode { 2169 VK_POLYGON_MODE_FILL = 0, 2170 VK_POLYGON_MODE_LINE = 1, 2171 VK_POLYGON_MODE_POINT = 2, 2172 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2173 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2174 } VkPolygonMode; 2175 2176 typedef enum VkStencilOp { 2177 VK_STENCIL_OP_KEEP = 0, 2178 VK_STENCIL_OP_ZERO = 1, 2179 VK_STENCIL_OP_REPLACE = 2, 2180 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2181 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2182 VK_STENCIL_OP_INVERT = 5, 2183 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2184 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2185 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2186 } VkStencilOp; 2187 2188 typedef enum VkLogicOp { 2189 VK_LOGIC_OP_CLEAR = 0, 2190 VK_LOGIC_OP_AND = 1, 2191 VK_LOGIC_OP_AND_REVERSE = 2, 2192 VK_LOGIC_OP_COPY = 3, 2193 VK_LOGIC_OP_AND_INVERTED = 4, 2194 VK_LOGIC_OP_NO_OP = 5, 2195 VK_LOGIC_OP_XOR = 6, 2196 VK_LOGIC_OP_OR = 7, 2197 VK_LOGIC_OP_NOR = 8, 2198 VK_LOGIC_OP_EQUIVALENT = 9, 2199 VK_LOGIC_OP_INVERT = 10, 2200 VK_LOGIC_OP_OR_REVERSE = 11, 2201 VK_LOGIC_OP_COPY_INVERTED = 12, 2202 VK_LOGIC_OP_OR_INVERTED = 13, 2203 VK_LOGIC_OP_NAND = 14, 2204 VK_LOGIC_OP_SET = 15, 2205 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2206 } VkLogicOp; 2207 2208 typedef enum VkBorderColor { 2209 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2210 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2211 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2212 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2213 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2214 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2215 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2216 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2217 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2218 } VkBorderColor; 2219 2220 typedef enum VkFilter { 2221 VK_FILTER_NEAREST = 0, 2222 VK_FILTER_LINEAR = 1, 2223 VK_FILTER_CUBIC_EXT = 1000015000, 2224 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2225 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2226 } VkFilter; 2227 2228 typedef enum VkSamplerAddressMode { 2229 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2230 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2231 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2232 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2233 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2234 // VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR is a deprecated alias 2235 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2236 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2237 } VkSamplerAddressMode; 2238 2239 typedef enum VkSamplerMipmapMode { 2240 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2241 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2242 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2243 } VkSamplerMipmapMode; 2244 2245 typedef enum VkDescriptorType { 2246 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2247 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2248 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2249 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2250 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2251 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2252 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2253 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2254 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2255 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2256 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2257 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2258 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2259 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2260 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2261 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2262 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2263 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2264 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2265 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2266 } VkDescriptorType; 2267 2268 typedef enum VkAttachmentLoadOp { 2269 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2270 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2271 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2272 VK_ATTACHMENT_LOAD_OP_NONE = 1000400000, 2273 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE, 2274 VK_ATTACHMENT_LOAD_OP_NONE_KHR = VK_ATTACHMENT_LOAD_OP_NONE, 2275 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2276 } VkAttachmentLoadOp; 2277 2278 typedef enum VkAttachmentStoreOp { 2279 VK_ATTACHMENT_STORE_OP_STORE = 0, 2280 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2281 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2282 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2283 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2284 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2285 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2286 } VkAttachmentStoreOp; 2287 2288 typedef enum VkPipelineBindPoint { 2289 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2290 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2291 #ifdef VK_ENABLE_BETA_EXTENSIONS 2292 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2293 #endif 2294 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2295 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2296 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2297 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2298 } VkPipelineBindPoint; 2299 2300 typedef enum VkCommandBufferLevel { 2301 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2302 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2303 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2304 } VkCommandBufferLevel; 2305 2306 typedef enum VkIndexType { 2307 VK_INDEX_TYPE_UINT16 = 0, 2308 VK_INDEX_TYPE_UINT32 = 1, 2309 VK_INDEX_TYPE_UINT8 = 1000265000, 2310 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2311 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2312 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8, 2313 VK_INDEX_TYPE_UINT8_KHR = VK_INDEX_TYPE_UINT8, 2314 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2315 } VkIndexType; 2316 2317 typedef enum VkSubpassContents { 2318 VK_SUBPASS_CONTENTS_INLINE = 0, 2319 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2320 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000, 2321 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR, 2322 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2323 } VkSubpassContents; 2324 2325 typedef enum VkAccessFlagBits { 2326 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2327 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2328 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2329 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2330 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2331 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2332 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2333 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2334 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2335 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2336 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2337 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2338 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2339 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2340 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2341 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2342 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2343 VK_ACCESS_NONE = 0, 2344 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2345 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2346 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2347 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2348 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2349 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2350 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2351 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2352 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2353 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2354 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2355 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2356 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2357 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2358 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2359 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV, 2360 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, 2361 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2362 } VkAccessFlagBits; 2363 typedef VkFlags VkAccessFlags; 2364 2365 typedef enum VkImageAspectFlagBits { 2366 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2367 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2368 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2369 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2370 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2371 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2372 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2373 VK_IMAGE_ASPECT_NONE = 0, 2374 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2375 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2376 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2377 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2378 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2379 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2380 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2381 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2382 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2383 } VkImageAspectFlagBits; 2384 typedef VkFlags VkImageAspectFlags; 2385 2386 typedef enum VkFormatFeatureFlagBits { 2387 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2388 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2389 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2390 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2391 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2392 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2393 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2394 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2395 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2396 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2397 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2398 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2399 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2400 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2401 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2402 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2403 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2404 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2405 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2406 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2407 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2408 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2409 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2410 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2411 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2412 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2413 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2414 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2415 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2416 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2417 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2418 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2419 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2420 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2421 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2422 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2423 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2424 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2425 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2426 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, 2427 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2428 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2429 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2430 } VkFormatFeatureFlagBits; 2431 typedef VkFlags VkFormatFeatureFlags; 2432 2433 typedef enum VkImageCreateFlagBits { 2434 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2435 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2436 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2437 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2438 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2439 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2440 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2441 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2442 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2443 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2444 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2445 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2446 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2447 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2448 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2449 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2450 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2451 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2452 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2453 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2454 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2455 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2456 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2457 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2458 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2459 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2460 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2461 } VkImageCreateFlagBits; 2462 typedef VkFlags VkImageCreateFlags; 2463 2464 typedef enum VkSampleCountFlagBits { 2465 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2466 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2467 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2468 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2469 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2470 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2471 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2472 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2473 } VkSampleCountFlagBits; 2474 typedef VkFlags VkSampleCountFlags; 2475 2476 typedef enum VkImageUsageFlagBits { 2477 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2478 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2479 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2480 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2481 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2482 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2483 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2484 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2485 VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 0x00400000, 2486 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2487 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2488 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2489 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2490 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2491 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2492 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2493 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2494 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2495 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2496 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2497 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2498 VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000, 2499 VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000, 2500 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2501 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT, 2502 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2503 } VkImageUsageFlagBits; 2504 typedef VkFlags VkImageUsageFlags; 2505 2506 typedef enum VkInstanceCreateFlagBits { 2507 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2508 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2509 } VkInstanceCreateFlagBits; 2510 typedef VkFlags VkInstanceCreateFlags; 2511 2512 typedef enum VkMemoryHeapFlagBits { 2513 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2514 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2515 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2516 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2517 } VkMemoryHeapFlagBits; 2518 typedef VkFlags VkMemoryHeapFlags; 2519 2520 typedef enum VkMemoryPropertyFlagBits { 2521 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2522 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2523 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2524 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2525 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2526 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2527 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2528 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2529 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2530 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2531 } VkMemoryPropertyFlagBits; 2532 typedef VkFlags VkMemoryPropertyFlags; 2533 2534 typedef enum VkQueueFlagBits { 2535 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2536 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2537 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2538 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2539 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2540 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2541 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2542 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2543 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2544 } VkQueueFlagBits; 2545 typedef VkFlags VkQueueFlags; 2546 typedef VkFlags VkDeviceCreateFlags; 2547 2548 typedef enum VkDeviceQueueCreateFlagBits { 2549 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2550 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2551 } VkDeviceQueueCreateFlagBits; 2552 typedef VkFlags VkDeviceQueueCreateFlags; 2553 2554 typedef enum VkPipelineStageFlagBits { 2555 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2556 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2557 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2558 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2559 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2560 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2561 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2562 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2563 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2564 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2565 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2566 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2567 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2568 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2569 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2570 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2571 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2572 VK_PIPELINE_STAGE_NONE = 0, 2573 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2574 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2575 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2576 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2577 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2578 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2579 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2580 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2581 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2582 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2583 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2584 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2585 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2586 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2587 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2588 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, 2589 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2590 } VkPipelineStageFlagBits; 2591 typedef VkFlags VkPipelineStageFlags; 2592 2593 typedef enum VkMemoryMapFlagBits { 2594 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2595 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2596 } VkMemoryMapFlagBits; 2597 typedef VkFlags VkMemoryMapFlags; 2598 2599 typedef enum VkSparseMemoryBindFlagBits { 2600 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2601 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2602 } VkSparseMemoryBindFlagBits; 2603 typedef VkFlags VkSparseMemoryBindFlags; 2604 2605 typedef enum VkSparseImageFormatFlagBits { 2606 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2607 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2608 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2609 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2610 } VkSparseImageFormatFlagBits; 2611 typedef VkFlags VkSparseImageFormatFlags; 2612 2613 typedef enum VkFenceCreateFlagBits { 2614 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2615 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2616 } VkFenceCreateFlagBits; 2617 typedef VkFlags VkFenceCreateFlags; 2618 typedef VkFlags VkSemaphoreCreateFlags; 2619 2620 typedef enum VkEventCreateFlagBits { 2621 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2622 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2623 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2624 } VkEventCreateFlagBits; 2625 typedef VkFlags VkEventCreateFlags; 2626 2627 typedef enum VkQueryPipelineStatisticFlagBits { 2628 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2629 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2630 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2631 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2632 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2633 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2634 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2635 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2636 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2637 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2638 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2639 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2640 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2641 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2642 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2643 } VkQueryPipelineStatisticFlagBits; 2644 typedef VkFlags VkQueryPipelineStatisticFlags; 2645 typedef VkFlags VkQueryPoolCreateFlags; 2646 2647 typedef enum VkQueryResultFlagBits { 2648 VK_QUERY_RESULT_64_BIT = 0x00000001, 2649 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2650 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2651 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2652 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2653 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2654 } VkQueryResultFlagBits; 2655 typedef VkFlags VkQueryResultFlags; 2656 2657 typedef enum VkBufferCreateFlagBits { 2658 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2659 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2660 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2661 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2662 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2663 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2664 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2665 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2666 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2667 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2668 } VkBufferCreateFlagBits; 2669 typedef VkFlags VkBufferCreateFlags; 2670 2671 typedef enum VkBufferUsageFlagBits { 2672 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2673 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2674 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2675 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2676 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2677 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2678 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2679 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2680 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2681 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2682 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2683 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2684 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2685 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2686 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2687 #ifdef VK_ENABLE_BETA_EXTENSIONS 2688 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2689 #endif 2690 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2691 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2692 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2693 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2694 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2695 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2696 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2697 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2698 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2699 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2700 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2701 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2702 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2703 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2704 } VkBufferUsageFlagBits; 2705 typedef VkFlags VkBufferUsageFlags; 2706 typedef VkFlags VkBufferViewCreateFlags; 2707 2708 typedef enum VkImageViewCreateFlagBits { 2709 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2710 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2711 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2712 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2713 } VkImageViewCreateFlagBits; 2714 typedef VkFlags VkImageViewCreateFlags; 2715 typedef VkFlags VkShaderModuleCreateFlags; 2716 2717 typedef enum VkPipelineCacheCreateFlagBits { 2718 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2719 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2720 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2721 } VkPipelineCacheCreateFlagBits; 2722 typedef VkFlags VkPipelineCacheCreateFlags; 2723 2724 typedef enum VkColorComponentFlagBits { 2725 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2726 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2727 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2728 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2729 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2730 } VkColorComponentFlagBits; 2731 typedef VkFlags VkColorComponentFlags; 2732 2733 typedef enum VkPipelineCreateFlagBits { 2734 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2735 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2736 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2737 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2738 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2739 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2740 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2741 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 0x08000000, 2742 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 0x40000000, 2743 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2744 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2745 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2746 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2747 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2748 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2749 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2750 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2751 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2752 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2753 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2754 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2755 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2756 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2757 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2758 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2759 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2760 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2761 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2762 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2763 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2764 #ifdef VK_ENABLE_BETA_EXTENSIONS 2765 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2766 #endif 2767 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2768 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2769 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2770 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias 2771 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2772 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias 2773 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2774 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2775 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2776 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT, 2777 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT, 2778 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2779 } VkPipelineCreateFlagBits; 2780 typedef VkFlags VkPipelineCreateFlags; 2781 2782 typedef enum VkPipelineShaderStageCreateFlagBits { 2783 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2784 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2785 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2786 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2787 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2788 } VkPipelineShaderStageCreateFlagBits; 2789 typedef VkFlags VkPipelineShaderStageCreateFlags; 2790 2791 typedef enum VkShaderStageFlagBits { 2792 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2793 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2794 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2795 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2796 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2797 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2798 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2799 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2800 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2801 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2802 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2803 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2804 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2805 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2806 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2807 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2808 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2809 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2810 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2811 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2812 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2813 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2814 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2815 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2816 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2817 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2818 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2819 } VkShaderStageFlagBits; 2820 2821 typedef enum VkCullModeFlagBits { 2822 VK_CULL_MODE_NONE = 0, 2823 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2824 VK_CULL_MODE_BACK_BIT = 0x00000002, 2825 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2826 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2827 } VkCullModeFlagBits; 2828 typedef VkFlags VkCullModeFlags; 2829 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2830 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2831 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2832 typedef VkFlags VkPipelineViewportStateCreateFlags; 2833 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2834 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2835 2836 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2837 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2838 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2839 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, 2840 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, 2841 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2842 } VkPipelineDepthStencilStateCreateFlagBits; 2843 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2844 2845 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2846 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2847 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2848 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2849 } VkPipelineColorBlendStateCreateFlagBits; 2850 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2851 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2852 2853 typedef enum VkPipelineLayoutCreateFlagBits { 2854 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2855 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2856 } VkPipelineLayoutCreateFlagBits; 2857 typedef VkFlags VkPipelineLayoutCreateFlags; 2858 typedef VkFlags VkShaderStageFlags; 2859 2860 typedef enum VkSamplerCreateFlagBits { 2861 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2862 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2863 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2864 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2865 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2866 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2867 } VkSamplerCreateFlagBits; 2868 typedef VkFlags VkSamplerCreateFlags; 2869 2870 typedef enum VkDescriptorPoolCreateFlagBits { 2871 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2872 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2873 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2874 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2875 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2876 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2877 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2878 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2879 } VkDescriptorPoolCreateFlagBits; 2880 typedef VkFlags VkDescriptorPoolCreateFlags; 2881 typedef VkFlags VkDescriptorPoolResetFlags; 2882 2883 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2884 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2885 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 0x00000001, 2886 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2887 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2888 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2889 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2890 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2891 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT, 2892 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2893 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2894 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2895 } VkDescriptorSetLayoutCreateFlagBits; 2896 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2897 2898 typedef enum VkAttachmentDescriptionFlagBits { 2899 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2900 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2901 } VkAttachmentDescriptionFlagBits; 2902 typedef VkFlags VkAttachmentDescriptionFlags; 2903 2904 typedef enum VkDependencyFlagBits { 2905 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2906 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2907 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2908 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2909 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2910 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2911 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2912 } VkDependencyFlagBits; 2913 typedef VkFlags VkDependencyFlags; 2914 2915 typedef enum VkFramebufferCreateFlagBits { 2916 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2917 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2918 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2919 } VkFramebufferCreateFlagBits; 2920 typedef VkFlags VkFramebufferCreateFlags; 2921 2922 typedef enum VkRenderPassCreateFlagBits { 2923 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2924 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2925 } VkRenderPassCreateFlagBits; 2926 typedef VkFlags VkRenderPassCreateFlags; 2927 2928 typedef enum VkSubpassDescriptionFlagBits { 2929 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2930 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2931 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2932 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2933 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2934 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2935 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2936 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2937 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2938 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2939 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2940 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2941 } VkSubpassDescriptionFlagBits; 2942 typedef VkFlags VkSubpassDescriptionFlags; 2943 2944 typedef enum VkCommandPoolCreateFlagBits { 2945 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2946 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2947 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2948 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2949 } VkCommandPoolCreateFlagBits; 2950 typedef VkFlags VkCommandPoolCreateFlags; 2951 2952 typedef enum VkCommandPoolResetFlagBits { 2953 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2954 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2955 } VkCommandPoolResetFlagBits; 2956 typedef VkFlags VkCommandPoolResetFlags; 2957 2958 typedef enum VkCommandBufferUsageFlagBits { 2959 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2960 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2961 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2962 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2963 } VkCommandBufferUsageFlagBits; 2964 typedef VkFlags VkCommandBufferUsageFlags; 2965 2966 typedef enum VkQueryControlFlagBits { 2967 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2968 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2969 } VkQueryControlFlagBits; 2970 typedef VkFlags VkQueryControlFlags; 2971 2972 typedef enum VkCommandBufferResetFlagBits { 2973 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2974 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2975 } VkCommandBufferResetFlagBits; 2976 typedef VkFlags VkCommandBufferResetFlags; 2977 2978 typedef enum VkStencilFaceFlagBits { 2979 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2980 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2981 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2982 // VK_STENCIL_FRONT_AND_BACK is a deprecated alias 2983 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2984 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2985 } VkStencilFaceFlagBits; 2986 typedef VkFlags VkStencilFaceFlags; 2987 typedef struct VkExtent2D { 2988 uint32_t width; 2989 uint32_t height; 2990 } VkExtent2D; 2991 2992 typedef struct VkExtent3D { 2993 uint32_t width; 2994 uint32_t height; 2995 uint32_t depth; 2996 } VkExtent3D; 2997 2998 typedef struct VkOffset2D { 2999 int32_t x; 3000 int32_t y; 3001 } VkOffset2D; 3002 3003 typedef struct VkOffset3D { 3004 int32_t x; 3005 int32_t y; 3006 int32_t z; 3007 } VkOffset3D; 3008 3009 typedef struct VkRect2D { 3010 VkOffset2D offset; 3011 VkExtent2D extent; 3012 } VkRect2D; 3013 3014 typedef struct VkBaseInStructure { 3015 VkStructureType sType; 3016 const struct VkBaseInStructure* pNext; 3017 } VkBaseInStructure; 3018 3019 typedef struct VkBaseOutStructure { 3020 VkStructureType sType; 3021 struct VkBaseOutStructure* pNext; 3022 } VkBaseOutStructure; 3023 3024 typedef struct VkBufferMemoryBarrier { 3025 VkStructureType sType; 3026 const void* pNext; 3027 VkAccessFlags srcAccessMask; 3028 VkAccessFlags dstAccessMask; 3029 uint32_t srcQueueFamilyIndex; 3030 uint32_t dstQueueFamilyIndex; 3031 VkBuffer buffer; 3032 VkDeviceSize offset; 3033 VkDeviceSize size; 3034 } VkBufferMemoryBarrier; 3035 3036 typedef struct VkDispatchIndirectCommand { 3037 uint32_t x; 3038 uint32_t y; 3039 uint32_t z; 3040 } VkDispatchIndirectCommand; 3041 3042 typedef struct VkDrawIndexedIndirectCommand { 3043 uint32_t indexCount; 3044 uint32_t instanceCount; 3045 uint32_t firstIndex; 3046 int32_t vertexOffset; 3047 uint32_t firstInstance; 3048 } VkDrawIndexedIndirectCommand; 3049 3050 typedef struct VkDrawIndirectCommand { 3051 uint32_t vertexCount; 3052 uint32_t instanceCount; 3053 uint32_t firstVertex; 3054 uint32_t firstInstance; 3055 } VkDrawIndirectCommand; 3056 3057 typedef struct VkImageSubresourceRange { 3058 VkImageAspectFlags aspectMask; 3059 uint32_t baseMipLevel; 3060 uint32_t levelCount; 3061 uint32_t baseArrayLayer; 3062 uint32_t layerCount; 3063 } VkImageSubresourceRange; 3064 3065 typedef struct VkImageMemoryBarrier { 3066 VkStructureType sType; 3067 const void* pNext; 3068 VkAccessFlags srcAccessMask; 3069 VkAccessFlags dstAccessMask; 3070 VkImageLayout oldLayout; 3071 VkImageLayout newLayout; 3072 uint32_t srcQueueFamilyIndex; 3073 uint32_t dstQueueFamilyIndex; 3074 VkImage image; 3075 VkImageSubresourceRange subresourceRange; 3076 } VkImageMemoryBarrier; 3077 3078 typedef struct VkMemoryBarrier { 3079 VkStructureType sType; 3080 const void* pNext; 3081 VkAccessFlags srcAccessMask; 3082 VkAccessFlags dstAccessMask; 3083 } VkMemoryBarrier; 3084 3085 typedef struct VkPipelineCacheHeaderVersionOne { 3086 uint32_t headerSize; 3087 VkPipelineCacheHeaderVersion headerVersion; 3088 uint32_t vendorID; 3089 uint32_t deviceID; 3090 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3091 } VkPipelineCacheHeaderVersionOne; 3092 3093 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 3094 void* pUserData, 3095 size_t size, 3096 size_t alignment, 3097 VkSystemAllocationScope allocationScope); 3098 3099 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 3100 void* pUserData, 3101 void* pMemory); 3102 3103 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 3104 void* pUserData, 3105 size_t size, 3106 VkInternalAllocationType allocationType, 3107 VkSystemAllocationScope allocationScope); 3108 3109 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 3110 void* pUserData, 3111 size_t size, 3112 VkInternalAllocationType allocationType, 3113 VkSystemAllocationScope allocationScope); 3114 3115 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 3116 void* pUserData, 3117 void* pOriginal, 3118 size_t size, 3119 size_t alignment, 3120 VkSystemAllocationScope allocationScope); 3121 3122 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 3123 typedef struct VkAllocationCallbacks { 3124 void* pUserData; 3125 PFN_vkAllocationFunction pfnAllocation; 3126 PFN_vkReallocationFunction pfnReallocation; 3127 PFN_vkFreeFunction pfnFree; 3128 PFN_vkInternalAllocationNotification pfnInternalAllocation; 3129 PFN_vkInternalFreeNotification pfnInternalFree; 3130 } VkAllocationCallbacks; 3131 3132 typedef struct VkApplicationInfo { 3133 VkStructureType sType; 3134 const void* pNext; 3135 const char* pApplicationName; 3136 uint32_t applicationVersion; 3137 const char* pEngineName; 3138 uint32_t engineVersion; 3139 uint32_t apiVersion; 3140 } VkApplicationInfo; 3141 3142 typedef struct VkFormatProperties { 3143 VkFormatFeatureFlags linearTilingFeatures; 3144 VkFormatFeatureFlags optimalTilingFeatures; 3145 VkFormatFeatureFlags bufferFeatures; 3146 } VkFormatProperties; 3147 3148 typedef struct VkImageFormatProperties { 3149 VkExtent3D maxExtent; 3150 uint32_t maxMipLevels; 3151 uint32_t maxArrayLayers; 3152 VkSampleCountFlags sampleCounts; 3153 VkDeviceSize maxResourceSize; 3154 } VkImageFormatProperties; 3155 3156 typedef struct VkInstanceCreateInfo { 3157 VkStructureType sType; 3158 const void* pNext; 3159 VkInstanceCreateFlags flags; 3160 const VkApplicationInfo* pApplicationInfo; 3161 uint32_t enabledLayerCount; 3162 const char* const* ppEnabledLayerNames; 3163 uint32_t enabledExtensionCount; 3164 const char* const* ppEnabledExtensionNames; 3165 } VkInstanceCreateInfo; 3166 3167 typedef struct VkMemoryHeap { 3168 VkDeviceSize size; 3169 VkMemoryHeapFlags flags; 3170 } VkMemoryHeap; 3171 3172 typedef struct VkMemoryType { 3173 VkMemoryPropertyFlags propertyFlags; 3174 uint32_t heapIndex; 3175 } VkMemoryType; 3176 3177 typedef struct VkPhysicalDeviceFeatures { 3178 VkBool32 robustBufferAccess; 3179 VkBool32 fullDrawIndexUint32; 3180 VkBool32 imageCubeArray; 3181 VkBool32 independentBlend; 3182 VkBool32 geometryShader; 3183 VkBool32 tessellationShader; 3184 VkBool32 sampleRateShading; 3185 VkBool32 dualSrcBlend; 3186 VkBool32 logicOp; 3187 VkBool32 multiDrawIndirect; 3188 VkBool32 drawIndirectFirstInstance; 3189 VkBool32 depthClamp; 3190 VkBool32 depthBiasClamp; 3191 VkBool32 fillModeNonSolid; 3192 VkBool32 depthBounds; 3193 VkBool32 wideLines; 3194 VkBool32 largePoints; 3195 VkBool32 alphaToOne; 3196 VkBool32 multiViewport; 3197 VkBool32 samplerAnisotropy; 3198 VkBool32 textureCompressionETC2; 3199 VkBool32 textureCompressionASTC_LDR; 3200 VkBool32 textureCompressionBC; 3201 VkBool32 occlusionQueryPrecise; 3202 VkBool32 pipelineStatisticsQuery; 3203 VkBool32 vertexPipelineStoresAndAtomics; 3204 VkBool32 fragmentStoresAndAtomics; 3205 VkBool32 shaderTessellationAndGeometryPointSize; 3206 VkBool32 shaderImageGatherExtended; 3207 VkBool32 shaderStorageImageExtendedFormats; 3208 VkBool32 shaderStorageImageMultisample; 3209 VkBool32 shaderStorageImageReadWithoutFormat; 3210 VkBool32 shaderStorageImageWriteWithoutFormat; 3211 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3212 VkBool32 shaderSampledImageArrayDynamicIndexing; 3213 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3214 VkBool32 shaderStorageImageArrayDynamicIndexing; 3215 VkBool32 shaderClipDistance; 3216 VkBool32 shaderCullDistance; 3217 VkBool32 shaderFloat64; 3218 VkBool32 shaderInt64; 3219 VkBool32 shaderInt16; 3220 VkBool32 shaderResourceResidency; 3221 VkBool32 shaderResourceMinLod; 3222 VkBool32 sparseBinding; 3223 VkBool32 sparseResidencyBuffer; 3224 VkBool32 sparseResidencyImage2D; 3225 VkBool32 sparseResidencyImage3D; 3226 VkBool32 sparseResidency2Samples; 3227 VkBool32 sparseResidency4Samples; 3228 VkBool32 sparseResidency8Samples; 3229 VkBool32 sparseResidency16Samples; 3230 VkBool32 sparseResidencyAliased; 3231 VkBool32 variableMultisampleRate; 3232 VkBool32 inheritedQueries; 3233 } VkPhysicalDeviceFeatures; 3234 3235 typedef struct VkPhysicalDeviceLimits { 3236 uint32_t maxImageDimension1D; 3237 uint32_t maxImageDimension2D; 3238 uint32_t maxImageDimension3D; 3239 uint32_t maxImageDimensionCube; 3240 uint32_t maxImageArrayLayers; 3241 uint32_t maxTexelBufferElements; 3242 uint32_t maxUniformBufferRange; 3243 uint32_t maxStorageBufferRange; 3244 uint32_t maxPushConstantsSize; 3245 uint32_t maxMemoryAllocationCount; 3246 uint32_t maxSamplerAllocationCount; 3247 VkDeviceSize bufferImageGranularity; 3248 VkDeviceSize sparseAddressSpaceSize; 3249 uint32_t maxBoundDescriptorSets; 3250 uint32_t maxPerStageDescriptorSamplers; 3251 uint32_t maxPerStageDescriptorUniformBuffers; 3252 uint32_t maxPerStageDescriptorStorageBuffers; 3253 uint32_t maxPerStageDescriptorSampledImages; 3254 uint32_t maxPerStageDescriptorStorageImages; 3255 uint32_t maxPerStageDescriptorInputAttachments; 3256 uint32_t maxPerStageResources; 3257 uint32_t maxDescriptorSetSamplers; 3258 uint32_t maxDescriptorSetUniformBuffers; 3259 uint32_t maxDescriptorSetUniformBuffersDynamic; 3260 uint32_t maxDescriptorSetStorageBuffers; 3261 uint32_t maxDescriptorSetStorageBuffersDynamic; 3262 uint32_t maxDescriptorSetSampledImages; 3263 uint32_t maxDescriptorSetStorageImages; 3264 uint32_t maxDescriptorSetInputAttachments; 3265 uint32_t maxVertexInputAttributes; 3266 uint32_t maxVertexInputBindings; 3267 uint32_t maxVertexInputAttributeOffset; 3268 uint32_t maxVertexInputBindingStride; 3269 uint32_t maxVertexOutputComponents; 3270 uint32_t maxTessellationGenerationLevel; 3271 uint32_t maxTessellationPatchSize; 3272 uint32_t maxTessellationControlPerVertexInputComponents; 3273 uint32_t maxTessellationControlPerVertexOutputComponents; 3274 uint32_t maxTessellationControlPerPatchOutputComponents; 3275 uint32_t maxTessellationControlTotalOutputComponents; 3276 uint32_t maxTessellationEvaluationInputComponents; 3277 uint32_t maxTessellationEvaluationOutputComponents; 3278 uint32_t maxGeometryShaderInvocations; 3279 uint32_t maxGeometryInputComponents; 3280 uint32_t maxGeometryOutputComponents; 3281 uint32_t maxGeometryOutputVertices; 3282 uint32_t maxGeometryTotalOutputComponents; 3283 uint32_t maxFragmentInputComponents; 3284 uint32_t maxFragmentOutputAttachments; 3285 uint32_t maxFragmentDualSrcAttachments; 3286 uint32_t maxFragmentCombinedOutputResources; 3287 uint32_t maxComputeSharedMemorySize; 3288 uint32_t maxComputeWorkGroupCount[3]; 3289 uint32_t maxComputeWorkGroupInvocations; 3290 uint32_t maxComputeWorkGroupSize[3]; 3291 uint32_t subPixelPrecisionBits; 3292 uint32_t subTexelPrecisionBits; 3293 uint32_t mipmapPrecisionBits; 3294 uint32_t maxDrawIndexedIndexValue; 3295 uint32_t maxDrawIndirectCount; 3296 float maxSamplerLodBias; 3297 float maxSamplerAnisotropy; 3298 uint32_t maxViewports; 3299 uint32_t maxViewportDimensions[2]; 3300 float viewportBoundsRange[2]; 3301 uint32_t viewportSubPixelBits; 3302 size_t minMemoryMapAlignment; 3303 VkDeviceSize minTexelBufferOffsetAlignment; 3304 VkDeviceSize minUniformBufferOffsetAlignment; 3305 VkDeviceSize minStorageBufferOffsetAlignment; 3306 int32_t minTexelOffset; 3307 uint32_t maxTexelOffset; 3308 int32_t minTexelGatherOffset; 3309 uint32_t maxTexelGatherOffset; 3310 float minInterpolationOffset; 3311 float maxInterpolationOffset; 3312 uint32_t subPixelInterpolationOffsetBits; 3313 uint32_t maxFramebufferWidth; 3314 uint32_t maxFramebufferHeight; 3315 uint32_t maxFramebufferLayers; 3316 VkSampleCountFlags framebufferColorSampleCounts; 3317 VkSampleCountFlags framebufferDepthSampleCounts; 3318 VkSampleCountFlags framebufferStencilSampleCounts; 3319 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3320 uint32_t maxColorAttachments; 3321 VkSampleCountFlags sampledImageColorSampleCounts; 3322 VkSampleCountFlags sampledImageIntegerSampleCounts; 3323 VkSampleCountFlags sampledImageDepthSampleCounts; 3324 VkSampleCountFlags sampledImageStencilSampleCounts; 3325 VkSampleCountFlags storageImageSampleCounts; 3326 uint32_t maxSampleMaskWords; 3327 VkBool32 timestampComputeAndGraphics; 3328 float timestampPeriod; 3329 uint32_t maxClipDistances; 3330 uint32_t maxCullDistances; 3331 uint32_t maxCombinedClipAndCullDistances; 3332 uint32_t discreteQueuePriorities; 3333 float pointSizeRange[2]; 3334 float lineWidthRange[2]; 3335 float pointSizeGranularity; 3336 float lineWidthGranularity; 3337 VkBool32 strictLines; 3338 VkBool32 standardSampleLocations; 3339 VkDeviceSize optimalBufferCopyOffsetAlignment; 3340 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3341 VkDeviceSize nonCoherentAtomSize; 3342 } VkPhysicalDeviceLimits; 3343 3344 typedef struct VkPhysicalDeviceMemoryProperties { 3345 uint32_t memoryTypeCount; 3346 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3347 uint32_t memoryHeapCount; 3348 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3349 } VkPhysicalDeviceMemoryProperties; 3350 3351 typedef struct VkPhysicalDeviceSparseProperties { 3352 VkBool32 residencyStandard2DBlockShape; 3353 VkBool32 residencyStandard2DMultisampleBlockShape; 3354 VkBool32 residencyStandard3DBlockShape; 3355 VkBool32 residencyAlignedMipSize; 3356 VkBool32 residencyNonResidentStrict; 3357 } VkPhysicalDeviceSparseProperties; 3358 3359 typedef struct VkPhysicalDeviceProperties { 3360 uint32_t apiVersion; 3361 uint32_t driverVersion; 3362 uint32_t vendorID; 3363 uint32_t deviceID; 3364 VkPhysicalDeviceType deviceType; 3365 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3366 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3367 VkPhysicalDeviceLimits limits; 3368 VkPhysicalDeviceSparseProperties sparseProperties; 3369 } VkPhysicalDeviceProperties; 3370 3371 typedef struct VkQueueFamilyProperties { 3372 VkQueueFlags queueFlags; 3373 uint32_t queueCount; 3374 uint32_t timestampValidBits; 3375 VkExtent3D minImageTransferGranularity; 3376 } VkQueueFamilyProperties; 3377 3378 typedef struct VkDeviceQueueCreateInfo { 3379 VkStructureType sType; 3380 const void* pNext; 3381 VkDeviceQueueCreateFlags flags; 3382 uint32_t queueFamilyIndex; 3383 uint32_t queueCount; 3384 const float* pQueuePriorities; 3385 } VkDeviceQueueCreateInfo; 3386 3387 typedef struct VkDeviceCreateInfo { 3388 VkStructureType sType; 3389 const void* pNext; 3390 VkDeviceCreateFlags flags; 3391 uint32_t queueCreateInfoCount; 3392 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3393 // enabledLayerCount is deprecated and should not be used 3394 uint32_t enabledLayerCount; 3395 // ppEnabledLayerNames is deprecated and should not be used 3396 const char* const* ppEnabledLayerNames; 3397 uint32_t enabledExtensionCount; 3398 const char* const* ppEnabledExtensionNames; 3399 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3400 } VkDeviceCreateInfo; 3401 3402 typedef struct VkExtensionProperties { 3403 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3404 uint32_t specVersion; 3405 } VkExtensionProperties; 3406 3407 typedef struct VkLayerProperties { 3408 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3409 uint32_t specVersion; 3410 uint32_t implementationVersion; 3411 char description[VK_MAX_DESCRIPTION_SIZE]; 3412 } VkLayerProperties; 3413 3414 typedef struct VkSubmitInfo { 3415 VkStructureType sType; 3416 const void* pNext; 3417 uint32_t waitSemaphoreCount; 3418 const VkSemaphore* pWaitSemaphores; 3419 const VkPipelineStageFlags* pWaitDstStageMask; 3420 uint32_t commandBufferCount; 3421 const VkCommandBuffer* pCommandBuffers; 3422 uint32_t signalSemaphoreCount; 3423 const VkSemaphore* pSignalSemaphores; 3424 } VkSubmitInfo; 3425 3426 typedef struct VkMappedMemoryRange { 3427 VkStructureType sType; 3428 const void* pNext; 3429 VkDeviceMemory memory; 3430 VkDeviceSize offset; 3431 VkDeviceSize size; 3432 } VkMappedMemoryRange; 3433 3434 typedef struct VkMemoryAllocateInfo { 3435 VkStructureType sType; 3436 const void* pNext; 3437 VkDeviceSize allocationSize; 3438 uint32_t memoryTypeIndex; 3439 } VkMemoryAllocateInfo; 3440 3441 typedef struct VkMemoryRequirements { 3442 VkDeviceSize size; 3443 VkDeviceSize alignment; 3444 uint32_t memoryTypeBits; 3445 } VkMemoryRequirements; 3446 3447 typedef struct VkSparseMemoryBind { 3448 VkDeviceSize resourceOffset; 3449 VkDeviceSize size; 3450 VkDeviceMemory memory; 3451 VkDeviceSize memoryOffset; 3452 VkSparseMemoryBindFlags flags; 3453 } VkSparseMemoryBind; 3454 3455 typedef struct VkSparseBufferMemoryBindInfo { 3456 VkBuffer buffer; 3457 uint32_t bindCount; 3458 const VkSparseMemoryBind* pBinds; 3459 } VkSparseBufferMemoryBindInfo; 3460 3461 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3462 VkImage image; 3463 uint32_t bindCount; 3464 const VkSparseMemoryBind* pBinds; 3465 } VkSparseImageOpaqueMemoryBindInfo; 3466 3467 typedef struct VkImageSubresource { 3468 VkImageAspectFlags aspectMask; 3469 uint32_t mipLevel; 3470 uint32_t arrayLayer; 3471 } VkImageSubresource; 3472 3473 typedef struct VkSparseImageMemoryBind { 3474 VkImageSubresource subresource; 3475 VkOffset3D offset; 3476 VkExtent3D extent; 3477 VkDeviceMemory memory; 3478 VkDeviceSize memoryOffset; 3479 VkSparseMemoryBindFlags flags; 3480 } VkSparseImageMemoryBind; 3481 3482 typedef struct VkSparseImageMemoryBindInfo { 3483 VkImage image; 3484 uint32_t bindCount; 3485 const VkSparseImageMemoryBind* pBinds; 3486 } VkSparseImageMemoryBindInfo; 3487 3488 typedef struct VkBindSparseInfo { 3489 VkStructureType sType; 3490 const void* pNext; 3491 uint32_t waitSemaphoreCount; 3492 const VkSemaphore* pWaitSemaphores; 3493 uint32_t bufferBindCount; 3494 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3495 uint32_t imageOpaqueBindCount; 3496 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3497 uint32_t imageBindCount; 3498 const VkSparseImageMemoryBindInfo* pImageBinds; 3499 uint32_t signalSemaphoreCount; 3500 const VkSemaphore* pSignalSemaphores; 3501 } VkBindSparseInfo; 3502 3503 typedef struct VkSparseImageFormatProperties { 3504 VkImageAspectFlags aspectMask; 3505 VkExtent3D imageGranularity; 3506 VkSparseImageFormatFlags flags; 3507 } VkSparseImageFormatProperties; 3508 3509 typedef struct VkSparseImageMemoryRequirements { 3510 VkSparseImageFormatProperties formatProperties; 3511 uint32_t imageMipTailFirstLod; 3512 VkDeviceSize imageMipTailSize; 3513 VkDeviceSize imageMipTailOffset; 3514 VkDeviceSize imageMipTailStride; 3515 } VkSparseImageMemoryRequirements; 3516 3517 typedef struct VkFenceCreateInfo { 3518 VkStructureType sType; 3519 const void* pNext; 3520 VkFenceCreateFlags flags; 3521 } VkFenceCreateInfo; 3522 3523 typedef struct VkSemaphoreCreateInfo { 3524 VkStructureType sType; 3525 const void* pNext; 3526 VkSemaphoreCreateFlags flags; 3527 } VkSemaphoreCreateInfo; 3528 3529 typedef struct VkEventCreateInfo { 3530 VkStructureType sType; 3531 const void* pNext; 3532 VkEventCreateFlags flags; 3533 } VkEventCreateInfo; 3534 3535 typedef struct VkQueryPoolCreateInfo { 3536 VkStructureType sType; 3537 const void* pNext; 3538 VkQueryPoolCreateFlags flags; 3539 VkQueryType queryType; 3540 uint32_t queryCount; 3541 VkQueryPipelineStatisticFlags pipelineStatistics; 3542 } VkQueryPoolCreateInfo; 3543 3544 typedef struct VkBufferCreateInfo { 3545 VkStructureType sType; 3546 const void* pNext; 3547 VkBufferCreateFlags flags; 3548 VkDeviceSize size; 3549 VkBufferUsageFlags usage; 3550 VkSharingMode sharingMode; 3551 uint32_t queueFamilyIndexCount; 3552 const uint32_t* pQueueFamilyIndices; 3553 } VkBufferCreateInfo; 3554 3555 typedef struct VkBufferViewCreateInfo { 3556 VkStructureType sType; 3557 const void* pNext; 3558 VkBufferViewCreateFlags flags; 3559 VkBuffer buffer; 3560 VkFormat format; 3561 VkDeviceSize offset; 3562 VkDeviceSize range; 3563 } VkBufferViewCreateInfo; 3564 3565 typedef struct VkImageCreateInfo { 3566 VkStructureType sType; 3567 const void* pNext; 3568 VkImageCreateFlags flags; 3569 VkImageType imageType; 3570 VkFormat format; 3571 VkExtent3D extent; 3572 uint32_t mipLevels; 3573 uint32_t arrayLayers; 3574 VkSampleCountFlagBits samples; 3575 VkImageTiling tiling; 3576 VkImageUsageFlags usage; 3577 VkSharingMode sharingMode; 3578 uint32_t queueFamilyIndexCount; 3579 const uint32_t* pQueueFamilyIndices; 3580 VkImageLayout initialLayout; 3581 } VkImageCreateInfo; 3582 3583 typedef struct VkSubresourceLayout { 3584 VkDeviceSize offset; 3585 VkDeviceSize size; 3586 VkDeviceSize rowPitch; 3587 VkDeviceSize arrayPitch; 3588 VkDeviceSize depthPitch; 3589 } VkSubresourceLayout; 3590 3591 typedef struct VkComponentMapping { 3592 VkComponentSwizzle r; 3593 VkComponentSwizzle g; 3594 VkComponentSwizzle b; 3595 VkComponentSwizzle a; 3596 } VkComponentMapping; 3597 3598 typedef struct VkImageViewCreateInfo { 3599 VkStructureType sType; 3600 const void* pNext; 3601 VkImageViewCreateFlags flags; 3602 VkImage image; 3603 VkImageViewType viewType; 3604 VkFormat format; 3605 VkComponentMapping components; 3606 VkImageSubresourceRange subresourceRange; 3607 } VkImageViewCreateInfo; 3608 3609 typedef struct VkShaderModuleCreateInfo { 3610 VkStructureType sType; 3611 const void* pNext; 3612 VkShaderModuleCreateFlags flags; 3613 size_t codeSize; 3614 const uint32_t* pCode; 3615 } VkShaderModuleCreateInfo; 3616 3617 typedef struct VkPipelineCacheCreateInfo { 3618 VkStructureType sType; 3619 const void* pNext; 3620 VkPipelineCacheCreateFlags flags; 3621 size_t initialDataSize; 3622 const void* pInitialData; 3623 } VkPipelineCacheCreateInfo; 3624 3625 typedef struct VkSpecializationMapEntry { 3626 uint32_t constantID; 3627 uint32_t offset; 3628 size_t size; 3629 } VkSpecializationMapEntry; 3630 3631 typedef struct VkSpecializationInfo { 3632 uint32_t mapEntryCount; 3633 const VkSpecializationMapEntry* pMapEntries; 3634 size_t dataSize; 3635 const void* pData; 3636 } VkSpecializationInfo; 3637 3638 typedef struct VkPipelineShaderStageCreateInfo { 3639 VkStructureType sType; 3640 const void* pNext; 3641 VkPipelineShaderStageCreateFlags flags; 3642 VkShaderStageFlagBits stage; 3643 VkShaderModule module; 3644 const char* pName; 3645 const VkSpecializationInfo* pSpecializationInfo; 3646 } VkPipelineShaderStageCreateInfo; 3647 3648 typedef struct VkComputePipelineCreateInfo { 3649 VkStructureType sType; 3650 const void* pNext; 3651 VkPipelineCreateFlags flags; 3652 VkPipelineShaderStageCreateInfo stage; 3653 VkPipelineLayout layout; 3654 VkPipeline basePipelineHandle; 3655 int32_t basePipelineIndex; 3656 } VkComputePipelineCreateInfo; 3657 3658 typedef struct VkVertexInputBindingDescription { 3659 uint32_t binding; 3660 uint32_t stride; 3661 VkVertexInputRate inputRate; 3662 } VkVertexInputBindingDescription; 3663 3664 typedef struct VkVertexInputAttributeDescription { 3665 uint32_t location; 3666 uint32_t binding; 3667 VkFormat format; 3668 uint32_t offset; 3669 } VkVertexInputAttributeDescription; 3670 3671 typedef struct VkPipelineVertexInputStateCreateInfo { 3672 VkStructureType sType; 3673 const void* pNext; 3674 VkPipelineVertexInputStateCreateFlags flags; 3675 uint32_t vertexBindingDescriptionCount; 3676 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3677 uint32_t vertexAttributeDescriptionCount; 3678 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3679 } VkPipelineVertexInputStateCreateInfo; 3680 3681 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3682 VkStructureType sType; 3683 const void* pNext; 3684 VkPipelineInputAssemblyStateCreateFlags flags; 3685 VkPrimitiveTopology topology; 3686 VkBool32 primitiveRestartEnable; 3687 } VkPipelineInputAssemblyStateCreateInfo; 3688 3689 typedef struct VkPipelineTessellationStateCreateInfo { 3690 VkStructureType sType; 3691 const void* pNext; 3692 VkPipelineTessellationStateCreateFlags flags; 3693 uint32_t patchControlPoints; 3694 } VkPipelineTessellationStateCreateInfo; 3695 3696 typedef struct VkViewport { 3697 float x; 3698 float y; 3699 float width; 3700 float height; 3701 float minDepth; 3702 float maxDepth; 3703 } VkViewport; 3704 3705 typedef struct VkPipelineViewportStateCreateInfo { 3706 VkStructureType sType; 3707 const void* pNext; 3708 VkPipelineViewportStateCreateFlags flags; 3709 uint32_t viewportCount; 3710 const VkViewport* pViewports; 3711 uint32_t scissorCount; 3712 const VkRect2D* pScissors; 3713 } VkPipelineViewportStateCreateInfo; 3714 3715 typedef struct VkPipelineRasterizationStateCreateInfo { 3716 VkStructureType sType; 3717 const void* pNext; 3718 VkPipelineRasterizationStateCreateFlags flags; 3719 VkBool32 depthClampEnable; 3720 VkBool32 rasterizerDiscardEnable; 3721 VkPolygonMode polygonMode; 3722 VkCullModeFlags cullMode; 3723 VkFrontFace frontFace; 3724 VkBool32 depthBiasEnable; 3725 float depthBiasConstantFactor; 3726 float depthBiasClamp; 3727 float depthBiasSlopeFactor; 3728 float lineWidth; 3729 } VkPipelineRasterizationStateCreateInfo; 3730 3731 typedef struct VkPipelineMultisampleStateCreateInfo { 3732 VkStructureType sType; 3733 const void* pNext; 3734 VkPipelineMultisampleStateCreateFlags flags; 3735 VkSampleCountFlagBits rasterizationSamples; 3736 VkBool32 sampleShadingEnable; 3737 float minSampleShading; 3738 const VkSampleMask* pSampleMask; 3739 VkBool32 alphaToCoverageEnable; 3740 VkBool32 alphaToOneEnable; 3741 } VkPipelineMultisampleStateCreateInfo; 3742 3743 typedef struct VkStencilOpState { 3744 VkStencilOp failOp; 3745 VkStencilOp passOp; 3746 VkStencilOp depthFailOp; 3747 VkCompareOp compareOp; 3748 uint32_t compareMask; 3749 uint32_t writeMask; 3750 uint32_t reference; 3751 } VkStencilOpState; 3752 3753 typedef struct VkPipelineDepthStencilStateCreateInfo { 3754 VkStructureType sType; 3755 const void* pNext; 3756 VkPipelineDepthStencilStateCreateFlags flags; 3757 VkBool32 depthTestEnable; 3758 VkBool32 depthWriteEnable; 3759 VkCompareOp depthCompareOp; 3760 VkBool32 depthBoundsTestEnable; 3761 VkBool32 stencilTestEnable; 3762 VkStencilOpState front; 3763 VkStencilOpState back; 3764 float minDepthBounds; 3765 float maxDepthBounds; 3766 } VkPipelineDepthStencilStateCreateInfo; 3767 3768 typedef struct VkPipelineColorBlendAttachmentState { 3769 VkBool32 blendEnable; 3770 VkBlendFactor srcColorBlendFactor; 3771 VkBlendFactor dstColorBlendFactor; 3772 VkBlendOp colorBlendOp; 3773 VkBlendFactor srcAlphaBlendFactor; 3774 VkBlendFactor dstAlphaBlendFactor; 3775 VkBlendOp alphaBlendOp; 3776 VkColorComponentFlags colorWriteMask; 3777 } VkPipelineColorBlendAttachmentState; 3778 3779 typedef struct VkPipelineColorBlendStateCreateInfo { 3780 VkStructureType sType; 3781 const void* pNext; 3782 VkPipelineColorBlendStateCreateFlags flags; 3783 VkBool32 logicOpEnable; 3784 VkLogicOp logicOp; 3785 uint32_t attachmentCount; 3786 const VkPipelineColorBlendAttachmentState* pAttachments; 3787 float blendConstants[4]; 3788 } VkPipelineColorBlendStateCreateInfo; 3789 3790 typedef struct VkPipelineDynamicStateCreateInfo { 3791 VkStructureType sType; 3792 const void* pNext; 3793 VkPipelineDynamicStateCreateFlags flags; 3794 uint32_t dynamicStateCount; 3795 const VkDynamicState* pDynamicStates; 3796 } VkPipelineDynamicStateCreateInfo; 3797 3798 typedef struct VkGraphicsPipelineCreateInfo { 3799 VkStructureType sType; 3800 const void* pNext; 3801 VkPipelineCreateFlags flags; 3802 uint32_t stageCount; 3803 const VkPipelineShaderStageCreateInfo* pStages; 3804 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3805 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3806 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3807 const VkPipelineViewportStateCreateInfo* pViewportState; 3808 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3809 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3810 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3811 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3812 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3813 VkPipelineLayout layout; 3814 VkRenderPass renderPass; 3815 uint32_t subpass; 3816 VkPipeline basePipelineHandle; 3817 int32_t basePipelineIndex; 3818 } VkGraphicsPipelineCreateInfo; 3819 3820 typedef struct VkPushConstantRange { 3821 VkShaderStageFlags stageFlags; 3822 uint32_t offset; 3823 uint32_t size; 3824 } VkPushConstantRange; 3825 3826 typedef struct VkPipelineLayoutCreateInfo { 3827 VkStructureType sType; 3828 const void* pNext; 3829 VkPipelineLayoutCreateFlags flags; 3830 uint32_t setLayoutCount; 3831 const VkDescriptorSetLayout* pSetLayouts; 3832 uint32_t pushConstantRangeCount; 3833 const VkPushConstantRange* pPushConstantRanges; 3834 } VkPipelineLayoutCreateInfo; 3835 3836 typedef struct VkSamplerCreateInfo { 3837 VkStructureType sType; 3838 const void* pNext; 3839 VkSamplerCreateFlags flags; 3840 VkFilter magFilter; 3841 VkFilter minFilter; 3842 VkSamplerMipmapMode mipmapMode; 3843 VkSamplerAddressMode addressModeU; 3844 VkSamplerAddressMode addressModeV; 3845 VkSamplerAddressMode addressModeW; 3846 float mipLodBias; 3847 VkBool32 anisotropyEnable; 3848 float maxAnisotropy; 3849 VkBool32 compareEnable; 3850 VkCompareOp compareOp; 3851 float minLod; 3852 float maxLod; 3853 VkBorderColor borderColor; 3854 VkBool32 unnormalizedCoordinates; 3855 } VkSamplerCreateInfo; 3856 3857 typedef struct VkCopyDescriptorSet { 3858 VkStructureType sType; 3859 const void* pNext; 3860 VkDescriptorSet srcSet; 3861 uint32_t srcBinding; 3862 uint32_t srcArrayElement; 3863 VkDescriptorSet dstSet; 3864 uint32_t dstBinding; 3865 uint32_t dstArrayElement; 3866 uint32_t descriptorCount; 3867 } VkCopyDescriptorSet; 3868 3869 typedef struct VkDescriptorBufferInfo { 3870 VkBuffer buffer; 3871 VkDeviceSize offset; 3872 VkDeviceSize range; 3873 } VkDescriptorBufferInfo; 3874 3875 typedef struct VkDescriptorImageInfo { 3876 VkSampler sampler; 3877 VkImageView imageView; 3878 VkImageLayout imageLayout; 3879 } VkDescriptorImageInfo; 3880 3881 typedef struct VkDescriptorPoolSize { 3882 VkDescriptorType type; 3883 uint32_t descriptorCount; 3884 } VkDescriptorPoolSize; 3885 3886 typedef struct VkDescriptorPoolCreateInfo { 3887 VkStructureType sType; 3888 const void* pNext; 3889 VkDescriptorPoolCreateFlags flags; 3890 uint32_t maxSets; 3891 uint32_t poolSizeCount; 3892 const VkDescriptorPoolSize* pPoolSizes; 3893 } VkDescriptorPoolCreateInfo; 3894 3895 typedef struct VkDescriptorSetAllocateInfo { 3896 VkStructureType sType; 3897 const void* pNext; 3898 VkDescriptorPool descriptorPool; 3899 uint32_t descriptorSetCount; 3900 const VkDescriptorSetLayout* pSetLayouts; 3901 } VkDescriptorSetAllocateInfo; 3902 3903 typedef struct VkDescriptorSetLayoutBinding { 3904 uint32_t binding; 3905 VkDescriptorType descriptorType; 3906 uint32_t descriptorCount; 3907 VkShaderStageFlags stageFlags; 3908 const VkSampler* pImmutableSamplers; 3909 } VkDescriptorSetLayoutBinding; 3910 3911 typedef struct VkDescriptorSetLayoutCreateInfo { 3912 VkStructureType sType; 3913 const void* pNext; 3914 VkDescriptorSetLayoutCreateFlags flags; 3915 uint32_t bindingCount; 3916 const VkDescriptorSetLayoutBinding* pBindings; 3917 } VkDescriptorSetLayoutCreateInfo; 3918 3919 typedef struct VkWriteDescriptorSet { 3920 VkStructureType sType; 3921 const void* pNext; 3922 VkDescriptorSet dstSet; 3923 uint32_t dstBinding; 3924 uint32_t dstArrayElement; 3925 uint32_t descriptorCount; 3926 VkDescriptorType descriptorType; 3927 const VkDescriptorImageInfo* pImageInfo; 3928 const VkDescriptorBufferInfo* pBufferInfo; 3929 const VkBufferView* pTexelBufferView; 3930 } VkWriteDescriptorSet; 3931 3932 typedef struct VkAttachmentDescription { 3933 VkAttachmentDescriptionFlags flags; 3934 VkFormat format; 3935 VkSampleCountFlagBits samples; 3936 VkAttachmentLoadOp loadOp; 3937 VkAttachmentStoreOp storeOp; 3938 VkAttachmentLoadOp stencilLoadOp; 3939 VkAttachmentStoreOp stencilStoreOp; 3940 VkImageLayout initialLayout; 3941 VkImageLayout finalLayout; 3942 } VkAttachmentDescription; 3943 3944 typedef struct VkAttachmentReference { 3945 uint32_t attachment; 3946 VkImageLayout layout; 3947 } VkAttachmentReference; 3948 3949 typedef struct VkFramebufferCreateInfo { 3950 VkStructureType sType; 3951 const void* pNext; 3952 VkFramebufferCreateFlags flags; 3953 VkRenderPass renderPass; 3954 uint32_t attachmentCount; 3955 const VkImageView* pAttachments; 3956 uint32_t width; 3957 uint32_t height; 3958 uint32_t layers; 3959 } VkFramebufferCreateInfo; 3960 3961 typedef struct VkSubpassDescription { 3962 VkSubpassDescriptionFlags flags; 3963 VkPipelineBindPoint pipelineBindPoint; 3964 uint32_t inputAttachmentCount; 3965 const VkAttachmentReference* pInputAttachments; 3966 uint32_t colorAttachmentCount; 3967 const VkAttachmentReference* pColorAttachments; 3968 const VkAttachmentReference* pResolveAttachments; 3969 const VkAttachmentReference* pDepthStencilAttachment; 3970 uint32_t preserveAttachmentCount; 3971 const uint32_t* pPreserveAttachments; 3972 } VkSubpassDescription; 3973 3974 typedef struct VkSubpassDependency { 3975 uint32_t srcSubpass; 3976 uint32_t dstSubpass; 3977 VkPipelineStageFlags srcStageMask; 3978 VkPipelineStageFlags dstStageMask; 3979 VkAccessFlags srcAccessMask; 3980 VkAccessFlags dstAccessMask; 3981 VkDependencyFlags dependencyFlags; 3982 } VkSubpassDependency; 3983 3984 typedef struct VkRenderPassCreateInfo { 3985 VkStructureType sType; 3986 const void* pNext; 3987 VkRenderPassCreateFlags flags; 3988 uint32_t attachmentCount; 3989 const VkAttachmentDescription* pAttachments; 3990 uint32_t subpassCount; 3991 const VkSubpassDescription* pSubpasses; 3992 uint32_t dependencyCount; 3993 const VkSubpassDependency* pDependencies; 3994 } VkRenderPassCreateInfo; 3995 3996 typedef struct VkCommandPoolCreateInfo { 3997 VkStructureType sType; 3998 const void* pNext; 3999 VkCommandPoolCreateFlags flags; 4000 uint32_t queueFamilyIndex; 4001 } VkCommandPoolCreateInfo; 4002 4003 typedef struct VkCommandBufferAllocateInfo { 4004 VkStructureType sType; 4005 const void* pNext; 4006 VkCommandPool commandPool; 4007 VkCommandBufferLevel level; 4008 uint32_t commandBufferCount; 4009 } VkCommandBufferAllocateInfo; 4010 4011 typedef struct VkCommandBufferInheritanceInfo { 4012 VkStructureType sType; 4013 const void* pNext; 4014 VkRenderPass renderPass; 4015 uint32_t subpass; 4016 VkFramebuffer framebuffer; 4017 VkBool32 occlusionQueryEnable; 4018 VkQueryControlFlags queryFlags; 4019 VkQueryPipelineStatisticFlags pipelineStatistics; 4020 } VkCommandBufferInheritanceInfo; 4021 4022 typedef struct VkCommandBufferBeginInfo { 4023 VkStructureType sType; 4024 const void* pNext; 4025 VkCommandBufferUsageFlags flags; 4026 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 4027 } VkCommandBufferBeginInfo; 4028 4029 typedef struct VkBufferCopy { 4030 VkDeviceSize srcOffset; 4031 VkDeviceSize dstOffset; 4032 VkDeviceSize size; 4033 } VkBufferCopy; 4034 4035 typedef struct VkImageSubresourceLayers { 4036 VkImageAspectFlags aspectMask; 4037 uint32_t mipLevel; 4038 uint32_t baseArrayLayer; 4039 uint32_t layerCount; 4040 } VkImageSubresourceLayers; 4041 4042 typedef struct VkBufferImageCopy { 4043 VkDeviceSize bufferOffset; 4044 uint32_t bufferRowLength; 4045 uint32_t bufferImageHeight; 4046 VkImageSubresourceLayers imageSubresource; 4047 VkOffset3D imageOffset; 4048 VkExtent3D imageExtent; 4049 } VkBufferImageCopy; 4050 4051 typedef union VkClearColorValue { 4052 float float32[4]; 4053 int32_t int32[4]; 4054 uint32_t uint32[4]; 4055 } VkClearColorValue; 4056 4057 typedef struct VkClearDepthStencilValue { 4058 float depth; 4059 uint32_t stencil; 4060 } VkClearDepthStencilValue; 4061 4062 typedef union VkClearValue { 4063 VkClearColorValue color; 4064 VkClearDepthStencilValue depthStencil; 4065 } VkClearValue; 4066 4067 typedef struct VkClearAttachment { 4068 VkImageAspectFlags aspectMask; 4069 uint32_t colorAttachment; 4070 VkClearValue clearValue; 4071 } VkClearAttachment; 4072 4073 typedef struct VkClearRect { 4074 VkRect2D rect; 4075 uint32_t baseArrayLayer; 4076 uint32_t layerCount; 4077 } VkClearRect; 4078 4079 typedef struct VkImageBlit { 4080 VkImageSubresourceLayers srcSubresource; 4081 VkOffset3D srcOffsets[2]; 4082 VkImageSubresourceLayers dstSubresource; 4083 VkOffset3D dstOffsets[2]; 4084 } VkImageBlit; 4085 4086 typedef struct VkImageCopy { 4087 VkImageSubresourceLayers srcSubresource; 4088 VkOffset3D srcOffset; 4089 VkImageSubresourceLayers dstSubresource; 4090 VkOffset3D dstOffset; 4091 VkExtent3D extent; 4092 } VkImageCopy; 4093 4094 typedef struct VkImageResolve { 4095 VkImageSubresourceLayers srcSubresource; 4096 VkOffset3D srcOffset; 4097 VkImageSubresourceLayers dstSubresource; 4098 VkOffset3D dstOffset; 4099 VkExtent3D extent; 4100 } VkImageResolve; 4101 4102 typedef struct VkRenderPassBeginInfo { 4103 VkStructureType sType; 4104 const void* pNext; 4105 VkRenderPass renderPass; 4106 VkFramebuffer framebuffer; 4107 VkRect2D renderArea; 4108 uint32_t clearValueCount; 4109 const VkClearValue* pClearValues; 4110 } VkRenderPassBeginInfo; 4111 4112 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 4113 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 4114 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 4115 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 4116 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 4117 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 4118 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 4119 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 4120 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4121 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 4122 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 4123 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 4124 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 4125 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4126 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4127 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4128 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4129 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 4130 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 4131 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 4132 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 4133 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 4134 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 4135 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 4136 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 4137 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4138 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4139 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 4140 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4141 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4142 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 4143 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 4144 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4145 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 4146 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 4147 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 4148 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 4149 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 4150 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 4151 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 4152 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 4153 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 4154 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4155 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4156 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4157 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4158 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4159 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4160 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4161 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); 4162 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4163 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4164 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4165 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4166 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4167 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4168 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4169 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4170 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4171 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4172 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4173 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4174 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4175 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4176 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4177 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4178 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4179 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4180 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4181 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4182 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4183 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4184 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4185 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4186 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4187 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4188 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4189 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4190 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4191 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4192 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4193 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4194 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4195 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4196 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4197 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4198 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4199 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4200 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4201 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4202 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4203 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4204 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4205 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4206 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4207 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4208 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4209 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4210 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4211 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4212 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4213 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4214 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4215 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); 4216 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4217 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4218 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4219 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4220 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4221 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4222 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4223 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4224 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4225 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4226 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4227 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4228 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4229 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4230 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4231 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4232 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4233 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4234 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4235 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4236 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4237 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); 4238 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); 4239 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4240 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4241 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4242 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4243 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4244 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4245 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4246 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4247 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4248 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4249 4250 #ifndef VK_NO_PROTOTYPES 4251 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4252 const VkInstanceCreateInfo* pCreateInfo, 4253 const VkAllocationCallbacks* pAllocator, 4254 VkInstance* pInstance); 4255 4256 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4257 VkInstance instance, 4258 const VkAllocationCallbacks* pAllocator); 4259 4260 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4261 VkInstance instance, 4262 uint32_t* pPhysicalDeviceCount, 4263 VkPhysicalDevice* pPhysicalDevices); 4264 4265 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4266 VkPhysicalDevice physicalDevice, 4267 VkPhysicalDeviceFeatures* pFeatures); 4268 4269 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4270 VkPhysicalDevice physicalDevice, 4271 VkFormat format, 4272 VkFormatProperties* pFormatProperties); 4273 4274 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4275 VkPhysicalDevice physicalDevice, 4276 VkFormat format, 4277 VkImageType type, 4278 VkImageTiling tiling, 4279 VkImageUsageFlags usage, 4280 VkImageCreateFlags flags, 4281 VkImageFormatProperties* pImageFormatProperties); 4282 4283 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4284 VkPhysicalDevice physicalDevice, 4285 VkPhysicalDeviceProperties* pProperties); 4286 4287 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4288 VkPhysicalDevice physicalDevice, 4289 uint32_t* pQueueFamilyPropertyCount, 4290 VkQueueFamilyProperties* pQueueFamilyProperties); 4291 4292 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4293 VkPhysicalDevice physicalDevice, 4294 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4295 4296 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4297 VkInstance instance, 4298 const char* pName); 4299 4300 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4301 VkDevice device, 4302 const char* pName); 4303 4304 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4305 VkPhysicalDevice physicalDevice, 4306 const VkDeviceCreateInfo* pCreateInfo, 4307 const VkAllocationCallbacks* pAllocator, 4308 VkDevice* pDevice); 4309 4310 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4311 VkDevice device, 4312 const VkAllocationCallbacks* pAllocator); 4313 4314 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4315 const char* pLayerName, 4316 uint32_t* pPropertyCount, 4317 VkExtensionProperties* pProperties); 4318 4319 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4320 VkPhysicalDevice physicalDevice, 4321 const char* pLayerName, 4322 uint32_t* pPropertyCount, 4323 VkExtensionProperties* pProperties); 4324 4325 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4326 uint32_t* pPropertyCount, 4327 VkLayerProperties* pProperties); 4328 4329 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4330 VkPhysicalDevice physicalDevice, 4331 uint32_t* pPropertyCount, 4332 VkLayerProperties* pProperties); 4333 4334 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4335 VkDevice device, 4336 uint32_t queueFamilyIndex, 4337 uint32_t queueIndex, 4338 VkQueue* pQueue); 4339 4340 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4341 VkQueue queue, 4342 uint32_t submitCount, 4343 const VkSubmitInfo* pSubmits, 4344 VkFence fence); 4345 4346 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4347 VkQueue queue); 4348 4349 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4350 VkDevice device); 4351 4352 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4353 VkDevice device, 4354 const VkMemoryAllocateInfo* pAllocateInfo, 4355 const VkAllocationCallbacks* pAllocator, 4356 VkDeviceMemory* pMemory); 4357 4358 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4359 VkDevice device, 4360 VkDeviceMemory memory, 4361 const VkAllocationCallbacks* pAllocator); 4362 4363 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4364 VkDevice device, 4365 VkDeviceMemory memory, 4366 VkDeviceSize offset, 4367 VkDeviceSize size, 4368 VkMemoryMapFlags flags, 4369 void** ppData); 4370 4371 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4372 VkDevice device, 4373 VkDeviceMemory memory); 4374 4375 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4376 VkDevice device, 4377 uint32_t memoryRangeCount, 4378 const VkMappedMemoryRange* pMemoryRanges); 4379 4380 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4381 VkDevice device, 4382 uint32_t memoryRangeCount, 4383 const VkMappedMemoryRange* pMemoryRanges); 4384 4385 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4386 VkDevice device, 4387 VkDeviceMemory memory, 4388 VkDeviceSize* pCommittedMemoryInBytes); 4389 4390 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4391 VkDevice device, 4392 VkBuffer buffer, 4393 VkDeviceMemory memory, 4394 VkDeviceSize memoryOffset); 4395 4396 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4397 VkDevice device, 4398 VkImage image, 4399 VkDeviceMemory memory, 4400 VkDeviceSize memoryOffset); 4401 4402 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4403 VkDevice device, 4404 VkBuffer buffer, 4405 VkMemoryRequirements* pMemoryRequirements); 4406 4407 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4408 VkDevice device, 4409 VkImage image, 4410 VkMemoryRequirements* pMemoryRequirements); 4411 4412 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4413 VkDevice device, 4414 VkImage image, 4415 uint32_t* pSparseMemoryRequirementCount, 4416 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4417 4418 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4419 VkPhysicalDevice physicalDevice, 4420 VkFormat format, 4421 VkImageType type, 4422 VkSampleCountFlagBits samples, 4423 VkImageUsageFlags usage, 4424 VkImageTiling tiling, 4425 uint32_t* pPropertyCount, 4426 VkSparseImageFormatProperties* pProperties); 4427 4428 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4429 VkQueue queue, 4430 uint32_t bindInfoCount, 4431 const VkBindSparseInfo* pBindInfo, 4432 VkFence fence); 4433 4434 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4435 VkDevice device, 4436 const VkFenceCreateInfo* pCreateInfo, 4437 const VkAllocationCallbacks* pAllocator, 4438 VkFence* pFence); 4439 4440 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4441 VkDevice device, 4442 VkFence fence, 4443 const VkAllocationCallbacks* pAllocator); 4444 4445 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4446 VkDevice device, 4447 uint32_t fenceCount, 4448 const VkFence* pFences); 4449 4450 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4451 VkDevice device, 4452 VkFence fence); 4453 4454 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4455 VkDevice device, 4456 uint32_t fenceCount, 4457 const VkFence* pFences, 4458 VkBool32 waitAll, 4459 uint64_t timeout); 4460 4461 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4462 VkDevice device, 4463 const VkSemaphoreCreateInfo* pCreateInfo, 4464 const VkAllocationCallbacks* pAllocator, 4465 VkSemaphore* pSemaphore); 4466 4467 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4468 VkDevice device, 4469 VkSemaphore semaphore, 4470 const VkAllocationCallbacks* pAllocator); 4471 4472 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4473 VkDevice device, 4474 const VkEventCreateInfo* pCreateInfo, 4475 const VkAllocationCallbacks* pAllocator, 4476 VkEvent* pEvent); 4477 4478 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4479 VkDevice device, 4480 VkEvent event, 4481 const VkAllocationCallbacks* pAllocator); 4482 4483 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4484 VkDevice device, 4485 VkEvent event); 4486 4487 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4488 VkDevice device, 4489 VkEvent event); 4490 4491 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4492 VkDevice device, 4493 VkEvent event); 4494 4495 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4496 VkDevice device, 4497 const VkQueryPoolCreateInfo* pCreateInfo, 4498 const VkAllocationCallbacks* pAllocator, 4499 VkQueryPool* pQueryPool); 4500 4501 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4502 VkDevice device, 4503 VkQueryPool queryPool, 4504 const VkAllocationCallbacks* pAllocator); 4505 4506 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4507 VkDevice device, 4508 VkQueryPool queryPool, 4509 uint32_t firstQuery, 4510 uint32_t queryCount, 4511 size_t dataSize, 4512 void* pData, 4513 VkDeviceSize stride, 4514 VkQueryResultFlags flags); 4515 4516 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4517 VkDevice device, 4518 const VkBufferCreateInfo* pCreateInfo, 4519 const VkAllocationCallbacks* pAllocator, 4520 VkBuffer* pBuffer); 4521 4522 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4523 VkDevice device, 4524 VkBuffer buffer, 4525 const VkAllocationCallbacks* pAllocator); 4526 4527 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4528 VkDevice device, 4529 const VkBufferViewCreateInfo* pCreateInfo, 4530 const VkAllocationCallbacks* pAllocator, 4531 VkBufferView* pView); 4532 4533 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4534 VkDevice device, 4535 VkBufferView bufferView, 4536 const VkAllocationCallbacks* pAllocator); 4537 4538 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4539 VkDevice device, 4540 const VkImageCreateInfo* pCreateInfo, 4541 const VkAllocationCallbacks* pAllocator, 4542 VkImage* pImage); 4543 4544 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4545 VkDevice device, 4546 VkImage image, 4547 const VkAllocationCallbacks* pAllocator); 4548 4549 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4550 VkDevice device, 4551 VkImage image, 4552 const VkImageSubresource* pSubresource, 4553 VkSubresourceLayout* pLayout); 4554 4555 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4556 VkDevice device, 4557 const VkImageViewCreateInfo* pCreateInfo, 4558 const VkAllocationCallbacks* pAllocator, 4559 VkImageView* pView); 4560 4561 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4562 VkDevice device, 4563 VkImageView imageView, 4564 const VkAllocationCallbacks* pAllocator); 4565 4566 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4567 VkDevice device, 4568 const VkShaderModuleCreateInfo* pCreateInfo, 4569 const VkAllocationCallbacks* pAllocator, 4570 VkShaderModule* pShaderModule); 4571 4572 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4573 VkDevice device, 4574 VkShaderModule shaderModule, 4575 const VkAllocationCallbacks* pAllocator); 4576 4577 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4578 VkDevice device, 4579 const VkPipelineCacheCreateInfo* pCreateInfo, 4580 const VkAllocationCallbacks* pAllocator, 4581 VkPipelineCache* pPipelineCache); 4582 4583 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4584 VkDevice device, 4585 VkPipelineCache pipelineCache, 4586 const VkAllocationCallbacks* pAllocator); 4587 4588 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4589 VkDevice device, 4590 VkPipelineCache pipelineCache, 4591 size_t* pDataSize, 4592 void* pData); 4593 4594 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4595 VkDevice device, 4596 VkPipelineCache dstCache, 4597 uint32_t srcCacheCount, 4598 const VkPipelineCache* pSrcCaches); 4599 4600 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4601 VkDevice device, 4602 VkPipelineCache pipelineCache, 4603 uint32_t createInfoCount, 4604 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4605 const VkAllocationCallbacks* pAllocator, 4606 VkPipeline* pPipelines); 4607 4608 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4609 VkDevice device, 4610 VkPipelineCache pipelineCache, 4611 uint32_t createInfoCount, 4612 const VkComputePipelineCreateInfo* pCreateInfos, 4613 const VkAllocationCallbacks* pAllocator, 4614 VkPipeline* pPipelines); 4615 4616 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4617 VkDevice device, 4618 VkPipeline pipeline, 4619 const VkAllocationCallbacks* pAllocator); 4620 4621 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4622 VkDevice device, 4623 const VkPipelineLayoutCreateInfo* pCreateInfo, 4624 const VkAllocationCallbacks* pAllocator, 4625 VkPipelineLayout* pPipelineLayout); 4626 4627 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4628 VkDevice device, 4629 VkPipelineLayout pipelineLayout, 4630 const VkAllocationCallbacks* pAllocator); 4631 4632 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4633 VkDevice device, 4634 const VkSamplerCreateInfo* pCreateInfo, 4635 const VkAllocationCallbacks* pAllocator, 4636 VkSampler* pSampler); 4637 4638 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4639 VkDevice device, 4640 VkSampler sampler, 4641 const VkAllocationCallbacks* pAllocator); 4642 4643 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4644 VkDevice device, 4645 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4646 const VkAllocationCallbacks* pAllocator, 4647 VkDescriptorSetLayout* pSetLayout); 4648 4649 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4650 VkDevice device, 4651 VkDescriptorSetLayout descriptorSetLayout, 4652 const VkAllocationCallbacks* pAllocator); 4653 4654 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4655 VkDevice device, 4656 const VkDescriptorPoolCreateInfo* pCreateInfo, 4657 const VkAllocationCallbacks* pAllocator, 4658 VkDescriptorPool* pDescriptorPool); 4659 4660 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4661 VkDevice device, 4662 VkDescriptorPool descriptorPool, 4663 const VkAllocationCallbacks* pAllocator); 4664 4665 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4666 VkDevice device, 4667 VkDescriptorPool descriptorPool, 4668 VkDescriptorPoolResetFlags flags); 4669 4670 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4671 VkDevice device, 4672 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4673 VkDescriptorSet* pDescriptorSets); 4674 4675 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4676 VkDevice device, 4677 VkDescriptorPool descriptorPool, 4678 uint32_t descriptorSetCount, 4679 const VkDescriptorSet* pDescriptorSets); 4680 4681 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4682 VkDevice device, 4683 uint32_t descriptorWriteCount, 4684 const VkWriteDescriptorSet* pDescriptorWrites, 4685 uint32_t descriptorCopyCount, 4686 const VkCopyDescriptorSet* pDescriptorCopies); 4687 4688 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4689 VkDevice device, 4690 const VkFramebufferCreateInfo* pCreateInfo, 4691 const VkAllocationCallbacks* pAllocator, 4692 VkFramebuffer* pFramebuffer); 4693 4694 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4695 VkDevice device, 4696 VkFramebuffer framebuffer, 4697 const VkAllocationCallbacks* pAllocator); 4698 4699 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4700 VkDevice device, 4701 const VkRenderPassCreateInfo* pCreateInfo, 4702 const VkAllocationCallbacks* pAllocator, 4703 VkRenderPass* pRenderPass); 4704 4705 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4706 VkDevice device, 4707 VkRenderPass renderPass, 4708 const VkAllocationCallbacks* pAllocator); 4709 4710 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4711 VkDevice device, 4712 VkRenderPass renderPass, 4713 VkExtent2D* pGranularity); 4714 4715 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4716 VkDevice device, 4717 const VkCommandPoolCreateInfo* pCreateInfo, 4718 const VkAllocationCallbacks* pAllocator, 4719 VkCommandPool* pCommandPool); 4720 4721 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4722 VkDevice device, 4723 VkCommandPool commandPool, 4724 const VkAllocationCallbacks* pAllocator); 4725 4726 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4727 VkDevice device, 4728 VkCommandPool commandPool, 4729 VkCommandPoolResetFlags flags); 4730 4731 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4732 VkDevice device, 4733 const VkCommandBufferAllocateInfo* pAllocateInfo, 4734 VkCommandBuffer* pCommandBuffers); 4735 4736 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4737 VkDevice device, 4738 VkCommandPool commandPool, 4739 uint32_t commandBufferCount, 4740 const VkCommandBuffer* pCommandBuffers); 4741 4742 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4743 VkCommandBuffer commandBuffer, 4744 const VkCommandBufferBeginInfo* pBeginInfo); 4745 4746 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4747 VkCommandBuffer commandBuffer); 4748 4749 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4750 VkCommandBuffer commandBuffer, 4751 VkCommandBufferResetFlags flags); 4752 4753 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4754 VkCommandBuffer commandBuffer, 4755 VkPipelineBindPoint pipelineBindPoint, 4756 VkPipeline pipeline); 4757 4758 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4759 VkCommandBuffer commandBuffer, 4760 uint32_t firstViewport, 4761 uint32_t viewportCount, 4762 const VkViewport* pViewports); 4763 4764 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4765 VkCommandBuffer commandBuffer, 4766 uint32_t firstScissor, 4767 uint32_t scissorCount, 4768 const VkRect2D* pScissors); 4769 4770 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4771 VkCommandBuffer commandBuffer, 4772 float lineWidth); 4773 4774 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4775 VkCommandBuffer commandBuffer, 4776 float depthBiasConstantFactor, 4777 float depthBiasClamp, 4778 float depthBiasSlopeFactor); 4779 4780 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4781 VkCommandBuffer commandBuffer, 4782 const float blendConstants[4]); 4783 4784 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4785 VkCommandBuffer commandBuffer, 4786 float minDepthBounds, 4787 float maxDepthBounds); 4788 4789 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4790 VkCommandBuffer commandBuffer, 4791 VkStencilFaceFlags faceMask, 4792 uint32_t compareMask); 4793 4794 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4795 VkCommandBuffer commandBuffer, 4796 VkStencilFaceFlags faceMask, 4797 uint32_t writeMask); 4798 4799 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4800 VkCommandBuffer commandBuffer, 4801 VkStencilFaceFlags faceMask, 4802 uint32_t reference); 4803 4804 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4805 VkCommandBuffer commandBuffer, 4806 VkPipelineBindPoint pipelineBindPoint, 4807 VkPipelineLayout layout, 4808 uint32_t firstSet, 4809 uint32_t descriptorSetCount, 4810 const VkDescriptorSet* pDescriptorSets, 4811 uint32_t dynamicOffsetCount, 4812 const uint32_t* pDynamicOffsets); 4813 4814 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4815 VkCommandBuffer commandBuffer, 4816 VkBuffer buffer, 4817 VkDeviceSize offset, 4818 VkIndexType indexType); 4819 4820 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4821 VkCommandBuffer commandBuffer, 4822 uint32_t firstBinding, 4823 uint32_t bindingCount, 4824 const VkBuffer* pBuffers, 4825 const VkDeviceSize* pOffsets); 4826 4827 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4828 VkCommandBuffer commandBuffer, 4829 uint32_t vertexCount, 4830 uint32_t instanceCount, 4831 uint32_t firstVertex, 4832 uint32_t firstInstance); 4833 4834 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4835 VkCommandBuffer commandBuffer, 4836 uint32_t indexCount, 4837 uint32_t instanceCount, 4838 uint32_t firstIndex, 4839 int32_t vertexOffset, 4840 uint32_t firstInstance); 4841 4842 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4843 VkCommandBuffer commandBuffer, 4844 VkBuffer buffer, 4845 VkDeviceSize offset, 4846 uint32_t drawCount, 4847 uint32_t stride); 4848 4849 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4850 VkCommandBuffer commandBuffer, 4851 VkBuffer buffer, 4852 VkDeviceSize offset, 4853 uint32_t drawCount, 4854 uint32_t stride); 4855 4856 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4857 VkCommandBuffer commandBuffer, 4858 uint32_t groupCountX, 4859 uint32_t groupCountY, 4860 uint32_t groupCountZ); 4861 4862 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4863 VkCommandBuffer commandBuffer, 4864 VkBuffer buffer, 4865 VkDeviceSize offset); 4866 4867 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4868 VkCommandBuffer commandBuffer, 4869 VkBuffer srcBuffer, 4870 VkBuffer dstBuffer, 4871 uint32_t regionCount, 4872 const VkBufferCopy* pRegions); 4873 4874 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4875 VkCommandBuffer commandBuffer, 4876 VkImage srcImage, 4877 VkImageLayout srcImageLayout, 4878 VkImage dstImage, 4879 VkImageLayout dstImageLayout, 4880 uint32_t regionCount, 4881 const VkImageCopy* pRegions); 4882 4883 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4884 VkCommandBuffer commandBuffer, 4885 VkImage srcImage, 4886 VkImageLayout srcImageLayout, 4887 VkImage dstImage, 4888 VkImageLayout dstImageLayout, 4889 uint32_t regionCount, 4890 const VkImageBlit* pRegions, 4891 VkFilter filter); 4892 4893 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4894 VkCommandBuffer commandBuffer, 4895 VkBuffer srcBuffer, 4896 VkImage dstImage, 4897 VkImageLayout dstImageLayout, 4898 uint32_t regionCount, 4899 const VkBufferImageCopy* pRegions); 4900 4901 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4902 VkCommandBuffer commandBuffer, 4903 VkImage srcImage, 4904 VkImageLayout srcImageLayout, 4905 VkBuffer dstBuffer, 4906 uint32_t regionCount, 4907 const VkBufferImageCopy* pRegions); 4908 4909 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4910 VkCommandBuffer commandBuffer, 4911 VkBuffer dstBuffer, 4912 VkDeviceSize dstOffset, 4913 VkDeviceSize dataSize, 4914 const void* pData); 4915 4916 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4917 VkCommandBuffer commandBuffer, 4918 VkBuffer dstBuffer, 4919 VkDeviceSize dstOffset, 4920 VkDeviceSize size, 4921 uint32_t data); 4922 4923 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4924 VkCommandBuffer commandBuffer, 4925 VkImage image, 4926 VkImageLayout imageLayout, 4927 const VkClearColorValue* pColor, 4928 uint32_t rangeCount, 4929 const VkImageSubresourceRange* pRanges); 4930 4931 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4932 VkCommandBuffer commandBuffer, 4933 VkImage image, 4934 VkImageLayout imageLayout, 4935 const VkClearDepthStencilValue* pDepthStencil, 4936 uint32_t rangeCount, 4937 const VkImageSubresourceRange* pRanges); 4938 4939 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4940 VkCommandBuffer commandBuffer, 4941 uint32_t attachmentCount, 4942 const VkClearAttachment* pAttachments, 4943 uint32_t rectCount, 4944 const VkClearRect* pRects); 4945 4946 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4947 VkCommandBuffer commandBuffer, 4948 VkImage srcImage, 4949 VkImageLayout srcImageLayout, 4950 VkImage dstImage, 4951 VkImageLayout dstImageLayout, 4952 uint32_t regionCount, 4953 const VkImageResolve* pRegions); 4954 4955 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4956 VkCommandBuffer commandBuffer, 4957 VkEvent event, 4958 VkPipelineStageFlags stageMask); 4959 4960 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4961 VkCommandBuffer commandBuffer, 4962 VkEvent event, 4963 VkPipelineStageFlags stageMask); 4964 4965 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4966 VkCommandBuffer commandBuffer, 4967 uint32_t eventCount, 4968 const VkEvent* pEvents, 4969 VkPipelineStageFlags srcStageMask, 4970 VkPipelineStageFlags dstStageMask, 4971 uint32_t memoryBarrierCount, 4972 const VkMemoryBarrier* pMemoryBarriers, 4973 uint32_t bufferMemoryBarrierCount, 4974 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4975 uint32_t imageMemoryBarrierCount, 4976 const VkImageMemoryBarrier* pImageMemoryBarriers); 4977 4978 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4979 VkCommandBuffer commandBuffer, 4980 VkPipelineStageFlags srcStageMask, 4981 VkPipelineStageFlags dstStageMask, 4982 VkDependencyFlags dependencyFlags, 4983 uint32_t memoryBarrierCount, 4984 const VkMemoryBarrier* pMemoryBarriers, 4985 uint32_t bufferMemoryBarrierCount, 4986 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4987 uint32_t imageMemoryBarrierCount, 4988 const VkImageMemoryBarrier* pImageMemoryBarriers); 4989 4990 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4991 VkCommandBuffer commandBuffer, 4992 VkQueryPool queryPool, 4993 uint32_t query, 4994 VkQueryControlFlags flags); 4995 4996 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4997 VkCommandBuffer commandBuffer, 4998 VkQueryPool queryPool, 4999 uint32_t query); 5000 5001 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 5002 VkCommandBuffer commandBuffer, 5003 VkQueryPool queryPool, 5004 uint32_t firstQuery, 5005 uint32_t queryCount); 5006 5007 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 5008 VkCommandBuffer commandBuffer, 5009 VkPipelineStageFlagBits pipelineStage, 5010 VkQueryPool queryPool, 5011 uint32_t query); 5012 5013 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 5014 VkCommandBuffer commandBuffer, 5015 VkQueryPool queryPool, 5016 uint32_t firstQuery, 5017 uint32_t queryCount, 5018 VkBuffer dstBuffer, 5019 VkDeviceSize dstOffset, 5020 VkDeviceSize stride, 5021 VkQueryResultFlags flags); 5022 5023 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 5024 VkCommandBuffer commandBuffer, 5025 VkPipelineLayout layout, 5026 VkShaderStageFlags stageFlags, 5027 uint32_t offset, 5028 uint32_t size, 5029 const void* pValues); 5030 5031 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 5032 VkCommandBuffer commandBuffer, 5033 const VkRenderPassBeginInfo* pRenderPassBegin, 5034 VkSubpassContents contents); 5035 5036 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 5037 VkCommandBuffer commandBuffer, 5038 VkSubpassContents contents); 5039 5040 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 5041 VkCommandBuffer commandBuffer); 5042 5043 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 5044 VkCommandBuffer commandBuffer, 5045 uint32_t commandBufferCount, 5046 const VkCommandBuffer* pCommandBuffers); 5047 #endif 5048 5049 5050 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 5051 #define VK_VERSION_1_1 1 5052 // Vulkan 1.1 version number 5053 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 5054 5055 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 5056 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 5057 #define VK_MAX_DEVICE_GROUP_SIZE 32U 5058 #define VK_LUID_SIZE 8U 5059 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 5060 5061 typedef enum VkPointClippingBehavior { 5062 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 5063 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 5064 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 5065 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 5066 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 5067 } VkPointClippingBehavior; 5068 5069 typedef enum VkTessellationDomainOrigin { 5070 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 5071 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 5072 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 5073 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 5074 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 5075 } VkTessellationDomainOrigin; 5076 5077 typedef enum VkSamplerYcbcrModelConversion { 5078 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 5079 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 5080 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 5081 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 5082 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 5083 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 5084 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 5085 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 5086 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 5087 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 5088 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 5089 } VkSamplerYcbcrModelConversion; 5090 5091 typedef enum VkSamplerYcbcrRange { 5092 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 5093 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 5094 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 5095 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 5096 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 5097 } VkSamplerYcbcrRange; 5098 5099 typedef enum VkChromaLocation { 5100 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 5101 VK_CHROMA_LOCATION_MIDPOINT = 1, 5102 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 5103 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 5104 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 5105 } VkChromaLocation; 5106 5107 typedef enum VkDescriptorUpdateTemplateType { 5108 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 5109 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS = 1, 5110 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS, 5111 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 5112 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 5113 } VkDescriptorUpdateTemplateType; 5114 5115 typedef enum VkSubgroupFeatureFlagBits { 5116 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 5117 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 5118 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 5119 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 5120 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 5121 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 5122 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 5123 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 5124 VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200, 5125 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400, 5126 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 5127 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT, 5128 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT, 5129 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5130 } VkSubgroupFeatureFlagBits; 5131 typedef VkFlags VkSubgroupFeatureFlags; 5132 5133 typedef enum VkPeerMemoryFeatureFlagBits { 5134 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 5135 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 5136 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 5137 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 5138 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 5139 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 5140 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 5141 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 5142 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5143 } VkPeerMemoryFeatureFlagBits; 5144 typedef VkFlags VkPeerMemoryFeatureFlags; 5145 5146 typedef enum VkMemoryAllocateFlagBits { 5147 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 5148 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 5149 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 5150 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 5151 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 5152 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 5153 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5154 } VkMemoryAllocateFlagBits; 5155 typedef VkFlags VkMemoryAllocateFlags; 5156 typedef VkFlags VkCommandPoolTrimFlags; 5157 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5158 5159 typedef enum VkExternalMemoryHandleTypeFlagBits { 5160 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5161 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5162 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5163 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5164 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5165 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5166 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5167 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5168 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5169 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5170 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5171 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5172 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5173 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5174 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5175 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5176 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5177 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5178 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5179 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5180 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5181 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5182 } VkExternalMemoryHandleTypeFlagBits; 5183 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5184 5185 typedef enum VkExternalMemoryFeatureFlagBits { 5186 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5187 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5188 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5189 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5190 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5191 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5192 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5193 } VkExternalMemoryFeatureFlagBits; 5194 typedef VkFlags VkExternalMemoryFeatureFlags; 5195 5196 typedef enum VkExternalFenceHandleTypeFlagBits { 5197 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5198 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5199 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5200 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5201 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5202 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5203 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5204 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5205 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5206 } VkExternalFenceHandleTypeFlagBits; 5207 typedef VkFlags VkExternalFenceHandleTypeFlags; 5208 5209 typedef enum VkExternalFenceFeatureFlagBits { 5210 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5211 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5212 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5213 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5214 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5215 } VkExternalFenceFeatureFlagBits; 5216 typedef VkFlags VkExternalFenceFeatureFlags; 5217 5218 typedef enum VkFenceImportFlagBits { 5219 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5220 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5221 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5222 } VkFenceImportFlagBits; 5223 typedef VkFlags VkFenceImportFlags; 5224 5225 typedef enum VkSemaphoreImportFlagBits { 5226 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5227 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5228 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5229 } VkSemaphoreImportFlagBits; 5230 typedef VkFlags VkSemaphoreImportFlags; 5231 5232 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5233 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5234 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5235 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5236 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5237 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5238 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5239 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5240 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5241 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5242 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5243 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5244 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5245 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5246 } VkExternalSemaphoreHandleTypeFlagBits; 5247 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5248 5249 typedef enum VkExternalSemaphoreFeatureFlagBits { 5250 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5251 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5252 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5253 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5254 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5255 } VkExternalSemaphoreFeatureFlagBits; 5256 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5257 typedef struct VkPhysicalDeviceSubgroupProperties { 5258 VkStructureType sType; 5259 void* pNext; 5260 uint32_t subgroupSize; 5261 VkShaderStageFlags supportedStages; 5262 VkSubgroupFeatureFlags supportedOperations; 5263 VkBool32 quadOperationsInAllStages; 5264 } VkPhysicalDeviceSubgroupProperties; 5265 5266 typedef struct VkBindBufferMemoryInfo { 5267 VkStructureType sType; 5268 const void* pNext; 5269 VkBuffer buffer; 5270 VkDeviceMemory memory; 5271 VkDeviceSize memoryOffset; 5272 } VkBindBufferMemoryInfo; 5273 5274 typedef struct VkBindImageMemoryInfo { 5275 VkStructureType sType; 5276 const void* pNext; 5277 VkImage image; 5278 VkDeviceMemory memory; 5279 VkDeviceSize memoryOffset; 5280 } VkBindImageMemoryInfo; 5281 5282 typedef struct VkPhysicalDevice16BitStorageFeatures { 5283 VkStructureType sType; 5284 void* pNext; 5285 VkBool32 storageBuffer16BitAccess; 5286 VkBool32 uniformAndStorageBuffer16BitAccess; 5287 VkBool32 storagePushConstant16; 5288 VkBool32 storageInputOutput16; 5289 } VkPhysicalDevice16BitStorageFeatures; 5290 5291 typedef struct VkMemoryDedicatedRequirements { 5292 VkStructureType sType; 5293 void* pNext; 5294 VkBool32 prefersDedicatedAllocation; 5295 VkBool32 requiresDedicatedAllocation; 5296 } VkMemoryDedicatedRequirements; 5297 5298 typedef struct VkMemoryDedicatedAllocateInfo { 5299 VkStructureType sType; 5300 const void* pNext; 5301 VkImage image; 5302 VkBuffer buffer; 5303 } VkMemoryDedicatedAllocateInfo; 5304 5305 typedef struct VkMemoryAllocateFlagsInfo { 5306 VkStructureType sType; 5307 const void* pNext; 5308 VkMemoryAllocateFlags flags; 5309 uint32_t deviceMask; 5310 } VkMemoryAllocateFlagsInfo; 5311 5312 typedef struct VkDeviceGroupRenderPassBeginInfo { 5313 VkStructureType sType; 5314 const void* pNext; 5315 uint32_t deviceMask; 5316 uint32_t deviceRenderAreaCount; 5317 const VkRect2D* pDeviceRenderAreas; 5318 } VkDeviceGroupRenderPassBeginInfo; 5319 5320 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5321 VkStructureType sType; 5322 const void* pNext; 5323 uint32_t deviceMask; 5324 } VkDeviceGroupCommandBufferBeginInfo; 5325 5326 typedef struct VkDeviceGroupSubmitInfo { 5327 VkStructureType sType; 5328 const void* pNext; 5329 uint32_t waitSemaphoreCount; 5330 const uint32_t* pWaitSemaphoreDeviceIndices; 5331 uint32_t commandBufferCount; 5332 const uint32_t* pCommandBufferDeviceMasks; 5333 uint32_t signalSemaphoreCount; 5334 const uint32_t* pSignalSemaphoreDeviceIndices; 5335 } VkDeviceGroupSubmitInfo; 5336 5337 typedef struct VkDeviceGroupBindSparseInfo { 5338 VkStructureType sType; 5339 const void* pNext; 5340 uint32_t resourceDeviceIndex; 5341 uint32_t memoryDeviceIndex; 5342 } VkDeviceGroupBindSparseInfo; 5343 5344 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5345 VkStructureType sType; 5346 const void* pNext; 5347 uint32_t deviceIndexCount; 5348 const uint32_t* pDeviceIndices; 5349 } VkBindBufferMemoryDeviceGroupInfo; 5350 5351 typedef struct VkBindImageMemoryDeviceGroupInfo { 5352 VkStructureType sType; 5353 const void* pNext; 5354 uint32_t deviceIndexCount; 5355 const uint32_t* pDeviceIndices; 5356 uint32_t splitInstanceBindRegionCount; 5357 const VkRect2D* pSplitInstanceBindRegions; 5358 } VkBindImageMemoryDeviceGroupInfo; 5359 5360 typedef struct VkPhysicalDeviceGroupProperties { 5361 VkStructureType sType; 5362 void* pNext; 5363 uint32_t physicalDeviceCount; 5364 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5365 VkBool32 subsetAllocation; 5366 } VkPhysicalDeviceGroupProperties; 5367 5368 typedef struct VkDeviceGroupDeviceCreateInfo { 5369 VkStructureType sType; 5370 const void* pNext; 5371 uint32_t physicalDeviceCount; 5372 const VkPhysicalDevice* pPhysicalDevices; 5373 } VkDeviceGroupDeviceCreateInfo; 5374 5375 typedef struct VkBufferMemoryRequirementsInfo2 { 5376 VkStructureType sType; 5377 const void* pNext; 5378 VkBuffer buffer; 5379 } VkBufferMemoryRequirementsInfo2; 5380 5381 typedef struct VkImageMemoryRequirementsInfo2 { 5382 VkStructureType sType; 5383 const void* pNext; 5384 VkImage image; 5385 } VkImageMemoryRequirementsInfo2; 5386 5387 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5388 VkStructureType sType; 5389 const void* pNext; 5390 VkImage image; 5391 } VkImageSparseMemoryRequirementsInfo2; 5392 5393 typedef struct VkMemoryRequirements2 { 5394 VkStructureType sType; 5395 void* pNext; 5396 VkMemoryRequirements memoryRequirements; 5397 } VkMemoryRequirements2; 5398 5399 typedef struct VkSparseImageMemoryRequirements2 { 5400 VkStructureType sType; 5401 void* pNext; 5402 VkSparseImageMemoryRequirements memoryRequirements; 5403 } VkSparseImageMemoryRequirements2; 5404 5405 typedef struct VkPhysicalDeviceFeatures2 { 5406 VkStructureType sType; 5407 void* pNext; 5408 VkPhysicalDeviceFeatures features; 5409 } VkPhysicalDeviceFeatures2; 5410 5411 typedef struct VkPhysicalDeviceProperties2 { 5412 VkStructureType sType; 5413 void* pNext; 5414 VkPhysicalDeviceProperties properties; 5415 } VkPhysicalDeviceProperties2; 5416 5417 typedef struct VkFormatProperties2 { 5418 VkStructureType sType; 5419 void* pNext; 5420 VkFormatProperties formatProperties; 5421 } VkFormatProperties2; 5422 5423 typedef struct VkImageFormatProperties2 { 5424 VkStructureType sType; 5425 void* pNext; 5426 VkImageFormatProperties imageFormatProperties; 5427 } VkImageFormatProperties2; 5428 5429 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5430 VkStructureType sType; 5431 const void* pNext; 5432 VkFormat format; 5433 VkImageType type; 5434 VkImageTiling tiling; 5435 VkImageUsageFlags usage; 5436 VkImageCreateFlags flags; 5437 } VkPhysicalDeviceImageFormatInfo2; 5438 5439 typedef struct VkQueueFamilyProperties2 { 5440 VkStructureType sType; 5441 void* pNext; 5442 VkQueueFamilyProperties queueFamilyProperties; 5443 } VkQueueFamilyProperties2; 5444 5445 typedef struct VkPhysicalDeviceMemoryProperties2 { 5446 VkStructureType sType; 5447 void* pNext; 5448 VkPhysicalDeviceMemoryProperties memoryProperties; 5449 } VkPhysicalDeviceMemoryProperties2; 5450 5451 typedef struct VkSparseImageFormatProperties2 { 5452 VkStructureType sType; 5453 void* pNext; 5454 VkSparseImageFormatProperties properties; 5455 } VkSparseImageFormatProperties2; 5456 5457 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5458 VkStructureType sType; 5459 const void* pNext; 5460 VkFormat format; 5461 VkImageType type; 5462 VkSampleCountFlagBits samples; 5463 VkImageUsageFlags usage; 5464 VkImageTiling tiling; 5465 } VkPhysicalDeviceSparseImageFormatInfo2; 5466 5467 typedef struct VkPhysicalDevicePointClippingProperties { 5468 VkStructureType sType; 5469 void* pNext; 5470 VkPointClippingBehavior pointClippingBehavior; 5471 } VkPhysicalDevicePointClippingProperties; 5472 5473 typedef struct VkInputAttachmentAspectReference { 5474 uint32_t subpass; 5475 uint32_t inputAttachmentIndex; 5476 VkImageAspectFlags aspectMask; 5477 } VkInputAttachmentAspectReference; 5478 5479 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5480 VkStructureType sType; 5481 const void* pNext; 5482 uint32_t aspectReferenceCount; 5483 const VkInputAttachmentAspectReference* pAspectReferences; 5484 } VkRenderPassInputAttachmentAspectCreateInfo; 5485 5486 typedef struct VkImageViewUsageCreateInfo { 5487 VkStructureType sType; 5488 const void* pNext; 5489 VkImageUsageFlags usage; 5490 } VkImageViewUsageCreateInfo; 5491 5492 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5493 VkStructureType sType; 5494 const void* pNext; 5495 VkTessellationDomainOrigin domainOrigin; 5496 } VkPipelineTessellationDomainOriginStateCreateInfo; 5497 5498 typedef struct VkRenderPassMultiviewCreateInfo { 5499 VkStructureType sType; 5500 const void* pNext; 5501 uint32_t subpassCount; 5502 const uint32_t* pViewMasks; 5503 uint32_t dependencyCount; 5504 const int32_t* pViewOffsets; 5505 uint32_t correlationMaskCount; 5506 const uint32_t* pCorrelationMasks; 5507 } VkRenderPassMultiviewCreateInfo; 5508 5509 typedef struct VkPhysicalDeviceMultiviewFeatures { 5510 VkStructureType sType; 5511 void* pNext; 5512 VkBool32 multiview; 5513 VkBool32 multiviewGeometryShader; 5514 VkBool32 multiviewTessellationShader; 5515 } VkPhysicalDeviceMultiviewFeatures; 5516 5517 typedef struct VkPhysicalDeviceMultiviewProperties { 5518 VkStructureType sType; 5519 void* pNext; 5520 uint32_t maxMultiviewViewCount; 5521 uint32_t maxMultiviewInstanceIndex; 5522 } VkPhysicalDeviceMultiviewProperties; 5523 5524 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5525 VkStructureType sType; 5526 void* pNext; 5527 VkBool32 variablePointersStorageBuffer; 5528 VkBool32 variablePointers; 5529 } VkPhysicalDeviceVariablePointersFeatures; 5530 5531 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5532 5533 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5534 VkStructureType sType; 5535 void* pNext; 5536 VkBool32 protectedMemory; 5537 } VkPhysicalDeviceProtectedMemoryFeatures; 5538 5539 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5540 VkStructureType sType; 5541 void* pNext; 5542 VkBool32 protectedNoFault; 5543 } VkPhysicalDeviceProtectedMemoryProperties; 5544 5545 typedef struct VkDeviceQueueInfo2 { 5546 VkStructureType sType; 5547 const void* pNext; 5548 VkDeviceQueueCreateFlags flags; 5549 uint32_t queueFamilyIndex; 5550 uint32_t queueIndex; 5551 } VkDeviceQueueInfo2; 5552 5553 typedef struct VkProtectedSubmitInfo { 5554 VkStructureType sType; 5555 const void* pNext; 5556 VkBool32 protectedSubmit; 5557 } VkProtectedSubmitInfo; 5558 5559 typedef struct VkSamplerYcbcrConversionCreateInfo { 5560 VkStructureType sType; 5561 const void* pNext; 5562 VkFormat format; 5563 VkSamplerYcbcrModelConversion ycbcrModel; 5564 VkSamplerYcbcrRange ycbcrRange; 5565 VkComponentMapping components; 5566 VkChromaLocation xChromaOffset; 5567 VkChromaLocation yChromaOffset; 5568 VkFilter chromaFilter; 5569 VkBool32 forceExplicitReconstruction; 5570 } VkSamplerYcbcrConversionCreateInfo; 5571 5572 typedef struct VkSamplerYcbcrConversionInfo { 5573 VkStructureType sType; 5574 const void* pNext; 5575 VkSamplerYcbcrConversion conversion; 5576 } VkSamplerYcbcrConversionInfo; 5577 5578 typedef struct VkBindImagePlaneMemoryInfo { 5579 VkStructureType sType; 5580 const void* pNext; 5581 VkImageAspectFlagBits planeAspect; 5582 } VkBindImagePlaneMemoryInfo; 5583 5584 typedef struct VkImagePlaneMemoryRequirementsInfo { 5585 VkStructureType sType; 5586 const void* pNext; 5587 VkImageAspectFlagBits planeAspect; 5588 } VkImagePlaneMemoryRequirementsInfo; 5589 5590 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5591 VkStructureType sType; 5592 void* pNext; 5593 VkBool32 samplerYcbcrConversion; 5594 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5595 5596 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5597 VkStructureType sType; 5598 void* pNext; 5599 uint32_t combinedImageSamplerDescriptorCount; 5600 } VkSamplerYcbcrConversionImageFormatProperties; 5601 5602 typedef struct VkDescriptorUpdateTemplateEntry { 5603 uint32_t dstBinding; 5604 uint32_t dstArrayElement; 5605 uint32_t descriptorCount; 5606 VkDescriptorType descriptorType; 5607 size_t offset; 5608 size_t stride; 5609 } VkDescriptorUpdateTemplateEntry; 5610 5611 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5612 VkStructureType sType; 5613 const void* pNext; 5614 VkDescriptorUpdateTemplateCreateFlags flags; 5615 uint32_t descriptorUpdateEntryCount; 5616 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5617 VkDescriptorUpdateTemplateType templateType; 5618 VkDescriptorSetLayout descriptorSetLayout; 5619 VkPipelineBindPoint pipelineBindPoint; 5620 VkPipelineLayout pipelineLayout; 5621 uint32_t set; 5622 } VkDescriptorUpdateTemplateCreateInfo; 5623 5624 typedef struct VkExternalMemoryProperties { 5625 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5626 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5627 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5628 } VkExternalMemoryProperties; 5629 5630 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5631 VkStructureType sType; 5632 const void* pNext; 5633 VkExternalMemoryHandleTypeFlagBits handleType; 5634 } VkPhysicalDeviceExternalImageFormatInfo; 5635 5636 typedef struct VkExternalImageFormatProperties { 5637 VkStructureType sType; 5638 void* pNext; 5639 VkExternalMemoryProperties externalMemoryProperties; 5640 } VkExternalImageFormatProperties; 5641 5642 typedef struct VkPhysicalDeviceExternalBufferInfo { 5643 VkStructureType sType; 5644 const void* pNext; 5645 VkBufferCreateFlags flags; 5646 VkBufferUsageFlags usage; 5647 VkExternalMemoryHandleTypeFlagBits handleType; 5648 } VkPhysicalDeviceExternalBufferInfo; 5649 5650 typedef struct VkExternalBufferProperties { 5651 VkStructureType sType; 5652 void* pNext; 5653 VkExternalMemoryProperties externalMemoryProperties; 5654 } VkExternalBufferProperties; 5655 5656 typedef struct VkPhysicalDeviceIDProperties { 5657 VkStructureType sType; 5658 void* pNext; 5659 uint8_t deviceUUID[VK_UUID_SIZE]; 5660 uint8_t driverUUID[VK_UUID_SIZE]; 5661 uint8_t deviceLUID[VK_LUID_SIZE]; 5662 uint32_t deviceNodeMask; 5663 VkBool32 deviceLUIDValid; 5664 } VkPhysicalDeviceIDProperties; 5665 5666 typedef struct VkExternalMemoryImageCreateInfo { 5667 VkStructureType sType; 5668 const void* pNext; 5669 VkExternalMemoryHandleTypeFlags handleTypes; 5670 } VkExternalMemoryImageCreateInfo; 5671 5672 typedef struct VkExternalMemoryBufferCreateInfo { 5673 VkStructureType sType; 5674 const void* pNext; 5675 VkExternalMemoryHandleTypeFlags handleTypes; 5676 } VkExternalMemoryBufferCreateInfo; 5677 5678 typedef struct VkExportMemoryAllocateInfo { 5679 VkStructureType sType; 5680 const void* pNext; 5681 VkExternalMemoryHandleTypeFlags handleTypes; 5682 } VkExportMemoryAllocateInfo; 5683 5684 typedef struct VkPhysicalDeviceExternalFenceInfo { 5685 VkStructureType sType; 5686 const void* pNext; 5687 VkExternalFenceHandleTypeFlagBits handleType; 5688 } VkPhysicalDeviceExternalFenceInfo; 5689 5690 typedef struct VkExternalFenceProperties { 5691 VkStructureType sType; 5692 void* pNext; 5693 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5694 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5695 VkExternalFenceFeatureFlags externalFenceFeatures; 5696 } VkExternalFenceProperties; 5697 5698 typedef struct VkExportFenceCreateInfo { 5699 VkStructureType sType; 5700 const void* pNext; 5701 VkExternalFenceHandleTypeFlags handleTypes; 5702 } VkExportFenceCreateInfo; 5703 5704 typedef struct VkExportSemaphoreCreateInfo { 5705 VkStructureType sType; 5706 const void* pNext; 5707 VkExternalSemaphoreHandleTypeFlags handleTypes; 5708 } VkExportSemaphoreCreateInfo; 5709 5710 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5711 VkStructureType sType; 5712 const void* pNext; 5713 VkExternalSemaphoreHandleTypeFlagBits handleType; 5714 } VkPhysicalDeviceExternalSemaphoreInfo; 5715 5716 typedef struct VkExternalSemaphoreProperties { 5717 VkStructureType sType; 5718 void* pNext; 5719 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5720 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5721 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5722 } VkExternalSemaphoreProperties; 5723 5724 typedef struct VkPhysicalDeviceMaintenance3Properties { 5725 VkStructureType sType; 5726 void* pNext; 5727 uint32_t maxPerSetDescriptors; 5728 VkDeviceSize maxMemoryAllocationSize; 5729 } VkPhysicalDeviceMaintenance3Properties; 5730 5731 typedef struct VkDescriptorSetLayoutSupport { 5732 VkStructureType sType; 5733 void* pNext; 5734 VkBool32 supported; 5735 } VkDescriptorSetLayoutSupport; 5736 5737 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5738 VkStructureType sType; 5739 void* pNext; 5740 VkBool32 shaderDrawParameters; 5741 } VkPhysicalDeviceShaderDrawParametersFeatures; 5742 5743 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5744 5745 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5746 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5747 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5748 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5749 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5750 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); 5751 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5752 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5753 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5754 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5755 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5756 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5757 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5758 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5759 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5760 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5761 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5762 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5763 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5764 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5765 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5766 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5767 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5768 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5769 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5770 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5771 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5772 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5773 5774 #ifndef VK_NO_PROTOTYPES 5775 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5776 uint32_t* pApiVersion); 5777 5778 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5779 VkDevice device, 5780 uint32_t bindInfoCount, 5781 const VkBindBufferMemoryInfo* pBindInfos); 5782 5783 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5784 VkDevice device, 5785 uint32_t bindInfoCount, 5786 const VkBindImageMemoryInfo* pBindInfos); 5787 5788 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5789 VkDevice device, 5790 uint32_t heapIndex, 5791 uint32_t localDeviceIndex, 5792 uint32_t remoteDeviceIndex, 5793 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5794 5795 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5796 VkCommandBuffer commandBuffer, 5797 uint32_t deviceMask); 5798 5799 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5800 VkCommandBuffer commandBuffer, 5801 uint32_t baseGroupX, 5802 uint32_t baseGroupY, 5803 uint32_t baseGroupZ, 5804 uint32_t groupCountX, 5805 uint32_t groupCountY, 5806 uint32_t groupCountZ); 5807 5808 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5809 VkInstance instance, 5810 uint32_t* pPhysicalDeviceGroupCount, 5811 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5812 5813 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5814 VkDevice device, 5815 const VkImageMemoryRequirementsInfo2* pInfo, 5816 VkMemoryRequirements2* pMemoryRequirements); 5817 5818 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5819 VkDevice device, 5820 const VkBufferMemoryRequirementsInfo2* pInfo, 5821 VkMemoryRequirements2* pMemoryRequirements); 5822 5823 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5824 VkDevice device, 5825 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5826 uint32_t* pSparseMemoryRequirementCount, 5827 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5828 5829 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5830 VkPhysicalDevice physicalDevice, 5831 VkPhysicalDeviceFeatures2* pFeatures); 5832 5833 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5834 VkPhysicalDevice physicalDevice, 5835 VkPhysicalDeviceProperties2* pProperties); 5836 5837 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5838 VkPhysicalDevice physicalDevice, 5839 VkFormat format, 5840 VkFormatProperties2* pFormatProperties); 5841 5842 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5843 VkPhysicalDevice physicalDevice, 5844 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5845 VkImageFormatProperties2* pImageFormatProperties); 5846 5847 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5848 VkPhysicalDevice physicalDevice, 5849 uint32_t* pQueueFamilyPropertyCount, 5850 VkQueueFamilyProperties2* pQueueFamilyProperties); 5851 5852 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5853 VkPhysicalDevice physicalDevice, 5854 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5855 5856 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5857 VkPhysicalDevice physicalDevice, 5858 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5859 uint32_t* pPropertyCount, 5860 VkSparseImageFormatProperties2* pProperties); 5861 5862 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5863 VkDevice device, 5864 VkCommandPool commandPool, 5865 VkCommandPoolTrimFlags flags); 5866 5867 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5868 VkDevice device, 5869 const VkDeviceQueueInfo2* pQueueInfo, 5870 VkQueue* pQueue); 5871 5872 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5873 VkDevice device, 5874 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5875 const VkAllocationCallbacks* pAllocator, 5876 VkSamplerYcbcrConversion* pYcbcrConversion); 5877 5878 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5879 VkDevice device, 5880 VkSamplerYcbcrConversion ycbcrConversion, 5881 const VkAllocationCallbacks* pAllocator); 5882 5883 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5884 VkDevice device, 5885 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5886 const VkAllocationCallbacks* pAllocator, 5887 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5888 5889 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5890 VkDevice device, 5891 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5892 const VkAllocationCallbacks* pAllocator); 5893 5894 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5895 VkDevice device, 5896 VkDescriptorSet descriptorSet, 5897 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5898 const void* pData); 5899 5900 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5901 VkPhysicalDevice physicalDevice, 5902 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5903 VkExternalBufferProperties* pExternalBufferProperties); 5904 5905 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5906 VkPhysicalDevice physicalDevice, 5907 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5908 VkExternalFenceProperties* pExternalFenceProperties); 5909 5910 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5911 VkPhysicalDevice physicalDevice, 5912 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5913 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5914 5915 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5916 VkDevice device, 5917 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5918 VkDescriptorSetLayoutSupport* pSupport); 5919 #endif 5920 5921 5922 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5923 #define VK_VERSION_1_2 1 5924 // Vulkan 1.2 version number 5925 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5926 5927 #define VK_MAX_DRIVER_NAME_SIZE 256U 5928 #define VK_MAX_DRIVER_INFO_SIZE 256U 5929 5930 typedef enum VkDriverId { 5931 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5932 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5933 VK_DRIVER_ID_MESA_RADV = 3, 5934 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5935 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5936 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5937 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5938 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5939 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5940 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5941 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5942 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5943 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5944 VK_DRIVER_ID_MOLTENVK = 14, 5945 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5946 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5947 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5948 VK_DRIVER_ID_MESA_TURNIP = 18, 5949 VK_DRIVER_ID_MESA_V3DV = 19, 5950 VK_DRIVER_ID_MESA_PANVK = 20, 5951 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5952 VK_DRIVER_ID_MESA_VENUS = 22, 5953 VK_DRIVER_ID_MESA_DOZEN = 23, 5954 VK_DRIVER_ID_MESA_NVK = 24, 5955 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5956 VK_DRIVER_ID_MESA_HONEYKRISP = 26, 5957 VK_DRIVER_ID_RESERVED_27 = 27, 5958 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5959 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5960 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5961 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5962 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5963 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5964 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5965 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5966 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5967 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5968 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5969 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5970 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5971 } VkDriverId; 5972 5973 typedef enum VkShaderFloatControlsIndependence { 5974 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5975 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5976 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5977 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5978 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5979 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5980 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5981 } VkShaderFloatControlsIndependence; 5982 5983 typedef enum VkSamplerReductionMode { 5984 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5985 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5986 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5987 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5988 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5989 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5990 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5991 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5992 } VkSamplerReductionMode; 5993 5994 typedef enum VkSemaphoreType { 5995 VK_SEMAPHORE_TYPE_BINARY = 0, 5996 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5997 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5998 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5999 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 6000 } VkSemaphoreType; 6001 6002 typedef enum VkResolveModeFlagBits { 6003 VK_RESOLVE_MODE_NONE = 0, 6004 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 6005 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 6006 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 6007 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 6008 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 6009 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 6010 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 6011 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 6012 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 6013 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 6014 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6015 } VkResolveModeFlagBits; 6016 typedef VkFlags VkResolveModeFlags; 6017 6018 typedef enum VkDescriptorBindingFlagBits { 6019 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 6020 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 6021 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 6022 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 6023 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 6024 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 6025 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 6026 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 6027 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6028 } VkDescriptorBindingFlagBits; 6029 typedef VkFlags VkDescriptorBindingFlags; 6030 6031 typedef enum VkSemaphoreWaitFlagBits { 6032 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 6033 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 6034 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6035 } VkSemaphoreWaitFlagBits; 6036 typedef VkFlags VkSemaphoreWaitFlags; 6037 typedef struct VkPhysicalDeviceVulkan11Features { 6038 VkStructureType sType; 6039 void* pNext; 6040 VkBool32 storageBuffer16BitAccess; 6041 VkBool32 uniformAndStorageBuffer16BitAccess; 6042 VkBool32 storagePushConstant16; 6043 VkBool32 storageInputOutput16; 6044 VkBool32 multiview; 6045 VkBool32 multiviewGeometryShader; 6046 VkBool32 multiviewTessellationShader; 6047 VkBool32 variablePointersStorageBuffer; 6048 VkBool32 variablePointers; 6049 VkBool32 protectedMemory; 6050 VkBool32 samplerYcbcrConversion; 6051 VkBool32 shaderDrawParameters; 6052 } VkPhysicalDeviceVulkan11Features; 6053 6054 typedef struct VkPhysicalDeviceVulkan11Properties { 6055 VkStructureType sType; 6056 void* pNext; 6057 uint8_t deviceUUID[VK_UUID_SIZE]; 6058 uint8_t driverUUID[VK_UUID_SIZE]; 6059 uint8_t deviceLUID[VK_LUID_SIZE]; 6060 uint32_t deviceNodeMask; 6061 VkBool32 deviceLUIDValid; 6062 uint32_t subgroupSize; 6063 VkShaderStageFlags subgroupSupportedStages; 6064 VkSubgroupFeatureFlags subgroupSupportedOperations; 6065 VkBool32 subgroupQuadOperationsInAllStages; 6066 VkPointClippingBehavior pointClippingBehavior; 6067 uint32_t maxMultiviewViewCount; 6068 uint32_t maxMultiviewInstanceIndex; 6069 VkBool32 protectedNoFault; 6070 uint32_t maxPerSetDescriptors; 6071 VkDeviceSize maxMemoryAllocationSize; 6072 } VkPhysicalDeviceVulkan11Properties; 6073 6074 typedef struct VkPhysicalDeviceVulkan12Features { 6075 VkStructureType sType; 6076 void* pNext; 6077 VkBool32 samplerMirrorClampToEdge; 6078 VkBool32 drawIndirectCount; 6079 VkBool32 storageBuffer8BitAccess; 6080 VkBool32 uniformAndStorageBuffer8BitAccess; 6081 VkBool32 storagePushConstant8; 6082 VkBool32 shaderBufferInt64Atomics; 6083 VkBool32 shaderSharedInt64Atomics; 6084 VkBool32 shaderFloat16; 6085 VkBool32 shaderInt8; 6086 VkBool32 descriptorIndexing; 6087 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6088 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6089 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6090 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6091 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6092 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6093 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6094 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6095 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6096 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6097 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6098 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6099 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6100 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6101 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6102 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6103 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6104 VkBool32 descriptorBindingPartiallyBound; 6105 VkBool32 descriptorBindingVariableDescriptorCount; 6106 VkBool32 runtimeDescriptorArray; 6107 VkBool32 samplerFilterMinmax; 6108 VkBool32 scalarBlockLayout; 6109 VkBool32 imagelessFramebuffer; 6110 VkBool32 uniformBufferStandardLayout; 6111 VkBool32 shaderSubgroupExtendedTypes; 6112 VkBool32 separateDepthStencilLayouts; 6113 VkBool32 hostQueryReset; 6114 VkBool32 timelineSemaphore; 6115 VkBool32 bufferDeviceAddress; 6116 VkBool32 bufferDeviceAddressCaptureReplay; 6117 VkBool32 bufferDeviceAddressMultiDevice; 6118 VkBool32 vulkanMemoryModel; 6119 VkBool32 vulkanMemoryModelDeviceScope; 6120 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6121 VkBool32 shaderOutputViewportIndex; 6122 VkBool32 shaderOutputLayer; 6123 VkBool32 subgroupBroadcastDynamicId; 6124 } VkPhysicalDeviceVulkan12Features; 6125 6126 typedef struct VkConformanceVersion { 6127 uint8_t major; 6128 uint8_t minor; 6129 uint8_t subminor; 6130 uint8_t patch; 6131 } VkConformanceVersion; 6132 6133 typedef struct VkPhysicalDeviceVulkan12Properties { 6134 VkStructureType sType; 6135 void* pNext; 6136 VkDriverId driverID; 6137 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6138 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6139 VkConformanceVersion conformanceVersion; 6140 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6141 VkShaderFloatControlsIndependence roundingModeIndependence; 6142 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6143 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6144 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6145 VkBool32 shaderDenormPreserveFloat16; 6146 VkBool32 shaderDenormPreserveFloat32; 6147 VkBool32 shaderDenormPreserveFloat64; 6148 VkBool32 shaderDenormFlushToZeroFloat16; 6149 VkBool32 shaderDenormFlushToZeroFloat32; 6150 VkBool32 shaderDenormFlushToZeroFloat64; 6151 VkBool32 shaderRoundingModeRTEFloat16; 6152 VkBool32 shaderRoundingModeRTEFloat32; 6153 VkBool32 shaderRoundingModeRTEFloat64; 6154 VkBool32 shaderRoundingModeRTZFloat16; 6155 VkBool32 shaderRoundingModeRTZFloat32; 6156 VkBool32 shaderRoundingModeRTZFloat64; 6157 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6158 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6159 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6160 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6161 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6162 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6163 VkBool32 robustBufferAccessUpdateAfterBind; 6164 VkBool32 quadDivergentImplicitLod; 6165 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6166 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6167 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6168 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6169 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6170 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6171 uint32_t maxPerStageUpdateAfterBindResources; 6172 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6173 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6174 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6175 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6176 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6177 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6178 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6179 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6180 VkResolveModeFlags supportedDepthResolveModes; 6181 VkResolveModeFlags supportedStencilResolveModes; 6182 VkBool32 independentResolveNone; 6183 VkBool32 independentResolve; 6184 VkBool32 filterMinmaxSingleComponentFormats; 6185 VkBool32 filterMinmaxImageComponentMapping; 6186 uint64_t maxTimelineSemaphoreValueDifference; 6187 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6188 } VkPhysicalDeviceVulkan12Properties; 6189 6190 typedef struct VkImageFormatListCreateInfo { 6191 VkStructureType sType; 6192 const void* pNext; 6193 uint32_t viewFormatCount; 6194 const VkFormat* pViewFormats; 6195 } VkImageFormatListCreateInfo; 6196 6197 typedef struct VkAttachmentDescription2 { 6198 VkStructureType sType; 6199 const void* pNext; 6200 VkAttachmentDescriptionFlags flags; 6201 VkFormat format; 6202 VkSampleCountFlagBits samples; 6203 VkAttachmentLoadOp loadOp; 6204 VkAttachmentStoreOp storeOp; 6205 VkAttachmentLoadOp stencilLoadOp; 6206 VkAttachmentStoreOp stencilStoreOp; 6207 VkImageLayout initialLayout; 6208 VkImageLayout finalLayout; 6209 } VkAttachmentDescription2; 6210 6211 typedef struct VkAttachmentReference2 { 6212 VkStructureType sType; 6213 const void* pNext; 6214 uint32_t attachment; 6215 VkImageLayout layout; 6216 VkImageAspectFlags aspectMask; 6217 } VkAttachmentReference2; 6218 6219 typedef struct VkSubpassDescription2 { 6220 VkStructureType sType; 6221 const void* pNext; 6222 VkSubpassDescriptionFlags flags; 6223 VkPipelineBindPoint pipelineBindPoint; 6224 uint32_t viewMask; 6225 uint32_t inputAttachmentCount; 6226 const VkAttachmentReference2* pInputAttachments; 6227 uint32_t colorAttachmentCount; 6228 const VkAttachmentReference2* pColorAttachments; 6229 const VkAttachmentReference2* pResolveAttachments; 6230 const VkAttachmentReference2* pDepthStencilAttachment; 6231 uint32_t preserveAttachmentCount; 6232 const uint32_t* pPreserveAttachments; 6233 } VkSubpassDescription2; 6234 6235 typedef struct VkSubpassDependency2 { 6236 VkStructureType sType; 6237 const void* pNext; 6238 uint32_t srcSubpass; 6239 uint32_t dstSubpass; 6240 VkPipelineStageFlags srcStageMask; 6241 VkPipelineStageFlags dstStageMask; 6242 VkAccessFlags srcAccessMask; 6243 VkAccessFlags dstAccessMask; 6244 VkDependencyFlags dependencyFlags; 6245 int32_t viewOffset; 6246 } VkSubpassDependency2; 6247 6248 typedef struct VkRenderPassCreateInfo2 { 6249 VkStructureType sType; 6250 const void* pNext; 6251 VkRenderPassCreateFlags flags; 6252 uint32_t attachmentCount; 6253 const VkAttachmentDescription2* pAttachments; 6254 uint32_t subpassCount; 6255 const VkSubpassDescription2* pSubpasses; 6256 uint32_t dependencyCount; 6257 const VkSubpassDependency2* pDependencies; 6258 uint32_t correlatedViewMaskCount; 6259 const uint32_t* pCorrelatedViewMasks; 6260 } VkRenderPassCreateInfo2; 6261 6262 typedef struct VkSubpassBeginInfo { 6263 VkStructureType sType; 6264 const void* pNext; 6265 VkSubpassContents contents; 6266 } VkSubpassBeginInfo; 6267 6268 typedef struct VkSubpassEndInfo { 6269 VkStructureType sType; 6270 const void* pNext; 6271 } VkSubpassEndInfo; 6272 6273 typedef struct VkPhysicalDevice8BitStorageFeatures { 6274 VkStructureType sType; 6275 void* pNext; 6276 VkBool32 storageBuffer8BitAccess; 6277 VkBool32 uniformAndStorageBuffer8BitAccess; 6278 VkBool32 storagePushConstant8; 6279 } VkPhysicalDevice8BitStorageFeatures; 6280 6281 typedef struct VkPhysicalDeviceDriverProperties { 6282 VkStructureType sType; 6283 void* pNext; 6284 VkDriverId driverID; 6285 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6286 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6287 VkConformanceVersion conformanceVersion; 6288 } VkPhysicalDeviceDriverProperties; 6289 6290 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6291 VkStructureType sType; 6292 void* pNext; 6293 VkBool32 shaderBufferInt64Atomics; 6294 VkBool32 shaderSharedInt64Atomics; 6295 } VkPhysicalDeviceShaderAtomicInt64Features; 6296 6297 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6298 VkStructureType sType; 6299 void* pNext; 6300 VkBool32 shaderFloat16; 6301 VkBool32 shaderInt8; 6302 } VkPhysicalDeviceShaderFloat16Int8Features; 6303 6304 typedef struct VkPhysicalDeviceFloatControlsProperties { 6305 VkStructureType sType; 6306 void* pNext; 6307 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6308 VkShaderFloatControlsIndependence roundingModeIndependence; 6309 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6310 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6311 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6312 VkBool32 shaderDenormPreserveFloat16; 6313 VkBool32 shaderDenormPreserveFloat32; 6314 VkBool32 shaderDenormPreserveFloat64; 6315 VkBool32 shaderDenormFlushToZeroFloat16; 6316 VkBool32 shaderDenormFlushToZeroFloat32; 6317 VkBool32 shaderDenormFlushToZeroFloat64; 6318 VkBool32 shaderRoundingModeRTEFloat16; 6319 VkBool32 shaderRoundingModeRTEFloat32; 6320 VkBool32 shaderRoundingModeRTEFloat64; 6321 VkBool32 shaderRoundingModeRTZFloat16; 6322 VkBool32 shaderRoundingModeRTZFloat32; 6323 VkBool32 shaderRoundingModeRTZFloat64; 6324 } VkPhysicalDeviceFloatControlsProperties; 6325 6326 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6327 VkStructureType sType; 6328 const void* pNext; 6329 uint32_t bindingCount; 6330 const VkDescriptorBindingFlags* pBindingFlags; 6331 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6332 6333 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6334 VkStructureType sType; 6335 void* pNext; 6336 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6337 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6338 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6339 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6340 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6341 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6342 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6343 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6344 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6345 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6346 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6347 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6348 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6349 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6350 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6351 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6352 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6353 VkBool32 descriptorBindingPartiallyBound; 6354 VkBool32 descriptorBindingVariableDescriptorCount; 6355 VkBool32 runtimeDescriptorArray; 6356 } VkPhysicalDeviceDescriptorIndexingFeatures; 6357 6358 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6359 VkStructureType sType; 6360 void* pNext; 6361 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6362 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6363 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6364 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6365 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6366 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6367 VkBool32 robustBufferAccessUpdateAfterBind; 6368 VkBool32 quadDivergentImplicitLod; 6369 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6370 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6371 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6372 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6373 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6374 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6375 uint32_t maxPerStageUpdateAfterBindResources; 6376 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6377 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6378 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6379 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6380 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6381 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6382 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6383 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6384 } VkPhysicalDeviceDescriptorIndexingProperties; 6385 6386 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6387 VkStructureType sType; 6388 const void* pNext; 6389 uint32_t descriptorSetCount; 6390 const uint32_t* pDescriptorCounts; 6391 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6392 6393 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6394 VkStructureType sType; 6395 void* pNext; 6396 uint32_t maxVariableDescriptorCount; 6397 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6398 6399 typedef struct VkSubpassDescriptionDepthStencilResolve { 6400 VkStructureType sType; 6401 const void* pNext; 6402 VkResolveModeFlagBits depthResolveMode; 6403 VkResolveModeFlagBits stencilResolveMode; 6404 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6405 } VkSubpassDescriptionDepthStencilResolve; 6406 6407 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6408 VkStructureType sType; 6409 void* pNext; 6410 VkResolveModeFlags supportedDepthResolveModes; 6411 VkResolveModeFlags supportedStencilResolveModes; 6412 VkBool32 independentResolveNone; 6413 VkBool32 independentResolve; 6414 } VkPhysicalDeviceDepthStencilResolveProperties; 6415 6416 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6417 VkStructureType sType; 6418 void* pNext; 6419 VkBool32 scalarBlockLayout; 6420 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6421 6422 typedef struct VkImageStencilUsageCreateInfo { 6423 VkStructureType sType; 6424 const void* pNext; 6425 VkImageUsageFlags stencilUsage; 6426 } VkImageStencilUsageCreateInfo; 6427 6428 typedef struct VkSamplerReductionModeCreateInfo { 6429 VkStructureType sType; 6430 const void* pNext; 6431 VkSamplerReductionMode reductionMode; 6432 } VkSamplerReductionModeCreateInfo; 6433 6434 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6435 VkStructureType sType; 6436 void* pNext; 6437 VkBool32 filterMinmaxSingleComponentFormats; 6438 VkBool32 filterMinmaxImageComponentMapping; 6439 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6440 6441 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6442 VkStructureType sType; 6443 void* pNext; 6444 VkBool32 vulkanMemoryModel; 6445 VkBool32 vulkanMemoryModelDeviceScope; 6446 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6447 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6448 6449 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6450 VkStructureType sType; 6451 void* pNext; 6452 VkBool32 imagelessFramebuffer; 6453 } VkPhysicalDeviceImagelessFramebufferFeatures; 6454 6455 typedef struct VkFramebufferAttachmentImageInfo { 6456 VkStructureType sType; 6457 const void* pNext; 6458 VkImageCreateFlags flags; 6459 VkImageUsageFlags usage; 6460 uint32_t width; 6461 uint32_t height; 6462 uint32_t layerCount; 6463 uint32_t viewFormatCount; 6464 const VkFormat* pViewFormats; 6465 } VkFramebufferAttachmentImageInfo; 6466 6467 typedef struct VkFramebufferAttachmentsCreateInfo { 6468 VkStructureType sType; 6469 const void* pNext; 6470 uint32_t attachmentImageInfoCount; 6471 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6472 } VkFramebufferAttachmentsCreateInfo; 6473 6474 typedef struct VkRenderPassAttachmentBeginInfo { 6475 VkStructureType sType; 6476 const void* pNext; 6477 uint32_t attachmentCount; 6478 const VkImageView* pAttachments; 6479 } VkRenderPassAttachmentBeginInfo; 6480 6481 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6482 VkStructureType sType; 6483 void* pNext; 6484 VkBool32 uniformBufferStandardLayout; 6485 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6486 6487 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6488 VkStructureType sType; 6489 void* pNext; 6490 VkBool32 shaderSubgroupExtendedTypes; 6491 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6492 6493 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6494 VkStructureType sType; 6495 void* pNext; 6496 VkBool32 separateDepthStencilLayouts; 6497 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6498 6499 typedef struct VkAttachmentReferenceStencilLayout { 6500 VkStructureType sType; 6501 void* pNext; 6502 VkImageLayout stencilLayout; 6503 } VkAttachmentReferenceStencilLayout; 6504 6505 typedef struct VkAttachmentDescriptionStencilLayout { 6506 VkStructureType sType; 6507 void* pNext; 6508 VkImageLayout stencilInitialLayout; 6509 VkImageLayout stencilFinalLayout; 6510 } VkAttachmentDescriptionStencilLayout; 6511 6512 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6513 VkStructureType sType; 6514 void* pNext; 6515 VkBool32 hostQueryReset; 6516 } VkPhysicalDeviceHostQueryResetFeatures; 6517 6518 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6519 VkStructureType sType; 6520 void* pNext; 6521 VkBool32 timelineSemaphore; 6522 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6523 6524 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6525 VkStructureType sType; 6526 void* pNext; 6527 uint64_t maxTimelineSemaphoreValueDifference; 6528 } VkPhysicalDeviceTimelineSemaphoreProperties; 6529 6530 typedef struct VkSemaphoreTypeCreateInfo { 6531 VkStructureType sType; 6532 const void* pNext; 6533 VkSemaphoreType semaphoreType; 6534 uint64_t initialValue; 6535 } VkSemaphoreTypeCreateInfo; 6536 6537 typedef struct VkTimelineSemaphoreSubmitInfo { 6538 VkStructureType sType; 6539 const void* pNext; 6540 uint32_t waitSemaphoreValueCount; 6541 const uint64_t* pWaitSemaphoreValues; 6542 uint32_t signalSemaphoreValueCount; 6543 const uint64_t* pSignalSemaphoreValues; 6544 } VkTimelineSemaphoreSubmitInfo; 6545 6546 typedef struct VkSemaphoreWaitInfo { 6547 VkStructureType sType; 6548 const void* pNext; 6549 VkSemaphoreWaitFlags flags; 6550 uint32_t semaphoreCount; 6551 const VkSemaphore* pSemaphores; 6552 const uint64_t* pValues; 6553 } VkSemaphoreWaitInfo; 6554 6555 typedef struct VkSemaphoreSignalInfo { 6556 VkStructureType sType; 6557 const void* pNext; 6558 VkSemaphore semaphore; 6559 uint64_t value; 6560 } VkSemaphoreSignalInfo; 6561 6562 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6563 VkStructureType sType; 6564 void* pNext; 6565 VkBool32 bufferDeviceAddress; 6566 VkBool32 bufferDeviceAddressCaptureReplay; 6567 VkBool32 bufferDeviceAddressMultiDevice; 6568 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6569 6570 typedef struct VkBufferDeviceAddressInfo { 6571 VkStructureType sType; 6572 const void* pNext; 6573 VkBuffer buffer; 6574 } VkBufferDeviceAddressInfo; 6575 6576 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6577 VkStructureType sType; 6578 const void* pNext; 6579 uint64_t opaqueCaptureAddress; 6580 } VkBufferOpaqueCaptureAddressCreateInfo; 6581 6582 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6583 VkStructureType sType; 6584 const void* pNext; 6585 uint64_t opaqueCaptureAddress; 6586 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6587 6588 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6589 VkStructureType sType; 6590 const void* pNext; 6591 VkDeviceMemory memory; 6592 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6593 6594 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6595 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6596 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6597 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6598 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6599 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6600 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6601 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6602 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6603 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6604 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6605 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6606 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6607 6608 #ifndef VK_NO_PROTOTYPES 6609 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6610 VkCommandBuffer commandBuffer, 6611 VkBuffer buffer, 6612 VkDeviceSize offset, 6613 VkBuffer countBuffer, 6614 VkDeviceSize countBufferOffset, 6615 uint32_t maxDrawCount, 6616 uint32_t stride); 6617 6618 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6619 VkCommandBuffer commandBuffer, 6620 VkBuffer buffer, 6621 VkDeviceSize offset, 6622 VkBuffer countBuffer, 6623 VkDeviceSize countBufferOffset, 6624 uint32_t maxDrawCount, 6625 uint32_t stride); 6626 6627 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6628 VkDevice device, 6629 const VkRenderPassCreateInfo2* pCreateInfo, 6630 const VkAllocationCallbacks* pAllocator, 6631 VkRenderPass* pRenderPass); 6632 6633 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6634 VkCommandBuffer commandBuffer, 6635 const VkRenderPassBeginInfo* pRenderPassBegin, 6636 const VkSubpassBeginInfo* pSubpassBeginInfo); 6637 6638 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6639 VkCommandBuffer commandBuffer, 6640 const VkSubpassBeginInfo* pSubpassBeginInfo, 6641 const VkSubpassEndInfo* pSubpassEndInfo); 6642 6643 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6644 VkCommandBuffer commandBuffer, 6645 const VkSubpassEndInfo* pSubpassEndInfo); 6646 6647 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6648 VkDevice device, 6649 VkQueryPool queryPool, 6650 uint32_t firstQuery, 6651 uint32_t queryCount); 6652 6653 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6654 VkDevice device, 6655 VkSemaphore semaphore, 6656 uint64_t* pValue); 6657 6658 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6659 VkDevice device, 6660 const VkSemaphoreWaitInfo* pWaitInfo, 6661 uint64_t timeout); 6662 6663 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6664 VkDevice device, 6665 const VkSemaphoreSignalInfo* pSignalInfo); 6666 6667 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6668 VkDevice device, 6669 const VkBufferDeviceAddressInfo* pInfo); 6670 6671 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6672 VkDevice device, 6673 const VkBufferDeviceAddressInfo* pInfo); 6674 6675 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6676 VkDevice device, 6677 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6678 #endif 6679 6680 6681 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6682 #define VK_VERSION_1_3 1 6683 // Vulkan 1.3 version number 6684 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6685 6686 typedef uint64_t VkFlags64; 6687 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6688 6689 typedef enum VkPipelineCreationFeedbackFlagBits { 6690 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6691 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6692 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6693 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6694 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6695 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6696 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6697 } VkPipelineCreationFeedbackFlagBits; 6698 typedef VkFlags VkPipelineCreationFeedbackFlags; 6699 6700 typedef enum VkToolPurposeFlagBits { 6701 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6702 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6703 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6704 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6705 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6706 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6707 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6708 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6709 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6710 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6711 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6712 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6713 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6714 } VkToolPurposeFlagBits; 6715 typedef VkFlags VkToolPurposeFlags; 6716 typedef VkFlags VkPrivateDataSlotCreateFlags; 6717 typedef VkFlags64 VkPipelineStageFlags2; 6718 6719 // Flag bits for VkPipelineStageFlagBits2 6720 typedef VkFlags64 VkPipelineStageFlagBits2; 6721 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6722 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6723 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6724 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6725 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6726 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6727 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6728 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6729 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6730 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6731 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6732 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6733 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6734 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6735 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6736 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6737 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6738 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6739 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6740 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6741 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6742 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6743 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6744 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6745 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6746 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6747 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6748 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6749 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6750 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6751 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6752 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6753 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6754 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6755 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6756 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6757 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6758 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6759 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6760 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6761 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6762 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6763 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6764 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6765 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6766 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6767 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6768 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6769 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6770 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6771 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6772 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6773 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6774 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6775 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6776 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6777 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6778 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT = 0x00020000ULL; 6779 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6780 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6781 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6782 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6783 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6784 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6785 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6786 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6787 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6788 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6789 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6790 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6791 // VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI is a deprecated alias 6792 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6793 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6794 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6795 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6796 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6797 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6798 6799 typedef VkFlags64 VkAccessFlags2; 6800 6801 // Flag bits for VkAccessFlagBits2 6802 typedef VkFlags64 VkAccessFlagBits2; 6803 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6804 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6805 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6806 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6807 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6808 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6809 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6810 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6811 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6812 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6813 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6814 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6815 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6816 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6817 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6818 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6819 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6820 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6821 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6822 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6823 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6824 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6825 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6826 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6827 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6828 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6829 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6830 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6831 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6832 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6833 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6834 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6835 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6836 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6837 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6838 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6839 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6840 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6841 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6842 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6843 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6844 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6845 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6846 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6847 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6848 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6849 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6850 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6851 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6852 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6853 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6854 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6855 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000ULL; 6856 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000ULL; 6857 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6858 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6859 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6860 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6861 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6862 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6863 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6864 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6865 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6866 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6867 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6868 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6869 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6870 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6871 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6872 6873 6874 typedef enum VkSubmitFlagBits { 6875 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6876 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6877 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6878 } VkSubmitFlagBits; 6879 typedef VkFlags VkSubmitFlags; 6880 6881 typedef enum VkRenderingFlagBits { 6882 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6883 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6884 VK_RENDERING_RESUMING_BIT = 0x00000004, 6885 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6886 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, 6887 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6888 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6889 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6890 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR, 6891 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6892 } VkRenderingFlagBits; 6893 typedef VkFlags VkRenderingFlags; 6894 typedef VkFlags64 VkFormatFeatureFlags2; 6895 6896 // Flag bits for VkFormatFeatureFlagBits2 6897 typedef VkFlags64 VkFormatFeatureFlagBits2; 6898 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6899 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6900 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6901 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6902 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6903 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6904 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6905 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6906 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6907 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6908 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6909 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6910 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6911 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6912 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6913 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6914 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6915 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6916 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6917 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6918 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6919 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6920 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6921 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6922 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6923 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6924 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6925 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = 0x400000000000ULL; 6926 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6927 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6928 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6929 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6930 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6931 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6932 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6933 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6934 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6935 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6936 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6937 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6938 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6939 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6940 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6941 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6942 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6943 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6944 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6945 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6946 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6947 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6948 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6949 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6950 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6951 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6952 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6953 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6954 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6955 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6956 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6957 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6958 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6959 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6960 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6961 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6962 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6963 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6964 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6965 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6966 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6967 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6968 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6969 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL; 6970 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL; 6971 6972 typedef struct VkPhysicalDeviceVulkan13Features { 6973 VkStructureType sType; 6974 void* pNext; 6975 VkBool32 robustImageAccess; 6976 VkBool32 inlineUniformBlock; 6977 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6978 VkBool32 pipelineCreationCacheControl; 6979 VkBool32 privateData; 6980 VkBool32 shaderDemoteToHelperInvocation; 6981 VkBool32 shaderTerminateInvocation; 6982 VkBool32 subgroupSizeControl; 6983 VkBool32 computeFullSubgroups; 6984 VkBool32 synchronization2; 6985 VkBool32 textureCompressionASTC_HDR; 6986 VkBool32 shaderZeroInitializeWorkgroupMemory; 6987 VkBool32 dynamicRendering; 6988 VkBool32 shaderIntegerDotProduct; 6989 VkBool32 maintenance4; 6990 } VkPhysicalDeviceVulkan13Features; 6991 6992 typedef struct VkPhysicalDeviceVulkan13Properties { 6993 VkStructureType sType; 6994 void* pNext; 6995 uint32_t minSubgroupSize; 6996 uint32_t maxSubgroupSize; 6997 uint32_t maxComputeWorkgroupSubgroups; 6998 VkShaderStageFlags requiredSubgroupSizeStages; 6999 uint32_t maxInlineUniformBlockSize; 7000 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7001 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7002 uint32_t maxDescriptorSetInlineUniformBlocks; 7003 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7004 uint32_t maxInlineUniformTotalSize; 7005 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7006 VkBool32 integerDotProduct8BitSignedAccelerated; 7007 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7008 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7009 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7010 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7011 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7012 VkBool32 integerDotProduct16BitSignedAccelerated; 7013 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7014 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7015 VkBool32 integerDotProduct32BitSignedAccelerated; 7016 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7017 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7018 VkBool32 integerDotProduct64BitSignedAccelerated; 7019 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7020 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7021 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7022 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7023 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7024 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7025 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7026 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7027 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7028 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7029 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7030 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7031 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7032 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7033 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7034 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7035 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7036 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7037 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7038 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7039 VkDeviceSize maxBufferSize; 7040 } VkPhysicalDeviceVulkan13Properties; 7041 7042 typedef struct VkPipelineCreationFeedback { 7043 VkPipelineCreationFeedbackFlags flags; 7044 uint64_t duration; 7045 } VkPipelineCreationFeedback; 7046 7047 typedef struct VkPipelineCreationFeedbackCreateInfo { 7048 VkStructureType sType; 7049 const void* pNext; 7050 VkPipelineCreationFeedback* pPipelineCreationFeedback; 7051 uint32_t pipelineStageCreationFeedbackCount; 7052 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 7053 } VkPipelineCreationFeedbackCreateInfo; 7054 7055 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 7056 VkStructureType sType; 7057 void* pNext; 7058 VkBool32 shaderTerminateInvocation; 7059 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 7060 7061 typedef struct VkPhysicalDeviceToolProperties { 7062 VkStructureType sType; 7063 void* pNext; 7064 char name[VK_MAX_EXTENSION_NAME_SIZE]; 7065 char version[VK_MAX_EXTENSION_NAME_SIZE]; 7066 VkToolPurposeFlags purposes; 7067 char description[VK_MAX_DESCRIPTION_SIZE]; 7068 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 7069 } VkPhysicalDeviceToolProperties; 7070 7071 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 7072 VkStructureType sType; 7073 void* pNext; 7074 VkBool32 shaderDemoteToHelperInvocation; 7075 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 7076 7077 typedef struct VkPhysicalDevicePrivateDataFeatures { 7078 VkStructureType sType; 7079 void* pNext; 7080 VkBool32 privateData; 7081 } VkPhysicalDevicePrivateDataFeatures; 7082 7083 typedef struct VkDevicePrivateDataCreateInfo { 7084 VkStructureType sType; 7085 const void* pNext; 7086 uint32_t privateDataSlotRequestCount; 7087 } VkDevicePrivateDataCreateInfo; 7088 7089 typedef struct VkPrivateDataSlotCreateInfo { 7090 VkStructureType sType; 7091 const void* pNext; 7092 VkPrivateDataSlotCreateFlags flags; 7093 } VkPrivateDataSlotCreateInfo; 7094 7095 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 7096 VkStructureType sType; 7097 void* pNext; 7098 VkBool32 pipelineCreationCacheControl; 7099 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 7100 7101 typedef struct VkMemoryBarrier2 { 7102 VkStructureType sType; 7103 const void* pNext; 7104 VkPipelineStageFlags2 srcStageMask; 7105 VkAccessFlags2 srcAccessMask; 7106 VkPipelineStageFlags2 dstStageMask; 7107 VkAccessFlags2 dstAccessMask; 7108 } VkMemoryBarrier2; 7109 7110 typedef struct VkBufferMemoryBarrier2 { 7111 VkStructureType sType; 7112 const void* pNext; 7113 VkPipelineStageFlags2 srcStageMask; 7114 VkAccessFlags2 srcAccessMask; 7115 VkPipelineStageFlags2 dstStageMask; 7116 VkAccessFlags2 dstAccessMask; 7117 uint32_t srcQueueFamilyIndex; 7118 uint32_t dstQueueFamilyIndex; 7119 VkBuffer buffer; 7120 VkDeviceSize offset; 7121 VkDeviceSize size; 7122 } VkBufferMemoryBarrier2; 7123 7124 typedef struct VkImageMemoryBarrier2 { 7125 VkStructureType sType; 7126 const void* pNext; 7127 VkPipelineStageFlags2 srcStageMask; 7128 VkAccessFlags2 srcAccessMask; 7129 VkPipelineStageFlags2 dstStageMask; 7130 VkAccessFlags2 dstAccessMask; 7131 VkImageLayout oldLayout; 7132 VkImageLayout newLayout; 7133 uint32_t srcQueueFamilyIndex; 7134 uint32_t dstQueueFamilyIndex; 7135 VkImage image; 7136 VkImageSubresourceRange subresourceRange; 7137 } VkImageMemoryBarrier2; 7138 7139 typedef struct VkDependencyInfo { 7140 VkStructureType sType; 7141 const void* pNext; 7142 VkDependencyFlags dependencyFlags; 7143 uint32_t memoryBarrierCount; 7144 const VkMemoryBarrier2* pMemoryBarriers; 7145 uint32_t bufferMemoryBarrierCount; 7146 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 7147 uint32_t imageMemoryBarrierCount; 7148 const VkImageMemoryBarrier2* pImageMemoryBarriers; 7149 } VkDependencyInfo; 7150 7151 typedef struct VkSemaphoreSubmitInfo { 7152 VkStructureType sType; 7153 const void* pNext; 7154 VkSemaphore semaphore; 7155 uint64_t value; 7156 VkPipelineStageFlags2 stageMask; 7157 uint32_t deviceIndex; 7158 } VkSemaphoreSubmitInfo; 7159 7160 typedef struct VkCommandBufferSubmitInfo { 7161 VkStructureType sType; 7162 const void* pNext; 7163 VkCommandBuffer commandBuffer; 7164 uint32_t deviceMask; 7165 } VkCommandBufferSubmitInfo; 7166 7167 typedef struct VkSubmitInfo2 { 7168 VkStructureType sType; 7169 const void* pNext; 7170 VkSubmitFlags flags; 7171 uint32_t waitSemaphoreInfoCount; 7172 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7173 uint32_t commandBufferInfoCount; 7174 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7175 uint32_t signalSemaphoreInfoCount; 7176 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7177 } VkSubmitInfo2; 7178 7179 typedef struct VkPhysicalDeviceSynchronization2Features { 7180 VkStructureType sType; 7181 void* pNext; 7182 VkBool32 synchronization2; 7183 } VkPhysicalDeviceSynchronization2Features; 7184 7185 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7186 VkStructureType sType; 7187 void* pNext; 7188 VkBool32 shaderZeroInitializeWorkgroupMemory; 7189 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7190 7191 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7192 VkStructureType sType; 7193 void* pNext; 7194 VkBool32 robustImageAccess; 7195 } VkPhysicalDeviceImageRobustnessFeatures; 7196 7197 typedef struct VkBufferCopy2 { 7198 VkStructureType sType; 7199 const void* pNext; 7200 VkDeviceSize srcOffset; 7201 VkDeviceSize dstOffset; 7202 VkDeviceSize size; 7203 } VkBufferCopy2; 7204 7205 typedef struct VkCopyBufferInfo2 { 7206 VkStructureType sType; 7207 const void* pNext; 7208 VkBuffer srcBuffer; 7209 VkBuffer dstBuffer; 7210 uint32_t regionCount; 7211 const VkBufferCopy2* pRegions; 7212 } VkCopyBufferInfo2; 7213 7214 typedef struct VkImageCopy2 { 7215 VkStructureType sType; 7216 const void* pNext; 7217 VkImageSubresourceLayers srcSubresource; 7218 VkOffset3D srcOffset; 7219 VkImageSubresourceLayers dstSubresource; 7220 VkOffset3D dstOffset; 7221 VkExtent3D extent; 7222 } VkImageCopy2; 7223 7224 typedef struct VkCopyImageInfo2 { 7225 VkStructureType sType; 7226 const void* pNext; 7227 VkImage srcImage; 7228 VkImageLayout srcImageLayout; 7229 VkImage dstImage; 7230 VkImageLayout dstImageLayout; 7231 uint32_t regionCount; 7232 const VkImageCopy2* pRegions; 7233 } VkCopyImageInfo2; 7234 7235 typedef struct VkBufferImageCopy2 { 7236 VkStructureType sType; 7237 const void* pNext; 7238 VkDeviceSize bufferOffset; 7239 uint32_t bufferRowLength; 7240 uint32_t bufferImageHeight; 7241 VkImageSubresourceLayers imageSubresource; 7242 VkOffset3D imageOffset; 7243 VkExtent3D imageExtent; 7244 } VkBufferImageCopy2; 7245 7246 typedef struct VkCopyBufferToImageInfo2 { 7247 VkStructureType sType; 7248 const void* pNext; 7249 VkBuffer srcBuffer; 7250 VkImage dstImage; 7251 VkImageLayout dstImageLayout; 7252 uint32_t regionCount; 7253 const VkBufferImageCopy2* pRegions; 7254 } VkCopyBufferToImageInfo2; 7255 7256 typedef struct VkCopyImageToBufferInfo2 { 7257 VkStructureType sType; 7258 const void* pNext; 7259 VkImage srcImage; 7260 VkImageLayout srcImageLayout; 7261 VkBuffer dstBuffer; 7262 uint32_t regionCount; 7263 const VkBufferImageCopy2* pRegions; 7264 } VkCopyImageToBufferInfo2; 7265 7266 typedef struct VkImageBlit2 { 7267 VkStructureType sType; 7268 const void* pNext; 7269 VkImageSubresourceLayers srcSubresource; 7270 VkOffset3D srcOffsets[2]; 7271 VkImageSubresourceLayers dstSubresource; 7272 VkOffset3D dstOffsets[2]; 7273 } VkImageBlit2; 7274 7275 typedef struct VkBlitImageInfo2 { 7276 VkStructureType sType; 7277 const void* pNext; 7278 VkImage srcImage; 7279 VkImageLayout srcImageLayout; 7280 VkImage dstImage; 7281 VkImageLayout dstImageLayout; 7282 uint32_t regionCount; 7283 const VkImageBlit2* pRegions; 7284 VkFilter filter; 7285 } VkBlitImageInfo2; 7286 7287 typedef struct VkImageResolve2 { 7288 VkStructureType sType; 7289 const void* pNext; 7290 VkImageSubresourceLayers srcSubresource; 7291 VkOffset3D srcOffset; 7292 VkImageSubresourceLayers dstSubresource; 7293 VkOffset3D dstOffset; 7294 VkExtent3D extent; 7295 } VkImageResolve2; 7296 7297 typedef struct VkResolveImageInfo2 { 7298 VkStructureType sType; 7299 const void* pNext; 7300 VkImage srcImage; 7301 VkImageLayout srcImageLayout; 7302 VkImage dstImage; 7303 VkImageLayout dstImageLayout; 7304 uint32_t regionCount; 7305 const VkImageResolve2* pRegions; 7306 } VkResolveImageInfo2; 7307 7308 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7309 VkStructureType sType; 7310 void* pNext; 7311 VkBool32 subgroupSizeControl; 7312 VkBool32 computeFullSubgroups; 7313 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7314 7315 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7316 VkStructureType sType; 7317 void* pNext; 7318 uint32_t minSubgroupSize; 7319 uint32_t maxSubgroupSize; 7320 uint32_t maxComputeWorkgroupSubgroups; 7321 VkShaderStageFlags requiredSubgroupSizeStages; 7322 } VkPhysicalDeviceSubgroupSizeControlProperties; 7323 7324 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7325 VkStructureType sType; 7326 void* pNext; 7327 uint32_t requiredSubgroupSize; 7328 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7329 7330 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7331 VkStructureType sType; 7332 void* pNext; 7333 VkBool32 inlineUniformBlock; 7334 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7335 } VkPhysicalDeviceInlineUniformBlockFeatures; 7336 7337 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7338 VkStructureType sType; 7339 void* pNext; 7340 uint32_t maxInlineUniformBlockSize; 7341 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7342 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7343 uint32_t maxDescriptorSetInlineUniformBlocks; 7344 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7345 } VkPhysicalDeviceInlineUniformBlockProperties; 7346 7347 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7348 VkStructureType sType; 7349 const void* pNext; 7350 uint32_t dataSize; 7351 const void* pData; 7352 } VkWriteDescriptorSetInlineUniformBlock; 7353 7354 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7355 VkStructureType sType; 7356 const void* pNext; 7357 uint32_t maxInlineUniformBlockBindings; 7358 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7359 7360 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7361 VkStructureType sType; 7362 void* pNext; 7363 VkBool32 textureCompressionASTC_HDR; 7364 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7365 7366 typedef struct VkRenderingAttachmentInfo { 7367 VkStructureType sType; 7368 const void* pNext; 7369 VkImageView imageView; 7370 VkImageLayout imageLayout; 7371 VkResolveModeFlagBits resolveMode; 7372 VkImageView resolveImageView; 7373 VkImageLayout resolveImageLayout; 7374 VkAttachmentLoadOp loadOp; 7375 VkAttachmentStoreOp storeOp; 7376 VkClearValue clearValue; 7377 } VkRenderingAttachmentInfo; 7378 7379 typedef struct VkRenderingInfo { 7380 VkStructureType sType; 7381 const void* pNext; 7382 VkRenderingFlags flags; 7383 VkRect2D renderArea; 7384 uint32_t layerCount; 7385 uint32_t viewMask; 7386 uint32_t colorAttachmentCount; 7387 const VkRenderingAttachmentInfo* pColorAttachments; 7388 const VkRenderingAttachmentInfo* pDepthAttachment; 7389 const VkRenderingAttachmentInfo* pStencilAttachment; 7390 } VkRenderingInfo; 7391 7392 typedef struct VkPipelineRenderingCreateInfo { 7393 VkStructureType sType; 7394 const void* pNext; 7395 uint32_t viewMask; 7396 uint32_t colorAttachmentCount; 7397 const VkFormat* pColorAttachmentFormats; 7398 VkFormat depthAttachmentFormat; 7399 VkFormat stencilAttachmentFormat; 7400 } VkPipelineRenderingCreateInfo; 7401 7402 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7403 VkStructureType sType; 7404 void* pNext; 7405 VkBool32 dynamicRendering; 7406 } VkPhysicalDeviceDynamicRenderingFeatures; 7407 7408 typedef struct VkCommandBufferInheritanceRenderingInfo { 7409 VkStructureType sType; 7410 const void* pNext; 7411 VkRenderingFlags flags; 7412 uint32_t viewMask; 7413 uint32_t colorAttachmentCount; 7414 const VkFormat* pColorAttachmentFormats; 7415 VkFormat depthAttachmentFormat; 7416 VkFormat stencilAttachmentFormat; 7417 VkSampleCountFlagBits rasterizationSamples; 7418 } VkCommandBufferInheritanceRenderingInfo; 7419 7420 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7421 VkStructureType sType; 7422 void* pNext; 7423 VkBool32 shaderIntegerDotProduct; 7424 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7425 7426 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7427 VkStructureType sType; 7428 void* pNext; 7429 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7430 VkBool32 integerDotProduct8BitSignedAccelerated; 7431 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7432 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7433 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7434 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7435 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7436 VkBool32 integerDotProduct16BitSignedAccelerated; 7437 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7438 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7439 VkBool32 integerDotProduct32BitSignedAccelerated; 7440 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7441 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7442 VkBool32 integerDotProduct64BitSignedAccelerated; 7443 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7444 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7445 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7446 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7447 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7448 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7449 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7450 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7451 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7452 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7453 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7454 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7455 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7456 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7457 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7458 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7459 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7460 7461 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7462 VkStructureType sType; 7463 void* pNext; 7464 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7465 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7466 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7467 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7468 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7469 7470 typedef struct VkFormatProperties3 { 7471 VkStructureType sType; 7472 void* pNext; 7473 VkFormatFeatureFlags2 linearTilingFeatures; 7474 VkFormatFeatureFlags2 optimalTilingFeatures; 7475 VkFormatFeatureFlags2 bufferFeatures; 7476 } VkFormatProperties3; 7477 7478 typedef struct VkPhysicalDeviceMaintenance4Features { 7479 VkStructureType sType; 7480 void* pNext; 7481 VkBool32 maintenance4; 7482 } VkPhysicalDeviceMaintenance4Features; 7483 7484 typedef struct VkPhysicalDeviceMaintenance4Properties { 7485 VkStructureType sType; 7486 void* pNext; 7487 VkDeviceSize maxBufferSize; 7488 } VkPhysicalDeviceMaintenance4Properties; 7489 7490 typedef struct VkDeviceBufferMemoryRequirements { 7491 VkStructureType sType; 7492 const void* pNext; 7493 const VkBufferCreateInfo* pCreateInfo; 7494 } VkDeviceBufferMemoryRequirements; 7495 7496 typedef struct VkDeviceImageMemoryRequirements { 7497 VkStructureType sType; 7498 const void* pNext; 7499 const VkImageCreateInfo* pCreateInfo; 7500 VkImageAspectFlagBits planeAspect; 7501 } VkDeviceImageMemoryRequirements; 7502 7503 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7504 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7505 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7506 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7507 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7508 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7509 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7510 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7511 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7512 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7513 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7514 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7515 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7516 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7517 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7518 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7519 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7520 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7521 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7522 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7523 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7524 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7525 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7526 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7527 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); 7528 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7529 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7530 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7531 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7532 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7533 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7534 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7535 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7536 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7537 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7538 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7539 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7540 7541 #ifndef VK_NO_PROTOTYPES 7542 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7543 VkPhysicalDevice physicalDevice, 7544 uint32_t* pToolCount, 7545 VkPhysicalDeviceToolProperties* pToolProperties); 7546 7547 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7548 VkDevice device, 7549 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7550 const VkAllocationCallbacks* pAllocator, 7551 VkPrivateDataSlot* pPrivateDataSlot); 7552 7553 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7554 VkDevice device, 7555 VkPrivateDataSlot privateDataSlot, 7556 const VkAllocationCallbacks* pAllocator); 7557 7558 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7559 VkDevice device, 7560 VkObjectType objectType, 7561 uint64_t objectHandle, 7562 VkPrivateDataSlot privateDataSlot, 7563 uint64_t data); 7564 7565 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7566 VkDevice device, 7567 VkObjectType objectType, 7568 uint64_t objectHandle, 7569 VkPrivateDataSlot privateDataSlot, 7570 uint64_t* pData); 7571 7572 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7573 VkCommandBuffer commandBuffer, 7574 VkEvent event, 7575 const VkDependencyInfo* pDependencyInfo); 7576 7577 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7578 VkCommandBuffer commandBuffer, 7579 VkEvent event, 7580 VkPipelineStageFlags2 stageMask); 7581 7582 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7583 VkCommandBuffer commandBuffer, 7584 uint32_t eventCount, 7585 const VkEvent* pEvents, 7586 const VkDependencyInfo* pDependencyInfos); 7587 7588 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7589 VkCommandBuffer commandBuffer, 7590 const VkDependencyInfo* pDependencyInfo); 7591 7592 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7593 VkCommandBuffer commandBuffer, 7594 VkPipelineStageFlags2 stage, 7595 VkQueryPool queryPool, 7596 uint32_t query); 7597 7598 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7599 VkQueue queue, 7600 uint32_t submitCount, 7601 const VkSubmitInfo2* pSubmits, 7602 VkFence fence); 7603 7604 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7605 VkCommandBuffer commandBuffer, 7606 const VkCopyBufferInfo2* pCopyBufferInfo); 7607 7608 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7609 VkCommandBuffer commandBuffer, 7610 const VkCopyImageInfo2* pCopyImageInfo); 7611 7612 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7613 VkCommandBuffer commandBuffer, 7614 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7615 7616 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7617 VkCommandBuffer commandBuffer, 7618 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7619 7620 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7621 VkCommandBuffer commandBuffer, 7622 const VkBlitImageInfo2* pBlitImageInfo); 7623 7624 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7625 VkCommandBuffer commandBuffer, 7626 const VkResolveImageInfo2* pResolveImageInfo); 7627 7628 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7629 VkCommandBuffer commandBuffer, 7630 const VkRenderingInfo* pRenderingInfo); 7631 7632 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7633 VkCommandBuffer commandBuffer); 7634 7635 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7636 VkCommandBuffer commandBuffer, 7637 VkCullModeFlags cullMode); 7638 7639 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7640 VkCommandBuffer commandBuffer, 7641 VkFrontFace frontFace); 7642 7643 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7644 VkCommandBuffer commandBuffer, 7645 VkPrimitiveTopology primitiveTopology); 7646 7647 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7648 VkCommandBuffer commandBuffer, 7649 uint32_t viewportCount, 7650 const VkViewport* pViewports); 7651 7652 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7653 VkCommandBuffer commandBuffer, 7654 uint32_t scissorCount, 7655 const VkRect2D* pScissors); 7656 7657 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7658 VkCommandBuffer commandBuffer, 7659 uint32_t firstBinding, 7660 uint32_t bindingCount, 7661 const VkBuffer* pBuffers, 7662 const VkDeviceSize* pOffsets, 7663 const VkDeviceSize* pSizes, 7664 const VkDeviceSize* pStrides); 7665 7666 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7667 VkCommandBuffer commandBuffer, 7668 VkBool32 depthTestEnable); 7669 7670 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7671 VkCommandBuffer commandBuffer, 7672 VkBool32 depthWriteEnable); 7673 7674 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7675 VkCommandBuffer commandBuffer, 7676 VkCompareOp depthCompareOp); 7677 7678 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7679 VkCommandBuffer commandBuffer, 7680 VkBool32 depthBoundsTestEnable); 7681 7682 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7683 VkCommandBuffer commandBuffer, 7684 VkBool32 stencilTestEnable); 7685 7686 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7687 VkCommandBuffer commandBuffer, 7688 VkStencilFaceFlags faceMask, 7689 VkStencilOp failOp, 7690 VkStencilOp passOp, 7691 VkStencilOp depthFailOp, 7692 VkCompareOp compareOp); 7693 7694 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7695 VkCommandBuffer commandBuffer, 7696 VkBool32 rasterizerDiscardEnable); 7697 7698 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7699 VkCommandBuffer commandBuffer, 7700 VkBool32 depthBiasEnable); 7701 7702 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7703 VkCommandBuffer commandBuffer, 7704 VkBool32 primitiveRestartEnable); 7705 7706 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7707 VkDevice device, 7708 const VkDeviceBufferMemoryRequirements* pInfo, 7709 VkMemoryRequirements2* pMemoryRequirements); 7710 7711 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7712 VkDevice device, 7713 const VkDeviceImageMemoryRequirements* pInfo, 7714 VkMemoryRequirements2* pMemoryRequirements); 7715 7716 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7717 VkDevice device, 7718 const VkDeviceImageMemoryRequirements* pInfo, 7719 uint32_t* pSparseMemoryRequirementCount, 7720 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7721 #endif 7722 7723 7724 // VK_VERSION_1_4 is a preprocessor guard. Do not pass it to API calls. 7725 #define VK_VERSION_1_4 1 7726 // Vulkan 1.4 version number 7727 #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0)// Patch version should always be set to 0 7728 7729 #define VK_MAX_GLOBAL_PRIORITY_SIZE 16U 7730 7731 typedef enum VkPipelineRobustnessBufferBehavior { 7732 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT = 0, 7733 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED = 1, 7734 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS = 2, 7735 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 = 3, 7736 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT, 7737 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED, 7738 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS, 7739 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2, 7740 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7741 } VkPipelineRobustnessBufferBehavior; 7742 7743 typedef enum VkPipelineRobustnessImageBehavior { 7744 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT = 0, 7745 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED = 1, 7746 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS = 2, 7747 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2 = 3, 7748 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT, 7749 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED, 7750 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS, 7751 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2, 7752 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7753 } VkPipelineRobustnessImageBehavior; 7754 7755 typedef enum VkQueueGlobalPriority { 7756 VK_QUEUE_GLOBAL_PRIORITY_LOW = 128, 7757 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM = 256, 7758 VK_QUEUE_GLOBAL_PRIORITY_HIGH = 512, 7759 VK_QUEUE_GLOBAL_PRIORITY_REALTIME = 1024, 7760 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7761 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7762 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7763 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7764 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7765 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7766 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7767 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7768 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM = 0x7FFFFFFF 7769 } VkQueueGlobalPriority; 7770 7771 typedef enum VkLineRasterizationMode { 7772 VK_LINE_RASTERIZATION_MODE_DEFAULT = 0, 7773 VK_LINE_RASTERIZATION_MODE_RECTANGULAR = 1, 7774 VK_LINE_RASTERIZATION_MODE_BRESENHAM = 2, 7775 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH = 3, 7776 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7777 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7778 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7779 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7780 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7781 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7782 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7783 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7784 VK_LINE_RASTERIZATION_MODE_MAX_ENUM = 0x7FFFFFFF 7785 } VkLineRasterizationMode; 7786 7787 typedef enum VkMemoryUnmapFlagBits { 7788 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 7789 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7790 } VkMemoryUnmapFlagBits; 7791 typedef VkFlags VkMemoryUnmapFlags; 7792 typedef VkFlags64 VkPipelineCreateFlags2; 7793 7794 // Flag bits for VkPipelineCreateFlagBits2 7795 typedef VkFlags64 VkPipelineCreateFlagBits2; 7796 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT = 0x00000001ULL; 7797 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT = 0x00000002ULL; 7798 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT = 0x00000004ULL; 7799 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008ULL; 7800 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT = 0x00000010ULL; 7801 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100ULL; 7802 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200ULL; 7803 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT = 0x08000000ULL; 7804 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT = 0x40000000ULL; 7805 #ifdef VK_ENABLE_BETA_EXTENSIONS 7806 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL; 7807 #endif 7808 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; 7809 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 7810 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 7811 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 7812 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 7813 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 7814 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 7815 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 7816 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 7817 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 7818 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 7819 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 7820 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 7821 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 7822 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 7823 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 7824 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 7825 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 7826 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 7827 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 7828 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 7829 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 7830 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 7831 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 7832 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 7833 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 7834 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 7835 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 7836 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 7837 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 7838 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 7839 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 7840 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; 7841 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ULL; 7842 7843 typedef VkFlags64 VkBufferUsageFlags2; 7844 7845 // Flag bits for VkBufferUsageFlagBits2 7846 typedef VkFlags64 VkBufferUsageFlagBits2; 7847 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT = 0x00000001ULL; 7848 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT = 0x00000002ULL; 7849 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004ULL; 7850 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000008ULL; 7851 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT = 0x00000010ULL; 7852 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT = 0x00000020ULL; 7853 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT = 0x00000040ULL; 7854 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT = 0x00000080ULL; 7855 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT = 0x00000100ULL; 7856 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT = 0x00020000ULL; 7857 #ifdef VK_ENABLE_BETA_EXTENSIONS 7858 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 7859 #endif 7860 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 7861 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 7862 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 7863 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 7864 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 7865 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 7866 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 7867 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 7868 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 7869 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 7870 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 7871 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 7872 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 7873 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 7874 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 7875 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 7876 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 7877 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 7878 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 7879 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 7880 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 7881 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 7882 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 7883 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 7884 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 7885 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 7886 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT = 0x80000000ULL; 7887 7888 7889 typedef enum VkHostImageCopyFlagBits { 7890 VK_HOST_IMAGE_COPY_MEMCPY = 0x00000001, 7891 VK_HOST_IMAGE_COPY_MEMCPY_EXT = VK_HOST_IMAGE_COPY_MEMCPY, 7892 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7893 } VkHostImageCopyFlagBits; 7894 typedef VkFlags VkHostImageCopyFlags; 7895 typedef struct VkPhysicalDeviceVulkan14Features { 7896 VkStructureType sType; 7897 void* pNext; 7898 VkBool32 globalPriorityQuery; 7899 VkBool32 shaderSubgroupRotate; 7900 VkBool32 shaderSubgroupRotateClustered; 7901 VkBool32 shaderFloatControls2; 7902 VkBool32 shaderExpectAssume; 7903 VkBool32 rectangularLines; 7904 VkBool32 bresenhamLines; 7905 VkBool32 smoothLines; 7906 VkBool32 stippledRectangularLines; 7907 VkBool32 stippledBresenhamLines; 7908 VkBool32 stippledSmoothLines; 7909 VkBool32 vertexAttributeInstanceRateDivisor; 7910 VkBool32 vertexAttributeInstanceRateZeroDivisor; 7911 VkBool32 indexTypeUint8; 7912 VkBool32 dynamicRenderingLocalRead; 7913 VkBool32 maintenance5; 7914 VkBool32 maintenance6; 7915 VkBool32 pipelineProtectedAccess; 7916 VkBool32 pipelineRobustness; 7917 VkBool32 hostImageCopy; 7918 VkBool32 pushDescriptor; 7919 } VkPhysicalDeviceVulkan14Features; 7920 7921 typedef struct VkPhysicalDeviceVulkan14Properties { 7922 VkStructureType sType; 7923 void* pNext; 7924 uint32_t lineSubPixelPrecisionBits; 7925 uint32_t maxVertexAttribDivisor; 7926 VkBool32 supportsNonZeroFirstInstance; 7927 uint32_t maxPushDescriptors; 7928 VkBool32 dynamicRenderingLocalReadDepthStencilAttachments; 7929 VkBool32 dynamicRenderingLocalReadMultisampledAttachments; 7930 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 7931 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 7932 VkBool32 depthStencilSwizzleOneSupport; 7933 VkBool32 polygonModePointSize; 7934 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 7935 VkBool32 nonStrictWideLinesUseParallelogram; 7936 VkBool32 blockTexelViewCompatibleMultipleLayers; 7937 uint32_t maxCombinedImageSamplerDescriptorCount; 7938 VkBool32 fragmentShadingRateClampCombinerInputs; 7939 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 7940 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 7941 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 7942 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 7943 uint32_t copySrcLayoutCount; 7944 VkImageLayout* pCopySrcLayouts; 7945 uint32_t copyDstLayoutCount; 7946 VkImageLayout* pCopyDstLayouts; 7947 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 7948 VkBool32 identicalMemoryTypeRequirements; 7949 } VkPhysicalDeviceVulkan14Properties; 7950 7951 typedef struct VkDeviceQueueGlobalPriorityCreateInfo { 7952 VkStructureType sType; 7953 const void* pNext; 7954 VkQueueGlobalPriority globalPriority; 7955 } VkDeviceQueueGlobalPriorityCreateInfo; 7956 7957 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures { 7958 VkStructureType sType; 7959 void* pNext; 7960 VkBool32 globalPriorityQuery; 7961 } VkPhysicalDeviceGlobalPriorityQueryFeatures; 7962 7963 typedef struct VkQueueFamilyGlobalPriorityProperties { 7964 VkStructureType sType; 7965 void* pNext; 7966 uint32_t priorityCount; 7967 VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE]; 7968 } VkQueueFamilyGlobalPriorityProperties; 7969 7970 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures { 7971 VkStructureType sType; 7972 void* pNext; 7973 VkBool32 shaderSubgroupRotate; 7974 VkBool32 shaderSubgroupRotateClustered; 7975 } VkPhysicalDeviceShaderSubgroupRotateFeatures; 7976 7977 typedef struct VkPhysicalDeviceShaderFloatControls2Features { 7978 VkStructureType sType; 7979 void* pNext; 7980 VkBool32 shaderFloatControls2; 7981 } VkPhysicalDeviceShaderFloatControls2Features; 7982 7983 typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures { 7984 VkStructureType sType; 7985 void* pNext; 7986 VkBool32 shaderExpectAssume; 7987 } VkPhysicalDeviceShaderExpectAssumeFeatures; 7988 7989 typedef struct VkPhysicalDeviceLineRasterizationFeatures { 7990 VkStructureType sType; 7991 void* pNext; 7992 VkBool32 rectangularLines; 7993 VkBool32 bresenhamLines; 7994 VkBool32 smoothLines; 7995 VkBool32 stippledRectangularLines; 7996 VkBool32 stippledBresenhamLines; 7997 VkBool32 stippledSmoothLines; 7998 } VkPhysicalDeviceLineRasterizationFeatures; 7999 8000 typedef struct VkPhysicalDeviceLineRasterizationProperties { 8001 VkStructureType sType; 8002 void* pNext; 8003 uint32_t lineSubPixelPrecisionBits; 8004 } VkPhysicalDeviceLineRasterizationProperties; 8005 8006 typedef struct VkPipelineRasterizationLineStateCreateInfo { 8007 VkStructureType sType; 8008 const void* pNext; 8009 VkLineRasterizationMode lineRasterizationMode; 8010 VkBool32 stippledLineEnable; 8011 uint32_t lineStippleFactor; 8012 uint16_t lineStipplePattern; 8013 } VkPipelineRasterizationLineStateCreateInfo; 8014 8015 typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties { 8016 VkStructureType sType; 8017 void* pNext; 8018 uint32_t maxVertexAttribDivisor; 8019 VkBool32 supportsNonZeroFirstInstance; 8020 } VkPhysicalDeviceVertexAttributeDivisorProperties; 8021 8022 typedef struct VkVertexInputBindingDivisorDescription { 8023 uint32_t binding; 8024 uint32_t divisor; 8025 } VkVertexInputBindingDivisorDescription; 8026 8027 typedef struct VkPipelineVertexInputDivisorStateCreateInfo { 8028 VkStructureType sType; 8029 const void* pNext; 8030 uint32_t vertexBindingDivisorCount; 8031 const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors; 8032 } VkPipelineVertexInputDivisorStateCreateInfo; 8033 8034 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures { 8035 VkStructureType sType; 8036 void* pNext; 8037 VkBool32 vertexAttributeInstanceRateDivisor; 8038 VkBool32 vertexAttributeInstanceRateZeroDivisor; 8039 } VkPhysicalDeviceVertexAttributeDivisorFeatures; 8040 8041 typedef struct VkPhysicalDeviceIndexTypeUint8Features { 8042 VkStructureType sType; 8043 void* pNext; 8044 VkBool32 indexTypeUint8; 8045 } VkPhysicalDeviceIndexTypeUint8Features; 8046 8047 typedef struct VkMemoryMapInfo { 8048 VkStructureType sType; 8049 const void* pNext; 8050 VkMemoryMapFlags flags; 8051 VkDeviceMemory memory; 8052 VkDeviceSize offset; 8053 VkDeviceSize size; 8054 } VkMemoryMapInfo; 8055 8056 typedef struct VkMemoryUnmapInfo { 8057 VkStructureType sType; 8058 const void* pNext; 8059 VkMemoryUnmapFlags flags; 8060 VkDeviceMemory memory; 8061 } VkMemoryUnmapInfo; 8062 8063 typedef struct VkPhysicalDeviceMaintenance5Features { 8064 VkStructureType sType; 8065 void* pNext; 8066 VkBool32 maintenance5; 8067 } VkPhysicalDeviceMaintenance5Features; 8068 8069 typedef struct VkPhysicalDeviceMaintenance5Properties { 8070 VkStructureType sType; 8071 void* pNext; 8072 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 8073 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 8074 VkBool32 depthStencilSwizzleOneSupport; 8075 VkBool32 polygonModePointSize; 8076 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 8077 VkBool32 nonStrictWideLinesUseParallelogram; 8078 } VkPhysicalDeviceMaintenance5Properties; 8079 8080 typedef struct VkRenderingAreaInfo { 8081 VkStructureType sType; 8082 const void* pNext; 8083 uint32_t viewMask; 8084 uint32_t colorAttachmentCount; 8085 const VkFormat* pColorAttachmentFormats; 8086 VkFormat depthAttachmentFormat; 8087 VkFormat stencilAttachmentFormat; 8088 } VkRenderingAreaInfo; 8089 8090 typedef struct VkImageSubresource2 { 8091 VkStructureType sType; 8092 void* pNext; 8093 VkImageSubresource imageSubresource; 8094 } VkImageSubresource2; 8095 8096 typedef struct VkDeviceImageSubresourceInfo { 8097 VkStructureType sType; 8098 const void* pNext; 8099 const VkImageCreateInfo* pCreateInfo; 8100 const VkImageSubresource2* pSubresource; 8101 } VkDeviceImageSubresourceInfo; 8102 8103 typedef struct VkSubresourceLayout2 { 8104 VkStructureType sType; 8105 void* pNext; 8106 VkSubresourceLayout subresourceLayout; 8107 } VkSubresourceLayout2; 8108 8109 typedef struct VkPipelineCreateFlags2CreateInfo { 8110 VkStructureType sType; 8111 const void* pNext; 8112 VkPipelineCreateFlags2 flags; 8113 } VkPipelineCreateFlags2CreateInfo; 8114 8115 typedef struct VkBufferUsageFlags2CreateInfo { 8116 VkStructureType sType; 8117 const void* pNext; 8118 VkBufferUsageFlags2 usage; 8119 } VkBufferUsageFlags2CreateInfo; 8120 8121 typedef struct VkPhysicalDevicePushDescriptorProperties { 8122 VkStructureType sType; 8123 void* pNext; 8124 uint32_t maxPushDescriptors; 8125 } VkPhysicalDevicePushDescriptorProperties; 8126 8127 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures { 8128 VkStructureType sType; 8129 void* pNext; 8130 VkBool32 dynamicRenderingLocalRead; 8131 } VkPhysicalDeviceDynamicRenderingLocalReadFeatures; 8132 8133 typedef struct VkRenderingAttachmentLocationInfo { 8134 VkStructureType sType; 8135 const void* pNext; 8136 uint32_t colorAttachmentCount; 8137 const uint32_t* pColorAttachmentLocations; 8138 } VkRenderingAttachmentLocationInfo; 8139 8140 typedef struct VkRenderingInputAttachmentIndexInfo { 8141 VkStructureType sType; 8142 const void* pNext; 8143 uint32_t colorAttachmentCount; 8144 const uint32_t* pColorAttachmentInputIndices; 8145 const uint32_t* pDepthInputAttachmentIndex; 8146 const uint32_t* pStencilInputAttachmentIndex; 8147 } VkRenderingInputAttachmentIndexInfo; 8148 8149 typedef struct VkPhysicalDeviceMaintenance6Features { 8150 VkStructureType sType; 8151 void* pNext; 8152 VkBool32 maintenance6; 8153 } VkPhysicalDeviceMaintenance6Features; 8154 8155 typedef struct VkPhysicalDeviceMaintenance6Properties { 8156 VkStructureType sType; 8157 void* pNext; 8158 VkBool32 blockTexelViewCompatibleMultipleLayers; 8159 uint32_t maxCombinedImageSamplerDescriptorCount; 8160 VkBool32 fragmentShadingRateClampCombinerInputs; 8161 } VkPhysicalDeviceMaintenance6Properties; 8162 8163 typedef struct VkBindMemoryStatus { 8164 VkStructureType sType; 8165 const void* pNext; 8166 VkResult* pResult; 8167 } VkBindMemoryStatus; 8168 8169 typedef struct VkBindDescriptorSetsInfo { 8170 VkStructureType sType; 8171 const void* pNext; 8172 VkShaderStageFlags stageFlags; 8173 VkPipelineLayout layout; 8174 uint32_t firstSet; 8175 uint32_t descriptorSetCount; 8176 const VkDescriptorSet* pDescriptorSets; 8177 uint32_t dynamicOffsetCount; 8178 const uint32_t* pDynamicOffsets; 8179 } VkBindDescriptorSetsInfo; 8180 8181 typedef struct VkPushConstantsInfo { 8182 VkStructureType sType; 8183 const void* pNext; 8184 VkPipelineLayout layout; 8185 VkShaderStageFlags stageFlags; 8186 uint32_t offset; 8187 uint32_t size; 8188 const void* pValues; 8189 } VkPushConstantsInfo; 8190 8191 typedef struct VkPushDescriptorSetInfo { 8192 VkStructureType sType; 8193 const void* pNext; 8194 VkShaderStageFlags stageFlags; 8195 VkPipelineLayout layout; 8196 uint32_t set; 8197 uint32_t descriptorWriteCount; 8198 const VkWriteDescriptorSet* pDescriptorWrites; 8199 } VkPushDescriptorSetInfo; 8200 8201 typedef struct VkPushDescriptorSetWithTemplateInfo { 8202 VkStructureType sType; 8203 const void* pNext; 8204 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 8205 VkPipelineLayout layout; 8206 uint32_t set; 8207 const void* pData; 8208 } VkPushDescriptorSetWithTemplateInfo; 8209 8210 typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures { 8211 VkStructureType sType; 8212 void* pNext; 8213 VkBool32 pipelineProtectedAccess; 8214 } VkPhysicalDevicePipelineProtectedAccessFeatures; 8215 8216 typedef struct VkPhysicalDevicePipelineRobustnessFeatures { 8217 VkStructureType sType; 8218 void* pNext; 8219 VkBool32 pipelineRobustness; 8220 } VkPhysicalDevicePipelineRobustnessFeatures; 8221 8222 typedef struct VkPhysicalDevicePipelineRobustnessProperties { 8223 VkStructureType sType; 8224 void* pNext; 8225 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 8226 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 8227 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 8228 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 8229 } VkPhysicalDevicePipelineRobustnessProperties; 8230 8231 typedef struct VkPipelineRobustnessCreateInfo { 8232 VkStructureType sType; 8233 const void* pNext; 8234 VkPipelineRobustnessBufferBehavior storageBuffers; 8235 VkPipelineRobustnessBufferBehavior uniformBuffers; 8236 VkPipelineRobustnessBufferBehavior vertexInputs; 8237 VkPipelineRobustnessImageBehavior images; 8238 } VkPipelineRobustnessCreateInfo; 8239 8240 typedef struct VkPhysicalDeviceHostImageCopyFeatures { 8241 VkStructureType sType; 8242 void* pNext; 8243 VkBool32 hostImageCopy; 8244 } VkPhysicalDeviceHostImageCopyFeatures; 8245 8246 typedef struct VkPhysicalDeviceHostImageCopyProperties { 8247 VkStructureType sType; 8248 void* pNext; 8249 uint32_t copySrcLayoutCount; 8250 VkImageLayout* pCopySrcLayouts; 8251 uint32_t copyDstLayoutCount; 8252 VkImageLayout* pCopyDstLayouts; 8253 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 8254 VkBool32 identicalMemoryTypeRequirements; 8255 } VkPhysicalDeviceHostImageCopyProperties; 8256 8257 typedef struct VkMemoryToImageCopy { 8258 VkStructureType sType; 8259 const void* pNext; 8260 const void* pHostPointer; 8261 uint32_t memoryRowLength; 8262 uint32_t memoryImageHeight; 8263 VkImageSubresourceLayers imageSubresource; 8264 VkOffset3D imageOffset; 8265 VkExtent3D imageExtent; 8266 } VkMemoryToImageCopy; 8267 8268 typedef struct VkImageToMemoryCopy { 8269 VkStructureType sType; 8270 const void* pNext; 8271 void* pHostPointer; 8272 uint32_t memoryRowLength; 8273 uint32_t memoryImageHeight; 8274 VkImageSubresourceLayers imageSubresource; 8275 VkOffset3D imageOffset; 8276 VkExtent3D imageExtent; 8277 } VkImageToMemoryCopy; 8278 8279 typedef struct VkCopyMemoryToImageInfo { 8280 VkStructureType sType; 8281 const void* pNext; 8282 VkHostImageCopyFlags flags; 8283 VkImage dstImage; 8284 VkImageLayout dstImageLayout; 8285 uint32_t regionCount; 8286 const VkMemoryToImageCopy* pRegions; 8287 } VkCopyMemoryToImageInfo; 8288 8289 typedef struct VkCopyImageToMemoryInfo { 8290 VkStructureType sType; 8291 const void* pNext; 8292 VkHostImageCopyFlags flags; 8293 VkImage srcImage; 8294 VkImageLayout srcImageLayout; 8295 uint32_t regionCount; 8296 const VkImageToMemoryCopy* pRegions; 8297 } VkCopyImageToMemoryInfo; 8298 8299 typedef struct VkCopyImageToImageInfo { 8300 VkStructureType sType; 8301 const void* pNext; 8302 VkHostImageCopyFlags flags; 8303 VkImage srcImage; 8304 VkImageLayout srcImageLayout; 8305 VkImage dstImage; 8306 VkImageLayout dstImageLayout; 8307 uint32_t regionCount; 8308 const VkImageCopy2* pRegions; 8309 } VkCopyImageToImageInfo; 8310 8311 typedef struct VkHostImageLayoutTransitionInfo { 8312 VkStructureType sType; 8313 const void* pNext; 8314 VkImage image; 8315 VkImageLayout oldLayout; 8316 VkImageLayout newLayout; 8317 VkImageSubresourceRange subresourceRange; 8318 } VkHostImageLayoutTransitionInfo; 8319 8320 typedef struct VkSubresourceHostMemcpySize { 8321 VkStructureType sType; 8322 void* pNext; 8323 VkDeviceSize size; 8324 } VkSubresourceHostMemcpySize; 8325 8326 typedef struct VkHostImageCopyDevicePerformanceQuery { 8327 VkStructureType sType; 8328 void* pNext; 8329 VkBool32 optimalDeviceAccess; 8330 VkBool32 identicalMemoryLayout; 8331 } VkHostImageCopyDevicePerformanceQuery; 8332 8333 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStipple)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 8334 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 8335 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8336 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 8337 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularity)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 8338 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayout)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 8339 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 8340 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 8341 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 8342 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocations)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 8343 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndices)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8344 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8345 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 8346 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8347 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8348 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImage)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8349 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemory)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8350 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImage)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8351 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayout)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 8352 8353 #ifndef VK_NO_PROTOTYPES 8354 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStipple( 8355 VkCommandBuffer commandBuffer, 8356 uint32_t lineStippleFactor, 8357 uint16_t lineStipplePattern); 8358 8359 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2( 8360 VkDevice device, 8361 const VkMemoryMapInfo* pMemoryMapInfo, 8362 void** ppData); 8363 8364 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2( 8365 VkDevice device, 8366 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8367 8368 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2( 8369 VkCommandBuffer commandBuffer, 8370 VkBuffer buffer, 8371 VkDeviceSize offset, 8372 VkDeviceSize size, 8373 VkIndexType indexType); 8374 8375 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularity( 8376 VkDevice device, 8377 const VkRenderingAreaInfo* pRenderingAreaInfo, 8378 VkExtent2D* pGranularity); 8379 8380 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayout( 8381 VkDevice device, 8382 const VkDeviceImageSubresourceInfo* pInfo, 8383 VkSubresourceLayout2* pLayout); 8384 8385 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2( 8386 VkDevice device, 8387 VkImage image, 8388 const VkImageSubresource2* pSubresource, 8389 VkSubresourceLayout2* pLayout); 8390 8391 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet( 8392 VkCommandBuffer commandBuffer, 8393 VkPipelineBindPoint pipelineBindPoint, 8394 VkPipelineLayout layout, 8395 uint32_t set, 8396 uint32_t descriptorWriteCount, 8397 const VkWriteDescriptorSet* pDescriptorWrites); 8398 8399 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate( 8400 VkCommandBuffer commandBuffer, 8401 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8402 VkPipelineLayout layout, 8403 uint32_t set, 8404 const void* pData); 8405 8406 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocations( 8407 VkCommandBuffer commandBuffer, 8408 const VkRenderingAttachmentLocationInfo* pLocationInfo); 8409 8410 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndices( 8411 VkCommandBuffer commandBuffer, 8412 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8413 8414 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2( 8415 VkCommandBuffer commandBuffer, 8416 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8417 8418 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2( 8419 VkCommandBuffer commandBuffer, 8420 const VkPushConstantsInfo* pPushConstantsInfo); 8421 8422 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2( 8423 VkCommandBuffer commandBuffer, 8424 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8425 8426 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2( 8427 VkCommandBuffer commandBuffer, 8428 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8429 8430 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImage( 8431 VkDevice device, 8432 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8433 8434 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemory( 8435 VkDevice device, 8436 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8437 8438 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImage( 8439 VkDevice device, 8440 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8441 8442 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayout( 8443 VkDevice device, 8444 uint32_t transitionCount, 8445 const VkHostImageLayoutTransitionInfo* pTransitions); 8446 #endif 8447 8448 8449 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 8450 #define VK_KHR_surface 1 8451 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 8452 #define VK_KHR_SURFACE_SPEC_VERSION 25 8453 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 8454 8455 typedef enum VkPresentModeKHR { 8456 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 8457 VK_PRESENT_MODE_MAILBOX_KHR = 1, 8458 VK_PRESENT_MODE_FIFO_KHR = 2, 8459 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 8460 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 8461 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 8462 VK_PRESENT_MODE_FIFO_LATEST_READY_EXT = 1000361000, 8463 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 8464 } VkPresentModeKHR; 8465 8466 typedef enum VkColorSpaceKHR { 8467 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 8468 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 8469 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 8470 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 8471 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 8472 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 8473 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 8474 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 8475 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 8476 // VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML 8477 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 8478 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 8479 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 8480 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 8481 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 8482 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 8483 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 8484 // VK_COLORSPACE_SRGB_NONLINEAR_KHR is a deprecated alias 8485 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 8486 // VK_COLOR_SPACE_DCI_P3_LINEAR_EXT is a deprecated alias 8487 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 8488 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 8489 } VkColorSpaceKHR; 8490 8491 typedef enum VkSurfaceTransformFlagBitsKHR { 8492 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 8493 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 8494 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 8495 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 8496 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 8497 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 8498 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 8499 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 8500 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 8501 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8502 } VkSurfaceTransformFlagBitsKHR; 8503 8504 typedef enum VkCompositeAlphaFlagBitsKHR { 8505 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8506 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 8507 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 8508 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 8509 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8510 } VkCompositeAlphaFlagBitsKHR; 8511 typedef VkFlags VkCompositeAlphaFlagsKHR; 8512 typedef VkFlags VkSurfaceTransformFlagsKHR; 8513 typedef struct VkSurfaceCapabilitiesKHR { 8514 uint32_t minImageCount; 8515 uint32_t maxImageCount; 8516 VkExtent2D currentExtent; 8517 VkExtent2D minImageExtent; 8518 VkExtent2D maxImageExtent; 8519 uint32_t maxImageArrayLayers; 8520 VkSurfaceTransformFlagsKHR supportedTransforms; 8521 VkSurfaceTransformFlagBitsKHR currentTransform; 8522 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 8523 VkImageUsageFlags supportedUsageFlags; 8524 } VkSurfaceCapabilitiesKHR; 8525 8526 typedef struct VkSurfaceFormatKHR { 8527 VkFormat format; 8528 VkColorSpaceKHR colorSpace; 8529 } VkSurfaceFormatKHR; 8530 8531 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 8532 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 8533 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8534 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 8535 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 8536 8537 #ifndef VK_NO_PROTOTYPES 8538 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 8539 VkInstance instance, 8540 VkSurfaceKHR surface, 8541 const VkAllocationCallbacks* pAllocator); 8542 8543 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 8544 VkPhysicalDevice physicalDevice, 8545 uint32_t queueFamilyIndex, 8546 VkSurfaceKHR surface, 8547 VkBool32* pSupported); 8548 8549 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 8550 VkPhysicalDevice physicalDevice, 8551 VkSurfaceKHR surface, 8552 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8553 8554 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 8555 VkPhysicalDevice physicalDevice, 8556 VkSurfaceKHR surface, 8557 uint32_t* pSurfaceFormatCount, 8558 VkSurfaceFormatKHR* pSurfaceFormats); 8559 8560 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 8561 VkPhysicalDevice physicalDevice, 8562 VkSurfaceKHR surface, 8563 uint32_t* pPresentModeCount, 8564 VkPresentModeKHR* pPresentModes); 8565 #endif 8566 8567 8568 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 8569 #define VK_KHR_swapchain 1 8570 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 8571 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 8572 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 8573 8574 typedef enum VkSwapchainCreateFlagBitsKHR { 8575 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 8576 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 8577 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 8578 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 8579 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8580 } VkSwapchainCreateFlagBitsKHR; 8581 typedef VkFlags VkSwapchainCreateFlagsKHR; 8582 8583 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 8584 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 8585 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 8586 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 8587 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 8588 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8589 } VkDeviceGroupPresentModeFlagBitsKHR; 8590 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 8591 typedef struct VkSwapchainCreateInfoKHR { 8592 VkStructureType sType; 8593 const void* pNext; 8594 VkSwapchainCreateFlagsKHR flags; 8595 VkSurfaceKHR surface; 8596 uint32_t minImageCount; 8597 VkFormat imageFormat; 8598 VkColorSpaceKHR imageColorSpace; 8599 VkExtent2D imageExtent; 8600 uint32_t imageArrayLayers; 8601 VkImageUsageFlags imageUsage; 8602 VkSharingMode imageSharingMode; 8603 uint32_t queueFamilyIndexCount; 8604 const uint32_t* pQueueFamilyIndices; 8605 VkSurfaceTransformFlagBitsKHR preTransform; 8606 VkCompositeAlphaFlagBitsKHR compositeAlpha; 8607 VkPresentModeKHR presentMode; 8608 VkBool32 clipped; 8609 VkSwapchainKHR oldSwapchain; 8610 } VkSwapchainCreateInfoKHR; 8611 8612 typedef struct VkPresentInfoKHR { 8613 VkStructureType sType; 8614 const void* pNext; 8615 uint32_t waitSemaphoreCount; 8616 const VkSemaphore* pWaitSemaphores; 8617 uint32_t swapchainCount; 8618 const VkSwapchainKHR* pSwapchains; 8619 const uint32_t* pImageIndices; 8620 VkResult* pResults; 8621 } VkPresentInfoKHR; 8622 8623 typedef struct VkImageSwapchainCreateInfoKHR { 8624 VkStructureType sType; 8625 const void* pNext; 8626 VkSwapchainKHR swapchain; 8627 } VkImageSwapchainCreateInfoKHR; 8628 8629 typedef struct VkBindImageMemorySwapchainInfoKHR { 8630 VkStructureType sType; 8631 const void* pNext; 8632 VkSwapchainKHR swapchain; 8633 uint32_t imageIndex; 8634 } VkBindImageMemorySwapchainInfoKHR; 8635 8636 typedef struct VkAcquireNextImageInfoKHR { 8637 VkStructureType sType; 8638 const void* pNext; 8639 VkSwapchainKHR swapchain; 8640 uint64_t timeout; 8641 VkSemaphore semaphore; 8642 VkFence fence; 8643 uint32_t deviceMask; 8644 } VkAcquireNextImageInfoKHR; 8645 8646 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 8647 VkStructureType sType; 8648 void* pNext; 8649 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 8650 VkDeviceGroupPresentModeFlagsKHR modes; 8651 } VkDeviceGroupPresentCapabilitiesKHR; 8652 8653 typedef struct VkDeviceGroupPresentInfoKHR { 8654 VkStructureType sType; 8655 const void* pNext; 8656 uint32_t swapchainCount; 8657 const uint32_t* pDeviceMasks; 8658 VkDeviceGroupPresentModeFlagBitsKHR mode; 8659 } VkDeviceGroupPresentInfoKHR; 8660 8661 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 8662 VkStructureType sType; 8663 const void* pNext; 8664 VkDeviceGroupPresentModeFlagsKHR modes; 8665 } VkDeviceGroupSwapchainCreateInfoKHR; 8666 8667 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 8668 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 8669 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 8670 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 8671 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 8672 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8673 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 8674 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 8675 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 8676 8677 #ifndef VK_NO_PROTOTYPES 8678 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 8679 VkDevice device, 8680 const VkSwapchainCreateInfoKHR* pCreateInfo, 8681 const VkAllocationCallbacks* pAllocator, 8682 VkSwapchainKHR* pSwapchain); 8683 8684 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 8685 VkDevice device, 8686 VkSwapchainKHR swapchain, 8687 const VkAllocationCallbacks* pAllocator); 8688 8689 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 8690 VkDevice device, 8691 VkSwapchainKHR swapchain, 8692 uint32_t* pSwapchainImageCount, 8693 VkImage* pSwapchainImages); 8694 8695 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 8696 VkDevice device, 8697 VkSwapchainKHR swapchain, 8698 uint64_t timeout, 8699 VkSemaphore semaphore, 8700 VkFence fence, 8701 uint32_t* pImageIndex); 8702 8703 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 8704 VkQueue queue, 8705 const VkPresentInfoKHR* pPresentInfo); 8706 8707 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 8708 VkDevice device, 8709 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8710 8711 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 8712 VkDevice device, 8713 VkSurfaceKHR surface, 8714 VkDeviceGroupPresentModeFlagsKHR* pModes); 8715 8716 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 8717 VkPhysicalDevice physicalDevice, 8718 VkSurfaceKHR surface, 8719 uint32_t* pRectCount, 8720 VkRect2D* pRects); 8721 8722 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 8723 VkDevice device, 8724 const VkAcquireNextImageInfoKHR* pAcquireInfo, 8725 uint32_t* pImageIndex); 8726 #endif 8727 8728 8729 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 8730 #define VK_KHR_display 1 8731 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 8732 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 8733 #define VK_KHR_DISPLAY_SPEC_VERSION 23 8734 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 8735 typedef VkFlags VkDisplayModeCreateFlagsKHR; 8736 8737 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 8738 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8739 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 8740 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 8741 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 8742 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8743 } VkDisplayPlaneAlphaFlagBitsKHR; 8744 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 8745 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 8746 typedef struct VkDisplayModeParametersKHR { 8747 VkExtent2D visibleRegion; 8748 uint32_t refreshRate; 8749 } VkDisplayModeParametersKHR; 8750 8751 typedef struct VkDisplayModeCreateInfoKHR { 8752 VkStructureType sType; 8753 const void* pNext; 8754 VkDisplayModeCreateFlagsKHR flags; 8755 VkDisplayModeParametersKHR parameters; 8756 } VkDisplayModeCreateInfoKHR; 8757 8758 typedef struct VkDisplayModePropertiesKHR { 8759 VkDisplayModeKHR displayMode; 8760 VkDisplayModeParametersKHR parameters; 8761 } VkDisplayModePropertiesKHR; 8762 8763 typedef struct VkDisplayPlaneCapabilitiesKHR { 8764 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 8765 VkOffset2D minSrcPosition; 8766 VkOffset2D maxSrcPosition; 8767 VkExtent2D minSrcExtent; 8768 VkExtent2D maxSrcExtent; 8769 VkOffset2D minDstPosition; 8770 VkOffset2D maxDstPosition; 8771 VkExtent2D minDstExtent; 8772 VkExtent2D maxDstExtent; 8773 } VkDisplayPlaneCapabilitiesKHR; 8774 8775 typedef struct VkDisplayPlanePropertiesKHR { 8776 VkDisplayKHR currentDisplay; 8777 uint32_t currentStackIndex; 8778 } VkDisplayPlanePropertiesKHR; 8779 8780 typedef struct VkDisplayPropertiesKHR { 8781 VkDisplayKHR display; 8782 const char* displayName; 8783 VkExtent2D physicalDimensions; 8784 VkExtent2D physicalResolution; 8785 VkSurfaceTransformFlagsKHR supportedTransforms; 8786 VkBool32 planeReorderPossible; 8787 VkBool32 persistentContent; 8788 } VkDisplayPropertiesKHR; 8789 8790 typedef struct VkDisplaySurfaceCreateInfoKHR { 8791 VkStructureType sType; 8792 const void* pNext; 8793 VkDisplaySurfaceCreateFlagsKHR flags; 8794 VkDisplayModeKHR displayMode; 8795 uint32_t planeIndex; 8796 uint32_t planeStackIndex; 8797 VkSurfaceTransformFlagBitsKHR transform; 8798 float globalAlpha; 8799 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 8800 VkExtent2D imageExtent; 8801 } VkDisplaySurfaceCreateInfoKHR; 8802 8803 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 8804 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 8805 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 8806 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 8807 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 8808 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8809 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 8810 8811 #ifndef VK_NO_PROTOTYPES 8812 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 8813 VkPhysicalDevice physicalDevice, 8814 uint32_t* pPropertyCount, 8815 VkDisplayPropertiesKHR* pProperties); 8816 8817 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 8818 VkPhysicalDevice physicalDevice, 8819 uint32_t* pPropertyCount, 8820 VkDisplayPlanePropertiesKHR* pProperties); 8821 8822 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 8823 VkPhysicalDevice physicalDevice, 8824 uint32_t planeIndex, 8825 uint32_t* pDisplayCount, 8826 VkDisplayKHR* pDisplays); 8827 8828 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 8829 VkPhysicalDevice physicalDevice, 8830 VkDisplayKHR display, 8831 uint32_t* pPropertyCount, 8832 VkDisplayModePropertiesKHR* pProperties); 8833 8834 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 8835 VkPhysicalDevice physicalDevice, 8836 VkDisplayKHR display, 8837 const VkDisplayModeCreateInfoKHR* pCreateInfo, 8838 const VkAllocationCallbacks* pAllocator, 8839 VkDisplayModeKHR* pMode); 8840 8841 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 8842 VkPhysicalDevice physicalDevice, 8843 VkDisplayModeKHR mode, 8844 uint32_t planeIndex, 8845 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8846 8847 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 8848 VkInstance instance, 8849 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 8850 const VkAllocationCallbacks* pAllocator, 8851 VkSurfaceKHR* pSurface); 8852 #endif 8853 8854 8855 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 8856 #define VK_KHR_display_swapchain 1 8857 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 8858 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 8859 typedef struct VkDisplayPresentInfoKHR { 8860 VkStructureType sType; 8861 const void* pNext; 8862 VkRect2D srcRect; 8863 VkRect2D dstRect; 8864 VkBool32 persistent; 8865 } VkDisplayPresentInfoKHR; 8866 8867 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 8868 8869 #ifndef VK_NO_PROTOTYPES 8870 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 8871 VkDevice device, 8872 uint32_t swapchainCount, 8873 const VkSwapchainCreateInfoKHR* pCreateInfos, 8874 const VkAllocationCallbacks* pAllocator, 8875 VkSwapchainKHR* pSwapchains); 8876 #endif 8877 8878 8879 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 8880 #define VK_KHR_sampler_mirror_clamp_to_edge 1 8881 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 8882 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 8883 8884 8885 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 8886 #define VK_KHR_video_queue 1 8887 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 8888 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 8889 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 8890 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 8891 8892 typedef enum VkQueryResultStatusKHR { 8893 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8894 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8895 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8896 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 8897 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8898 } VkQueryResultStatusKHR; 8899 8900 typedef enum VkVideoCodecOperationFlagBitsKHR { 8901 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8902 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 8903 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 8904 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8905 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8906 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 8907 VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR = 0x00040000, 8908 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8909 } VkVideoCodecOperationFlagBitsKHR; 8910 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8911 8912 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8913 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8914 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8915 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8916 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8917 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8918 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8919 } VkVideoChromaSubsamplingFlagBitsKHR; 8920 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8921 8922 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8923 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8924 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8925 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8926 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8927 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8928 } VkVideoComponentBitDepthFlagBitsKHR; 8929 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8930 8931 typedef enum VkVideoCapabilityFlagBitsKHR { 8932 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8933 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8934 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8935 } VkVideoCapabilityFlagBitsKHR; 8936 typedef VkFlags VkVideoCapabilityFlagsKHR; 8937 8938 typedef enum VkVideoSessionCreateFlagBitsKHR { 8939 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8940 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8941 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8942 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000008, 8943 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x00000010, 8944 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8945 } VkVideoSessionCreateFlagBitsKHR; 8946 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8947 8948 typedef enum VkVideoSessionParametersCreateFlagBitsKHR { 8949 VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR = 0x00000001, 8950 VK_VIDEO_SESSION_PARAMETERS_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8951 } VkVideoSessionParametersCreateFlagBitsKHR; 8952 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8953 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8954 typedef VkFlags VkVideoEndCodingFlagsKHR; 8955 8956 typedef enum VkVideoCodingControlFlagBitsKHR { 8957 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8958 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8959 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8960 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8961 } VkVideoCodingControlFlagBitsKHR; 8962 typedef VkFlags VkVideoCodingControlFlagsKHR; 8963 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8964 VkStructureType sType; 8965 void* pNext; 8966 VkBool32 queryResultStatusSupport; 8967 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8968 8969 typedef struct VkQueueFamilyVideoPropertiesKHR { 8970 VkStructureType sType; 8971 void* pNext; 8972 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8973 } VkQueueFamilyVideoPropertiesKHR; 8974 8975 typedef struct VkVideoProfileInfoKHR { 8976 VkStructureType sType; 8977 const void* pNext; 8978 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8979 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8980 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8981 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8982 } VkVideoProfileInfoKHR; 8983 8984 typedef struct VkVideoProfileListInfoKHR { 8985 VkStructureType sType; 8986 const void* pNext; 8987 uint32_t profileCount; 8988 const VkVideoProfileInfoKHR* pProfiles; 8989 } VkVideoProfileListInfoKHR; 8990 8991 typedef struct VkVideoCapabilitiesKHR { 8992 VkStructureType sType; 8993 void* pNext; 8994 VkVideoCapabilityFlagsKHR flags; 8995 VkDeviceSize minBitstreamBufferOffsetAlignment; 8996 VkDeviceSize minBitstreamBufferSizeAlignment; 8997 VkExtent2D pictureAccessGranularity; 8998 VkExtent2D minCodedExtent; 8999 VkExtent2D maxCodedExtent; 9000 uint32_t maxDpbSlots; 9001 uint32_t maxActiveReferencePictures; 9002 VkExtensionProperties stdHeaderVersion; 9003 } VkVideoCapabilitiesKHR; 9004 9005 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 9006 VkStructureType sType; 9007 const void* pNext; 9008 VkImageUsageFlags imageUsage; 9009 } VkPhysicalDeviceVideoFormatInfoKHR; 9010 9011 typedef struct VkVideoFormatPropertiesKHR { 9012 VkStructureType sType; 9013 void* pNext; 9014 VkFormat format; 9015 VkComponentMapping componentMapping; 9016 VkImageCreateFlags imageCreateFlags; 9017 VkImageType imageType; 9018 VkImageTiling imageTiling; 9019 VkImageUsageFlags imageUsageFlags; 9020 } VkVideoFormatPropertiesKHR; 9021 9022 typedef struct VkVideoPictureResourceInfoKHR { 9023 VkStructureType sType; 9024 const void* pNext; 9025 VkOffset2D codedOffset; 9026 VkExtent2D codedExtent; 9027 uint32_t baseArrayLayer; 9028 VkImageView imageViewBinding; 9029 } VkVideoPictureResourceInfoKHR; 9030 9031 typedef struct VkVideoReferenceSlotInfoKHR { 9032 VkStructureType sType; 9033 const void* pNext; 9034 int32_t slotIndex; 9035 const VkVideoPictureResourceInfoKHR* pPictureResource; 9036 } VkVideoReferenceSlotInfoKHR; 9037 9038 typedef struct VkVideoSessionMemoryRequirementsKHR { 9039 VkStructureType sType; 9040 void* pNext; 9041 uint32_t memoryBindIndex; 9042 VkMemoryRequirements memoryRequirements; 9043 } VkVideoSessionMemoryRequirementsKHR; 9044 9045 typedef struct VkBindVideoSessionMemoryInfoKHR { 9046 VkStructureType sType; 9047 const void* pNext; 9048 uint32_t memoryBindIndex; 9049 VkDeviceMemory memory; 9050 VkDeviceSize memoryOffset; 9051 VkDeviceSize memorySize; 9052 } VkBindVideoSessionMemoryInfoKHR; 9053 9054 typedef struct VkVideoSessionCreateInfoKHR { 9055 VkStructureType sType; 9056 const void* pNext; 9057 uint32_t queueFamilyIndex; 9058 VkVideoSessionCreateFlagsKHR flags; 9059 const VkVideoProfileInfoKHR* pVideoProfile; 9060 VkFormat pictureFormat; 9061 VkExtent2D maxCodedExtent; 9062 VkFormat referencePictureFormat; 9063 uint32_t maxDpbSlots; 9064 uint32_t maxActiveReferencePictures; 9065 const VkExtensionProperties* pStdHeaderVersion; 9066 } VkVideoSessionCreateInfoKHR; 9067 9068 typedef struct VkVideoSessionParametersCreateInfoKHR { 9069 VkStructureType sType; 9070 const void* pNext; 9071 VkVideoSessionParametersCreateFlagsKHR flags; 9072 VkVideoSessionParametersKHR videoSessionParametersTemplate; 9073 VkVideoSessionKHR videoSession; 9074 } VkVideoSessionParametersCreateInfoKHR; 9075 9076 typedef struct VkVideoSessionParametersUpdateInfoKHR { 9077 VkStructureType sType; 9078 const void* pNext; 9079 uint32_t updateSequenceCount; 9080 } VkVideoSessionParametersUpdateInfoKHR; 9081 9082 typedef struct VkVideoBeginCodingInfoKHR { 9083 VkStructureType sType; 9084 const void* pNext; 9085 VkVideoBeginCodingFlagsKHR flags; 9086 VkVideoSessionKHR videoSession; 9087 VkVideoSessionParametersKHR videoSessionParameters; 9088 uint32_t referenceSlotCount; 9089 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9090 } VkVideoBeginCodingInfoKHR; 9091 9092 typedef struct VkVideoEndCodingInfoKHR { 9093 VkStructureType sType; 9094 const void* pNext; 9095 VkVideoEndCodingFlagsKHR flags; 9096 } VkVideoEndCodingInfoKHR; 9097 9098 typedef struct VkVideoCodingControlInfoKHR { 9099 VkStructureType sType; 9100 const void* pNext; 9101 VkVideoCodingControlFlagsKHR flags; 9102 } VkVideoCodingControlInfoKHR; 9103 9104 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 9105 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9106 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 9107 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 9108 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9109 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9110 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 9111 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9112 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 9113 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 9114 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9115 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9116 9117 #ifndef VK_NO_PROTOTYPES 9118 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 9119 VkPhysicalDevice physicalDevice, 9120 const VkVideoProfileInfoKHR* pVideoProfile, 9121 VkVideoCapabilitiesKHR* pCapabilities); 9122 9123 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 9124 VkPhysicalDevice physicalDevice, 9125 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 9126 uint32_t* pVideoFormatPropertyCount, 9127 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9128 9129 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 9130 VkDevice device, 9131 const VkVideoSessionCreateInfoKHR* pCreateInfo, 9132 const VkAllocationCallbacks* pAllocator, 9133 VkVideoSessionKHR* pVideoSession); 9134 9135 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 9136 VkDevice device, 9137 VkVideoSessionKHR videoSession, 9138 const VkAllocationCallbacks* pAllocator); 9139 9140 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 9141 VkDevice device, 9142 VkVideoSessionKHR videoSession, 9143 uint32_t* pMemoryRequirementsCount, 9144 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9145 9146 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 9147 VkDevice device, 9148 VkVideoSessionKHR videoSession, 9149 uint32_t bindSessionMemoryInfoCount, 9150 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9151 9152 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 9153 VkDevice device, 9154 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 9155 const VkAllocationCallbacks* pAllocator, 9156 VkVideoSessionParametersKHR* pVideoSessionParameters); 9157 9158 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 9159 VkDevice device, 9160 VkVideoSessionParametersKHR videoSessionParameters, 9161 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9162 9163 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 9164 VkDevice device, 9165 VkVideoSessionParametersKHR videoSessionParameters, 9166 const VkAllocationCallbacks* pAllocator); 9167 9168 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 9169 VkCommandBuffer commandBuffer, 9170 const VkVideoBeginCodingInfoKHR* pBeginInfo); 9171 9172 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 9173 VkCommandBuffer commandBuffer, 9174 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9175 9176 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 9177 VkCommandBuffer commandBuffer, 9178 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9179 #endif 9180 9181 9182 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 9183 #define VK_KHR_video_decode_queue 1 9184 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 9185 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 9186 9187 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 9188 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 9189 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 9190 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9191 } VkVideoDecodeCapabilityFlagBitsKHR; 9192 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 9193 9194 typedef enum VkVideoDecodeUsageFlagBitsKHR { 9195 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 9196 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 9197 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 9198 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 9199 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9200 } VkVideoDecodeUsageFlagBitsKHR; 9201 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 9202 typedef VkFlags VkVideoDecodeFlagsKHR; 9203 typedef struct VkVideoDecodeCapabilitiesKHR { 9204 VkStructureType sType; 9205 void* pNext; 9206 VkVideoDecodeCapabilityFlagsKHR flags; 9207 } VkVideoDecodeCapabilitiesKHR; 9208 9209 typedef struct VkVideoDecodeUsageInfoKHR { 9210 VkStructureType sType; 9211 const void* pNext; 9212 VkVideoDecodeUsageFlagsKHR videoUsageHints; 9213 } VkVideoDecodeUsageInfoKHR; 9214 9215 typedef struct VkVideoDecodeInfoKHR { 9216 VkStructureType sType; 9217 const void* pNext; 9218 VkVideoDecodeFlagsKHR flags; 9219 VkBuffer srcBuffer; 9220 VkDeviceSize srcBufferOffset; 9221 VkDeviceSize srcBufferRange; 9222 VkVideoPictureResourceInfoKHR dstPictureResource; 9223 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 9224 uint32_t referenceSlotCount; 9225 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9226 } VkVideoDecodeInfoKHR; 9227 9228 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 9229 9230 #ifndef VK_NO_PROTOTYPES 9231 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 9232 VkCommandBuffer commandBuffer, 9233 const VkVideoDecodeInfoKHR* pDecodeInfo); 9234 #endif 9235 9236 9237 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 9238 #define VK_KHR_video_encode_h264 1 9239 #include "vk_video/vulkan_video_codec_h264std.h" 9240 #include "vk_video/vulkan_video_codec_h264std_encode.h" 9241 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 9242 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 9243 9244 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 9245 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9246 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9247 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 9248 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 9249 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9250 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9251 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9252 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 9253 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 9254 VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000200, 9255 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9256 } VkVideoEncodeH264CapabilityFlagBitsKHR; 9257 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 9258 9259 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 9260 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9261 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 9262 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9263 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 9264 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 9265 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9266 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9267 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 9268 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 9269 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 9270 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 9271 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 9272 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 9273 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 9274 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9275 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 9276 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 9277 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 9278 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9279 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9280 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9281 } VkVideoEncodeH264StdFlagBitsKHR; 9282 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 9283 9284 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 9285 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9286 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9287 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9288 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9289 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9290 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9291 } VkVideoEncodeH264RateControlFlagBitsKHR; 9292 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 9293 typedef struct VkVideoEncodeH264CapabilitiesKHR { 9294 VkStructureType sType; 9295 void* pNext; 9296 VkVideoEncodeH264CapabilityFlagsKHR flags; 9297 StdVideoH264LevelIdc maxLevelIdc; 9298 uint32_t maxSliceCount; 9299 uint32_t maxPPictureL0ReferenceCount; 9300 uint32_t maxBPictureL0ReferenceCount; 9301 uint32_t maxL1ReferenceCount; 9302 uint32_t maxTemporalLayerCount; 9303 VkBool32 expectDyadicTemporalLayerPattern; 9304 int32_t minQp; 9305 int32_t maxQp; 9306 VkBool32 prefersGopRemainingFrames; 9307 VkBool32 requiresGopRemainingFrames; 9308 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 9309 } VkVideoEncodeH264CapabilitiesKHR; 9310 9311 typedef struct VkVideoEncodeH264QpKHR { 9312 int32_t qpI; 9313 int32_t qpP; 9314 int32_t qpB; 9315 } VkVideoEncodeH264QpKHR; 9316 9317 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 9318 VkStructureType sType; 9319 void* pNext; 9320 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 9321 uint32_t preferredGopFrameCount; 9322 uint32_t preferredIdrPeriod; 9323 uint32_t preferredConsecutiveBFrameCount; 9324 uint32_t preferredTemporalLayerCount; 9325 VkVideoEncodeH264QpKHR preferredConstantQp; 9326 uint32_t preferredMaxL0ReferenceCount; 9327 uint32_t preferredMaxL1ReferenceCount; 9328 VkBool32 preferredStdEntropyCodingModeFlag; 9329 } VkVideoEncodeH264QualityLevelPropertiesKHR; 9330 9331 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 9332 VkStructureType sType; 9333 const void* pNext; 9334 VkBool32 useMaxLevelIdc; 9335 StdVideoH264LevelIdc maxLevelIdc; 9336 } VkVideoEncodeH264SessionCreateInfoKHR; 9337 9338 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 9339 VkStructureType sType; 9340 const void* pNext; 9341 uint32_t stdSPSCount; 9342 const StdVideoH264SequenceParameterSet* pStdSPSs; 9343 uint32_t stdPPSCount; 9344 const StdVideoH264PictureParameterSet* pStdPPSs; 9345 } VkVideoEncodeH264SessionParametersAddInfoKHR; 9346 9347 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 9348 VkStructureType sType; 9349 const void* pNext; 9350 uint32_t maxStdSPSCount; 9351 uint32_t maxStdPPSCount; 9352 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9353 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 9354 9355 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 9356 VkStructureType sType; 9357 const void* pNext; 9358 VkBool32 writeStdSPS; 9359 VkBool32 writeStdPPS; 9360 uint32_t stdSPSId; 9361 uint32_t stdPPSId; 9362 } VkVideoEncodeH264SessionParametersGetInfoKHR; 9363 9364 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 9365 VkStructureType sType; 9366 void* pNext; 9367 VkBool32 hasStdSPSOverrides; 9368 VkBool32 hasStdPPSOverrides; 9369 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 9370 9371 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 9372 VkStructureType sType; 9373 const void* pNext; 9374 int32_t constantQp; 9375 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 9376 } VkVideoEncodeH264NaluSliceInfoKHR; 9377 9378 typedef struct VkVideoEncodeH264PictureInfoKHR { 9379 VkStructureType sType; 9380 const void* pNext; 9381 uint32_t naluSliceEntryCount; 9382 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 9383 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 9384 VkBool32 generatePrefixNalu; 9385 } VkVideoEncodeH264PictureInfoKHR; 9386 9387 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 9388 VkStructureType sType; 9389 const void* pNext; 9390 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 9391 } VkVideoEncodeH264DpbSlotInfoKHR; 9392 9393 typedef struct VkVideoEncodeH264ProfileInfoKHR { 9394 VkStructureType sType; 9395 const void* pNext; 9396 StdVideoH264ProfileIdc stdProfileIdc; 9397 } VkVideoEncodeH264ProfileInfoKHR; 9398 9399 typedef struct VkVideoEncodeH264RateControlInfoKHR { 9400 VkStructureType sType; 9401 const void* pNext; 9402 VkVideoEncodeH264RateControlFlagsKHR flags; 9403 uint32_t gopFrameCount; 9404 uint32_t idrPeriod; 9405 uint32_t consecutiveBFrameCount; 9406 uint32_t temporalLayerCount; 9407 } VkVideoEncodeH264RateControlInfoKHR; 9408 9409 typedef struct VkVideoEncodeH264FrameSizeKHR { 9410 uint32_t frameISize; 9411 uint32_t framePSize; 9412 uint32_t frameBSize; 9413 } VkVideoEncodeH264FrameSizeKHR; 9414 9415 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 9416 VkStructureType sType; 9417 const void* pNext; 9418 VkBool32 useMinQp; 9419 VkVideoEncodeH264QpKHR minQp; 9420 VkBool32 useMaxQp; 9421 VkVideoEncodeH264QpKHR maxQp; 9422 VkBool32 useMaxFrameSize; 9423 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 9424 } VkVideoEncodeH264RateControlLayerInfoKHR; 9425 9426 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 9427 VkStructureType sType; 9428 const void* pNext; 9429 VkBool32 useGopRemainingFrames; 9430 uint32_t gopRemainingI; 9431 uint32_t gopRemainingP; 9432 uint32_t gopRemainingB; 9433 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 9434 9435 9436 9437 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 9438 #define VK_KHR_video_encode_h265 1 9439 #include "vk_video/vulkan_video_codec_h265std.h" 9440 #include "vk_video/vulkan_video_codec_h265std_encode.h" 9441 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 9442 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 9443 9444 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 9445 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9446 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9447 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 9448 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 9449 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9450 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9451 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9452 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 9453 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 9454 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 9455 VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000400, 9456 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9457 } VkVideoEncodeH265CapabilityFlagBitsKHR; 9458 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 9459 9460 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 9461 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9462 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 9463 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9464 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 9465 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 9466 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9467 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9468 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 9469 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 9470 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 9471 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 9472 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 9473 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 9474 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 9475 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9476 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 9477 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 9478 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 9479 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 9480 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9481 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9482 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9483 } VkVideoEncodeH265StdFlagBitsKHR; 9484 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 9485 9486 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 9487 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 9488 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 9489 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 9490 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9491 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 9492 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 9493 9494 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 9495 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 9496 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 9497 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 9498 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 9499 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9500 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 9501 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 9502 9503 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 9504 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9505 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9506 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9507 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9508 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9509 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9510 } VkVideoEncodeH265RateControlFlagBitsKHR; 9511 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 9512 typedef struct VkVideoEncodeH265CapabilitiesKHR { 9513 VkStructureType sType; 9514 void* pNext; 9515 VkVideoEncodeH265CapabilityFlagsKHR flags; 9516 StdVideoH265LevelIdc maxLevelIdc; 9517 uint32_t maxSliceSegmentCount; 9518 VkExtent2D maxTiles; 9519 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 9520 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 9521 uint32_t maxPPictureL0ReferenceCount; 9522 uint32_t maxBPictureL0ReferenceCount; 9523 uint32_t maxL1ReferenceCount; 9524 uint32_t maxSubLayerCount; 9525 VkBool32 expectDyadicTemporalSubLayerPattern; 9526 int32_t minQp; 9527 int32_t maxQp; 9528 VkBool32 prefersGopRemainingFrames; 9529 VkBool32 requiresGopRemainingFrames; 9530 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 9531 } VkVideoEncodeH265CapabilitiesKHR; 9532 9533 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 9534 VkStructureType sType; 9535 const void* pNext; 9536 VkBool32 useMaxLevelIdc; 9537 StdVideoH265LevelIdc maxLevelIdc; 9538 } VkVideoEncodeH265SessionCreateInfoKHR; 9539 9540 typedef struct VkVideoEncodeH265QpKHR { 9541 int32_t qpI; 9542 int32_t qpP; 9543 int32_t qpB; 9544 } VkVideoEncodeH265QpKHR; 9545 9546 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 9547 VkStructureType sType; 9548 void* pNext; 9549 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 9550 uint32_t preferredGopFrameCount; 9551 uint32_t preferredIdrPeriod; 9552 uint32_t preferredConsecutiveBFrameCount; 9553 uint32_t preferredSubLayerCount; 9554 VkVideoEncodeH265QpKHR preferredConstantQp; 9555 uint32_t preferredMaxL0ReferenceCount; 9556 uint32_t preferredMaxL1ReferenceCount; 9557 } VkVideoEncodeH265QualityLevelPropertiesKHR; 9558 9559 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 9560 VkStructureType sType; 9561 const void* pNext; 9562 uint32_t stdVPSCount; 9563 const StdVideoH265VideoParameterSet* pStdVPSs; 9564 uint32_t stdSPSCount; 9565 const StdVideoH265SequenceParameterSet* pStdSPSs; 9566 uint32_t stdPPSCount; 9567 const StdVideoH265PictureParameterSet* pStdPPSs; 9568 } VkVideoEncodeH265SessionParametersAddInfoKHR; 9569 9570 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 9571 VkStructureType sType; 9572 const void* pNext; 9573 uint32_t maxStdVPSCount; 9574 uint32_t maxStdSPSCount; 9575 uint32_t maxStdPPSCount; 9576 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9577 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 9578 9579 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 9580 VkStructureType sType; 9581 const void* pNext; 9582 VkBool32 writeStdVPS; 9583 VkBool32 writeStdSPS; 9584 VkBool32 writeStdPPS; 9585 uint32_t stdVPSId; 9586 uint32_t stdSPSId; 9587 uint32_t stdPPSId; 9588 } VkVideoEncodeH265SessionParametersGetInfoKHR; 9589 9590 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 9591 VkStructureType sType; 9592 void* pNext; 9593 VkBool32 hasStdVPSOverrides; 9594 VkBool32 hasStdSPSOverrides; 9595 VkBool32 hasStdPPSOverrides; 9596 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 9597 9598 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 9599 VkStructureType sType; 9600 const void* pNext; 9601 int32_t constantQp; 9602 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 9603 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 9604 9605 typedef struct VkVideoEncodeH265PictureInfoKHR { 9606 VkStructureType sType; 9607 const void* pNext; 9608 uint32_t naluSliceSegmentEntryCount; 9609 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 9610 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 9611 } VkVideoEncodeH265PictureInfoKHR; 9612 9613 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 9614 VkStructureType sType; 9615 const void* pNext; 9616 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 9617 } VkVideoEncodeH265DpbSlotInfoKHR; 9618 9619 typedef struct VkVideoEncodeH265ProfileInfoKHR { 9620 VkStructureType sType; 9621 const void* pNext; 9622 StdVideoH265ProfileIdc stdProfileIdc; 9623 } VkVideoEncodeH265ProfileInfoKHR; 9624 9625 typedef struct VkVideoEncodeH265RateControlInfoKHR { 9626 VkStructureType sType; 9627 const void* pNext; 9628 VkVideoEncodeH265RateControlFlagsKHR flags; 9629 uint32_t gopFrameCount; 9630 uint32_t idrPeriod; 9631 uint32_t consecutiveBFrameCount; 9632 uint32_t subLayerCount; 9633 } VkVideoEncodeH265RateControlInfoKHR; 9634 9635 typedef struct VkVideoEncodeH265FrameSizeKHR { 9636 uint32_t frameISize; 9637 uint32_t framePSize; 9638 uint32_t frameBSize; 9639 } VkVideoEncodeH265FrameSizeKHR; 9640 9641 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 9642 VkStructureType sType; 9643 const void* pNext; 9644 VkBool32 useMinQp; 9645 VkVideoEncodeH265QpKHR minQp; 9646 VkBool32 useMaxQp; 9647 VkVideoEncodeH265QpKHR maxQp; 9648 VkBool32 useMaxFrameSize; 9649 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 9650 } VkVideoEncodeH265RateControlLayerInfoKHR; 9651 9652 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 9653 VkStructureType sType; 9654 const void* pNext; 9655 VkBool32 useGopRemainingFrames; 9656 uint32_t gopRemainingI; 9657 uint32_t gopRemainingP; 9658 uint32_t gopRemainingB; 9659 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 9660 9661 9662 9663 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 9664 #define VK_KHR_video_decode_h264 1 9665 #include "vk_video/vulkan_video_codec_h264std_decode.h" 9666 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 9667 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 9668 9669 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 9670 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 9671 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 9672 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 9673 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9674 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 9675 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 9676 typedef struct VkVideoDecodeH264ProfileInfoKHR { 9677 VkStructureType sType; 9678 const void* pNext; 9679 StdVideoH264ProfileIdc stdProfileIdc; 9680 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 9681 } VkVideoDecodeH264ProfileInfoKHR; 9682 9683 typedef struct VkVideoDecodeH264CapabilitiesKHR { 9684 VkStructureType sType; 9685 void* pNext; 9686 StdVideoH264LevelIdc maxLevelIdc; 9687 VkOffset2D fieldOffsetGranularity; 9688 } VkVideoDecodeH264CapabilitiesKHR; 9689 9690 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 9691 VkStructureType sType; 9692 const void* pNext; 9693 uint32_t stdSPSCount; 9694 const StdVideoH264SequenceParameterSet* pStdSPSs; 9695 uint32_t stdPPSCount; 9696 const StdVideoH264PictureParameterSet* pStdPPSs; 9697 } VkVideoDecodeH264SessionParametersAddInfoKHR; 9698 9699 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 9700 VkStructureType sType; 9701 const void* pNext; 9702 uint32_t maxStdSPSCount; 9703 uint32_t maxStdPPSCount; 9704 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9705 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 9706 9707 typedef struct VkVideoDecodeH264PictureInfoKHR { 9708 VkStructureType sType; 9709 const void* pNext; 9710 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 9711 uint32_t sliceCount; 9712 const uint32_t* pSliceOffsets; 9713 } VkVideoDecodeH264PictureInfoKHR; 9714 9715 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 9716 VkStructureType sType; 9717 const void* pNext; 9718 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 9719 } VkVideoDecodeH264DpbSlotInfoKHR; 9720 9721 9722 9723 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 9724 #define VK_KHR_dynamic_rendering 1 9725 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 9726 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 9727 typedef VkRenderingFlags VkRenderingFlagsKHR; 9728 9729 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 9730 9731 typedef VkRenderingInfo VkRenderingInfoKHR; 9732 9733 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 9734 9735 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 9736 9737 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 9738 9739 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 9740 9741 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 9742 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 9743 9744 #ifndef VK_NO_PROTOTYPES 9745 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 9746 VkCommandBuffer commandBuffer, 9747 const VkRenderingInfo* pRenderingInfo); 9748 9749 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 9750 VkCommandBuffer commandBuffer); 9751 #endif 9752 9753 9754 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 9755 #define VK_KHR_multiview 1 9756 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 9757 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 9758 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 9759 9760 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 9761 9762 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 9763 9764 9765 9766 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 9767 #define VK_KHR_get_physical_device_properties2 1 9768 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 9769 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 9770 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 9771 9772 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 9773 9774 typedef VkFormatProperties2 VkFormatProperties2KHR; 9775 9776 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 9777 9778 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 9779 9780 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 9781 9782 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 9783 9784 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 9785 9786 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 9787 9788 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 9789 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 9790 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 9791 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 9792 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 9793 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9794 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 9795 9796 #ifndef VK_NO_PROTOTYPES 9797 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 9798 VkPhysicalDevice physicalDevice, 9799 VkPhysicalDeviceFeatures2* pFeatures); 9800 9801 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 9802 VkPhysicalDevice physicalDevice, 9803 VkPhysicalDeviceProperties2* pProperties); 9804 9805 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 9806 VkPhysicalDevice physicalDevice, 9807 VkFormat format, 9808 VkFormatProperties2* pFormatProperties); 9809 9810 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 9811 VkPhysicalDevice physicalDevice, 9812 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 9813 VkImageFormatProperties2* pImageFormatProperties); 9814 9815 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 9816 VkPhysicalDevice physicalDevice, 9817 uint32_t* pQueueFamilyPropertyCount, 9818 VkQueueFamilyProperties2* pQueueFamilyProperties); 9819 9820 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 9821 VkPhysicalDevice physicalDevice, 9822 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9823 9824 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 9825 VkPhysicalDevice physicalDevice, 9826 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 9827 uint32_t* pPropertyCount, 9828 VkSparseImageFormatProperties2* pProperties); 9829 #endif 9830 9831 9832 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 9833 #define VK_KHR_device_group 1 9834 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 9835 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 9836 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 9837 9838 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 9839 9840 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 9841 9842 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 9843 9844 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9845 9846 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9847 9848 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9849 9850 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9851 9852 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9853 9854 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9855 9856 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9857 9858 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9859 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 9860 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); 9861 9862 #ifndef VK_NO_PROTOTYPES 9863 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 9864 VkDevice device, 9865 uint32_t heapIndex, 9866 uint32_t localDeviceIndex, 9867 uint32_t remoteDeviceIndex, 9868 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9869 9870 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 9871 VkCommandBuffer commandBuffer, 9872 uint32_t deviceMask); 9873 9874 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9875 VkCommandBuffer commandBuffer, 9876 uint32_t baseGroupX, 9877 uint32_t baseGroupY, 9878 uint32_t baseGroupZ, 9879 uint32_t groupCountX, 9880 uint32_t groupCountY, 9881 uint32_t groupCountZ); 9882 #endif 9883 9884 9885 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9886 #define VK_KHR_shader_draw_parameters 1 9887 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9888 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9889 9890 9891 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9892 #define VK_KHR_maintenance1 1 9893 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9894 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9895 // VK_KHR_MAINTENANCE1_SPEC_VERSION is a deprecated alias 9896 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9897 // VK_KHR_MAINTENANCE1_EXTENSION_NAME is a deprecated alias 9898 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9899 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9900 9901 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9902 9903 #ifndef VK_NO_PROTOTYPES 9904 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9905 VkDevice device, 9906 VkCommandPool commandPool, 9907 VkCommandPoolTrimFlags flags); 9908 #endif 9909 9910 9911 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9912 #define VK_KHR_device_group_creation 1 9913 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9914 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9915 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9916 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9917 9918 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9919 9920 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9921 9922 #ifndef VK_NO_PROTOTYPES 9923 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9924 VkInstance instance, 9925 uint32_t* pPhysicalDeviceGroupCount, 9926 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9927 #endif 9928 9929 9930 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9931 #define VK_KHR_external_memory_capabilities 1 9932 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9933 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9934 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9935 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9936 9937 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9938 9939 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9940 9941 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9942 9943 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9944 9945 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9946 9947 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9948 9949 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9950 9951 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9952 9953 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9954 9955 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9956 9957 #ifndef VK_NO_PROTOTYPES 9958 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9959 VkPhysicalDevice physicalDevice, 9960 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9961 VkExternalBufferProperties* pExternalBufferProperties); 9962 #endif 9963 9964 9965 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9966 #define VK_KHR_external_memory 1 9967 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9968 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9969 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9970 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9971 9972 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9973 9974 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9975 9976 9977 9978 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9979 #define VK_KHR_external_memory_fd 1 9980 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9981 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9982 typedef struct VkImportMemoryFdInfoKHR { 9983 VkStructureType sType; 9984 const void* pNext; 9985 VkExternalMemoryHandleTypeFlagBits handleType; 9986 int fd; 9987 } VkImportMemoryFdInfoKHR; 9988 9989 typedef struct VkMemoryFdPropertiesKHR { 9990 VkStructureType sType; 9991 void* pNext; 9992 uint32_t memoryTypeBits; 9993 } VkMemoryFdPropertiesKHR; 9994 9995 typedef struct VkMemoryGetFdInfoKHR { 9996 VkStructureType sType; 9997 const void* pNext; 9998 VkDeviceMemory memory; 9999 VkExternalMemoryHandleTypeFlagBits handleType; 10000 } VkMemoryGetFdInfoKHR; 10001 10002 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 10003 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 10004 10005 #ifndef VK_NO_PROTOTYPES 10006 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 10007 VkDevice device, 10008 const VkMemoryGetFdInfoKHR* pGetFdInfo, 10009 int* pFd); 10010 10011 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 10012 VkDevice device, 10013 VkExternalMemoryHandleTypeFlagBits handleType, 10014 int fd, 10015 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 10016 #endif 10017 10018 10019 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 10020 #define VK_KHR_external_semaphore_capabilities 1 10021 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 10022 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 10023 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 10024 10025 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 10026 10027 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 10028 10029 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 10030 10031 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 10032 10033 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 10034 10035 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 10036 10037 #ifndef VK_NO_PROTOTYPES 10038 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 10039 VkPhysicalDevice physicalDevice, 10040 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 10041 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 10042 #endif 10043 10044 10045 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 10046 #define VK_KHR_external_semaphore 1 10047 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 10048 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 10049 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 10050 10051 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 10052 10053 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 10054 10055 10056 10057 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 10058 #define VK_KHR_external_semaphore_fd 1 10059 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 10060 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 10061 typedef struct VkImportSemaphoreFdInfoKHR { 10062 VkStructureType sType; 10063 const void* pNext; 10064 VkSemaphore semaphore; 10065 VkSemaphoreImportFlags flags; 10066 VkExternalSemaphoreHandleTypeFlagBits handleType; 10067 int fd; 10068 } VkImportSemaphoreFdInfoKHR; 10069 10070 typedef struct VkSemaphoreGetFdInfoKHR { 10071 VkStructureType sType; 10072 const void* pNext; 10073 VkSemaphore semaphore; 10074 VkExternalSemaphoreHandleTypeFlagBits handleType; 10075 } VkSemaphoreGetFdInfoKHR; 10076 10077 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10078 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 10079 10080 #ifndef VK_NO_PROTOTYPES 10081 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 10082 VkDevice device, 10083 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10084 10085 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 10086 VkDevice device, 10087 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 10088 int* pFd); 10089 #endif 10090 10091 10092 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 10093 #define VK_KHR_push_descriptor 1 10094 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 10095 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 10096 typedef VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR; 10097 10098 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 10099 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 10100 10101 #ifndef VK_NO_PROTOTYPES 10102 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 10103 VkCommandBuffer commandBuffer, 10104 VkPipelineBindPoint pipelineBindPoint, 10105 VkPipelineLayout layout, 10106 uint32_t set, 10107 uint32_t descriptorWriteCount, 10108 const VkWriteDescriptorSet* pDescriptorWrites); 10109 10110 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 10111 VkCommandBuffer commandBuffer, 10112 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10113 VkPipelineLayout layout, 10114 uint32_t set, 10115 const void* pData); 10116 #endif 10117 10118 10119 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 10120 #define VK_KHR_shader_float16_int8 1 10121 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 10122 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 10123 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 10124 10125 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 10126 10127 10128 10129 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 10130 #define VK_KHR_16bit_storage 1 10131 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 10132 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 10133 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 10134 10135 10136 10137 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 10138 #define VK_KHR_incremental_present 1 10139 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 10140 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 10141 typedef struct VkRectLayerKHR { 10142 VkOffset2D offset; 10143 VkExtent2D extent; 10144 uint32_t layer; 10145 } VkRectLayerKHR; 10146 10147 typedef struct VkPresentRegionKHR { 10148 uint32_t rectangleCount; 10149 const VkRectLayerKHR* pRectangles; 10150 } VkPresentRegionKHR; 10151 10152 typedef struct VkPresentRegionsKHR { 10153 VkStructureType sType; 10154 const void* pNext; 10155 uint32_t swapchainCount; 10156 const VkPresentRegionKHR* pRegions; 10157 } VkPresentRegionsKHR; 10158 10159 10160 10161 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 10162 #define VK_KHR_descriptor_update_template 1 10163 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 10164 10165 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 10166 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 10167 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 10168 10169 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 10170 10171 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 10172 10173 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 10174 10175 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10176 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 10177 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 10178 10179 #ifndef VK_NO_PROTOTYPES 10180 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 10181 VkDevice device, 10182 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 10183 const VkAllocationCallbacks* pAllocator, 10184 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10185 10186 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 10187 VkDevice device, 10188 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10189 const VkAllocationCallbacks* pAllocator); 10190 10191 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 10192 VkDevice device, 10193 VkDescriptorSet descriptorSet, 10194 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10195 const void* pData); 10196 #endif 10197 10198 10199 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 10200 #define VK_KHR_imageless_framebuffer 1 10201 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 10202 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 10203 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 10204 10205 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 10206 10207 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 10208 10209 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 10210 10211 10212 10213 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 10214 #define VK_KHR_create_renderpass2 1 10215 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 10216 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 10217 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 10218 10219 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 10220 10221 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 10222 10223 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 10224 10225 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 10226 10227 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 10228 10229 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 10230 10231 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 10232 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 10233 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 10234 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 10235 10236 #ifndef VK_NO_PROTOTYPES 10237 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 10238 VkDevice device, 10239 const VkRenderPassCreateInfo2* pCreateInfo, 10240 const VkAllocationCallbacks* pAllocator, 10241 VkRenderPass* pRenderPass); 10242 10243 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 10244 VkCommandBuffer commandBuffer, 10245 const VkRenderPassBeginInfo* pRenderPassBegin, 10246 const VkSubpassBeginInfo* pSubpassBeginInfo); 10247 10248 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 10249 VkCommandBuffer commandBuffer, 10250 const VkSubpassBeginInfo* pSubpassBeginInfo, 10251 const VkSubpassEndInfo* pSubpassEndInfo); 10252 10253 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 10254 VkCommandBuffer commandBuffer, 10255 const VkSubpassEndInfo* pSubpassEndInfo); 10256 #endif 10257 10258 10259 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 10260 #define VK_KHR_shared_presentable_image 1 10261 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 10262 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 10263 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 10264 VkStructureType sType; 10265 void* pNext; 10266 VkImageUsageFlags sharedPresentSupportedUsageFlags; 10267 } VkSharedPresentSurfaceCapabilitiesKHR; 10268 10269 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 10270 10271 #ifndef VK_NO_PROTOTYPES 10272 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 10273 VkDevice device, 10274 VkSwapchainKHR swapchain); 10275 #endif 10276 10277 10278 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 10279 #define VK_KHR_external_fence_capabilities 1 10280 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 10281 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 10282 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 10283 10284 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 10285 10286 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 10287 10288 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 10289 10290 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 10291 10292 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 10293 10294 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 10295 10296 #ifndef VK_NO_PROTOTYPES 10297 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 10298 VkPhysicalDevice physicalDevice, 10299 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 10300 VkExternalFenceProperties* pExternalFenceProperties); 10301 #endif 10302 10303 10304 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 10305 #define VK_KHR_external_fence 1 10306 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 10307 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 10308 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 10309 10310 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 10311 10312 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 10313 10314 10315 10316 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 10317 #define VK_KHR_external_fence_fd 1 10318 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 10319 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 10320 typedef struct VkImportFenceFdInfoKHR { 10321 VkStructureType sType; 10322 const void* pNext; 10323 VkFence fence; 10324 VkFenceImportFlags flags; 10325 VkExternalFenceHandleTypeFlagBits handleType; 10326 int fd; 10327 } VkImportFenceFdInfoKHR; 10328 10329 typedef struct VkFenceGetFdInfoKHR { 10330 VkStructureType sType; 10331 const void* pNext; 10332 VkFence fence; 10333 VkExternalFenceHandleTypeFlagBits handleType; 10334 } VkFenceGetFdInfoKHR; 10335 10336 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10337 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 10338 10339 #ifndef VK_NO_PROTOTYPES 10340 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 10341 VkDevice device, 10342 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10343 10344 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 10345 VkDevice device, 10346 const VkFenceGetFdInfoKHR* pGetFdInfo, 10347 int* pFd); 10348 #endif 10349 10350 10351 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 10352 #define VK_KHR_performance_query 1 10353 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 10354 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 10355 10356 typedef enum VkPerformanceCounterUnitKHR { 10357 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 10358 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 10359 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 10360 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 10361 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 10362 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 10363 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 10364 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 10365 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 10366 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 10367 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 10368 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 10369 } VkPerformanceCounterUnitKHR; 10370 10371 typedef enum VkPerformanceCounterScopeKHR { 10372 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 10373 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 10374 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 10375 // VK_QUERY_SCOPE_COMMAND_BUFFER_KHR is a deprecated alias 10376 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 10377 // VK_QUERY_SCOPE_RENDER_PASS_KHR is a deprecated alias 10378 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 10379 // VK_QUERY_SCOPE_COMMAND_KHR is a deprecated alias 10380 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 10381 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 10382 } VkPerformanceCounterScopeKHR; 10383 10384 typedef enum VkPerformanceCounterStorageKHR { 10385 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 10386 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 10387 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 10388 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 10389 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 10390 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 10391 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 10392 } VkPerformanceCounterStorageKHR; 10393 10394 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 10395 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 10396 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 10397 // VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR is a deprecated alias 10398 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 10399 // VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR is a deprecated alias 10400 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 10401 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10402 } VkPerformanceCounterDescriptionFlagBitsKHR; 10403 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 10404 10405 typedef enum VkAcquireProfilingLockFlagBitsKHR { 10406 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10407 } VkAcquireProfilingLockFlagBitsKHR; 10408 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 10409 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 10410 VkStructureType sType; 10411 void* pNext; 10412 VkBool32 performanceCounterQueryPools; 10413 VkBool32 performanceCounterMultipleQueryPools; 10414 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 10415 10416 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 10417 VkStructureType sType; 10418 void* pNext; 10419 VkBool32 allowCommandBufferQueryCopies; 10420 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 10421 10422 typedef struct VkPerformanceCounterKHR { 10423 VkStructureType sType; 10424 void* pNext; 10425 VkPerformanceCounterUnitKHR unit; 10426 VkPerformanceCounterScopeKHR scope; 10427 VkPerformanceCounterStorageKHR storage; 10428 uint8_t uuid[VK_UUID_SIZE]; 10429 } VkPerformanceCounterKHR; 10430 10431 typedef struct VkPerformanceCounterDescriptionKHR { 10432 VkStructureType sType; 10433 void* pNext; 10434 VkPerformanceCounterDescriptionFlagsKHR flags; 10435 char name[VK_MAX_DESCRIPTION_SIZE]; 10436 char category[VK_MAX_DESCRIPTION_SIZE]; 10437 char description[VK_MAX_DESCRIPTION_SIZE]; 10438 } VkPerformanceCounterDescriptionKHR; 10439 10440 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 10441 VkStructureType sType; 10442 const void* pNext; 10443 uint32_t queueFamilyIndex; 10444 uint32_t counterIndexCount; 10445 const uint32_t* pCounterIndices; 10446 } VkQueryPoolPerformanceCreateInfoKHR; 10447 10448 typedef union VkPerformanceCounterResultKHR { 10449 int32_t int32; 10450 int64_t int64; 10451 uint32_t uint32; 10452 uint64_t uint64; 10453 float float32; 10454 double float64; 10455 } VkPerformanceCounterResultKHR; 10456 10457 typedef struct VkAcquireProfilingLockInfoKHR { 10458 VkStructureType sType; 10459 const void* pNext; 10460 VkAcquireProfilingLockFlagsKHR flags; 10461 uint64_t timeout; 10462 } VkAcquireProfilingLockInfoKHR; 10463 10464 typedef struct VkPerformanceQuerySubmitInfoKHR { 10465 VkStructureType sType; 10466 const void* pNext; 10467 uint32_t counterPassIndex; 10468 } VkPerformanceQuerySubmitInfoKHR; 10469 10470 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10471 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 10472 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 10473 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 10474 10475 #ifndef VK_NO_PROTOTYPES 10476 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 10477 VkPhysicalDevice physicalDevice, 10478 uint32_t queueFamilyIndex, 10479 uint32_t* pCounterCount, 10480 VkPerformanceCounterKHR* pCounters, 10481 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10482 10483 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 10484 VkPhysicalDevice physicalDevice, 10485 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 10486 uint32_t* pNumPasses); 10487 10488 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 10489 VkDevice device, 10490 const VkAcquireProfilingLockInfoKHR* pInfo); 10491 10492 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 10493 VkDevice device); 10494 #endif 10495 10496 10497 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 10498 #define VK_KHR_maintenance2 1 10499 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 10500 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 10501 // VK_KHR_MAINTENANCE2_SPEC_VERSION is a deprecated alias 10502 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 10503 // VK_KHR_MAINTENANCE2_EXTENSION_NAME is a deprecated alias 10504 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 10505 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 10506 10507 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 10508 10509 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 10510 10511 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 10512 10513 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 10514 10515 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 10516 10517 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 10518 10519 10520 10521 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 10522 #define VK_KHR_get_surface_capabilities2 1 10523 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 10524 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 10525 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 10526 VkStructureType sType; 10527 const void* pNext; 10528 VkSurfaceKHR surface; 10529 } VkPhysicalDeviceSurfaceInfo2KHR; 10530 10531 typedef struct VkSurfaceCapabilities2KHR { 10532 VkStructureType sType; 10533 void* pNext; 10534 VkSurfaceCapabilitiesKHR surfaceCapabilities; 10535 } VkSurfaceCapabilities2KHR; 10536 10537 typedef struct VkSurfaceFormat2KHR { 10538 VkStructureType sType; 10539 void* pNext; 10540 VkSurfaceFormatKHR surfaceFormat; 10541 } VkSurfaceFormat2KHR; 10542 10543 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10544 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 10545 10546 #ifndef VK_NO_PROTOTYPES 10547 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 10548 VkPhysicalDevice physicalDevice, 10549 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10550 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10551 10552 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 10553 VkPhysicalDevice physicalDevice, 10554 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10555 uint32_t* pSurfaceFormatCount, 10556 VkSurfaceFormat2KHR* pSurfaceFormats); 10557 #endif 10558 10559 10560 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 10561 #define VK_KHR_variable_pointers 1 10562 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 10563 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 10564 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 10565 10566 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 10567 10568 10569 10570 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 10571 #define VK_KHR_get_display_properties2 1 10572 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 10573 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 10574 typedef struct VkDisplayProperties2KHR { 10575 VkStructureType sType; 10576 void* pNext; 10577 VkDisplayPropertiesKHR displayProperties; 10578 } VkDisplayProperties2KHR; 10579 10580 typedef struct VkDisplayPlaneProperties2KHR { 10581 VkStructureType sType; 10582 void* pNext; 10583 VkDisplayPlanePropertiesKHR displayPlaneProperties; 10584 } VkDisplayPlaneProperties2KHR; 10585 10586 typedef struct VkDisplayModeProperties2KHR { 10587 VkStructureType sType; 10588 void* pNext; 10589 VkDisplayModePropertiesKHR displayModeProperties; 10590 } VkDisplayModeProperties2KHR; 10591 10592 typedef struct VkDisplayPlaneInfo2KHR { 10593 VkStructureType sType; 10594 const void* pNext; 10595 VkDisplayModeKHR mode; 10596 uint32_t planeIndex; 10597 } VkDisplayPlaneInfo2KHR; 10598 10599 typedef struct VkDisplayPlaneCapabilities2KHR { 10600 VkStructureType sType; 10601 void* pNext; 10602 VkDisplayPlaneCapabilitiesKHR capabilities; 10603 } VkDisplayPlaneCapabilities2KHR; 10604 10605 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 10606 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 10607 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 10608 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 10609 10610 #ifndef VK_NO_PROTOTYPES 10611 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 10612 VkPhysicalDevice physicalDevice, 10613 uint32_t* pPropertyCount, 10614 VkDisplayProperties2KHR* pProperties); 10615 10616 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 10617 VkPhysicalDevice physicalDevice, 10618 uint32_t* pPropertyCount, 10619 VkDisplayPlaneProperties2KHR* pProperties); 10620 10621 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 10622 VkPhysicalDevice physicalDevice, 10623 VkDisplayKHR display, 10624 uint32_t* pPropertyCount, 10625 VkDisplayModeProperties2KHR* pProperties); 10626 10627 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 10628 VkPhysicalDevice physicalDevice, 10629 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 10630 VkDisplayPlaneCapabilities2KHR* pCapabilities); 10631 #endif 10632 10633 10634 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 10635 #define VK_KHR_dedicated_allocation 1 10636 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 10637 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 10638 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 10639 10640 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 10641 10642 10643 10644 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 10645 #define VK_KHR_storage_buffer_storage_class 1 10646 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 10647 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 10648 10649 10650 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 10651 #define VK_KHR_relaxed_block_layout 1 10652 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 10653 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 10654 10655 10656 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 10657 #define VK_KHR_get_memory_requirements2 1 10658 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 10659 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 10660 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 10661 10662 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 10663 10664 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 10665 10666 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 10667 10668 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 10669 10670 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10671 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10672 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10673 10674 #ifndef VK_NO_PROTOTYPES 10675 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 10676 VkDevice device, 10677 const VkImageMemoryRequirementsInfo2* pInfo, 10678 VkMemoryRequirements2* pMemoryRequirements); 10679 10680 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 10681 VkDevice device, 10682 const VkBufferMemoryRequirementsInfo2* pInfo, 10683 VkMemoryRequirements2* pMemoryRequirements); 10684 10685 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 10686 VkDevice device, 10687 const VkImageSparseMemoryRequirementsInfo2* pInfo, 10688 uint32_t* pSparseMemoryRequirementCount, 10689 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10690 #endif 10691 10692 10693 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 10694 #define VK_KHR_image_format_list 1 10695 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 10696 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 10697 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 10698 10699 10700 10701 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 10702 #define VK_KHR_sampler_ycbcr_conversion 1 10703 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 10704 10705 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 10706 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 10707 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 10708 10709 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 10710 10711 typedef VkChromaLocation VkChromaLocationKHR; 10712 10713 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 10714 10715 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 10716 10717 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 10718 10719 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 10720 10721 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 10722 10723 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 10724 10725 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 10726 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 10727 10728 #ifndef VK_NO_PROTOTYPES 10729 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 10730 VkDevice device, 10731 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 10732 const VkAllocationCallbacks* pAllocator, 10733 VkSamplerYcbcrConversion* pYcbcrConversion); 10734 10735 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 10736 VkDevice device, 10737 VkSamplerYcbcrConversion ycbcrConversion, 10738 const VkAllocationCallbacks* pAllocator); 10739 #endif 10740 10741 10742 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 10743 #define VK_KHR_bind_memory2 1 10744 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 10745 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 10746 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 10747 10748 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 10749 10750 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 10751 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 10752 10753 #ifndef VK_NO_PROTOTYPES 10754 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 10755 VkDevice device, 10756 uint32_t bindInfoCount, 10757 const VkBindBufferMemoryInfo* pBindInfos); 10758 10759 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 10760 VkDevice device, 10761 uint32_t bindInfoCount, 10762 const VkBindImageMemoryInfo* pBindInfos); 10763 #endif 10764 10765 10766 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 10767 #define VK_KHR_maintenance3 1 10768 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 10769 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 10770 // VK_KHR_MAINTENANCE3_SPEC_VERSION is a deprecated alias 10771 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 10772 // VK_KHR_MAINTENANCE3_EXTENSION_NAME is a deprecated alias 10773 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 10774 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 10775 10776 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 10777 10778 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 10779 10780 #ifndef VK_NO_PROTOTYPES 10781 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 10782 VkDevice device, 10783 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 10784 VkDescriptorSetLayoutSupport* pSupport); 10785 #endif 10786 10787 10788 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 10789 #define VK_KHR_draw_indirect_count 1 10790 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 10791 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 10792 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10793 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10794 10795 #ifndef VK_NO_PROTOTYPES 10796 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 10797 VkCommandBuffer commandBuffer, 10798 VkBuffer buffer, 10799 VkDeviceSize offset, 10800 VkBuffer countBuffer, 10801 VkDeviceSize countBufferOffset, 10802 uint32_t maxDrawCount, 10803 uint32_t stride); 10804 10805 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 10806 VkCommandBuffer commandBuffer, 10807 VkBuffer buffer, 10808 VkDeviceSize offset, 10809 VkBuffer countBuffer, 10810 VkDeviceSize countBufferOffset, 10811 uint32_t maxDrawCount, 10812 uint32_t stride); 10813 #endif 10814 10815 10816 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 10817 #define VK_KHR_shader_subgroup_extended_types 1 10818 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 10819 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 10820 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 10821 10822 10823 10824 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 10825 #define VK_KHR_8bit_storage 1 10826 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 10827 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 10828 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 10829 10830 10831 10832 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 10833 #define VK_KHR_shader_atomic_int64 1 10834 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 10835 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 10836 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 10837 10838 10839 10840 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 10841 #define VK_KHR_shader_clock 1 10842 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 10843 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 10844 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 10845 VkStructureType sType; 10846 void* pNext; 10847 VkBool32 shaderSubgroupClock; 10848 VkBool32 shaderDeviceClock; 10849 } VkPhysicalDeviceShaderClockFeaturesKHR; 10850 10851 10852 10853 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 10854 #define VK_KHR_video_decode_h265 1 10855 #include "vk_video/vulkan_video_codec_h265std_decode.h" 10856 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 10857 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 10858 typedef struct VkVideoDecodeH265ProfileInfoKHR { 10859 VkStructureType sType; 10860 const void* pNext; 10861 StdVideoH265ProfileIdc stdProfileIdc; 10862 } VkVideoDecodeH265ProfileInfoKHR; 10863 10864 typedef struct VkVideoDecodeH265CapabilitiesKHR { 10865 VkStructureType sType; 10866 void* pNext; 10867 StdVideoH265LevelIdc maxLevelIdc; 10868 } VkVideoDecodeH265CapabilitiesKHR; 10869 10870 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 10871 VkStructureType sType; 10872 const void* pNext; 10873 uint32_t stdVPSCount; 10874 const StdVideoH265VideoParameterSet* pStdVPSs; 10875 uint32_t stdSPSCount; 10876 const StdVideoH265SequenceParameterSet* pStdSPSs; 10877 uint32_t stdPPSCount; 10878 const StdVideoH265PictureParameterSet* pStdPPSs; 10879 } VkVideoDecodeH265SessionParametersAddInfoKHR; 10880 10881 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10882 VkStructureType sType; 10883 const void* pNext; 10884 uint32_t maxStdVPSCount; 10885 uint32_t maxStdSPSCount; 10886 uint32_t maxStdPPSCount; 10887 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10888 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 10889 10890 typedef struct VkVideoDecodeH265PictureInfoKHR { 10891 VkStructureType sType; 10892 const void* pNext; 10893 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10894 uint32_t sliceSegmentCount; 10895 const uint32_t* pSliceSegmentOffsets; 10896 } VkVideoDecodeH265PictureInfoKHR; 10897 10898 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10899 VkStructureType sType; 10900 const void* pNext; 10901 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10902 } VkVideoDecodeH265DpbSlotInfoKHR; 10903 10904 10905 10906 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10907 #define VK_KHR_global_priority 1 10908 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10909 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10910 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR VK_MAX_GLOBAL_PRIORITY_SIZE 10911 typedef VkQueueGlobalPriority VkQueueGlobalPriorityKHR; 10912 10913 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR; 10914 10915 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10916 10917 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR; 10918 10919 10920 10921 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10922 #define VK_KHR_driver_properties 1 10923 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10924 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10925 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10926 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10927 typedef VkDriverId VkDriverIdKHR; 10928 10929 typedef VkConformanceVersion VkConformanceVersionKHR; 10930 10931 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10932 10933 10934 10935 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10936 #define VK_KHR_shader_float_controls 1 10937 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10938 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10939 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10940 10941 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10942 10943 10944 10945 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10946 #define VK_KHR_depth_stencil_resolve 1 10947 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10948 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10949 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10950 10951 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10952 10953 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10954 10955 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10956 10957 10958 10959 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10960 #define VK_KHR_swapchain_mutable_format 1 10961 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10962 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10963 10964 10965 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10966 #define VK_KHR_timeline_semaphore 1 10967 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10968 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10969 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10970 10971 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10972 10973 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10974 10975 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10976 10977 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10978 10979 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10980 10981 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10982 10983 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10984 10985 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10986 10987 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10988 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10989 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10990 10991 #ifndef VK_NO_PROTOTYPES 10992 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10993 VkDevice device, 10994 VkSemaphore semaphore, 10995 uint64_t* pValue); 10996 10997 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10998 VkDevice device, 10999 const VkSemaphoreWaitInfo* pWaitInfo, 11000 uint64_t timeout); 11001 11002 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 11003 VkDevice device, 11004 const VkSemaphoreSignalInfo* pSignalInfo); 11005 #endif 11006 11007 11008 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 11009 #define VK_KHR_vulkan_memory_model 1 11010 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 11011 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 11012 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 11013 11014 11015 11016 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 11017 #define VK_KHR_shader_terminate_invocation 1 11018 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 11019 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 11020 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 11021 11022 11023 11024 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 11025 #define VK_KHR_fragment_shading_rate 1 11026 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 11027 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 11028 11029 typedef enum VkFragmentShadingRateCombinerOpKHR { 11030 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 11031 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 11032 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 11033 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 11034 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 11035 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 11036 } VkFragmentShadingRateCombinerOpKHR; 11037 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 11038 VkStructureType sType; 11039 const void* pNext; 11040 const VkAttachmentReference2* pFragmentShadingRateAttachment; 11041 VkExtent2D shadingRateAttachmentTexelSize; 11042 } VkFragmentShadingRateAttachmentInfoKHR; 11043 11044 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 11045 VkStructureType sType; 11046 const void* pNext; 11047 VkExtent2D fragmentSize; 11048 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 11049 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 11050 11051 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 11052 VkStructureType sType; 11053 void* pNext; 11054 VkBool32 pipelineFragmentShadingRate; 11055 VkBool32 primitiveFragmentShadingRate; 11056 VkBool32 attachmentFragmentShadingRate; 11057 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 11058 11059 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 11060 VkStructureType sType; 11061 void* pNext; 11062 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 11063 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 11064 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 11065 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 11066 VkBool32 layeredShadingRateAttachments; 11067 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 11068 VkExtent2D maxFragmentSize; 11069 uint32_t maxFragmentSizeAspectRatio; 11070 uint32_t maxFragmentShadingRateCoverageSamples; 11071 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 11072 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 11073 VkBool32 fragmentShadingRateWithSampleMask; 11074 VkBool32 fragmentShadingRateWithShaderSampleMask; 11075 VkBool32 fragmentShadingRateWithConservativeRasterization; 11076 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 11077 VkBool32 fragmentShadingRateWithCustomSampleLocations; 11078 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 11079 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 11080 11081 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 11082 VkStructureType sType; 11083 void* pNext; 11084 VkSampleCountFlags sampleCounts; 11085 VkExtent2D fragmentSize; 11086 } VkPhysicalDeviceFragmentShadingRateKHR; 11087 11088 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 11089 VkStructureType sType; 11090 const void* pNext; 11091 VkImageView imageView; 11092 VkImageLayout imageLayout; 11093 VkExtent2D shadingRateAttachmentTexelSize; 11094 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 11095 11096 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11097 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11098 11099 #ifndef VK_NO_PROTOTYPES 11100 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 11101 VkPhysicalDevice physicalDevice, 11102 uint32_t* pFragmentShadingRateCount, 11103 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11104 11105 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 11106 VkCommandBuffer commandBuffer, 11107 const VkExtent2D* pFragmentSize, 11108 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11109 #endif 11110 11111 11112 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 11113 #define VK_KHR_dynamic_rendering_local_read 1 11114 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 11115 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 11116 typedef VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 11117 11118 typedef VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR; 11119 11120 typedef VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR; 11121 11122 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 11123 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11124 11125 #ifndef VK_NO_PROTOTYPES 11126 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 11127 VkCommandBuffer commandBuffer, 11128 const VkRenderingAttachmentLocationInfo* pLocationInfo); 11129 11130 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 11131 VkCommandBuffer commandBuffer, 11132 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11133 #endif 11134 11135 11136 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 11137 #define VK_KHR_shader_quad_control 1 11138 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 11139 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 11140 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 11141 VkStructureType sType; 11142 void* pNext; 11143 VkBool32 shaderQuadControl; 11144 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 11145 11146 11147 11148 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 11149 #define VK_KHR_spirv_1_4 1 11150 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 11151 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 11152 11153 11154 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 11155 #define VK_KHR_surface_protected_capabilities 1 11156 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 11157 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 11158 typedef struct VkSurfaceProtectedCapabilitiesKHR { 11159 VkStructureType sType; 11160 const void* pNext; 11161 VkBool32 supportsProtected; 11162 } VkSurfaceProtectedCapabilitiesKHR; 11163 11164 11165 11166 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 11167 #define VK_KHR_separate_depth_stencil_layouts 1 11168 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 11169 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 11170 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 11171 11172 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 11173 11174 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 11175 11176 11177 11178 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 11179 #define VK_KHR_present_wait 1 11180 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 11181 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 11182 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 11183 VkStructureType sType; 11184 void* pNext; 11185 VkBool32 presentWait; 11186 } VkPhysicalDevicePresentWaitFeaturesKHR; 11187 11188 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 11189 11190 #ifndef VK_NO_PROTOTYPES 11191 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 11192 VkDevice device, 11193 VkSwapchainKHR swapchain, 11194 uint64_t presentId, 11195 uint64_t timeout); 11196 #endif 11197 11198 11199 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 11200 #define VK_KHR_uniform_buffer_standard_layout 1 11201 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 11202 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 11203 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 11204 11205 11206 11207 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 11208 #define VK_KHR_buffer_device_address 1 11209 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 11210 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 11211 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 11212 11213 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 11214 11215 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 11216 11217 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 11218 11219 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 11220 11221 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11222 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11223 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11224 11225 #ifndef VK_NO_PROTOTYPES 11226 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 11227 VkDevice device, 11228 const VkBufferDeviceAddressInfo* pInfo); 11229 11230 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 11231 VkDevice device, 11232 const VkBufferDeviceAddressInfo* pInfo); 11233 11234 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 11235 VkDevice device, 11236 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11237 #endif 11238 11239 11240 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 11241 #define VK_KHR_deferred_host_operations 1 11242 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 11243 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 11244 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 11245 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 11246 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 11247 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 11248 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 11249 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 11250 11251 #ifndef VK_NO_PROTOTYPES 11252 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 11253 VkDevice device, 11254 const VkAllocationCallbacks* pAllocator, 11255 VkDeferredOperationKHR* pDeferredOperation); 11256 11257 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 11258 VkDevice device, 11259 VkDeferredOperationKHR operation, 11260 const VkAllocationCallbacks* pAllocator); 11261 11262 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 11263 VkDevice device, 11264 VkDeferredOperationKHR operation); 11265 11266 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 11267 VkDevice device, 11268 VkDeferredOperationKHR operation); 11269 11270 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 11271 VkDevice device, 11272 VkDeferredOperationKHR operation); 11273 #endif 11274 11275 11276 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 11277 #define VK_KHR_pipeline_executable_properties 1 11278 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 11279 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 11280 11281 typedef enum VkPipelineExecutableStatisticFormatKHR { 11282 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 11283 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 11284 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 11285 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 11286 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 11287 } VkPipelineExecutableStatisticFormatKHR; 11288 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 11289 VkStructureType sType; 11290 void* pNext; 11291 VkBool32 pipelineExecutableInfo; 11292 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 11293 11294 typedef struct VkPipelineInfoKHR { 11295 VkStructureType sType; 11296 const void* pNext; 11297 VkPipeline pipeline; 11298 } VkPipelineInfoKHR; 11299 11300 typedef struct VkPipelineExecutablePropertiesKHR { 11301 VkStructureType sType; 11302 void* pNext; 11303 VkShaderStageFlags stages; 11304 char name[VK_MAX_DESCRIPTION_SIZE]; 11305 char description[VK_MAX_DESCRIPTION_SIZE]; 11306 uint32_t subgroupSize; 11307 } VkPipelineExecutablePropertiesKHR; 11308 11309 typedef struct VkPipelineExecutableInfoKHR { 11310 VkStructureType sType; 11311 const void* pNext; 11312 VkPipeline pipeline; 11313 uint32_t executableIndex; 11314 } VkPipelineExecutableInfoKHR; 11315 11316 typedef union VkPipelineExecutableStatisticValueKHR { 11317 VkBool32 b32; 11318 int64_t i64; 11319 uint64_t u64; 11320 double f64; 11321 } VkPipelineExecutableStatisticValueKHR; 11322 11323 typedef struct VkPipelineExecutableStatisticKHR { 11324 VkStructureType sType; 11325 void* pNext; 11326 char name[VK_MAX_DESCRIPTION_SIZE]; 11327 char description[VK_MAX_DESCRIPTION_SIZE]; 11328 VkPipelineExecutableStatisticFormatKHR format; 11329 VkPipelineExecutableStatisticValueKHR value; 11330 } VkPipelineExecutableStatisticKHR; 11331 11332 typedef struct VkPipelineExecutableInternalRepresentationKHR { 11333 VkStructureType sType; 11334 void* pNext; 11335 char name[VK_MAX_DESCRIPTION_SIZE]; 11336 char description[VK_MAX_DESCRIPTION_SIZE]; 11337 VkBool32 isText; 11338 size_t dataSize; 11339 void* pData; 11340 } VkPipelineExecutableInternalRepresentationKHR; 11341 11342 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 11343 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 11344 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11345 11346 #ifndef VK_NO_PROTOTYPES 11347 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 11348 VkDevice device, 11349 const VkPipelineInfoKHR* pPipelineInfo, 11350 uint32_t* pExecutableCount, 11351 VkPipelineExecutablePropertiesKHR* pProperties); 11352 11353 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 11354 VkDevice device, 11355 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11356 uint32_t* pStatisticCount, 11357 VkPipelineExecutableStatisticKHR* pStatistics); 11358 11359 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 11360 VkDevice device, 11361 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11362 uint32_t* pInternalRepresentationCount, 11363 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11364 #endif 11365 11366 11367 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 11368 #define VK_KHR_map_memory2 1 11369 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 11370 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 11371 typedef VkMemoryUnmapFlagBits VkMemoryUnmapFlagBitsKHR; 11372 11373 typedef VkMemoryUnmapFlags VkMemoryUnmapFlagsKHR; 11374 11375 typedef VkMemoryMapInfo VkMemoryMapInfoKHR; 11376 11377 typedef VkMemoryUnmapInfo VkMemoryUnmapInfoKHR; 11378 11379 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 11380 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11381 11382 #ifndef VK_NO_PROTOTYPES 11383 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 11384 VkDevice device, 11385 const VkMemoryMapInfo* pMemoryMapInfo, 11386 void** ppData); 11387 11388 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 11389 VkDevice device, 11390 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11391 #endif 11392 11393 11394 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 11395 #define VK_KHR_shader_integer_dot_product 1 11396 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 11397 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 11398 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 11399 11400 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 11401 11402 11403 11404 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 11405 #define VK_KHR_pipeline_library 1 11406 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 11407 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 11408 typedef struct VkPipelineLibraryCreateInfoKHR { 11409 VkStructureType sType; 11410 const void* pNext; 11411 uint32_t libraryCount; 11412 const VkPipeline* pLibraries; 11413 } VkPipelineLibraryCreateInfoKHR; 11414 11415 11416 11417 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 11418 #define VK_KHR_shader_non_semantic_info 1 11419 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 11420 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 11421 11422 11423 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 11424 #define VK_KHR_present_id 1 11425 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 11426 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 11427 typedef struct VkPresentIdKHR { 11428 VkStructureType sType; 11429 const void* pNext; 11430 uint32_t swapchainCount; 11431 const uint64_t* pPresentIds; 11432 } VkPresentIdKHR; 11433 11434 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 11435 VkStructureType sType; 11436 void* pNext; 11437 VkBool32 presentId; 11438 } VkPhysicalDevicePresentIdFeaturesKHR; 11439 11440 11441 11442 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 11443 #define VK_KHR_video_encode_queue 1 11444 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 11445 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 11446 11447 typedef enum VkVideoEncodeTuningModeKHR { 11448 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 11449 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 11450 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 11451 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 11452 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 11453 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11454 } VkVideoEncodeTuningModeKHR; 11455 11456 typedef enum VkVideoEncodeFlagBitsKHR { 11457 VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000001, 11458 VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR = 0x00000002, 11459 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11460 } VkVideoEncodeFlagBitsKHR; 11461 typedef VkFlags VkVideoEncodeFlagsKHR; 11462 11463 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 11464 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 11465 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 11466 VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000004, 11467 VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR = 0x00000008, 11468 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11469 } VkVideoEncodeCapabilityFlagBitsKHR; 11470 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 11471 11472 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 11473 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 11474 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 11475 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 11476 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 11477 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11478 } VkVideoEncodeRateControlModeFlagBitsKHR; 11479 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 11480 11481 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 11482 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 11483 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 11484 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 11485 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11486 } VkVideoEncodeFeedbackFlagBitsKHR; 11487 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 11488 11489 typedef enum VkVideoEncodeUsageFlagBitsKHR { 11490 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 11491 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 11492 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 11493 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 11494 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 11495 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11496 } VkVideoEncodeUsageFlagBitsKHR; 11497 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 11498 11499 typedef enum VkVideoEncodeContentFlagBitsKHR { 11500 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 11501 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 11502 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 11503 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 11504 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11505 } VkVideoEncodeContentFlagBitsKHR; 11506 typedef VkFlags VkVideoEncodeContentFlagsKHR; 11507 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 11508 typedef struct VkVideoEncodeInfoKHR { 11509 VkStructureType sType; 11510 const void* pNext; 11511 VkVideoEncodeFlagsKHR flags; 11512 VkBuffer dstBuffer; 11513 VkDeviceSize dstBufferOffset; 11514 VkDeviceSize dstBufferRange; 11515 VkVideoPictureResourceInfoKHR srcPictureResource; 11516 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 11517 uint32_t referenceSlotCount; 11518 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 11519 uint32_t precedingExternallyEncodedBytes; 11520 } VkVideoEncodeInfoKHR; 11521 11522 typedef struct VkVideoEncodeCapabilitiesKHR { 11523 VkStructureType sType; 11524 void* pNext; 11525 VkVideoEncodeCapabilityFlagsKHR flags; 11526 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 11527 uint32_t maxRateControlLayers; 11528 uint64_t maxBitrate; 11529 uint32_t maxQualityLevels; 11530 VkExtent2D encodeInputPictureGranularity; 11531 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 11532 } VkVideoEncodeCapabilitiesKHR; 11533 11534 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 11535 VkStructureType sType; 11536 const void* pNext; 11537 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 11538 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 11539 11540 typedef struct VkVideoEncodeUsageInfoKHR { 11541 VkStructureType sType; 11542 const void* pNext; 11543 VkVideoEncodeUsageFlagsKHR videoUsageHints; 11544 VkVideoEncodeContentFlagsKHR videoContentHints; 11545 VkVideoEncodeTuningModeKHR tuningMode; 11546 } VkVideoEncodeUsageInfoKHR; 11547 11548 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 11549 VkStructureType sType; 11550 const void* pNext; 11551 uint64_t averageBitrate; 11552 uint64_t maxBitrate; 11553 uint32_t frameRateNumerator; 11554 uint32_t frameRateDenominator; 11555 } VkVideoEncodeRateControlLayerInfoKHR; 11556 11557 typedef struct VkVideoEncodeRateControlInfoKHR { 11558 VkStructureType sType; 11559 const void* pNext; 11560 VkVideoEncodeRateControlFlagsKHR flags; 11561 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 11562 uint32_t layerCount; 11563 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 11564 uint32_t virtualBufferSizeInMs; 11565 uint32_t initialVirtualBufferSizeInMs; 11566 } VkVideoEncodeRateControlInfoKHR; 11567 11568 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 11569 VkStructureType sType; 11570 const void* pNext; 11571 const VkVideoProfileInfoKHR* pVideoProfile; 11572 uint32_t qualityLevel; 11573 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 11574 11575 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 11576 VkStructureType sType; 11577 void* pNext; 11578 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 11579 uint32_t preferredRateControlLayerCount; 11580 } VkVideoEncodeQualityLevelPropertiesKHR; 11581 11582 typedef struct VkVideoEncodeQualityLevelInfoKHR { 11583 VkStructureType sType; 11584 const void* pNext; 11585 uint32_t qualityLevel; 11586 } VkVideoEncodeQualityLevelInfoKHR; 11587 11588 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 11589 VkStructureType sType; 11590 const void* pNext; 11591 VkVideoSessionParametersKHR videoSessionParameters; 11592 } VkVideoEncodeSessionParametersGetInfoKHR; 11593 11594 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 11595 VkStructureType sType; 11596 void* pNext; 11597 VkBool32 hasOverrides; 11598 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 11599 11600 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11601 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 11602 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 11603 11604 #ifndef VK_NO_PROTOTYPES 11605 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 11606 VkPhysicalDevice physicalDevice, 11607 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 11608 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11609 11610 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 11611 VkDevice device, 11612 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 11613 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 11614 size_t* pDataSize, 11615 void* pData); 11616 11617 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 11618 VkCommandBuffer commandBuffer, 11619 const VkVideoEncodeInfoKHR* pEncodeInfo); 11620 #endif 11621 11622 11623 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 11624 #define VK_KHR_synchronization2 1 11625 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 11626 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 11627 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 11628 11629 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 11630 11631 typedef VkAccessFlags2 VkAccessFlags2KHR; 11632 11633 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 11634 11635 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 11636 11637 typedef VkSubmitFlags VkSubmitFlagsKHR; 11638 11639 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 11640 11641 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 11642 11643 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 11644 11645 typedef VkDependencyInfo VkDependencyInfoKHR; 11646 11647 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 11648 11649 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 11650 11651 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 11652 11653 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 11654 11655 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 11656 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 11657 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 11658 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 11659 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 11660 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 11661 11662 #ifndef VK_NO_PROTOTYPES 11663 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 11664 VkCommandBuffer commandBuffer, 11665 VkEvent event, 11666 const VkDependencyInfo* pDependencyInfo); 11667 11668 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 11669 VkCommandBuffer commandBuffer, 11670 VkEvent event, 11671 VkPipelineStageFlags2 stageMask); 11672 11673 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 11674 VkCommandBuffer commandBuffer, 11675 uint32_t eventCount, 11676 const VkEvent* pEvents, 11677 const VkDependencyInfo* pDependencyInfos); 11678 11679 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 11680 VkCommandBuffer commandBuffer, 11681 const VkDependencyInfo* pDependencyInfo); 11682 11683 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 11684 VkCommandBuffer commandBuffer, 11685 VkPipelineStageFlags2 stage, 11686 VkQueryPool queryPool, 11687 uint32_t query); 11688 11689 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 11690 VkQueue queue, 11691 uint32_t submitCount, 11692 const VkSubmitInfo2* pSubmits, 11693 VkFence fence); 11694 #endif 11695 11696 11697 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 11698 #define VK_KHR_fragment_shader_barycentric 1 11699 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 11700 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 11701 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 11702 VkStructureType sType; 11703 void* pNext; 11704 VkBool32 fragmentShaderBarycentric; 11705 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 11706 11707 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 11708 VkStructureType sType; 11709 void* pNext; 11710 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 11711 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 11712 11713 11714 11715 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 11716 #define VK_KHR_shader_subgroup_uniform_control_flow 1 11717 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 11718 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 11719 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 11720 VkStructureType sType; 11721 void* pNext; 11722 VkBool32 shaderSubgroupUniformControlFlow; 11723 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 11724 11725 11726 11727 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 11728 #define VK_KHR_zero_initialize_workgroup_memory 1 11729 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 11730 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 11731 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 11732 11733 11734 11735 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 11736 #define VK_KHR_workgroup_memory_explicit_layout 1 11737 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 11738 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 11739 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 11740 VkStructureType sType; 11741 void* pNext; 11742 VkBool32 workgroupMemoryExplicitLayout; 11743 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 11744 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 11745 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 11746 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 11747 11748 11749 11750 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 11751 #define VK_KHR_copy_commands2 1 11752 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 11753 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 11754 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 11755 11756 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 11757 11758 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 11759 11760 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 11761 11762 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 11763 11764 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 11765 11766 typedef VkBufferCopy2 VkBufferCopy2KHR; 11767 11768 typedef VkImageCopy2 VkImageCopy2KHR; 11769 11770 typedef VkImageBlit2 VkImageBlit2KHR; 11771 11772 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 11773 11774 typedef VkImageResolve2 VkImageResolve2KHR; 11775 11776 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 11777 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 11778 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11779 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11780 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 11781 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 11782 11783 #ifndef VK_NO_PROTOTYPES 11784 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 11785 VkCommandBuffer commandBuffer, 11786 const VkCopyBufferInfo2* pCopyBufferInfo); 11787 11788 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 11789 VkCommandBuffer commandBuffer, 11790 const VkCopyImageInfo2* pCopyImageInfo); 11791 11792 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 11793 VkCommandBuffer commandBuffer, 11794 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11795 11796 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 11797 VkCommandBuffer commandBuffer, 11798 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11799 11800 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 11801 VkCommandBuffer commandBuffer, 11802 const VkBlitImageInfo2* pBlitImageInfo); 11803 11804 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 11805 VkCommandBuffer commandBuffer, 11806 const VkResolveImageInfo2* pResolveImageInfo); 11807 #endif 11808 11809 11810 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 11811 #define VK_KHR_format_feature_flags2 1 11812 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11813 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11814 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11815 11816 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11817 11818 typedef VkFormatProperties3 VkFormatProperties3KHR; 11819 11820 11821 11822 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11823 #define VK_KHR_ray_tracing_maintenance1 1 11824 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11825 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11826 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11827 VkStructureType sType; 11828 void* pNext; 11829 VkBool32 rayTracingMaintenance1; 11830 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11831 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11832 11833 typedef struct VkTraceRaysIndirectCommand2KHR { 11834 VkDeviceAddress raygenShaderRecordAddress; 11835 VkDeviceSize raygenShaderRecordSize; 11836 VkDeviceAddress missShaderBindingTableAddress; 11837 VkDeviceSize missShaderBindingTableSize; 11838 VkDeviceSize missShaderBindingTableStride; 11839 VkDeviceAddress hitShaderBindingTableAddress; 11840 VkDeviceSize hitShaderBindingTableSize; 11841 VkDeviceSize hitShaderBindingTableStride; 11842 VkDeviceAddress callableShaderBindingTableAddress; 11843 VkDeviceSize callableShaderBindingTableSize; 11844 VkDeviceSize callableShaderBindingTableStride; 11845 uint32_t width; 11846 uint32_t height; 11847 uint32_t depth; 11848 } VkTraceRaysIndirectCommand2KHR; 11849 11850 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11851 11852 #ifndef VK_NO_PROTOTYPES 11853 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11854 VkCommandBuffer commandBuffer, 11855 VkDeviceAddress indirectDeviceAddress); 11856 #endif 11857 11858 11859 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11860 #define VK_KHR_portability_enumeration 1 11861 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11862 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11863 11864 11865 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11866 #define VK_KHR_maintenance4 1 11867 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11868 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11869 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11870 11871 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11872 11873 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11874 11875 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11876 11877 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11878 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11879 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11880 11881 #ifndef VK_NO_PROTOTYPES 11882 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11883 VkDevice device, 11884 const VkDeviceBufferMemoryRequirements* pInfo, 11885 VkMemoryRequirements2* pMemoryRequirements); 11886 11887 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11888 VkDevice device, 11889 const VkDeviceImageMemoryRequirements* pInfo, 11890 VkMemoryRequirements2* pMemoryRequirements); 11891 11892 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11893 VkDevice device, 11894 const VkDeviceImageMemoryRequirements* pInfo, 11895 uint32_t* pSparseMemoryRequirementCount, 11896 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11897 #endif 11898 11899 11900 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11901 #define VK_KHR_shader_subgroup_rotate 1 11902 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11903 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11904 typedef VkPhysicalDeviceShaderSubgroupRotateFeatures VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11905 11906 11907 11908 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11909 #define VK_KHR_shader_maximal_reconvergence 1 11910 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11911 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11912 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11913 VkStructureType sType; 11914 void* pNext; 11915 VkBool32 shaderMaximalReconvergence; 11916 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11917 11918 11919 11920 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11921 #define VK_KHR_maintenance5 1 11922 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11923 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11924 typedef VkPipelineCreateFlags2 VkPipelineCreateFlags2KHR; 11925 11926 typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR; 11927 11928 typedef VkBufferUsageFlags2 VkBufferUsageFlags2KHR; 11929 11930 typedef VkBufferUsageFlagBits2 VkBufferUsageFlagBits2KHR; 11931 11932 typedef VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR; 11933 11934 typedef VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR; 11935 11936 typedef VkRenderingAreaInfo VkRenderingAreaInfoKHR; 11937 11938 typedef VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR; 11939 11940 typedef VkImageSubresource2 VkImageSubresource2KHR; 11941 11942 typedef VkSubresourceLayout2 VkSubresourceLayout2KHR; 11943 11944 typedef VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR; 11945 11946 typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR; 11947 11948 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11949 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 11950 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 11951 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 11952 11953 #ifndef VK_NO_PROTOTYPES 11954 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11955 VkCommandBuffer commandBuffer, 11956 VkBuffer buffer, 11957 VkDeviceSize offset, 11958 VkDeviceSize size, 11959 VkIndexType indexType); 11960 11961 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11962 VkDevice device, 11963 const VkRenderingAreaInfo* pRenderingAreaInfo, 11964 VkExtent2D* pGranularity); 11965 11966 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11967 VkDevice device, 11968 const VkDeviceImageSubresourceInfo* pInfo, 11969 VkSubresourceLayout2* pLayout); 11970 11971 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11972 VkDevice device, 11973 VkImage image, 11974 const VkImageSubresource2* pSubresource, 11975 VkSubresourceLayout2* pLayout); 11976 #endif 11977 11978 11979 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11980 #define VK_KHR_ray_tracing_position_fetch 1 11981 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11982 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11983 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11984 VkStructureType sType; 11985 void* pNext; 11986 VkBool32 rayTracingPositionFetch; 11987 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11988 11989 11990 11991 // VK_KHR_pipeline_binary is a preprocessor guard. Do not pass it to API calls. 11992 #define VK_KHR_pipeline_binary 1 11993 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) 11994 #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32U 11995 #define VK_KHR_PIPELINE_BINARY_SPEC_VERSION 1 11996 #define VK_KHR_PIPELINE_BINARY_EXTENSION_NAME "VK_KHR_pipeline_binary" 11997 typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR { 11998 VkStructureType sType; 11999 void* pNext; 12000 VkBool32 pipelineBinaries; 12001 } VkPhysicalDevicePipelineBinaryFeaturesKHR; 12002 12003 typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR { 12004 VkStructureType sType; 12005 void* pNext; 12006 VkBool32 pipelineBinaryInternalCache; 12007 VkBool32 pipelineBinaryInternalCacheControl; 12008 VkBool32 pipelineBinaryPrefersInternalCache; 12009 VkBool32 pipelineBinaryPrecompiledInternalCache; 12010 VkBool32 pipelineBinaryCompressedData; 12011 } VkPhysicalDevicePipelineBinaryPropertiesKHR; 12012 12013 typedef struct VkDevicePipelineBinaryInternalCacheControlKHR { 12014 VkStructureType sType; 12015 const void* pNext; 12016 VkBool32 disableInternalCache; 12017 } VkDevicePipelineBinaryInternalCacheControlKHR; 12018 12019 typedef struct VkPipelineBinaryKeyKHR { 12020 VkStructureType sType; 12021 void* pNext; 12022 uint32_t keySize; 12023 uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR]; 12024 } VkPipelineBinaryKeyKHR; 12025 12026 typedef struct VkPipelineBinaryDataKHR { 12027 size_t dataSize; 12028 void* pData; 12029 } VkPipelineBinaryDataKHR; 12030 12031 typedef struct VkPipelineBinaryKeysAndDataKHR { 12032 uint32_t binaryCount; 12033 const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys; 12034 const VkPipelineBinaryDataKHR* pPipelineBinaryData; 12035 } VkPipelineBinaryKeysAndDataKHR; 12036 12037 typedef struct VkPipelineCreateInfoKHR { 12038 VkStructureType sType; 12039 void* pNext; 12040 } VkPipelineCreateInfoKHR; 12041 12042 typedef struct VkPipelineBinaryCreateInfoKHR { 12043 VkStructureType sType; 12044 const void* pNext; 12045 const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo; 12046 VkPipeline pipeline; 12047 const VkPipelineCreateInfoKHR* pPipelineCreateInfo; 12048 } VkPipelineBinaryCreateInfoKHR; 12049 12050 typedef struct VkPipelineBinaryInfoKHR { 12051 VkStructureType sType; 12052 const void* pNext; 12053 uint32_t binaryCount; 12054 const VkPipelineBinaryKHR* pPipelineBinaries; 12055 } VkPipelineBinaryInfoKHR; 12056 12057 typedef struct VkReleaseCapturedPipelineDataInfoKHR { 12058 VkStructureType sType; 12059 void* pNext; 12060 VkPipeline pipeline; 12061 } VkReleaseCapturedPipelineDataInfoKHR; 12062 12063 typedef struct VkPipelineBinaryDataInfoKHR { 12064 VkStructureType sType; 12065 void* pNext; 12066 VkPipelineBinaryKHR pipelineBinary; 12067 } VkPipelineBinaryDataInfoKHR; 12068 12069 typedef struct VkPipelineBinaryHandlesInfoKHR { 12070 VkStructureType sType; 12071 const void* pNext; 12072 uint32_t pipelineBinaryCount; 12073 VkPipelineBinaryKHR* pPipelineBinaries; 12074 } VkPipelineBinaryHandlesInfoKHR; 12075 12076 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineBinariesKHR)(VkDevice device, const VkPipelineBinaryCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineBinaryHandlesInfoKHR* pBinaries); 12077 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineBinaryKHR)(VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks* pAllocator); 12078 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineKeyKHR)(VkDevice device, const VkPipelineCreateInfoKHR* pPipelineCreateInfo, VkPipelineBinaryKeyKHR* pPipelineKey); 12079 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineBinaryDataKHR)(VkDevice device, const VkPipelineBinaryDataInfoKHR* pInfo, VkPipelineBinaryKeyKHR* pPipelineBinaryKey, size_t* pPipelineBinaryDataSize, void* pPipelineBinaryData); 12080 typedef VkResult (VKAPI_PTR *PFN_vkReleaseCapturedPipelineDataKHR)(VkDevice device, const VkReleaseCapturedPipelineDataInfoKHR* pInfo, const VkAllocationCallbacks* pAllocator); 12081 12082 #ifndef VK_NO_PROTOTYPES 12083 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineBinariesKHR( 12084 VkDevice device, 12085 const VkPipelineBinaryCreateInfoKHR* pCreateInfo, 12086 const VkAllocationCallbacks* pAllocator, 12087 VkPipelineBinaryHandlesInfoKHR* pBinaries); 12088 12089 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineBinaryKHR( 12090 VkDevice device, 12091 VkPipelineBinaryKHR pipelineBinary, 12092 const VkAllocationCallbacks* pAllocator); 12093 12094 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineKeyKHR( 12095 VkDevice device, 12096 const VkPipelineCreateInfoKHR* pPipelineCreateInfo, 12097 VkPipelineBinaryKeyKHR* pPipelineKey); 12098 12099 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineBinaryDataKHR( 12100 VkDevice device, 12101 const VkPipelineBinaryDataInfoKHR* pInfo, 12102 VkPipelineBinaryKeyKHR* pPipelineBinaryKey, 12103 size_t* pPipelineBinaryDataSize, 12104 void* pPipelineBinaryData); 12105 12106 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseCapturedPipelineDataKHR( 12107 VkDevice device, 12108 const VkReleaseCapturedPipelineDataInfoKHR* pInfo, 12109 const VkAllocationCallbacks* pAllocator); 12110 #endif 12111 12112 12113 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 12114 #define VK_KHR_cooperative_matrix 1 12115 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 12116 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 12117 12118 typedef enum VkComponentTypeKHR { 12119 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 12120 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 12121 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 12122 VK_COMPONENT_TYPE_SINT8_KHR = 3, 12123 VK_COMPONENT_TYPE_SINT16_KHR = 4, 12124 VK_COMPONENT_TYPE_SINT32_KHR = 5, 12125 VK_COMPONENT_TYPE_SINT64_KHR = 6, 12126 VK_COMPONENT_TYPE_UINT8_KHR = 7, 12127 VK_COMPONENT_TYPE_UINT16_KHR = 8, 12128 VK_COMPONENT_TYPE_UINT32_KHR = 9, 12129 VK_COMPONENT_TYPE_UINT64_KHR = 10, 12130 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 12131 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 12132 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 12133 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 12134 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 12135 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 12136 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 12137 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 12138 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 12139 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 12140 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 12141 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 12142 } VkComponentTypeKHR; 12143 12144 typedef enum VkScopeKHR { 12145 VK_SCOPE_DEVICE_KHR = 1, 12146 VK_SCOPE_WORKGROUP_KHR = 2, 12147 VK_SCOPE_SUBGROUP_KHR = 3, 12148 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 12149 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 12150 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 12151 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 12152 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 12153 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 12154 } VkScopeKHR; 12155 typedef struct VkCooperativeMatrixPropertiesKHR { 12156 VkStructureType sType; 12157 void* pNext; 12158 uint32_t MSize; 12159 uint32_t NSize; 12160 uint32_t KSize; 12161 VkComponentTypeKHR AType; 12162 VkComponentTypeKHR BType; 12163 VkComponentTypeKHR CType; 12164 VkComponentTypeKHR ResultType; 12165 VkBool32 saturatingAccumulation; 12166 VkScopeKHR scope; 12167 } VkCooperativeMatrixPropertiesKHR; 12168 12169 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 12170 VkStructureType sType; 12171 void* pNext; 12172 VkBool32 cooperativeMatrix; 12173 VkBool32 cooperativeMatrixRobustBufferAccess; 12174 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 12175 12176 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 12177 VkStructureType sType; 12178 void* pNext; 12179 VkShaderStageFlags cooperativeMatrixSupportedStages; 12180 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 12181 12182 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 12183 12184 #ifndef VK_NO_PROTOTYPES 12185 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 12186 VkPhysicalDevice physicalDevice, 12187 uint32_t* pPropertyCount, 12188 VkCooperativeMatrixPropertiesKHR* pProperties); 12189 #endif 12190 12191 12192 // VK_KHR_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 12193 #define VK_KHR_compute_shader_derivatives 1 12194 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 12195 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_KHR_compute_shader_derivatives" 12196 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR { 12197 VkStructureType sType; 12198 void* pNext; 12199 VkBool32 computeDerivativeGroupQuads; 12200 VkBool32 computeDerivativeGroupLinear; 12201 } VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR; 12202 12203 typedef struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR { 12204 VkStructureType sType; 12205 void* pNext; 12206 VkBool32 meshAndTaskShaderDerivatives; 12207 } VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR; 12208 12209 12210 12211 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 12212 #define VK_KHR_video_decode_av1 1 12213 #include "vk_video/vulkan_video_codec_av1std.h" 12214 #include "vk_video/vulkan_video_codec_av1std_decode.h" 12215 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 12216 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 12217 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 12218 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 12219 VkStructureType sType; 12220 const void* pNext; 12221 StdVideoAV1Profile stdProfile; 12222 VkBool32 filmGrainSupport; 12223 } VkVideoDecodeAV1ProfileInfoKHR; 12224 12225 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 12226 VkStructureType sType; 12227 void* pNext; 12228 StdVideoAV1Level maxLevel; 12229 } VkVideoDecodeAV1CapabilitiesKHR; 12230 12231 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 12232 VkStructureType sType; 12233 const void* pNext; 12234 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12235 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 12236 12237 typedef struct VkVideoDecodeAV1PictureInfoKHR { 12238 VkStructureType sType; 12239 const void* pNext; 12240 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 12241 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 12242 uint32_t frameHeaderOffset; 12243 uint32_t tileCount; 12244 const uint32_t* pTileOffsets; 12245 const uint32_t* pTileSizes; 12246 } VkVideoDecodeAV1PictureInfoKHR; 12247 12248 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 12249 VkStructureType sType; 12250 const void* pNext; 12251 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 12252 } VkVideoDecodeAV1DpbSlotInfoKHR; 12253 12254 12255 12256 // VK_KHR_video_encode_av1 is a preprocessor guard. Do not pass it to API calls. 12257 #define VK_KHR_video_encode_av1 1 12258 #include "vk_video/vulkan_video_codec_av1std_encode.h" 12259 #define VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION 1 12260 #define VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME "VK_KHR_video_encode_av1" 12261 12262 typedef enum VkVideoEncodeAV1PredictionModeKHR { 12263 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR = 0, 12264 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR = 1, 12265 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR = 2, 12266 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR = 3, 12267 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 12268 } VkVideoEncodeAV1PredictionModeKHR; 12269 12270 typedef enum VkVideoEncodeAV1RateControlGroupKHR { 12271 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR = 0, 12272 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR = 1, 12273 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR = 2, 12274 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_MAX_ENUM_KHR = 0x7FFFFFFF 12275 } VkVideoEncodeAV1RateControlGroupKHR; 12276 12277 typedef enum VkVideoEncodeAV1CapabilityFlagBitsKHR { 12278 VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR = 0x00000001, 12279 VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR = 0x00000002, 12280 VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR = 0x00000004, 12281 VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR = 0x00000008, 12282 VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR = 0x00000010, 12283 VK_VIDEO_ENCODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12284 } VkVideoEncodeAV1CapabilityFlagBitsKHR; 12285 typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR; 12286 12287 typedef enum VkVideoEncodeAV1StdFlagBitsKHR { 12288 VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR = 0x00000001, 12289 VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR = 0x00000002, 12290 VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR = 0x00000004, 12291 VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR = 0x00000008, 12292 VK_VIDEO_ENCODE_AV1_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12293 } VkVideoEncodeAV1StdFlagBitsKHR; 12294 typedef VkFlags VkVideoEncodeAV1StdFlagsKHR; 12295 12296 typedef enum VkVideoEncodeAV1SuperblockSizeFlagBitsKHR { 12297 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR = 0x00000001, 12298 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR = 0x00000002, 12299 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12300 } VkVideoEncodeAV1SuperblockSizeFlagBitsKHR; 12301 typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR; 12302 12303 typedef enum VkVideoEncodeAV1RateControlFlagBitsKHR { 12304 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000001, 12305 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000002, 12306 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 12307 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 12308 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 12309 } VkVideoEncodeAV1RateControlFlagBitsKHR; 12310 typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR; 12311 typedef struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR { 12312 VkStructureType sType; 12313 void* pNext; 12314 VkBool32 videoEncodeAV1; 12315 } VkPhysicalDeviceVideoEncodeAV1FeaturesKHR; 12316 12317 typedef struct VkVideoEncodeAV1CapabilitiesKHR { 12318 VkStructureType sType; 12319 void* pNext; 12320 VkVideoEncodeAV1CapabilityFlagsKHR flags; 12321 StdVideoAV1Level maxLevel; 12322 VkExtent2D codedPictureAlignment; 12323 VkExtent2D maxTiles; 12324 VkExtent2D minTileSize; 12325 VkExtent2D maxTileSize; 12326 VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes; 12327 uint32_t maxSingleReferenceCount; 12328 uint32_t singleReferenceNameMask; 12329 uint32_t maxUnidirectionalCompoundReferenceCount; 12330 uint32_t maxUnidirectionalCompoundGroup1ReferenceCount; 12331 uint32_t unidirectionalCompoundReferenceNameMask; 12332 uint32_t maxBidirectionalCompoundReferenceCount; 12333 uint32_t maxBidirectionalCompoundGroup1ReferenceCount; 12334 uint32_t maxBidirectionalCompoundGroup2ReferenceCount; 12335 uint32_t bidirectionalCompoundReferenceNameMask; 12336 uint32_t maxTemporalLayerCount; 12337 uint32_t maxSpatialLayerCount; 12338 uint32_t maxOperatingPoints; 12339 uint32_t minQIndex; 12340 uint32_t maxQIndex; 12341 VkBool32 prefersGopRemainingFrames; 12342 VkBool32 requiresGopRemainingFrames; 12343 VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags; 12344 } VkVideoEncodeAV1CapabilitiesKHR; 12345 12346 typedef struct VkVideoEncodeAV1QIndexKHR { 12347 uint32_t intraQIndex; 12348 uint32_t predictiveQIndex; 12349 uint32_t bipredictiveQIndex; 12350 } VkVideoEncodeAV1QIndexKHR; 12351 12352 typedef struct VkVideoEncodeAV1QualityLevelPropertiesKHR { 12353 VkStructureType sType; 12354 void* pNext; 12355 VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags; 12356 uint32_t preferredGopFrameCount; 12357 uint32_t preferredKeyFramePeriod; 12358 uint32_t preferredConsecutiveBipredictiveFrameCount; 12359 uint32_t preferredTemporalLayerCount; 12360 VkVideoEncodeAV1QIndexKHR preferredConstantQIndex; 12361 uint32_t preferredMaxSingleReferenceCount; 12362 uint32_t preferredSingleReferenceNameMask; 12363 uint32_t preferredMaxUnidirectionalCompoundReferenceCount; 12364 uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount; 12365 uint32_t preferredUnidirectionalCompoundReferenceNameMask; 12366 uint32_t preferredMaxBidirectionalCompoundReferenceCount; 12367 uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount; 12368 uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount; 12369 uint32_t preferredBidirectionalCompoundReferenceNameMask; 12370 } VkVideoEncodeAV1QualityLevelPropertiesKHR; 12371 12372 typedef struct VkVideoEncodeAV1SessionCreateInfoKHR { 12373 VkStructureType sType; 12374 const void* pNext; 12375 VkBool32 useMaxLevel; 12376 StdVideoAV1Level maxLevel; 12377 } VkVideoEncodeAV1SessionCreateInfoKHR; 12378 12379 typedef struct VkVideoEncodeAV1SessionParametersCreateInfoKHR { 12380 VkStructureType sType; 12381 const void* pNext; 12382 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12383 const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo; 12384 uint32_t stdOperatingPointCount; 12385 const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints; 12386 } VkVideoEncodeAV1SessionParametersCreateInfoKHR; 12387 12388 typedef struct VkVideoEncodeAV1PictureInfoKHR { 12389 VkStructureType sType; 12390 const void* pNext; 12391 VkVideoEncodeAV1PredictionModeKHR predictionMode; 12392 VkVideoEncodeAV1RateControlGroupKHR rateControlGroup; 12393 uint32_t constantQIndex; 12394 const StdVideoEncodeAV1PictureInfo* pStdPictureInfo; 12395 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 12396 VkBool32 primaryReferenceCdfOnly; 12397 VkBool32 generateObuExtensionHeader; 12398 } VkVideoEncodeAV1PictureInfoKHR; 12399 12400 typedef struct VkVideoEncodeAV1DpbSlotInfoKHR { 12401 VkStructureType sType; 12402 const void* pNext; 12403 const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo; 12404 } VkVideoEncodeAV1DpbSlotInfoKHR; 12405 12406 typedef struct VkVideoEncodeAV1ProfileInfoKHR { 12407 VkStructureType sType; 12408 const void* pNext; 12409 StdVideoAV1Profile stdProfile; 12410 } VkVideoEncodeAV1ProfileInfoKHR; 12411 12412 typedef struct VkVideoEncodeAV1FrameSizeKHR { 12413 uint32_t intraFrameSize; 12414 uint32_t predictiveFrameSize; 12415 uint32_t bipredictiveFrameSize; 12416 } VkVideoEncodeAV1FrameSizeKHR; 12417 12418 typedef struct VkVideoEncodeAV1GopRemainingFrameInfoKHR { 12419 VkStructureType sType; 12420 const void* pNext; 12421 VkBool32 useGopRemainingFrames; 12422 uint32_t gopRemainingIntra; 12423 uint32_t gopRemainingPredictive; 12424 uint32_t gopRemainingBipredictive; 12425 } VkVideoEncodeAV1GopRemainingFrameInfoKHR; 12426 12427 typedef struct VkVideoEncodeAV1RateControlInfoKHR { 12428 VkStructureType sType; 12429 const void* pNext; 12430 VkVideoEncodeAV1RateControlFlagsKHR flags; 12431 uint32_t gopFrameCount; 12432 uint32_t keyFramePeriod; 12433 uint32_t consecutiveBipredictiveFrameCount; 12434 uint32_t temporalLayerCount; 12435 } VkVideoEncodeAV1RateControlInfoKHR; 12436 12437 typedef struct VkVideoEncodeAV1RateControlLayerInfoKHR { 12438 VkStructureType sType; 12439 const void* pNext; 12440 VkBool32 useMinQIndex; 12441 VkVideoEncodeAV1QIndexKHR minQIndex; 12442 VkBool32 useMaxQIndex; 12443 VkVideoEncodeAV1QIndexKHR maxQIndex; 12444 VkBool32 useMaxFrameSize; 12445 VkVideoEncodeAV1FrameSizeKHR maxFrameSize; 12446 } VkVideoEncodeAV1RateControlLayerInfoKHR; 12447 12448 12449 12450 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 12451 #define VK_KHR_video_maintenance1 1 12452 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 12453 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 12454 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 12455 VkStructureType sType; 12456 void* pNext; 12457 VkBool32 videoMaintenance1; 12458 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 12459 12460 typedef struct VkVideoInlineQueryInfoKHR { 12461 VkStructureType sType; 12462 const void* pNext; 12463 VkQueryPool queryPool; 12464 uint32_t firstQuery; 12465 uint32_t queryCount; 12466 } VkVideoInlineQueryInfoKHR; 12467 12468 12469 12470 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 12471 #define VK_KHR_vertex_attribute_divisor 1 12472 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 12473 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 12474 typedef VkPhysicalDeviceVertexAttributeDivisorProperties VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 12475 12476 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR; 12477 12478 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR; 12479 12480 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 12481 12482 12483 12484 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 12485 #define VK_KHR_load_store_op_none 1 12486 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 12487 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 12488 12489 12490 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 12491 #define VK_KHR_shader_float_controls2 1 12492 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 12493 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 12494 typedef VkPhysicalDeviceShaderFloatControls2Features VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 12495 12496 12497 12498 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 12499 #define VK_KHR_index_type_uint8 1 12500 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 12501 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 12502 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 12503 12504 12505 12506 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12507 #define VK_KHR_line_rasterization 1 12508 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 12509 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 12510 typedef VkLineRasterizationMode VkLineRasterizationModeKHR; 12511 12512 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR; 12513 12514 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR; 12515 12516 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR; 12517 12518 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 12519 12520 #ifndef VK_NO_PROTOTYPES 12521 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 12522 VkCommandBuffer commandBuffer, 12523 uint32_t lineStippleFactor, 12524 uint16_t lineStipplePattern); 12525 #endif 12526 12527 12528 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 12529 #define VK_KHR_calibrated_timestamps 1 12530 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 12531 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 12532 12533 typedef enum VkTimeDomainKHR { 12534 VK_TIME_DOMAIN_DEVICE_KHR = 0, 12535 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 12536 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 12537 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 12538 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 12539 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 12540 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 12541 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 12542 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 12543 } VkTimeDomainKHR; 12544 typedef struct VkCalibratedTimestampInfoKHR { 12545 VkStructureType sType; 12546 const void* pNext; 12547 VkTimeDomainKHR timeDomain; 12548 } VkCalibratedTimestampInfoKHR; 12549 12550 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 12551 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 12552 12553 #ifndef VK_NO_PROTOTYPES 12554 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 12555 VkPhysicalDevice physicalDevice, 12556 uint32_t* pTimeDomainCount, 12557 VkTimeDomainKHR* pTimeDomains); 12558 12559 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 12560 VkDevice device, 12561 uint32_t timestampCount, 12562 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 12563 uint64_t* pTimestamps, 12564 uint64_t* pMaxDeviation); 12565 #endif 12566 12567 12568 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 12569 #define VK_KHR_shader_expect_assume 1 12570 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 12571 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 12572 typedef VkPhysicalDeviceShaderExpectAssumeFeatures VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 12573 12574 12575 12576 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 12577 #define VK_KHR_maintenance6 1 12578 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 12579 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 12580 typedef VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR; 12581 12582 typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR; 12583 12584 typedef VkBindMemoryStatus VkBindMemoryStatusKHR; 12585 12586 typedef VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR; 12587 12588 typedef VkPushConstantsInfo VkPushConstantsInfoKHR; 12589 12590 typedef VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR; 12591 12592 typedef VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR; 12593 12594 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 12595 VkStructureType sType; 12596 const void* pNext; 12597 VkShaderStageFlags stageFlags; 12598 VkPipelineLayout layout; 12599 uint32_t firstSet; 12600 uint32_t setCount; 12601 const uint32_t* pBufferIndices; 12602 const VkDeviceSize* pOffsets; 12603 } VkSetDescriptorBufferOffsetsInfoEXT; 12604 12605 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 12606 VkStructureType sType; 12607 const void* pNext; 12608 VkShaderStageFlags stageFlags; 12609 VkPipelineLayout layout; 12610 uint32_t set; 12611 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 12612 12613 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12614 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 12615 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12616 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12617 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12618 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12619 12620 #ifndef VK_NO_PROTOTYPES 12621 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 12622 VkCommandBuffer commandBuffer, 12623 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12624 12625 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 12626 VkCommandBuffer commandBuffer, 12627 const VkPushConstantsInfo* pPushConstantsInfo); 12628 12629 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 12630 VkCommandBuffer commandBuffer, 12631 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12632 12633 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 12634 VkCommandBuffer commandBuffer, 12635 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12636 12637 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 12638 VkCommandBuffer commandBuffer, 12639 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12640 12641 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 12642 VkCommandBuffer commandBuffer, 12643 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12644 #endif 12645 12646 12647 // VK_KHR_video_encode_quantization_map is a preprocessor guard. Do not pass it to API calls. 12648 #define VK_KHR_video_encode_quantization_map 1 12649 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION 2 12650 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME "VK_KHR_video_encode_quantization_map" 12651 typedef struct VkVideoEncodeQuantizationMapCapabilitiesKHR { 12652 VkStructureType sType; 12653 void* pNext; 12654 VkExtent2D maxQuantizationMapExtent; 12655 } VkVideoEncodeQuantizationMapCapabilitiesKHR; 12656 12657 typedef struct VkVideoFormatQuantizationMapPropertiesKHR { 12658 VkStructureType sType; 12659 void* pNext; 12660 VkExtent2D quantizationMapTexelSize; 12661 } VkVideoFormatQuantizationMapPropertiesKHR; 12662 12663 typedef struct VkVideoEncodeQuantizationMapInfoKHR { 12664 VkStructureType sType; 12665 const void* pNext; 12666 VkImageView quantizationMap; 12667 VkExtent2D quantizationMapExtent; 12668 } VkVideoEncodeQuantizationMapInfoKHR; 12669 12670 typedef struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR { 12671 VkStructureType sType; 12672 const void* pNext; 12673 VkExtent2D quantizationMapTexelSize; 12674 } VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR; 12675 12676 typedef struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR { 12677 VkStructureType sType; 12678 void* pNext; 12679 VkBool32 videoEncodeQuantizationMap; 12680 } VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR; 12681 12682 typedef struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR { 12683 VkStructureType sType; 12684 void* pNext; 12685 int32_t minQpDelta; 12686 int32_t maxQpDelta; 12687 } VkVideoEncodeH264QuantizationMapCapabilitiesKHR; 12688 12689 typedef struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR { 12690 VkStructureType sType; 12691 void* pNext; 12692 int32_t minQpDelta; 12693 int32_t maxQpDelta; 12694 } VkVideoEncodeH265QuantizationMapCapabilitiesKHR; 12695 12696 typedef struct VkVideoFormatH265QuantizationMapPropertiesKHR { 12697 VkStructureType sType; 12698 void* pNext; 12699 VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes; 12700 } VkVideoFormatH265QuantizationMapPropertiesKHR; 12701 12702 typedef struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR { 12703 VkStructureType sType; 12704 void* pNext; 12705 int32_t minQIndexDelta; 12706 int32_t maxQIndexDelta; 12707 } VkVideoEncodeAV1QuantizationMapCapabilitiesKHR; 12708 12709 typedef struct VkVideoFormatAV1QuantizationMapPropertiesKHR { 12710 VkStructureType sType; 12711 void* pNext; 12712 VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes; 12713 } VkVideoFormatAV1QuantizationMapPropertiesKHR; 12714 12715 12716 12717 // VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls. 12718 #define VK_KHR_shader_relaxed_extended_instruction 1 12719 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1 12720 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME "VK_KHR_shader_relaxed_extended_instruction" 12721 typedef struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR { 12722 VkStructureType sType; 12723 void* pNext; 12724 VkBool32 shaderRelaxedExtendedInstruction; 12725 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR; 12726 12727 12728 12729 // VK_KHR_maintenance7 is a preprocessor guard. Do not pass it to API calls. 12730 #define VK_KHR_maintenance7 1 12731 #define VK_KHR_MAINTENANCE_7_SPEC_VERSION 1 12732 #define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7" 12733 12734 typedef enum VkPhysicalDeviceLayeredApiKHR { 12735 VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0, 12736 VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1, 12737 VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2, 12738 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3, 12739 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4, 12740 VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR = 0x7FFFFFFF 12741 } VkPhysicalDeviceLayeredApiKHR; 12742 typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR { 12743 VkStructureType sType; 12744 void* pNext; 12745 VkBool32 maintenance7; 12746 } VkPhysicalDeviceMaintenance7FeaturesKHR; 12747 12748 typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR { 12749 VkStructureType sType; 12750 void* pNext; 12751 VkBool32 robustFragmentShadingRateAttachmentAccess; 12752 VkBool32 separateDepthStencilAttachmentAccess; 12753 uint32_t maxDescriptorSetTotalUniformBuffersDynamic; 12754 uint32_t maxDescriptorSetTotalStorageBuffersDynamic; 12755 uint32_t maxDescriptorSetTotalBuffersDynamic; 12756 uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic; 12757 uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic; 12758 uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic; 12759 } VkPhysicalDeviceMaintenance7PropertiesKHR; 12760 12761 typedef struct VkPhysicalDeviceLayeredApiPropertiesKHR { 12762 VkStructureType sType; 12763 void* pNext; 12764 uint32_t vendorID; 12765 uint32_t deviceID; 12766 VkPhysicalDeviceLayeredApiKHR layeredAPI; 12767 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 12768 } VkPhysicalDeviceLayeredApiPropertiesKHR; 12769 12770 typedef struct VkPhysicalDeviceLayeredApiPropertiesListKHR { 12771 VkStructureType sType; 12772 void* pNext; 12773 uint32_t layeredApiCount; 12774 VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis; 12775 } VkPhysicalDeviceLayeredApiPropertiesListKHR; 12776 12777 typedef struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR { 12778 VkStructureType sType; 12779 void* pNext; 12780 VkPhysicalDeviceProperties2 properties; 12781 } VkPhysicalDeviceLayeredApiVulkanPropertiesKHR; 12782 12783 12784 12785 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 12786 #define VK_EXT_debug_report 1 12787 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 12788 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 12789 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 12790 12791 typedef enum VkDebugReportObjectTypeEXT { 12792 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 12793 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 12794 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 12795 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 12796 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 12797 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 12798 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 12799 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 12800 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 12801 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 12802 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 12803 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 12804 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 12805 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 12806 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 12807 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 12808 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 12809 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 12810 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 12811 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 12812 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 12813 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 12814 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 12815 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 12816 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 12817 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 12818 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 12819 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 12820 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 12821 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 12822 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 12823 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 12824 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 12825 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 12826 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 12827 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 12828 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 12829 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 12830 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 12831 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 12832 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 12833 // VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a deprecated alias 12834 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 12835 // VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT is a deprecated alias 12836 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 12837 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 12838 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 12839 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12840 } VkDebugReportObjectTypeEXT; 12841 12842 typedef enum VkDebugReportFlagBitsEXT { 12843 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 12844 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 12845 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 12846 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 12847 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 12848 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12849 } VkDebugReportFlagBitsEXT; 12850 typedef VkFlags VkDebugReportFlagsEXT; 12851 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 12852 VkDebugReportFlagsEXT flags, 12853 VkDebugReportObjectTypeEXT objectType, 12854 uint64_t object, 12855 size_t location, 12856 int32_t messageCode, 12857 const char* pLayerPrefix, 12858 const char* pMessage, 12859 void* pUserData); 12860 12861 typedef struct VkDebugReportCallbackCreateInfoEXT { 12862 VkStructureType sType; 12863 const void* pNext; 12864 VkDebugReportFlagsEXT flags; 12865 PFN_vkDebugReportCallbackEXT pfnCallback; 12866 void* pUserData; 12867 } VkDebugReportCallbackCreateInfoEXT; 12868 12869 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 12870 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 12871 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); 12872 12873 #ifndef VK_NO_PROTOTYPES 12874 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 12875 VkInstance instance, 12876 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 12877 const VkAllocationCallbacks* pAllocator, 12878 VkDebugReportCallbackEXT* pCallback); 12879 12880 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 12881 VkInstance instance, 12882 VkDebugReportCallbackEXT callback, 12883 const VkAllocationCallbacks* pAllocator); 12884 12885 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 12886 VkInstance instance, 12887 VkDebugReportFlagsEXT flags, 12888 VkDebugReportObjectTypeEXT objectType, 12889 uint64_t object, 12890 size_t location, 12891 int32_t messageCode, 12892 const char* pLayerPrefix, 12893 const char* pMessage); 12894 #endif 12895 12896 12897 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 12898 #define VK_NV_glsl_shader 1 12899 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 12900 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 12901 12902 12903 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 12904 #define VK_EXT_depth_range_unrestricted 1 12905 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 12906 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 12907 12908 12909 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 12910 #define VK_IMG_filter_cubic 1 12911 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 12912 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 12913 12914 12915 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 12916 #define VK_AMD_rasterization_order 1 12917 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 12918 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 12919 12920 typedef enum VkRasterizationOrderAMD { 12921 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 12922 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 12923 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 12924 } VkRasterizationOrderAMD; 12925 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 12926 VkStructureType sType; 12927 const void* pNext; 12928 VkRasterizationOrderAMD rasterizationOrder; 12929 } VkPipelineRasterizationStateRasterizationOrderAMD; 12930 12931 12932 12933 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 12934 #define VK_AMD_shader_trinary_minmax 1 12935 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 12936 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 12937 12938 12939 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 12940 #define VK_AMD_shader_explicit_vertex_parameter 1 12941 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 12942 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 12943 12944 12945 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 12946 #define VK_EXT_debug_marker 1 12947 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 12948 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 12949 typedef struct VkDebugMarkerObjectNameInfoEXT { 12950 VkStructureType sType; 12951 const void* pNext; 12952 VkDebugReportObjectTypeEXT objectType; 12953 uint64_t object; 12954 const char* pObjectName; 12955 } VkDebugMarkerObjectNameInfoEXT; 12956 12957 typedef struct VkDebugMarkerObjectTagInfoEXT { 12958 VkStructureType sType; 12959 const void* pNext; 12960 VkDebugReportObjectTypeEXT objectType; 12961 uint64_t object; 12962 uint64_t tagName; 12963 size_t tagSize; 12964 const void* pTag; 12965 } VkDebugMarkerObjectTagInfoEXT; 12966 12967 typedef struct VkDebugMarkerMarkerInfoEXT { 12968 VkStructureType sType; 12969 const void* pNext; 12970 const char* pMarkerName; 12971 float color[4]; 12972 } VkDebugMarkerMarkerInfoEXT; 12973 12974 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12975 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12976 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12977 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 12978 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12979 12980 #ifndef VK_NO_PROTOTYPES 12981 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 12982 VkDevice device, 12983 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12984 12985 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 12986 VkDevice device, 12987 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12988 12989 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 12990 VkCommandBuffer commandBuffer, 12991 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12992 12993 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 12994 VkCommandBuffer commandBuffer); 12995 12996 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 12997 VkCommandBuffer commandBuffer, 12998 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12999 #endif 13000 13001 13002 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 13003 #define VK_AMD_gcn_shader 1 13004 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 13005 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 13006 13007 13008 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 13009 #define VK_NV_dedicated_allocation 1 13010 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 13011 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 13012 typedef struct VkDedicatedAllocationImageCreateInfoNV { 13013 VkStructureType sType; 13014 const void* pNext; 13015 VkBool32 dedicatedAllocation; 13016 } VkDedicatedAllocationImageCreateInfoNV; 13017 13018 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 13019 VkStructureType sType; 13020 const void* pNext; 13021 VkBool32 dedicatedAllocation; 13022 } VkDedicatedAllocationBufferCreateInfoNV; 13023 13024 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 13025 VkStructureType sType; 13026 const void* pNext; 13027 VkImage image; 13028 VkBuffer buffer; 13029 } VkDedicatedAllocationMemoryAllocateInfoNV; 13030 13031 13032 13033 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 13034 #define VK_EXT_transform_feedback 1 13035 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 13036 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 13037 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 13038 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 13039 VkStructureType sType; 13040 void* pNext; 13041 VkBool32 transformFeedback; 13042 VkBool32 geometryStreams; 13043 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 13044 13045 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 13046 VkStructureType sType; 13047 void* pNext; 13048 uint32_t maxTransformFeedbackStreams; 13049 uint32_t maxTransformFeedbackBuffers; 13050 VkDeviceSize maxTransformFeedbackBufferSize; 13051 uint32_t maxTransformFeedbackStreamDataSize; 13052 uint32_t maxTransformFeedbackBufferDataSize; 13053 uint32_t maxTransformFeedbackBufferDataStride; 13054 VkBool32 transformFeedbackQueries; 13055 VkBool32 transformFeedbackStreamsLinesTriangles; 13056 VkBool32 transformFeedbackRasterizationStreamSelect; 13057 VkBool32 transformFeedbackDraw; 13058 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 13059 13060 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 13061 VkStructureType sType; 13062 const void* pNext; 13063 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 13064 uint32_t rasterizationStream; 13065 } VkPipelineRasterizationStateStreamCreateInfoEXT; 13066 13067 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 13068 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 13069 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 13070 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 13071 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 13072 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 13073 13074 #ifndef VK_NO_PROTOTYPES 13075 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 13076 VkCommandBuffer commandBuffer, 13077 uint32_t firstBinding, 13078 uint32_t bindingCount, 13079 const VkBuffer* pBuffers, 13080 const VkDeviceSize* pOffsets, 13081 const VkDeviceSize* pSizes); 13082 13083 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 13084 VkCommandBuffer commandBuffer, 13085 uint32_t firstCounterBuffer, 13086 uint32_t counterBufferCount, 13087 const VkBuffer* pCounterBuffers, 13088 const VkDeviceSize* pCounterBufferOffsets); 13089 13090 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 13091 VkCommandBuffer commandBuffer, 13092 uint32_t firstCounterBuffer, 13093 uint32_t counterBufferCount, 13094 const VkBuffer* pCounterBuffers, 13095 const VkDeviceSize* pCounterBufferOffsets); 13096 13097 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 13098 VkCommandBuffer commandBuffer, 13099 VkQueryPool queryPool, 13100 uint32_t query, 13101 VkQueryControlFlags flags, 13102 uint32_t index); 13103 13104 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 13105 VkCommandBuffer commandBuffer, 13106 VkQueryPool queryPool, 13107 uint32_t query, 13108 uint32_t index); 13109 13110 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 13111 VkCommandBuffer commandBuffer, 13112 uint32_t instanceCount, 13113 uint32_t firstInstance, 13114 VkBuffer counterBuffer, 13115 VkDeviceSize counterBufferOffset, 13116 uint32_t counterOffset, 13117 uint32_t vertexStride); 13118 #endif 13119 13120 13121 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 13122 #define VK_NVX_binary_import 1 13123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 13124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 13125 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 2 13126 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 13127 typedef struct VkCuModuleCreateInfoNVX { 13128 VkStructureType sType; 13129 const void* pNext; 13130 size_t dataSize; 13131 const void* pData; 13132 } VkCuModuleCreateInfoNVX; 13133 13134 typedef struct VkCuModuleTexturingModeCreateInfoNVX { 13135 VkStructureType sType; 13136 const void* pNext; 13137 VkBool32 use64bitTexturing; 13138 } VkCuModuleTexturingModeCreateInfoNVX; 13139 13140 typedef struct VkCuFunctionCreateInfoNVX { 13141 VkStructureType sType; 13142 const void* pNext; 13143 VkCuModuleNVX module; 13144 const char* pName; 13145 } VkCuFunctionCreateInfoNVX; 13146 13147 typedef struct VkCuLaunchInfoNVX { 13148 VkStructureType sType; 13149 const void* pNext; 13150 VkCuFunctionNVX function; 13151 uint32_t gridDimX; 13152 uint32_t gridDimY; 13153 uint32_t gridDimZ; 13154 uint32_t blockDimX; 13155 uint32_t blockDimY; 13156 uint32_t blockDimZ; 13157 uint32_t sharedMemBytes; 13158 size_t paramCount; 13159 const void* const * pParams; 13160 size_t extraCount; 13161 const void* const * pExtras; 13162 } VkCuLaunchInfoNVX; 13163 13164 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 13165 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 13166 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 13167 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 13168 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 13169 13170 #ifndef VK_NO_PROTOTYPES 13171 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 13172 VkDevice device, 13173 const VkCuModuleCreateInfoNVX* pCreateInfo, 13174 const VkAllocationCallbacks* pAllocator, 13175 VkCuModuleNVX* pModule); 13176 13177 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 13178 VkDevice device, 13179 const VkCuFunctionCreateInfoNVX* pCreateInfo, 13180 const VkAllocationCallbacks* pAllocator, 13181 VkCuFunctionNVX* pFunction); 13182 13183 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 13184 VkDevice device, 13185 VkCuModuleNVX module, 13186 const VkAllocationCallbacks* pAllocator); 13187 13188 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 13189 VkDevice device, 13190 VkCuFunctionNVX function, 13191 const VkAllocationCallbacks* pAllocator); 13192 13193 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 13194 VkCommandBuffer commandBuffer, 13195 const VkCuLaunchInfoNVX* pLaunchInfo); 13196 #endif 13197 13198 13199 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 13200 #define VK_NVX_image_view_handle 1 13201 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 3 13202 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 13203 typedef struct VkImageViewHandleInfoNVX { 13204 VkStructureType sType; 13205 const void* pNext; 13206 VkImageView imageView; 13207 VkDescriptorType descriptorType; 13208 VkSampler sampler; 13209 } VkImageViewHandleInfoNVX; 13210 13211 typedef struct VkImageViewAddressPropertiesNVX { 13212 VkStructureType sType; 13213 void* pNext; 13214 VkDeviceAddress deviceAddress; 13215 VkDeviceSize size; 13216 } VkImageViewAddressPropertiesNVX; 13217 13218 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 13219 typedef uint64_t (VKAPI_PTR *PFN_vkGetImageViewHandle64NVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 13220 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 13221 13222 #ifndef VK_NO_PROTOTYPES 13223 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 13224 VkDevice device, 13225 const VkImageViewHandleInfoNVX* pInfo); 13226 13227 VKAPI_ATTR uint64_t VKAPI_CALL vkGetImageViewHandle64NVX( 13228 VkDevice device, 13229 const VkImageViewHandleInfoNVX* pInfo); 13230 13231 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 13232 VkDevice device, 13233 VkImageView imageView, 13234 VkImageViewAddressPropertiesNVX* pProperties); 13235 #endif 13236 13237 13238 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 13239 #define VK_AMD_draw_indirect_count 1 13240 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 13241 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 13242 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 13243 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 13244 13245 #ifndef VK_NO_PROTOTYPES 13246 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 13247 VkCommandBuffer commandBuffer, 13248 VkBuffer buffer, 13249 VkDeviceSize offset, 13250 VkBuffer countBuffer, 13251 VkDeviceSize countBufferOffset, 13252 uint32_t maxDrawCount, 13253 uint32_t stride); 13254 13255 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 13256 VkCommandBuffer commandBuffer, 13257 VkBuffer buffer, 13258 VkDeviceSize offset, 13259 VkBuffer countBuffer, 13260 VkDeviceSize countBufferOffset, 13261 uint32_t maxDrawCount, 13262 uint32_t stride); 13263 #endif 13264 13265 13266 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 13267 #define VK_AMD_negative_viewport_height 1 13268 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 13269 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 13270 13271 13272 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 13273 #define VK_AMD_gpu_shader_half_float 1 13274 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 13275 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 13276 13277 13278 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 13279 #define VK_AMD_shader_ballot 1 13280 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 13281 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 13282 13283 13284 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 13285 #define VK_AMD_texture_gather_bias_lod 1 13286 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 13287 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 13288 typedef struct VkTextureLODGatherFormatPropertiesAMD { 13289 VkStructureType sType; 13290 void* pNext; 13291 VkBool32 supportsTextureGatherLODBiasAMD; 13292 } VkTextureLODGatherFormatPropertiesAMD; 13293 13294 13295 13296 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 13297 #define VK_AMD_shader_info 1 13298 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 13299 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 13300 13301 typedef enum VkShaderInfoTypeAMD { 13302 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 13303 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 13304 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 13305 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 13306 } VkShaderInfoTypeAMD; 13307 typedef struct VkShaderResourceUsageAMD { 13308 uint32_t numUsedVgprs; 13309 uint32_t numUsedSgprs; 13310 uint32_t ldsSizePerLocalWorkGroup; 13311 size_t ldsUsageSizeInBytes; 13312 size_t scratchMemUsageInBytes; 13313 } VkShaderResourceUsageAMD; 13314 13315 typedef struct VkShaderStatisticsInfoAMD { 13316 VkShaderStageFlags shaderStageMask; 13317 VkShaderResourceUsageAMD resourceUsage; 13318 uint32_t numPhysicalVgprs; 13319 uint32_t numPhysicalSgprs; 13320 uint32_t numAvailableVgprs; 13321 uint32_t numAvailableSgprs; 13322 uint32_t computeWorkGroupSize[3]; 13323 } VkShaderStatisticsInfoAMD; 13324 13325 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 13326 13327 #ifndef VK_NO_PROTOTYPES 13328 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 13329 VkDevice device, 13330 VkPipeline pipeline, 13331 VkShaderStageFlagBits shaderStage, 13332 VkShaderInfoTypeAMD infoType, 13333 size_t* pInfoSize, 13334 void* pInfo); 13335 #endif 13336 13337 13338 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 13339 #define VK_AMD_shader_image_load_store_lod 1 13340 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 13341 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 13342 13343 13344 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 13345 #define VK_NV_corner_sampled_image 1 13346 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 13347 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 13348 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 13349 VkStructureType sType; 13350 void* pNext; 13351 VkBool32 cornerSampledImage; 13352 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 13353 13354 13355 13356 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 13357 #define VK_IMG_format_pvrtc 1 13358 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 13359 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 13360 13361 13362 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 13363 #define VK_NV_external_memory_capabilities 1 13364 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 13365 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 13366 13367 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 13368 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 13369 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 13370 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 13371 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 13372 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13373 } VkExternalMemoryHandleTypeFlagBitsNV; 13374 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 13375 13376 typedef enum VkExternalMemoryFeatureFlagBitsNV { 13377 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 13378 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 13379 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 13380 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13381 } VkExternalMemoryFeatureFlagBitsNV; 13382 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 13383 typedef struct VkExternalImageFormatPropertiesNV { 13384 VkImageFormatProperties imageFormatProperties; 13385 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 13386 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 13387 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 13388 } VkExternalImageFormatPropertiesNV; 13389 13390 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13391 13392 #ifndef VK_NO_PROTOTYPES 13393 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 13394 VkPhysicalDevice physicalDevice, 13395 VkFormat format, 13396 VkImageType type, 13397 VkImageTiling tiling, 13398 VkImageUsageFlags usage, 13399 VkImageCreateFlags flags, 13400 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 13401 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13402 #endif 13403 13404 13405 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 13406 #define VK_NV_external_memory 1 13407 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 13408 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 13409 typedef struct VkExternalMemoryImageCreateInfoNV { 13410 VkStructureType sType; 13411 const void* pNext; 13412 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13413 } VkExternalMemoryImageCreateInfoNV; 13414 13415 typedef struct VkExportMemoryAllocateInfoNV { 13416 VkStructureType sType; 13417 const void* pNext; 13418 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13419 } VkExportMemoryAllocateInfoNV; 13420 13421 13422 13423 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 13424 #define VK_EXT_validation_flags 1 13425 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 13426 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 13427 13428 typedef enum VkValidationCheckEXT { 13429 VK_VALIDATION_CHECK_ALL_EXT = 0, 13430 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 13431 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 13432 } VkValidationCheckEXT; 13433 typedef struct VkValidationFlagsEXT { 13434 VkStructureType sType; 13435 const void* pNext; 13436 uint32_t disabledValidationCheckCount; 13437 const VkValidationCheckEXT* pDisabledValidationChecks; 13438 } VkValidationFlagsEXT; 13439 13440 13441 13442 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 13443 #define VK_EXT_shader_subgroup_ballot 1 13444 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 13445 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 13446 13447 13448 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 13449 #define VK_EXT_shader_subgroup_vote 1 13450 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 13451 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 13452 13453 13454 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 13455 #define VK_EXT_texture_compression_astc_hdr 1 13456 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 13457 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 13458 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 13459 13460 13461 13462 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 13463 #define VK_EXT_astc_decode_mode 1 13464 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 13465 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 13466 typedef struct VkImageViewASTCDecodeModeEXT { 13467 VkStructureType sType; 13468 const void* pNext; 13469 VkFormat decodeMode; 13470 } VkImageViewASTCDecodeModeEXT; 13471 13472 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 13473 VkStructureType sType; 13474 void* pNext; 13475 VkBool32 decodeModeSharedExponent; 13476 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 13477 13478 13479 13480 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 13481 #define VK_EXT_pipeline_robustness 1 13482 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 13483 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 13484 typedef VkPipelineRobustnessBufferBehavior VkPipelineRobustnessBufferBehaviorEXT; 13485 13486 typedef VkPipelineRobustnessImageBehavior VkPipelineRobustnessImageBehaviorEXT; 13487 13488 typedef VkPhysicalDevicePipelineRobustnessFeatures VkPhysicalDevicePipelineRobustnessFeaturesEXT; 13489 13490 typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT; 13491 13492 typedef VkPipelineRobustnessCreateInfo VkPipelineRobustnessCreateInfoEXT; 13493 13494 13495 13496 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 13497 #define VK_EXT_conditional_rendering 1 13498 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 13499 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 13500 13501 typedef enum VkConditionalRenderingFlagBitsEXT { 13502 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 13503 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13504 } VkConditionalRenderingFlagBitsEXT; 13505 typedef VkFlags VkConditionalRenderingFlagsEXT; 13506 typedef struct VkConditionalRenderingBeginInfoEXT { 13507 VkStructureType sType; 13508 const void* pNext; 13509 VkBuffer buffer; 13510 VkDeviceSize offset; 13511 VkConditionalRenderingFlagsEXT flags; 13512 } VkConditionalRenderingBeginInfoEXT; 13513 13514 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 13515 VkStructureType sType; 13516 void* pNext; 13517 VkBool32 conditionalRendering; 13518 VkBool32 inheritedConditionalRendering; 13519 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 13520 13521 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 13522 VkStructureType sType; 13523 const void* pNext; 13524 VkBool32 conditionalRenderingEnable; 13525 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 13526 13527 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13528 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 13529 13530 #ifndef VK_NO_PROTOTYPES 13531 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 13532 VkCommandBuffer commandBuffer, 13533 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13534 13535 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 13536 VkCommandBuffer commandBuffer); 13537 #endif 13538 13539 13540 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 13541 #define VK_NV_clip_space_w_scaling 1 13542 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 13543 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 13544 typedef struct VkViewportWScalingNV { 13545 float xcoeff; 13546 float ycoeff; 13547 } VkViewportWScalingNV; 13548 13549 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 13550 VkStructureType sType; 13551 const void* pNext; 13552 VkBool32 viewportWScalingEnable; 13553 uint32_t viewportCount; 13554 const VkViewportWScalingNV* pViewportWScalings; 13555 } VkPipelineViewportWScalingStateCreateInfoNV; 13556 13557 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 13558 13559 #ifndef VK_NO_PROTOTYPES 13560 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 13561 VkCommandBuffer commandBuffer, 13562 uint32_t firstViewport, 13563 uint32_t viewportCount, 13564 const VkViewportWScalingNV* pViewportWScalings); 13565 #endif 13566 13567 13568 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 13569 #define VK_EXT_direct_mode_display 1 13570 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 13571 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 13572 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 13573 13574 #ifndef VK_NO_PROTOTYPES 13575 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 13576 VkPhysicalDevice physicalDevice, 13577 VkDisplayKHR display); 13578 #endif 13579 13580 13581 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 13582 #define VK_EXT_display_surface_counter 1 13583 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 13584 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 13585 13586 typedef enum VkSurfaceCounterFlagBitsEXT { 13587 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 13588 // VK_SURFACE_COUNTER_VBLANK_EXT is a deprecated alias 13589 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 13590 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13591 } VkSurfaceCounterFlagBitsEXT; 13592 typedef VkFlags VkSurfaceCounterFlagsEXT; 13593 typedef struct VkSurfaceCapabilities2EXT { 13594 VkStructureType sType; 13595 void* pNext; 13596 uint32_t minImageCount; 13597 uint32_t maxImageCount; 13598 VkExtent2D currentExtent; 13599 VkExtent2D minImageExtent; 13600 VkExtent2D maxImageExtent; 13601 uint32_t maxImageArrayLayers; 13602 VkSurfaceTransformFlagsKHR supportedTransforms; 13603 VkSurfaceTransformFlagBitsKHR currentTransform; 13604 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 13605 VkImageUsageFlags supportedUsageFlags; 13606 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 13607 } VkSurfaceCapabilities2EXT; 13608 13609 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13610 13611 #ifndef VK_NO_PROTOTYPES 13612 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 13613 VkPhysicalDevice physicalDevice, 13614 VkSurfaceKHR surface, 13615 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13616 #endif 13617 13618 13619 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 13620 #define VK_EXT_display_control 1 13621 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 13622 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 13623 13624 typedef enum VkDisplayPowerStateEXT { 13625 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 13626 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 13627 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 13628 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 13629 } VkDisplayPowerStateEXT; 13630 13631 typedef enum VkDeviceEventTypeEXT { 13632 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 13633 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13634 } VkDeviceEventTypeEXT; 13635 13636 typedef enum VkDisplayEventTypeEXT { 13637 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 13638 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13639 } VkDisplayEventTypeEXT; 13640 typedef struct VkDisplayPowerInfoEXT { 13641 VkStructureType sType; 13642 const void* pNext; 13643 VkDisplayPowerStateEXT powerState; 13644 } VkDisplayPowerInfoEXT; 13645 13646 typedef struct VkDeviceEventInfoEXT { 13647 VkStructureType sType; 13648 const void* pNext; 13649 VkDeviceEventTypeEXT deviceEvent; 13650 } VkDeviceEventInfoEXT; 13651 13652 typedef struct VkDisplayEventInfoEXT { 13653 VkStructureType sType; 13654 const void* pNext; 13655 VkDisplayEventTypeEXT displayEvent; 13656 } VkDisplayEventInfoEXT; 13657 13658 typedef struct VkSwapchainCounterCreateInfoEXT { 13659 VkStructureType sType; 13660 const void* pNext; 13661 VkSurfaceCounterFlagsEXT surfaceCounters; 13662 } VkSwapchainCounterCreateInfoEXT; 13663 13664 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13665 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13666 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13667 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 13668 13669 #ifndef VK_NO_PROTOTYPES 13670 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 13671 VkDevice device, 13672 VkDisplayKHR display, 13673 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13674 13675 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 13676 VkDevice device, 13677 const VkDeviceEventInfoEXT* pDeviceEventInfo, 13678 const VkAllocationCallbacks* pAllocator, 13679 VkFence* pFence); 13680 13681 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 13682 VkDevice device, 13683 VkDisplayKHR display, 13684 const VkDisplayEventInfoEXT* pDisplayEventInfo, 13685 const VkAllocationCallbacks* pAllocator, 13686 VkFence* pFence); 13687 13688 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 13689 VkDevice device, 13690 VkSwapchainKHR swapchain, 13691 VkSurfaceCounterFlagBitsEXT counter, 13692 uint64_t* pCounterValue); 13693 #endif 13694 13695 13696 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 13697 #define VK_GOOGLE_display_timing 1 13698 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 13699 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 13700 typedef struct VkRefreshCycleDurationGOOGLE { 13701 uint64_t refreshDuration; 13702 } VkRefreshCycleDurationGOOGLE; 13703 13704 typedef struct VkPastPresentationTimingGOOGLE { 13705 uint32_t presentID; 13706 uint64_t desiredPresentTime; 13707 uint64_t actualPresentTime; 13708 uint64_t earliestPresentTime; 13709 uint64_t presentMargin; 13710 } VkPastPresentationTimingGOOGLE; 13711 13712 typedef struct VkPresentTimeGOOGLE { 13713 uint32_t presentID; 13714 uint64_t desiredPresentTime; 13715 } VkPresentTimeGOOGLE; 13716 13717 typedef struct VkPresentTimesInfoGOOGLE { 13718 VkStructureType sType; 13719 const void* pNext; 13720 uint32_t swapchainCount; 13721 const VkPresentTimeGOOGLE* pTimes; 13722 } VkPresentTimesInfoGOOGLE; 13723 13724 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13725 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 13726 13727 #ifndef VK_NO_PROTOTYPES 13728 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 13729 VkDevice device, 13730 VkSwapchainKHR swapchain, 13731 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13732 13733 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 13734 VkDevice device, 13735 VkSwapchainKHR swapchain, 13736 uint32_t* pPresentationTimingCount, 13737 VkPastPresentationTimingGOOGLE* pPresentationTimings); 13738 #endif 13739 13740 13741 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 13742 #define VK_NV_sample_mask_override_coverage 1 13743 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 13744 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 13745 13746 13747 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 13748 #define VK_NV_geometry_shader_passthrough 1 13749 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 13750 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 13751 13752 13753 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 13754 #define VK_NV_viewport_array2 1 13755 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 13756 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 13757 // VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION is a deprecated alias 13758 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 13759 // VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME is a deprecated alias 13760 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 13761 13762 13763 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 13764 #define VK_NVX_multiview_per_view_attributes 1 13765 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 13766 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 13767 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 13768 VkStructureType sType; 13769 void* pNext; 13770 VkBool32 perViewPositionAllComponents; 13771 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 13772 13773 typedef struct VkMultiviewPerViewAttributesInfoNVX { 13774 VkStructureType sType; 13775 const void* pNext; 13776 VkBool32 perViewAttributes; 13777 VkBool32 perViewAttributesPositionXOnly; 13778 } VkMultiviewPerViewAttributesInfoNVX; 13779 13780 13781 13782 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 13783 #define VK_NV_viewport_swizzle 1 13784 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 13785 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 13786 13787 typedef enum VkViewportCoordinateSwizzleNV { 13788 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 13789 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 13790 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 13791 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 13792 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 13793 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 13794 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 13795 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 13796 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 13797 } VkViewportCoordinateSwizzleNV; 13798 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 13799 typedef struct VkViewportSwizzleNV { 13800 VkViewportCoordinateSwizzleNV x; 13801 VkViewportCoordinateSwizzleNV y; 13802 VkViewportCoordinateSwizzleNV z; 13803 VkViewportCoordinateSwizzleNV w; 13804 } VkViewportSwizzleNV; 13805 13806 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 13807 VkStructureType sType; 13808 const void* pNext; 13809 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 13810 uint32_t viewportCount; 13811 const VkViewportSwizzleNV* pViewportSwizzles; 13812 } VkPipelineViewportSwizzleStateCreateInfoNV; 13813 13814 13815 13816 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 13817 #define VK_EXT_discard_rectangles 1 13818 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 13819 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 13820 13821 typedef enum VkDiscardRectangleModeEXT { 13822 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 13823 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 13824 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13825 } VkDiscardRectangleModeEXT; 13826 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 13827 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 13828 VkStructureType sType; 13829 void* pNext; 13830 uint32_t maxDiscardRectangles; 13831 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 13832 13833 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 13834 VkStructureType sType; 13835 const void* pNext; 13836 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 13837 VkDiscardRectangleModeEXT discardRectangleMode; 13838 uint32_t discardRectangleCount; 13839 const VkRect2D* pDiscardRectangles; 13840 } VkPipelineDiscardRectangleStateCreateInfoEXT; 13841 13842 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 13843 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 13844 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 13845 13846 #ifndef VK_NO_PROTOTYPES 13847 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 13848 VkCommandBuffer commandBuffer, 13849 uint32_t firstDiscardRectangle, 13850 uint32_t discardRectangleCount, 13851 const VkRect2D* pDiscardRectangles); 13852 13853 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 13854 VkCommandBuffer commandBuffer, 13855 VkBool32 discardRectangleEnable); 13856 13857 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 13858 VkCommandBuffer commandBuffer, 13859 VkDiscardRectangleModeEXT discardRectangleMode); 13860 #endif 13861 13862 13863 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 13864 #define VK_EXT_conservative_rasterization 1 13865 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 13866 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 13867 13868 typedef enum VkConservativeRasterizationModeEXT { 13869 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 13870 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 13871 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 13872 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13873 } VkConservativeRasterizationModeEXT; 13874 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 13875 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 13876 VkStructureType sType; 13877 void* pNext; 13878 float primitiveOverestimationSize; 13879 float maxExtraPrimitiveOverestimationSize; 13880 float extraPrimitiveOverestimationSizeGranularity; 13881 VkBool32 primitiveUnderestimation; 13882 VkBool32 conservativePointAndLineRasterization; 13883 VkBool32 degenerateTrianglesRasterized; 13884 VkBool32 degenerateLinesRasterized; 13885 VkBool32 fullyCoveredFragmentShaderInputVariable; 13886 VkBool32 conservativeRasterizationPostDepthCoverage; 13887 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 13888 13889 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 13890 VkStructureType sType; 13891 const void* pNext; 13892 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 13893 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 13894 float extraPrimitiveOverestimationSize; 13895 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 13896 13897 13898 13899 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 13900 #define VK_EXT_depth_clip_enable 1 13901 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 13902 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 13903 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 13904 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 13905 VkStructureType sType; 13906 void* pNext; 13907 VkBool32 depthClipEnable; 13908 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 13909 13910 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 13911 VkStructureType sType; 13912 const void* pNext; 13913 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 13914 VkBool32 depthClipEnable; 13915 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 13916 13917 13918 13919 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 13920 #define VK_EXT_swapchain_colorspace 1 13921 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 5 13922 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 13923 13924 13925 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 13926 #define VK_EXT_hdr_metadata 1 13927 #define VK_EXT_HDR_METADATA_SPEC_VERSION 3 13928 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 13929 typedef struct VkXYColorEXT { 13930 float x; 13931 float y; 13932 } VkXYColorEXT; 13933 13934 typedef struct VkHdrMetadataEXT { 13935 VkStructureType sType; 13936 const void* pNext; 13937 VkXYColorEXT displayPrimaryRed; 13938 VkXYColorEXT displayPrimaryGreen; 13939 VkXYColorEXT displayPrimaryBlue; 13940 VkXYColorEXT whitePoint; 13941 float maxLuminance; 13942 float minLuminance; 13943 float maxContentLightLevel; 13944 float maxFrameAverageLightLevel; 13945 } VkHdrMetadataEXT; 13946 13947 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 13948 13949 #ifndef VK_NO_PROTOTYPES 13950 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 13951 VkDevice device, 13952 uint32_t swapchainCount, 13953 const VkSwapchainKHR* pSwapchains, 13954 const VkHdrMetadataEXT* pMetadata); 13955 #endif 13956 13957 13958 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 13959 #define VK_IMG_relaxed_line_rasterization 1 13960 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 13961 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 13962 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 13963 VkStructureType sType; 13964 void* pNext; 13965 VkBool32 relaxedLineRasterization; 13966 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 13967 13968 13969 13970 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 13971 #define VK_EXT_external_memory_dma_buf 1 13972 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 13973 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 13974 13975 13976 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 13977 #define VK_EXT_queue_family_foreign 1 13978 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 13979 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 13980 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 13981 13982 13983 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 13984 #define VK_EXT_debug_utils 1 13985 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 13986 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 13987 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 13988 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 13989 13990 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 13991 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 13992 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 13993 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 13994 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 13995 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13996 } VkDebugUtilsMessageSeverityFlagBitsEXT; 13997 13998 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 13999 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 14000 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 14001 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 14002 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 14003 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14004 } VkDebugUtilsMessageTypeFlagBitsEXT; 14005 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 14006 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 14007 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 14008 typedef struct VkDebugUtilsLabelEXT { 14009 VkStructureType sType; 14010 const void* pNext; 14011 const char* pLabelName; 14012 float color[4]; 14013 } VkDebugUtilsLabelEXT; 14014 14015 typedef struct VkDebugUtilsObjectNameInfoEXT { 14016 VkStructureType sType; 14017 const void* pNext; 14018 VkObjectType objectType; 14019 uint64_t objectHandle; 14020 const char* pObjectName; 14021 } VkDebugUtilsObjectNameInfoEXT; 14022 14023 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 14024 VkStructureType sType; 14025 const void* pNext; 14026 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 14027 const char* pMessageIdName; 14028 int32_t messageIdNumber; 14029 const char* pMessage; 14030 uint32_t queueLabelCount; 14031 const VkDebugUtilsLabelEXT* pQueueLabels; 14032 uint32_t cmdBufLabelCount; 14033 const VkDebugUtilsLabelEXT* pCmdBufLabels; 14034 uint32_t objectCount; 14035 const VkDebugUtilsObjectNameInfoEXT* pObjects; 14036 } VkDebugUtilsMessengerCallbackDataEXT; 14037 14038 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 14039 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 14040 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 14041 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 14042 void* pUserData); 14043 14044 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 14045 VkStructureType sType; 14046 const void* pNext; 14047 VkDebugUtilsMessengerCreateFlagsEXT flags; 14048 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 14049 VkDebugUtilsMessageTypeFlagsEXT messageType; 14050 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 14051 void* pUserData; 14052 } VkDebugUtilsMessengerCreateInfoEXT; 14053 14054 typedef struct VkDebugUtilsObjectTagInfoEXT { 14055 VkStructureType sType; 14056 const void* pNext; 14057 VkObjectType objectType; 14058 uint64_t objectHandle; 14059 uint64_t tagName; 14060 size_t tagSize; 14061 const void* pTag; 14062 } VkDebugUtilsObjectTagInfoEXT; 14063 14064 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 14065 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 14066 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 14067 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 14068 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 14069 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 14070 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 14071 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 14072 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 14073 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 14074 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 14075 14076 #ifndef VK_NO_PROTOTYPES 14077 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 14078 VkDevice device, 14079 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 14080 14081 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 14082 VkDevice device, 14083 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 14084 14085 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 14086 VkQueue queue, 14087 const VkDebugUtilsLabelEXT* pLabelInfo); 14088 14089 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 14090 VkQueue queue); 14091 14092 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 14093 VkQueue queue, 14094 const VkDebugUtilsLabelEXT* pLabelInfo); 14095 14096 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 14097 VkCommandBuffer commandBuffer, 14098 const VkDebugUtilsLabelEXT* pLabelInfo); 14099 14100 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 14101 VkCommandBuffer commandBuffer); 14102 14103 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 14104 VkCommandBuffer commandBuffer, 14105 const VkDebugUtilsLabelEXT* pLabelInfo); 14106 14107 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 14108 VkInstance instance, 14109 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 14110 const VkAllocationCallbacks* pAllocator, 14111 VkDebugUtilsMessengerEXT* pMessenger); 14112 14113 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 14114 VkInstance instance, 14115 VkDebugUtilsMessengerEXT messenger, 14116 const VkAllocationCallbacks* pAllocator); 14117 14118 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 14119 VkInstance instance, 14120 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 14121 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 14122 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 14123 #endif 14124 14125 14126 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 14127 #define VK_EXT_sampler_filter_minmax 1 14128 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 14129 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 14130 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 14131 14132 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 14133 14134 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 14135 14136 14137 14138 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 14139 #define VK_AMD_gpu_shader_int16 1 14140 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 14141 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 14142 14143 14144 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 14145 #define VK_AMD_mixed_attachment_samples 1 14146 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 14147 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 14148 typedef struct VkAttachmentSampleCountInfoAMD { 14149 VkStructureType sType; 14150 const void* pNext; 14151 uint32_t colorAttachmentCount; 14152 const VkSampleCountFlagBits* pColorAttachmentSamples; 14153 VkSampleCountFlagBits depthStencilAttachmentSamples; 14154 } VkAttachmentSampleCountInfoAMD; 14155 14156 14157 14158 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 14159 #define VK_AMD_shader_fragment_mask 1 14160 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 14161 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 14162 14163 14164 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 14165 #define VK_EXT_inline_uniform_block 1 14166 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 14167 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 14168 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 14169 14170 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 14171 14172 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 14173 14174 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 14175 14176 14177 14178 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 14179 #define VK_EXT_shader_stencil_export 1 14180 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 14181 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 14182 14183 14184 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 14185 #define VK_EXT_sample_locations 1 14186 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 14187 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 14188 typedef struct VkSampleLocationEXT { 14189 float x; 14190 float y; 14191 } VkSampleLocationEXT; 14192 14193 typedef struct VkSampleLocationsInfoEXT { 14194 VkStructureType sType; 14195 const void* pNext; 14196 VkSampleCountFlagBits sampleLocationsPerPixel; 14197 VkExtent2D sampleLocationGridSize; 14198 uint32_t sampleLocationsCount; 14199 const VkSampleLocationEXT* pSampleLocations; 14200 } VkSampleLocationsInfoEXT; 14201 14202 typedef struct VkAttachmentSampleLocationsEXT { 14203 uint32_t attachmentIndex; 14204 VkSampleLocationsInfoEXT sampleLocationsInfo; 14205 } VkAttachmentSampleLocationsEXT; 14206 14207 typedef struct VkSubpassSampleLocationsEXT { 14208 uint32_t subpassIndex; 14209 VkSampleLocationsInfoEXT sampleLocationsInfo; 14210 } VkSubpassSampleLocationsEXT; 14211 14212 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 14213 VkStructureType sType; 14214 const void* pNext; 14215 uint32_t attachmentInitialSampleLocationsCount; 14216 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 14217 uint32_t postSubpassSampleLocationsCount; 14218 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 14219 } VkRenderPassSampleLocationsBeginInfoEXT; 14220 14221 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 14222 VkStructureType sType; 14223 const void* pNext; 14224 VkBool32 sampleLocationsEnable; 14225 VkSampleLocationsInfoEXT sampleLocationsInfo; 14226 } VkPipelineSampleLocationsStateCreateInfoEXT; 14227 14228 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 14229 VkStructureType sType; 14230 void* pNext; 14231 VkSampleCountFlags sampleLocationSampleCounts; 14232 VkExtent2D maxSampleLocationGridSize; 14233 float sampleLocationCoordinateRange[2]; 14234 uint32_t sampleLocationSubPixelBits; 14235 VkBool32 variableSampleLocations; 14236 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 14237 14238 typedef struct VkMultisamplePropertiesEXT { 14239 VkStructureType sType; 14240 void* pNext; 14241 VkExtent2D maxSampleLocationGridSize; 14242 } VkMultisamplePropertiesEXT; 14243 14244 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 14245 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 14246 14247 #ifndef VK_NO_PROTOTYPES 14248 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 14249 VkCommandBuffer commandBuffer, 14250 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 14251 14252 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 14253 VkPhysicalDevice physicalDevice, 14254 VkSampleCountFlagBits samples, 14255 VkMultisamplePropertiesEXT* pMultisampleProperties); 14256 #endif 14257 14258 14259 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 14260 #define VK_EXT_blend_operation_advanced 1 14261 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 14262 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 14263 14264 typedef enum VkBlendOverlapEXT { 14265 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 14266 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 14267 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 14268 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 14269 } VkBlendOverlapEXT; 14270 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 14271 VkStructureType sType; 14272 void* pNext; 14273 VkBool32 advancedBlendCoherentOperations; 14274 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 14275 14276 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 14277 VkStructureType sType; 14278 void* pNext; 14279 uint32_t advancedBlendMaxColorAttachments; 14280 VkBool32 advancedBlendIndependentBlend; 14281 VkBool32 advancedBlendNonPremultipliedSrcColor; 14282 VkBool32 advancedBlendNonPremultipliedDstColor; 14283 VkBool32 advancedBlendCorrelatedOverlap; 14284 VkBool32 advancedBlendAllOperations; 14285 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 14286 14287 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 14288 VkStructureType sType; 14289 const void* pNext; 14290 VkBool32 srcPremultiplied; 14291 VkBool32 dstPremultiplied; 14292 VkBlendOverlapEXT blendOverlap; 14293 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 14294 14295 14296 14297 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 14298 #define VK_NV_fragment_coverage_to_color 1 14299 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 14300 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 14301 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 14302 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 14303 VkStructureType sType; 14304 const void* pNext; 14305 VkPipelineCoverageToColorStateCreateFlagsNV flags; 14306 VkBool32 coverageToColorEnable; 14307 uint32_t coverageToColorLocation; 14308 } VkPipelineCoverageToColorStateCreateInfoNV; 14309 14310 14311 14312 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 14313 #define VK_NV_framebuffer_mixed_samples 1 14314 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 14315 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 14316 14317 typedef enum VkCoverageModulationModeNV { 14318 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 14319 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 14320 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 14321 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 14322 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14323 } VkCoverageModulationModeNV; 14324 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 14325 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 14326 VkStructureType sType; 14327 const void* pNext; 14328 VkPipelineCoverageModulationStateCreateFlagsNV flags; 14329 VkCoverageModulationModeNV coverageModulationMode; 14330 VkBool32 coverageModulationTableEnable; 14331 uint32_t coverageModulationTableCount; 14332 const float* pCoverageModulationTable; 14333 } VkPipelineCoverageModulationStateCreateInfoNV; 14334 14335 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 14336 14337 14338 14339 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 14340 #define VK_NV_fill_rectangle 1 14341 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 14342 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 14343 14344 14345 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 14346 #define VK_NV_shader_sm_builtins 1 14347 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 14348 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 14349 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 14350 VkStructureType sType; 14351 void* pNext; 14352 uint32_t shaderSMCount; 14353 uint32_t shaderWarpsPerSM; 14354 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 14355 14356 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 14357 VkStructureType sType; 14358 void* pNext; 14359 VkBool32 shaderSMBuiltins; 14360 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 14361 14362 14363 14364 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 14365 #define VK_EXT_post_depth_coverage 1 14366 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 14367 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 14368 14369 14370 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 14371 #define VK_EXT_image_drm_format_modifier 1 14372 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 14373 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 14374 typedef struct VkDrmFormatModifierPropertiesEXT { 14375 uint64_t drmFormatModifier; 14376 uint32_t drmFormatModifierPlaneCount; 14377 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 14378 } VkDrmFormatModifierPropertiesEXT; 14379 14380 typedef struct VkDrmFormatModifierPropertiesListEXT { 14381 VkStructureType sType; 14382 void* pNext; 14383 uint32_t drmFormatModifierCount; 14384 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 14385 } VkDrmFormatModifierPropertiesListEXT; 14386 14387 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 14388 VkStructureType sType; 14389 const void* pNext; 14390 uint64_t drmFormatModifier; 14391 VkSharingMode sharingMode; 14392 uint32_t queueFamilyIndexCount; 14393 const uint32_t* pQueueFamilyIndices; 14394 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 14395 14396 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 14397 VkStructureType sType; 14398 const void* pNext; 14399 uint32_t drmFormatModifierCount; 14400 const uint64_t* pDrmFormatModifiers; 14401 } VkImageDrmFormatModifierListCreateInfoEXT; 14402 14403 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 14404 VkStructureType sType; 14405 const void* pNext; 14406 uint64_t drmFormatModifier; 14407 uint32_t drmFormatModifierPlaneCount; 14408 const VkSubresourceLayout* pPlaneLayouts; 14409 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 14410 14411 typedef struct VkImageDrmFormatModifierPropertiesEXT { 14412 VkStructureType sType; 14413 void* pNext; 14414 uint64_t drmFormatModifier; 14415 } VkImageDrmFormatModifierPropertiesEXT; 14416 14417 typedef struct VkDrmFormatModifierProperties2EXT { 14418 uint64_t drmFormatModifier; 14419 uint32_t drmFormatModifierPlaneCount; 14420 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 14421 } VkDrmFormatModifierProperties2EXT; 14422 14423 typedef struct VkDrmFormatModifierPropertiesList2EXT { 14424 VkStructureType sType; 14425 void* pNext; 14426 uint32_t drmFormatModifierCount; 14427 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 14428 } VkDrmFormatModifierPropertiesList2EXT; 14429 14430 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 14431 14432 #ifndef VK_NO_PROTOTYPES 14433 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 14434 VkDevice device, 14435 VkImage image, 14436 VkImageDrmFormatModifierPropertiesEXT* pProperties); 14437 #endif 14438 14439 14440 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 14441 #define VK_EXT_validation_cache 1 14442 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 14443 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 14444 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 14445 14446 typedef enum VkValidationCacheHeaderVersionEXT { 14447 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 14448 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 14449 } VkValidationCacheHeaderVersionEXT; 14450 typedef VkFlags VkValidationCacheCreateFlagsEXT; 14451 typedef struct VkValidationCacheCreateInfoEXT { 14452 VkStructureType sType; 14453 const void* pNext; 14454 VkValidationCacheCreateFlagsEXT flags; 14455 size_t initialDataSize; 14456 const void* pInitialData; 14457 } VkValidationCacheCreateInfoEXT; 14458 14459 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 14460 VkStructureType sType; 14461 const void* pNext; 14462 VkValidationCacheEXT validationCache; 14463 } VkShaderModuleValidationCacheCreateInfoEXT; 14464 14465 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 14466 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 14467 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 14468 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 14469 14470 #ifndef VK_NO_PROTOTYPES 14471 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 14472 VkDevice device, 14473 const VkValidationCacheCreateInfoEXT* pCreateInfo, 14474 const VkAllocationCallbacks* pAllocator, 14475 VkValidationCacheEXT* pValidationCache); 14476 14477 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 14478 VkDevice device, 14479 VkValidationCacheEXT validationCache, 14480 const VkAllocationCallbacks* pAllocator); 14481 14482 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 14483 VkDevice device, 14484 VkValidationCacheEXT dstCache, 14485 uint32_t srcCacheCount, 14486 const VkValidationCacheEXT* pSrcCaches); 14487 14488 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 14489 VkDevice device, 14490 VkValidationCacheEXT validationCache, 14491 size_t* pDataSize, 14492 void* pData); 14493 #endif 14494 14495 14496 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 14497 #define VK_EXT_descriptor_indexing 1 14498 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 14499 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 14500 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 14501 14502 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 14503 14504 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 14505 14506 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 14507 14508 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 14509 14510 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 14511 14512 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 14513 14514 14515 14516 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 14517 #define VK_EXT_shader_viewport_index_layer 1 14518 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 14519 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 14520 14521 14522 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 14523 #define VK_NV_shading_rate_image 1 14524 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 14525 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 14526 14527 typedef enum VkShadingRatePaletteEntryNV { 14528 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 14529 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 14530 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 14531 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 14532 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 14533 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 14534 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 14535 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 14536 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 14537 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 14538 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 14539 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 14540 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 14541 } VkShadingRatePaletteEntryNV; 14542 14543 typedef enum VkCoarseSampleOrderTypeNV { 14544 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 14545 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 14546 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 14547 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 14548 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14549 } VkCoarseSampleOrderTypeNV; 14550 typedef struct VkShadingRatePaletteNV { 14551 uint32_t shadingRatePaletteEntryCount; 14552 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 14553 } VkShadingRatePaletteNV; 14554 14555 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 14556 VkStructureType sType; 14557 const void* pNext; 14558 VkBool32 shadingRateImageEnable; 14559 uint32_t viewportCount; 14560 const VkShadingRatePaletteNV* pShadingRatePalettes; 14561 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 14562 14563 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 14564 VkStructureType sType; 14565 void* pNext; 14566 VkBool32 shadingRateImage; 14567 VkBool32 shadingRateCoarseSampleOrder; 14568 } VkPhysicalDeviceShadingRateImageFeaturesNV; 14569 14570 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 14571 VkStructureType sType; 14572 void* pNext; 14573 VkExtent2D shadingRateTexelSize; 14574 uint32_t shadingRatePaletteSize; 14575 uint32_t shadingRateMaxCoarseSamples; 14576 } VkPhysicalDeviceShadingRateImagePropertiesNV; 14577 14578 typedef struct VkCoarseSampleLocationNV { 14579 uint32_t pixelX; 14580 uint32_t pixelY; 14581 uint32_t sample; 14582 } VkCoarseSampleLocationNV; 14583 14584 typedef struct VkCoarseSampleOrderCustomNV { 14585 VkShadingRatePaletteEntryNV shadingRate; 14586 uint32_t sampleCount; 14587 uint32_t sampleLocationCount; 14588 const VkCoarseSampleLocationNV* pSampleLocations; 14589 } VkCoarseSampleOrderCustomNV; 14590 14591 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 14592 VkStructureType sType; 14593 const void* pNext; 14594 VkCoarseSampleOrderTypeNV sampleOrderType; 14595 uint32_t customSampleOrderCount; 14596 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 14597 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 14598 14599 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 14600 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 14601 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14602 14603 #ifndef VK_NO_PROTOTYPES 14604 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 14605 VkCommandBuffer commandBuffer, 14606 VkImageView imageView, 14607 VkImageLayout imageLayout); 14608 14609 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 14610 VkCommandBuffer commandBuffer, 14611 uint32_t firstViewport, 14612 uint32_t viewportCount, 14613 const VkShadingRatePaletteNV* pShadingRatePalettes); 14614 14615 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 14616 VkCommandBuffer commandBuffer, 14617 VkCoarseSampleOrderTypeNV sampleOrderType, 14618 uint32_t customSampleOrderCount, 14619 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14620 #endif 14621 14622 14623 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 14624 #define VK_NV_ray_tracing 1 14625 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 14626 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 14627 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 14628 #define VK_SHADER_UNUSED_KHR (~0U) 14629 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 14630 14631 typedef enum VkRayTracingShaderGroupTypeKHR { 14632 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 14633 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 14634 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 14635 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 14636 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 14637 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 14638 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14639 } VkRayTracingShaderGroupTypeKHR; 14640 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 14641 14642 14643 typedef enum VkGeometryTypeKHR { 14644 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 14645 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 14646 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 14647 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 14648 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 14649 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14650 } VkGeometryTypeKHR; 14651 typedef VkGeometryTypeKHR VkGeometryTypeNV; 14652 14653 14654 typedef enum VkAccelerationStructureTypeKHR { 14655 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 14656 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 14657 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 14658 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 14659 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 14660 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14661 } VkAccelerationStructureTypeKHR; 14662 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 14663 14664 14665 typedef enum VkCopyAccelerationStructureModeKHR { 14666 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 14667 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 14668 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 14669 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 14670 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 14671 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 14672 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 14673 } VkCopyAccelerationStructureModeKHR; 14674 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 14675 14676 14677 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 14678 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 14679 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 14680 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 14681 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14682 } VkAccelerationStructureMemoryRequirementsTypeNV; 14683 14684 typedef enum VkGeometryFlagBitsKHR { 14685 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 14686 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 14687 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 14688 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 14689 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14690 } VkGeometryFlagBitsKHR; 14691 typedef VkFlags VkGeometryFlagsKHR; 14692 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 14693 14694 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 14695 14696 14697 typedef enum VkGeometryInstanceFlagBitsKHR { 14698 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 14699 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 14700 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 14701 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 14702 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 14703 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 14704 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 14705 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 14706 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 14707 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 14708 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 14709 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14710 } VkGeometryInstanceFlagBitsKHR; 14711 typedef VkFlags VkGeometryInstanceFlagsKHR; 14712 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 14713 14714 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 14715 14716 14717 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 14718 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 14719 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 14720 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 14721 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 14722 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 14723 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 14724 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 14725 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 14726 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 14727 #ifdef VK_ENABLE_BETA_EXTENSIONS 14728 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 14729 #endif 14730 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 14731 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 14732 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 14733 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 14734 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 14735 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 14736 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14737 } VkBuildAccelerationStructureFlagBitsKHR; 14738 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 14739 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 14740 14741 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 14742 14743 typedef struct VkRayTracingShaderGroupCreateInfoNV { 14744 VkStructureType sType; 14745 const void* pNext; 14746 VkRayTracingShaderGroupTypeKHR type; 14747 uint32_t generalShader; 14748 uint32_t closestHitShader; 14749 uint32_t anyHitShader; 14750 uint32_t intersectionShader; 14751 } VkRayTracingShaderGroupCreateInfoNV; 14752 14753 typedef struct VkRayTracingPipelineCreateInfoNV { 14754 VkStructureType sType; 14755 const void* pNext; 14756 VkPipelineCreateFlags flags; 14757 uint32_t stageCount; 14758 const VkPipelineShaderStageCreateInfo* pStages; 14759 uint32_t groupCount; 14760 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 14761 uint32_t maxRecursionDepth; 14762 VkPipelineLayout layout; 14763 VkPipeline basePipelineHandle; 14764 int32_t basePipelineIndex; 14765 } VkRayTracingPipelineCreateInfoNV; 14766 14767 typedef struct VkGeometryTrianglesNV { 14768 VkStructureType sType; 14769 const void* pNext; 14770 VkBuffer vertexData; 14771 VkDeviceSize vertexOffset; 14772 uint32_t vertexCount; 14773 VkDeviceSize vertexStride; 14774 VkFormat vertexFormat; 14775 VkBuffer indexData; 14776 VkDeviceSize indexOffset; 14777 uint32_t indexCount; 14778 VkIndexType indexType; 14779 VkBuffer transformData; 14780 VkDeviceSize transformOffset; 14781 } VkGeometryTrianglesNV; 14782 14783 typedef struct VkGeometryAABBNV { 14784 VkStructureType sType; 14785 const void* pNext; 14786 VkBuffer aabbData; 14787 uint32_t numAABBs; 14788 uint32_t stride; 14789 VkDeviceSize offset; 14790 } VkGeometryAABBNV; 14791 14792 typedef struct VkGeometryDataNV { 14793 VkGeometryTrianglesNV triangles; 14794 VkGeometryAABBNV aabbs; 14795 } VkGeometryDataNV; 14796 14797 typedef struct VkGeometryNV { 14798 VkStructureType sType; 14799 const void* pNext; 14800 VkGeometryTypeKHR geometryType; 14801 VkGeometryDataNV geometry; 14802 VkGeometryFlagsKHR flags; 14803 } VkGeometryNV; 14804 14805 typedef struct VkAccelerationStructureInfoNV { 14806 VkStructureType sType; 14807 const void* pNext; 14808 VkAccelerationStructureTypeNV type; 14809 VkBuildAccelerationStructureFlagsNV flags; 14810 uint32_t instanceCount; 14811 uint32_t geometryCount; 14812 const VkGeometryNV* pGeometries; 14813 } VkAccelerationStructureInfoNV; 14814 14815 typedef struct VkAccelerationStructureCreateInfoNV { 14816 VkStructureType sType; 14817 const void* pNext; 14818 VkDeviceSize compactedSize; 14819 VkAccelerationStructureInfoNV info; 14820 } VkAccelerationStructureCreateInfoNV; 14821 14822 typedef struct VkBindAccelerationStructureMemoryInfoNV { 14823 VkStructureType sType; 14824 const void* pNext; 14825 VkAccelerationStructureNV accelerationStructure; 14826 VkDeviceMemory memory; 14827 VkDeviceSize memoryOffset; 14828 uint32_t deviceIndexCount; 14829 const uint32_t* pDeviceIndices; 14830 } VkBindAccelerationStructureMemoryInfoNV; 14831 14832 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 14833 VkStructureType sType; 14834 const void* pNext; 14835 uint32_t accelerationStructureCount; 14836 const VkAccelerationStructureNV* pAccelerationStructures; 14837 } VkWriteDescriptorSetAccelerationStructureNV; 14838 14839 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 14840 VkStructureType sType; 14841 const void* pNext; 14842 VkAccelerationStructureMemoryRequirementsTypeNV type; 14843 VkAccelerationStructureNV accelerationStructure; 14844 } VkAccelerationStructureMemoryRequirementsInfoNV; 14845 14846 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 14847 VkStructureType sType; 14848 void* pNext; 14849 uint32_t shaderGroupHandleSize; 14850 uint32_t maxRecursionDepth; 14851 uint32_t maxShaderGroupStride; 14852 uint32_t shaderGroupBaseAlignment; 14853 uint64_t maxGeometryCount; 14854 uint64_t maxInstanceCount; 14855 uint64_t maxTriangleCount; 14856 uint32_t maxDescriptorSetAccelerationStructures; 14857 } VkPhysicalDeviceRayTracingPropertiesNV; 14858 14859 typedef struct VkTransformMatrixKHR { 14860 float matrix[3][4]; 14861 } VkTransformMatrixKHR; 14862 14863 typedef VkTransformMatrixKHR VkTransformMatrixNV; 14864 14865 typedef struct VkAabbPositionsKHR { 14866 float minX; 14867 float minY; 14868 float minZ; 14869 float maxX; 14870 float maxY; 14871 float maxZ; 14872 } VkAabbPositionsKHR; 14873 14874 typedef VkAabbPositionsKHR VkAabbPositionsNV; 14875 14876 typedef struct VkAccelerationStructureInstanceKHR { 14877 VkTransformMatrixKHR transform; 14878 uint32_t instanceCustomIndex:24; 14879 uint32_t mask:8; 14880 uint32_t instanceShaderBindingTableRecordOffset:24; 14881 VkGeometryInstanceFlagsKHR flags:8; 14882 uint64_t accelerationStructureReference; 14883 } VkAccelerationStructureInstanceKHR; 14884 14885 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 14886 14887 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 14888 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 14889 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 14890 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14891 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); 14892 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 14893 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); 14894 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 14895 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14896 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14897 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 14898 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 14899 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 14900 14901 #ifndef VK_NO_PROTOTYPES 14902 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 14903 VkDevice device, 14904 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 14905 const VkAllocationCallbacks* pAllocator, 14906 VkAccelerationStructureNV* pAccelerationStructure); 14907 14908 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 14909 VkDevice device, 14910 VkAccelerationStructureNV accelerationStructure, 14911 const VkAllocationCallbacks* pAllocator); 14912 14913 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 14914 VkDevice device, 14915 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 14916 VkMemoryRequirements2KHR* pMemoryRequirements); 14917 14918 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 14919 VkDevice device, 14920 uint32_t bindInfoCount, 14921 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14922 14923 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 14924 VkCommandBuffer commandBuffer, 14925 const VkAccelerationStructureInfoNV* pInfo, 14926 VkBuffer instanceData, 14927 VkDeviceSize instanceOffset, 14928 VkBool32 update, 14929 VkAccelerationStructureNV dst, 14930 VkAccelerationStructureNV src, 14931 VkBuffer scratch, 14932 VkDeviceSize scratchOffset); 14933 14934 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 14935 VkCommandBuffer commandBuffer, 14936 VkAccelerationStructureNV dst, 14937 VkAccelerationStructureNV src, 14938 VkCopyAccelerationStructureModeKHR mode); 14939 14940 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 14941 VkCommandBuffer commandBuffer, 14942 VkBuffer raygenShaderBindingTableBuffer, 14943 VkDeviceSize raygenShaderBindingOffset, 14944 VkBuffer missShaderBindingTableBuffer, 14945 VkDeviceSize missShaderBindingOffset, 14946 VkDeviceSize missShaderBindingStride, 14947 VkBuffer hitShaderBindingTableBuffer, 14948 VkDeviceSize hitShaderBindingOffset, 14949 VkDeviceSize hitShaderBindingStride, 14950 VkBuffer callableShaderBindingTableBuffer, 14951 VkDeviceSize callableShaderBindingOffset, 14952 VkDeviceSize callableShaderBindingStride, 14953 uint32_t width, 14954 uint32_t height, 14955 uint32_t depth); 14956 14957 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 14958 VkDevice device, 14959 VkPipelineCache pipelineCache, 14960 uint32_t createInfoCount, 14961 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 14962 const VkAllocationCallbacks* pAllocator, 14963 VkPipeline* pPipelines); 14964 14965 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 14966 VkDevice device, 14967 VkPipeline pipeline, 14968 uint32_t firstGroup, 14969 uint32_t groupCount, 14970 size_t dataSize, 14971 void* pData); 14972 14973 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 14974 VkDevice device, 14975 VkPipeline pipeline, 14976 uint32_t firstGroup, 14977 uint32_t groupCount, 14978 size_t dataSize, 14979 void* pData); 14980 14981 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 14982 VkDevice device, 14983 VkAccelerationStructureNV accelerationStructure, 14984 size_t dataSize, 14985 void* pData); 14986 14987 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 14988 VkCommandBuffer commandBuffer, 14989 uint32_t accelerationStructureCount, 14990 const VkAccelerationStructureNV* pAccelerationStructures, 14991 VkQueryType queryType, 14992 VkQueryPool queryPool, 14993 uint32_t firstQuery); 14994 14995 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 14996 VkDevice device, 14997 VkPipeline pipeline, 14998 uint32_t shader); 14999 #endif 15000 15001 15002 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 15003 #define VK_NV_representative_fragment_test 1 15004 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 15005 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 15006 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 15007 VkStructureType sType; 15008 void* pNext; 15009 VkBool32 representativeFragmentTest; 15010 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 15011 15012 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 15013 VkStructureType sType; 15014 const void* pNext; 15015 VkBool32 representativeFragmentTestEnable; 15016 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 15017 15018 15019 15020 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 15021 #define VK_EXT_filter_cubic 1 15022 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 15023 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 15024 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 15025 VkStructureType sType; 15026 void* pNext; 15027 VkImageViewType imageViewType; 15028 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 15029 15030 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 15031 VkStructureType sType; 15032 void* pNext; 15033 VkBool32 filterCubic; 15034 VkBool32 filterCubicMinmax; 15035 } VkFilterCubicImageViewImageFormatPropertiesEXT; 15036 15037 15038 15039 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 15040 #define VK_QCOM_render_pass_shader_resolve 1 15041 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 15042 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 15043 15044 15045 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 15046 #define VK_EXT_global_priority 1 15047 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 15048 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 15049 typedef VkQueueGlobalPriority VkQueueGlobalPriorityEXT; 15050 15051 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoEXT; 15052 15053 15054 15055 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 15056 #define VK_EXT_external_memory_host 1 15057 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 15058 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 15059 typedef struct VkImportMemoryHostPointerInfoEXT { 15060 VkStructureType sType; 15061 const void* pNext; 15062 VkExternalMemoryHandleTypeFlagBits handleType; 15063 void* pHostPointer; 15064 } VkImportMemoryHostPointerInfoEXT; 15065 15066 typedef struct VkMemoryHostPointerPropertiesEXT { 15067 VkStructureType sType; 15068 void* pNext; 15069 uint32_t memoryTypeBits; 15070 } VkMemoryHostPointerPropertiesEXT; 15071 15072 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 15073 VkStructureType sType; 15074 void* pNext; 15075 VkDeviceSize minImportedHostPointerAlignment; 15076 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 15077 15078 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 15079 15080 #ifndef VK_NO_PROTOTYPES 15081 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 15082 VkDevice device, 15083 VkExternalMemoryHandleTypeFlagBits handleType, 15084 const void* pHostPointer, 15085 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 15086 #endif 15087 15088 15089 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 15090 #define VK_AMD_buffer_marker 1 15091 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 15092 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 15093 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 15094 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 15095 15096 #ifndef VK_NO_PROTOTYPES 15097 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 15098 VkCommandBuffer commandBuffer, 15099 VkPipelineStageFlagBits pipelineStage, 15100 VkBuffer dstBuffer, 15101 VkDeviceSize dstOffset, 15102 uint32_t marker); 15103 15104 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 15105 VkCommandBuffer commandBuffer, 15106 VkPipelineStageFlags2 stage, 15107 VkBuffer dstBuffer, 15108 VkDeviceSize dstOffset, 15109 uint32_t marker); 15110 #endif 15111 15112 15113 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 15114 #define VK_AMD_pipeline_compiler_control 1 15115 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 15116 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 15117 15118 typedef enum VkPipelineCompilerControlFlagBitsAMD { 15119 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 15120 } VkPipelineCompilerControlFlagBitsAMD; 15121 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 15122 typedef struct VkPipelineCompilerControlCreateInfoAMD { 15123 VkStructureType sType; 15124 const void* pNext; 15125 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 15126 } VkPipelineCompilerControlCreateInfoAMD; 15127 15128 15129 15130 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 15131 #define VK_EXT_calibrated_timestamps 1 15132 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 15133 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 15134 typedef VkTimeDomainKHR VkTimeDomainEXT; 15135 15136 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 15137 15138 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 15139 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 15140 15141 #ifndef VK_NO_PROTOTYPES 15142 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 15143 VkPhysicalDevice physicalDevice, 15144 uint32_t* pTimeDomainCount, 15145 VkTimeDomainKHR* pTimeDomains); 15146 15147 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 15148 VkDevice device, 15149 uint32_t timestampCount, 15150 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 15151 uint64_t* pTimestamps, 15152 uint64_t* pMaxDeviation); 15153 #endif 15154 15155 15156 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 15157 #define VK_AMD_shader_core_properties 1 15158 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 15159 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 15160 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 15161 VkStructureType sType; 15162 void* pNext; 15163 uint32_t shaderEngineCount; 15164 uint32_t shaderArraysPerEngineCount; 15165 uint32_t computeUnitsPerShaderArray; 15166 uint32_t simdPerComputeUnit; 15167 uint32_t wavefrontsPerSimd; 15168 uint32_t wavefrontSize; 15169 uint32_t sgprsPerSimd; 15170 uint32_t minSgprAllocation; 15171 uint32_t maxSgprAllocation; 15172 uint32_t sgprAllocationGranularity; 15173 uint32_t vgprsPerSimd; 15174 uint32_t minVgprAllocation; 15175 uint32_t maxVgprAllocation; 15176 uint32_t vgprAllocationGranularity; 15177 } VkPhysicalDeviceShaderCorePropertiesAMD; 15178 15179 15180 15181 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 15182 #define VK_AMD_memory_overallocation_behavior 1 15183 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 15184 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 15185 15186 typedef enum VkMemoryOverallocationBehaviorAMD { 15187 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 15188 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 15189 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 15190 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 15191 } VkMemoryOverallocationBehaviorAMD; 15192 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 15193 VkStructureType sType; 15194 const void* pNext; 15195 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 15196 } VkDeviceMemoryOverallocationCreateInfoAMD; 15197 15198 15199 15200 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 15201 #define VK_EXT_vertex_attribute_divisor 1 15202 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 15203 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 15204 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 15205 VkStructureType sType; 15206 void* pNext; 15207 uint32_t maxVertexAttribDivisor; 15208 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 15209 15210 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionEXT; 15211 15212 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoEXT; 15213 15214 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 15215 15216 15217 15218 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 15219 #define VK_EXT_pipeline_creation_feedback 1 15220 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 15221 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 15222 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 15223 15224 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 15225 15226 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 15227 15228 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 15229 15230 15231 15232 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 15233 #define VK_NV_shader_subgroup_partitioned 1 15234 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 15235 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 15236 15237 15238 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 15239 #define VK_NV_compute_shader_derivatives 1 15240 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 15241 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 15242 typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 15243 15244 15245 15246 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 15247 #define VK_NV_mesh_shader 1 15248 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 15249 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 15250 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 15251 VkStructureType sType; 15252 void* pNext; 15253 VkBool32 taskShader; 15254 VkBool32 meshShader; 15255 } VkPhysicalDeviceMeshShaderFeaturesNV; 15256 15257 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 15258 VkStructureType sType; 15259 void* pNext; 15260 uint32_t maxDrawMeshTasksCount; 15261 uint32_t maxTaskWorkGroupInvocations; 15262 uint32_t maxTaskWorkGroupSize[3]; 15263 uint32_t maxTaskTotalMemorySize; 15264 uint32_t maxTaskOutputCount; 15265 uint32_t maxMeshWorkGroupInvocations; 15266 uint32_t maxMeshWorkGroupSize[3]; 15267 uint32_t maxMeshTotalMemorySize; 15268 uint32_t maxMeshOutputVertices; 15269 uint32_t maxMeshOutputPrimitives; 15270 uint32_t maxMeshMultiviewViewCount; 15271 uint32_t meshOutputPerVertexGranularity; 15272 uint32_t meshOutputPerPrimitiveGranularity; 15273 } VkPhysicalDeviceMeshShaderPropertiesNV; 15274 15275 typedef struct VkDrawMeshTasksIndirectCommandNV { 15276 uint32_t taskCount; 15277 uint32_t firstTask; 15278 } VkDrawMeshTasksIndirectCommandNV; 15279 15280 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 15281 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 15282 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 15283 15284 #ifndef VK_NO_PROTOTYPES 15285 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 15286 VkCommandBuffer commandBuffer, 15287 uint32_t taskCount, 15288 uint32_t firstTask); 15289 15290 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 15291 VkCommandBuffer commandBuffer, 15292 VkBuffer buffer, 15293 VkDeviceSize offset, 15294 uint32_t drawCount, 15295 uint32_t stride); 15296 15297 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 15298 VkCommandBuffer commandBuffer, 15299 VkBuffer buffer, 15300 VkDeviceSize offset, 15301 VkBuffer countBuffer, 15302 VkDeviceSize countBufferOffset, 15303 uint32_t maxDrawCount, 15304 uint32_t stride); 15305 #endif 15306 15307 15308 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 15309 #define VK_NV_fragment_shader_barycentric 1 15310 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 15311 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 15312 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 15313 15314 15315 15316 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 15317 #define VK_NV_shader_image_footprint 1 15318 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 15319 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 15320 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 15321 VkStructureType sType; 15322 void* pNext; 15323 VkBool32 imageFootprint; 15324 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 15325 15326 15327 15328 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 15329 #define VK_NV_scissor_exclusive 1 15330 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 15331 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 15332 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 15333 VkStructureType sType; 15334 const void* pNext; 15335 uint32_t exclusiveScissorCount; 15336 const VkRect2D* pExclusiveScissors; 15337 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 15338 15339 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 15340 VkStructureType sType; 15341 void* pNext; 15342 VkBool32 exclusiveScissor; 15343 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 15344 15345 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 15346 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 15347 15348 #ifndef VK_NO_PROTOTYPES 15349 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 15350 VkCommandBuffer commandBuffer, 15351 uint32_t firstExclusiveScissor, 15352 uint32_t exclusiveScissorCount, 15353 const VkBool32* pExclusiveScissorEnables); 15354 15355 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 15356 VkCommandBuffer commandBuffer, 15357 uint32_t firstExclusiveScissor, 15358 uint32_t exclusiveScissorCount, 15359 const VkRect2D* pExclusiveScissors); 15360 #endif 15361 15362 15363 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 15364 #define VK_NV_device_diagnostic_checkpoints 1 15365 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 15366 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 15367 typedef struct VkQueueFamilyCheckpointPropertiesNV { 15368 VkStructureType sType; 15369 void* pNext; 15370 VkPipelineStageFlags checkpointExecutionStageMask; 15371 } VkQueueFamilyCheckpointPropertiesNV; 15372 15373 typedef struct VkCheckpointDataNV { 15374 VkStructureType sType; 15375 void* pNext; 15376 VkPipelineStageFlagBits stage; 15377 void* pCheckpointMarker; 15378 } VkCheckpointDataNV; 15379 15380 typedef struct VkQueueFamilyCheckpointProperties2NV { 15381 VkStructureType sType; 15382 void* pNext; 15383 VkPipelineStageFlags2 checkpointExecutionStageMask; 15384 } VkQueueFamilyCheckpointProperties2NV; 15385 15386 typedef struct VkCheckpointData2NV { 15387 VkStructureType sType; 15388 void* pNext; 15389 VkPipelineStageFlags2 stage; 15390 void* pCheckpointMarker; 15391 } VkCheckpointData2NV; 15392 15393 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 15394 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 15395 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 15396 15397 #ifndef VK_NO_PROTOTYPES 15398 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 15399 VkCommandBuffer commandBuffer, 15400 const void* pCheckpointMarker); 15401 15402 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 15403 VkQueue queue, 15404 uint32_t* pCheckpointDataCount, 15405 VkCheckpointDataNV* pCheckpointData); 15406 15407 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 15408 VkQueue queue, 15409 uint32_t* pCheckpointDataCount, 15410 VkCheckpointData2NV* pCheckpointData); 15411 #endif 15412 15413 15414 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 15415 #define VK_INTEL_shader_integer_functions2 1 15416 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 15417 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 15418 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 15419 VkStructureType sType; 15420 void* pNext; 15421 VkBool32 shaderIntegerFunctions2; 15422 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 15423 15424 15425 15426 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 15427 #define VK_INTEL_performance_query 1 15428 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 15429 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 15430 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 15431 15432 typedef enum VkPerformanceConfigurationTypeINTEL { 15433 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 15434 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15435 } VkPerformanceConfigurationTypeINTEL; 15436 15437 typedef enum VkQueryPoolSamplingModeINTEL { 15438 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 15439 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 15440 } VkQueryPoolSamplingModeINTEL; 15441 15442 typedef enum VkPerformanceOverrideTypeINTEL { 15443 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 15444 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 15445 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15446 } VkPerformanceOverrideTypeINTEL; 15447 15448 typedef enum VkPerformanceParameterTypeINTEL { 15449 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 15450 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 15451 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15452 } VkPerformanceParameterTypeINTEL; 15453 15454 typedef enum VkPerformanceValueTypeINTEL { 15455 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 15456 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 15457 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 15458 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 15459 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 15460 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15461 } VkPerformanceValueTypeINTEL; 15462 typedef union VkPerformanceValueDataINTEL { 15463 uint32_t value32; 15464 uint64_t value64; 15465 float valueFloat; 15466 VkBool32 valueBool; 15467 const char* valueString; 15468 } VkPerformanceValueDataINTEL; 15469 15470 typedef struct VkPerformanceValueINTEL { 15471 VkPerformanceValueTypeINTEL type; 15472 VkPerformanceValueDataINTEL data; 15473 } VkPerformanceValueINTEL; 15474 15475 typedef struct VkInitializePerformanceApiInfoINTEL { 15476 VkStructureType sType; 15477 const void* pNext; 15478 void* pUserData; 15479 } VkInitializePerformanceApiInfoINTEL; 15480 15481 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 15482 VkStructureType sType; 15483 const void* pNext; 15484 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 15485 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 15486 15487 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 15488 15489 typedef struct VkPerformanceMarkerInfoINTEL { 15490 VkStructureType sType; 15491 const void* pNext; 15492 uint64_t marker; 15493 } VkPerformanceMarkerInfoINTEL; 15494 15495 typedef struct VkPerformanceStreamMarkerInfoINTEL { 15496 VkStructureType sType; 15497 const void* pNext; 15498 uint32_t marker; 15499 } VkPerformanceStreamMarkerInfoINTEL; 15500 15501 typedef struct VkPerformanceOverrideInfoINTEL { 15502 VkStructureType sType; 15503 const void* pNext; 15504 VkPerformanceOverrideTypeINTEL type; 15505 VkBool32 enable; 15506 uint64_t parameter; 15507 } VkPerformanceOverrideInfoINTEL; 15508 15509 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 15510 VkStructureType sType; 15511 const void* pNext; 15512 VkPerformanceConfigurationTypeINTEL type; 15513 } VkPerformanceConfigurationAcquireInfoINTEL; 15514 15515 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15516 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 15517 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15518 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15519 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15520 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 15521 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 15522 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 15523 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 15524 15525 #ifndef VK_NO_PROTOTYPES 15526 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 15527 VkDevice device, 15528 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15529 15530 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 15531 VkDevice device); 15532 15533 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 15534 VkCommandBuffer commandBuffer, 15535 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15536 15537 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 15538 VkCommandBuffer commandBuffer, 15539 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15540 15541 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 15542 VkCommandBuffer commandBuffer, 15543 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15544 15545 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 15546 VkDevice device, 15547 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 15548 VkPerformanceConfigurationINTEL* pConfiguration); 15549 15550 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 15551 VkDevice device, 15552 VkPerformanceConfigurationINTEL configuration); 15553 15554 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 15555 VkQueue queue, 15556 VkPerformanceConfigurationINTEL configuration); 15557 15558 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 15559 VkDevice device, 15560 VkPerformanceParameterTypeINTEL parameter, 15561 VkPerformanceValueINTEL* pValue); 15562 #endif 15563 15564 15565 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 15566 #define VK_EXT_pci_bus_info 1 15567 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 15568 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 15569 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 15570 VkStructureType sType; 15571 void* pNext; 15572 uint32_t pciDomain; 15573 uint32_t pciBus; 15574 uint32_t pciDevice; 15575 uint32_t pciFunction; 15576 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 15577 15578 15579 15580 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 15581 #define VK_AMD_display_native_hdr 1 15582 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 15583 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 15584 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 15585 VkStructureType sType; 15586 void* pNext; 15587 VkBool32 localDimmingSupport; 15588 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 15589 15590 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 15591 VkStructureType sType; 15592 const void* pNext; 15593 VkBool32 localDimmingEnable; 15594 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 15595 15596 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 15597 15598 #ifndef VK_NO_PROTOTYPES 15599 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 15600 VkDevice device, 15601 VkSwapchainKHR swapChain, 15602 VkBool32 localDimmingEnable); 15603 #endif 15604 15605 15606 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 15607 #define VK_EXT_fragment_density_map 1 15608 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 15609 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 15610 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 15611 VkStructureType sType; 15612 void* pNext; 15613 VkBool32 fragmentDensityMap; 15614 VkBool32 fragmentDensityMapDynamic; 15615 VkBool32 fragmentDensityMapNonSubsampledImages; 15616 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 15617 15618 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 15619 VkStructureType sType; 15620 void* pNext; 15621 VkExtent2D minFragmentDensityTexelSize; 15622 VkExtent2D maxFragmentDensityTexelSize; 15623 VkBool32 fragmentDensityInvocations; 15624 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 15625 15626 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 15627 VkStructureType sType; 15628 const void* pNext; 15629 VkAttachmentReference fragmentDensityMapAttachment; 15630 } VkRenderPassFragmentDensityMapCreateInfoEXT; 15631 15632 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 15633 VkStructureType sType; 15634 const void* pNext; 15635 VkImageView imageView; 15636 VkImageLayout imageLayout; 15637 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 15638 15639 15640 15641 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 15642 #define VK_EXT_scalar_block_layout 1 15643 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 15644 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 15645 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 15646 15647 15648 15649 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 15650 #define VK_GOOGLE_hlsl_functionality1 1 15651 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 15652 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 15653 // VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION is a deprecated alias 15654 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 15655 // VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME is a deprecated alias 15656 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 15657 15658 15659 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 15660 #define VK_GOOGLE_decorate_string 1 15661 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 15662 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 15663 15664 15665 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 15666 #define VK_EXT_subgroup_size_control 1 15667 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 15668 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 15669 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 15670 15671 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 15672 15673 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 15674 15675 15676 15677 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 15678 #define VK_AMD_shader_core_properties2 1 15679 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 15680 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 15681 15682 typedef enum VkShaderCorePropertiesFlagBitsAMD { 15683 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 15684 } VkShaderCorePropertiesFlagBitsAMD; 15685 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 15686 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 15687 VkStructureType sType; 15688 void* pNext; 15689 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 15690 uint32_t activeComputeUnitCount; 15691 } VkPhysicalDeviceShaderCoreProperties2AMD; 15692 15693 15694 15695 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 15696 #define VK_AMD_device_coherent_memory 1 15697 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 15698 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 15699 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 15700 VkStructureType sType; 15701 void* pNext; 15702 VkBool32 deviceCoherentMemory; 15703 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 15704 15705 15706 15707 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 15708 #define VK_EXT_shader_image_atomic_int64 1 15709 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 15710 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 15711 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 15712 VkStructureType sType; 15713 void* pNext; 15714 VkBool32 shaderImageInt64Atomics; 15715 VkBool32 sparseImageInt64Atomics; 15716 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 15717 15718 15719 15720 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 15721 #define VK_EXT_memory_budget 1 15722 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 15723 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 15724 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 15725 VkStructureType sType; 15726 void* pNext; 15727 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 15728 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 15729 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 15730 15731 15732 15733 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 15734 #define VK_EXT_memory_priority 1 15735 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 15736 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 15737 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 15738 VkStructureType sType; 15739 void* pNext; 15740 VkBool32 memoryPriority; 15741 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 15742 15743 typedef struct VkMemoryPriorityAllocateInfoEXT { 15744 VkStructureType sType; 15745 const void* pNext; 15746 float priority; 15747 } VkMemoryPriorityAllocateInfoEXT; 15748 15749 15750 15751 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 15752 #define VK_NV_dedicated_allocation_image_aliasing 1 15753 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 15754 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 15755 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 15756 VkStructureType sType; 15757 void* pNext; 15758 VkBool32 dedicatedAllocationImageAliasing; 15759 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 15760 15761 15762 15763 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 15764 #define VK_EXT_buffer_device_address 1 15765 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 15766 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 15767 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 15768 VkStructureType sType; 15769 void* pNext; 15770 VkBool32 bufferDeviceAddress; 15771 VkBool32 bufferDeviceAddressCaptureReplay; 15772 VkBool32 bufferDeviceAddressMultiDevice; 15773 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 15774 15775 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 15776 15777 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 15778 15779 typedef struct VkBufferDeviceAddressCreateInfoEXT { 15780 VkStructureType sType; 15781 const void* pNext; 15782 VkDeviceAddress deviceAddress; 15783 } VkBufferDeviceAddressCreateInfoEXT; 15784 15785 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 15786 15787 #ifndef VK_NO_PROTOTYPES 15788 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 15789 VkDevice device, 15790 const VkBufferDeviceAddressInfo* pInfo); 15791 #endif 15792 15793 15794 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 15795 #define VK_EXT_tooling_info 1 15796 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 15797 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 15798 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 15799 15800 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 15801 15802 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 15803 15804 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 15805 15806 #ifndef VK_NO_PROTOTYPES 15807 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 15808 VkPhysicalDevice physicalDevice, 15809 uint32_t* pToolCount, 15810 VkPhysicalDeviceToolProperties* pToolProperties); 15811 #endif 15812 15813 15814 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 15815 #define VK_EXT_separate_stencil_usage 1 15816 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 15817 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 15818 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 15819 15820 15821 15822 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 15823 #define VK_EXT_validation_features 1 15824 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 15825 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 15826 15827 typedef enum VkValidationFeatureEnableEXT { 15828 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 15829 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 15830 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 15831 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 15832 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 15833 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15834 } VkValidationFeatureEnableEXT; 15835 15836 typedef enum VkValidationFeatureDisableEXT { 15837 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 15838 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 15839 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 15840 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 15841 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 15842 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 15843 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 15844 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 15845 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15846 } VkValidationFeatureDisableEXT; 15847 typedef struct VkValidationFeaturesEXT { 15848 VkStructureType sType; 15849 const void* pNext; 15850 uint32_t enabledValidationFeatureCount; 15851 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 15852 uint32_t disabledValidationFeatureCount; 15853 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 15854 } VkValidationFeaturesEXT; 15855 15856 15857 15858 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 15859 #define VK_NV_cooperative_matrix 1 15860 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 15861 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 15862 typedef VkComponentTypeKHR VkComponentTypeNV; 15863 15864 typedef VkScopeKHR VkScopeNV; 15865 15866 typedef struct VkCooperativeMatrixPropertiesNV { 15867 VkStructureType sType; 15868 void* pNext; 15869 uint32_t MSize; 15870 uint32_t NSize; 15871 uint32_t KSize; 15872 VkComponentTypeNV AType; 15873 VkComponentTypeNV BType; 15874 VkComponentTypeNV CType; 15875 VkComponentTypeNV DType; 15876 VkScopeNV scope; 15877 } VkCooperativeMatrixPropertiesNV; 15878 15879 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 15880 VkStructureType sType; 15881 void* pNext; 15882 VkBool32 cooperativeMatrix; 15883 VkBool32 cooperativeMatrixRobustBufferAccess; 15884 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 15885 15886 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 15887 VkStructureType sType; 15888 void* pNext; 15889 VkShaderStageFlags cooperativeMatrixSupportedStages; 15890 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 15891 15892 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 15893 15894 #ifndef VK_NO_PROTOTYPES 15895 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 15896 VkPhysicalDevice physicalDevice, 15897 uint32_t* pPropertyCount, 15898 VkCooperativeMatrixPropertiesNV* pProperties); 15899 #endif 15900 15901 15902 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 15903 #define VK_NV_coverage_reduction_mode 1 15904 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 15905 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 15906 15907 typedef enum VkCoverageReductionModeNV { 15908 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 15909 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 15910 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 15911 } VkCoverageReductionModeNV; 15912 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 15913 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 15914 VkStructureType sType; 15915 void* pNext; 15916 VkBool32 coverageReductionMode; 15917 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 15918 15919 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 15920 VkStructureType sType; 15921 const void* pNext; 15922 VkPipelineCoverageReductionStateCreateFlagsNV flags; 15923 VkCoverageReductionModeNV coverageReductionMode; 15924 } VkPipelineCoverageReductionStateCreateInfoNV; 15925 15926 typedef struct VkFramebufferMixedSamplesCombinationNV { 15927 VkStructureType sType; 15928 void* pNext; 15929 VkCoverageReductionModeNV coverageReductionMode; 15930 VkSampleCountFlagBits rasterizationSamples; 15931 VkSampleCountFlags depthStencilSamples; 15932 VkSampleCountFlags colorSamples; 15933 } VkFramebufferMixedSamplesCombinationNV; 15934 15935 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 15936 15937 #ifndef VK_NO_PROTOTYPES 15938 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 15939 VkPhysicalDevice physicalDevice, 15940 uint32_t* pCombinationCount, 15941 VkFramebufferMixedSamplesCombinationNV* pCombinations); 15942 #endif 15943 15944 15945 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 15946 #define VK_EXT_fragment_shader_interlock 1 15947 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 15948 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 15949 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 15950 VkStructureType sType; 15951 void* pNext; 15952 VkBool32 fragmentShaderSampleInterlock; 15953 VkBool32 fragmentShaderPixelInterlock; 15954 VkBool32 fragmentShaderShadingRateInterlock; 15955 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 15956 15957 15958 15959 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 15960 #define VK_EXT_ycbcr_image_arrays 1 15961 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 15962 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 15963 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 15964 VkStructureType sType; 15965 void* pNext; 15966 VkBool32 ycbcrImageArrays; 15967 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 15968 15969 15970 15971 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 15972 #define VK_EXT_provoking_vertex 1 15973 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 15974 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 15975 15976 typedef enum VkProvokingVertexModeEXT { 15977 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 15978 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 15979 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 15980 } VkProvokingVertexModeEXT; 15981 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 15982 VkStructureType sType; 15983 void* pNext; 15984 VkBool32 provokingVertexLast; 15985 VkBool32 transformFeedbackPreservesProvokingVertex; 15986 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 15987 15988 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 15989 VkStructureType sType; 15990 void* pNext; 15991 VkBool32 provokingVertexModePerPipeline; 15992 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 15993 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 15994 15995 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 15996 VkStructureType sType; 15997 const void* pNext; 15998 VkProvokingVertexModeEXT provokingVertexMode; 15999 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 16000 16001 16002 16003 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 16004 #define VK_EXT_headless_surface 1 16005 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 16006 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 16007 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 16008 typedef struct VkHeadlessSurfaceCreateInfoEXT { 16009 VkStructureType sType; 16010 const void* pNext; 16011 VkHeadlessSurfaceCreateFlagsEXT flags; 16012 } VkHeadlessSurfaceCreateInfoEXT; 16013 16014 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 16015 16016 #ifndef VK_NO_PROTOTYPES 16017 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 16018 VkInstance instance, 16019 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 16020 const VkAllocationCallbacks* pAllocator, 16021 VkSurfaceKHR* pSurface); 16022 #endif 16023 16024 16025 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 16026 #define VK_EXT_line_rasterization 1 16027 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 16028 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 16029 typedef VkLineRasterizationMode VkLineRasterizationModeEXT; 16030 16031 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesEXT; 16032 16033 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesEXT; 16034 16035 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT; 16036 16037 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 16038 16039 #ifndef VK_NO_PROTOTYPES 16040 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 16041 VkCommandBuffer commandBuffer, 16042 uint32_t lineStippleFactor, 16043 uint16_t lineStipplePattern); 16044 #endif 16045 16046 16047 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 16048 #define VK_EXT_shader_atomic_float 1 16049 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 16050 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 16051 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 16052 VkStructureType sType; 16053 void* pNext; 16054 VkBool32 shaderBufferFloat32Atomics; 16055 VkBool32 shaderBufferFloat32AtomicAdd; 16056 VkBool32 shaderBufferFloat64Atomics; 16057 VkBool32 shaderBufferFloat64AtomicAdd; 16058 VkBool32 shaderSharedFloat32Atomics; 16059 VkBool32 shaderSharedFloat32AtomicAdd; 16060 VkBool32 shaderSharedFloat64Atomics; 16061 VkBool32 shaderSharedFloat64AtomicAdd; 16062 VkBool32 shaderImageFloat32Atomics; 16063 VkBool32 shaderImageFloat32AtomicAdd; 16064 VkBool32 sparseImageFloat32Atomics; 16065 VkBool32 sparseImageFloat32AtomicAdd; 16066 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 16067 16068 16069 16070 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 16071 #define VK_EXT_host_query_reset 1 16072 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 16073 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 16074 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 16075 16076 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 16077 16078 #ifndef VK_NO_PROTOTYPES 16079 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 16080 VkDevice device, 16081 VkQueryPool queryPool, 16082 uint32_t firstQuery, 16083 uint32_t queryCount); 16084 #endif 16085 16086 16087 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 16088 #define VK_EXT_index_type_uint8 1 16089 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 16090 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 16091 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 16092 16093 16094 16095 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16096 #define VK_EXT_extended_dynamic_state 1 16097 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 16098 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 16099 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 16100 VkStructureType sType; 16101 void* pNext; 16102 VkBool32 extendedDynamicState; 16103 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 16104 16105 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 16106 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 16107 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 16108 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 16109 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 16110 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); 16111 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 16112 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 16113 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 16114 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 16115 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 16116 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 16117 16118 #ifndef VK_NO_PROTOTYPES 16119 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 16120 VkCommandBuffer commandBuffer, 16121 VkCullModeFlags cullMode); 16122 16123 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 16124 VkCommandBuffer commandBuffer, 16125 VkFrontFace frontFace); 16126 16127 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 16128 VkCommandBuffer commandBuffer, 16129 VkPrimitiveTopology primitiveTopology); 16130 16131 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 16132 VkCommandBuffer commandBuffer, 16133 uint32_t viewportCount, 16134 const VkViewport* pViewports); 16135 16136 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 16137 VkCommandBuffer commandBuffer, 16138 uint32_t scissorCount, 16139 const VkRect2D* pScissors); 16140 16141 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 16142 VkCommandBuffer commandBuffer, 16143 uint32_t firstBinding, 16144 uint32_t bindingCount, 16145 const VkBuffer* pBuffers, 16146 const VkDeviceSize* pOffsets, 16147 const VkDeviceSize* pSizes, 16148 const VkDeviceSize* pStrides); 16149 16150 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 16151 VkCommandBuffer commandBuffer, 16152 VkBool32 depthTestEnable); 16153 16154 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 16155 VkCommandBuffer commandBuffer, 16156 VkBool32 depthWriteEnable); 16157 16158 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 16159 VkCommandBuffer commandBuffer, 16160 VkCompareOp depthCompareOp); 16161 16162 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 16163 VkCommandBuffer commandBuffer, 16164 VkBool32 depthBoundsTestEnable); 16165 16166 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 16167 VkCommandBuffer commandBuffer, 16168 VkBool32 stencilTestEnable); 16169 16170 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 16171 VkCommandBuffer commandBuffer, 16172 VkStencilFaceFlags faceMask, 16173 VkStencilOp failOp, 16174 VkStencilOp passOp, 16175 VkStencilOp depthFailOp, 16176 VkCompareOp compareOp); 16177 #endif 16178 16179 16180 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 16181 #define VK_EXT_host_image_copy 1 16182 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 16183 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 16184 typedef VkHostImageCopyFlagBits VkHostImageCopyFlagBitsEXT; 16185 16186 typedef VkHostImageCopyFlags VkHostImageCopyFlagsEXT; 16187 16188 typedef VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT; 16189 16190 typedef VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT; 16191 16192 typedef VkMemoryToImageCopy VkMemoryToImageCopyEXT; 16193 16194 typedef VkImageToMemoryCopy VkImageToMemoryCopyEXT; 16195 16196 typedef VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT; 16197 16198 typedef VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT; 16199 16200 typedef VkCopyImageToImageInfo VkCopyImageToImageInfoEXT; 16201 16202 typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT; 16203 16204 typedef VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT; 16205 16206 typedef VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT; 16207 16208 typedef VkSubresourceLayout2 VkSubresourceLayout2EXT; 16209 16210 typedef VkImageSubresource2 VkImageSubresource2EXT; 16211 16212 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 16213 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 16214 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 16215 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 16216 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 16217 16218 #ifndef VK_NO_PROTOTYPES 16219 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 16220 VkDevice device, 16221 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 16222 16223 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 16224 VkDevice device, 16225 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 16226 16227 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 16228 VkDevice device, 16229 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 16230 16231 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 16232 VkDevice device, 16233 uint32_t transitionCount, 16234 const VkHostImageLayoutTransitionInfo* pTransitions); 16235 16236 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 16237 VkDevice device, 16238 VkImage image, 16239 const VkImageSubresource2* pSubresource, 16240 VkSubresourceLayout2* pLayout); 16241 #endif 16242 16243 16244 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 16245 #define VK_EXT_map_memory_placed 1 16246 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 16247 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 16248 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 16249 VkStructureType sType; 16250 void* pNext; 16251 VkBool32 memoryMapPlaced; 16252 VkBool32 memoryMapRangePlaced; 16253 VkBool32 memoryUnmapReserve; 16254 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 16255 16256 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 16257 VkStructureType sType; 16258 void* pNext; 16259 VkDeviceSize minPlacedMemoryMapAlignment; 16260 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 16261 16262 typedef struct VkMemoryMapPlacedInfoEXT { 16263 VkStructureType sType; 16264 const void* pNext; 16265 void* pPlacedAddress; 16266 } VkMemoryMapPlacedInfoEXT; 16267 16268 16269 16270 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 16271 #define VK_EXT_shader_atomic_float2 1 16272 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 16273 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 16274 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 16275 VkStructureType sType; 16276 void* pNext; 16277 VkBool32 shaderBufferFloat16Atomics; 16278 VkBool32 shaderBufferFloat16AtomicAdd; 16279 VkBool32 shaderBufferFloat16AtomicMinMax; 16280 VkBool32 shaderBufferFloat32AtomicMinMax; 16281 VkBool32 shaderBufferFloat64AtomicMinMax; 16282 VkBool32 shaderSharedFloat16Atomics; 16283 VkBool32 shaderSharedFloat16AtomicAdd; 16284 VkBool32 shaderSharedFloat16AtomicMinMax; 16285 VkBool32 shaderSharedFloat32AtomicMinMax; 16286 VkBool32 shaderSharedFloat64AtomicMinMax; 16287 VkBool32 shaderImageFloat32AtomicMinMax; 16288 VkBool32 sparseImageFloat32AtomicMinMax; 16289 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 16290 16291 16292 16293 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 16294 #define VK_EXT_surface_maintenance1 1 16295 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 16296 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 16297 16298 typedef enum VkPresentScalingFlagBitsEXT { 16299 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 16300 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 16301 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 16302 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16303 } VkPresentScalingFlagBitsEXT; 16304 typedef VkFlags VkPresentScalingFlagsEXT; 16305 16306 typedef enum VkPresentGravityFlagBitsEXT { 16307 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 16308 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 16309 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 16310 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16311 } VkPresentGravityFlagBitsEXT; 16312 typedef VkFlags VkPresentGravityFlagsEXT; 16313 typedef struct VkSurfacePresentModeEXT { 16314 VkStructureType sType; 16315 void* pNext; 16316 VkPresentModeKHR presentMode; 16317 } VkSurfacePresentModeEXT; 16318 16319 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 16320 VkStructureType sType; 16321 void* pNext; 16322 VkPresentScalingFlagsEXT supportedPresentScaling; 16323 VkPresentGravityFlagsEXT supportedPresentGravityX; 16324 VkPresentGravityFlagsEXT supportedPresentGravityY; 16325 VkExtent2D minScaledImageExtent; 16326 VkExtent2D maxScaledImageExtent; 16327 } VkSurfacePresentScalingCapabilitiesEXT; 16328 16329 typedef struct VkSurfacePresentModeCompatibilityEXT { 16330 VkStructureType sType; 16331 void* pNext; 16332 uint32_t presentModeCount; 16333 VkPresentModeKHR* pPresentModes; 16334 } VkSurfacePresentModeCompatibilityEXT; 16335 16336 16337 16338 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 16339 #define VK_EXT_swapchain_maintenance1 1 16340 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 16341 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 16342 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 16343 VkStructureType sType; 16344 void* pNext; 16345 VkBool32 swapchainMaintenance1; 16346 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 16347 16348 typedef struct VkSwapchainPresentFenceInfoEXT { 16349 VkStructureType sType; 16350 const void* pNext; 16351 uint32_t swapchainCount; 16352 const VkFence* pFences; 16353 } VkSwapchainPresentFenceInfoEXT; 16354 16355 typedef struct VkSwapchainPresentModesCreateInfoEXT { 16356 VkStructureType sType; 16357 const void* pNext; 16358 uint32_t presentModeCount; 16359 const VkPresentModeKHR* pPresentModes; 16360 } VkSwapchainPresentModesCreateInfoEXT; 16361 16362 typedef struct VkSwapchainPresentModeInfoEXT { 16363 VkStructureType sType; 16364 const void* pNext; 16365 uint32_t swapchainCount; 16366 const VkPresentModeKHR* pPresentModes; 16367 } VkSwapchainPresentModeInfoEXT; 16368 16369 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 16370 VkStructureType sType; 16371 const void* pNext; 16372 VkPresentScalingFlagsEXT scalingBehavior; 16373 VkPresentGravityFlagsEXT presentGravityX; 16374 VkPresentGravityFlagsEXT presentGravityY; 16375 } VkSwapchainPresentScalingCreateInfoEXT; 16376 16377 typedef struct VkReleaseSwapchainImagesInfoEXT { 16378 VkStructureType sType; 16379 const void* pNext; 16380 VkSwapchainKHR swapchain; 16381 uint32_t imageIndexCount; 16382 const uint32_t* pImageIndices; 16383 } VkReleaseSwapchainImagesInfoEXT; 16384 16385 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16386 16387 #ifndef VK_NO_PROTOTYPES 16388 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 16389 VkDevice device, 16390 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16391 #endif 16392 16393 16394 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 16395 #define VK_EXT_shader_demote_to_helper_invocation 1 16396 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 16397 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 16398 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 16399 16400 16401 16402 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 16403 #define VK_NV_device_generated_commands 1 16404 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 16405 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 16406 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 16407 16408 typedef enum VkIndirectCommandsTokenTypeNV { 16409 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 16410 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 16411 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 16412 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 16413 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 16414 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 16415 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 16416 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 16417 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 16418 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 16419 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 16420 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16421 } VkIndirectCommandsTokenTypeNV; 16422 16423 typedef enum VkIndirectStateFlagBitsNV { 16424 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 16425 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16426 } VkIndirectStateFlagBitsNV; 16427 typedef VkFlags VkIndirectStateFlagsNV; 16428 16429 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 16430 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 16431 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 16432 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 16433 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16434 } VkIndirectCommandsLayoutUsageFlagBitsNV; 16435 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 16436 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 16437 VkStructureType sType; 16438 void* pNext; 16439 uint32_t maxGraphicsShaderGroupCount; 16440 uint32_t maxIndirectSequenceCount; 16441 uint32_t maxIndirectCommandsTokenCount; 16442 uint32_t maxIndirectCommandsStreamCount; 16443 uint32_t maxIndirectCommandsTokenOffset; 16444 uint32_t maxIndirectCommandsStreamStride; 16445 uint32_t minSequencesCountBufferOffsetAlignment; 16446 uint32_t minSequencesIndexBufferOffsetAlignment; 16447 uint32_t minIndirectCommandsBufferOffsetAlignment; 16448 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 16449 16450 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 16451 VkStructureType sType; 16452 void* pNext; 16453 VkBool32 deviceGeneratedCommands; 16454 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 16455 16456 typedef struct VkGraphicsShaderGroupCreateInfoNV { 16457 VkStructureType sType; 16458 const void* pNext; 16459 uint32_t stageCount; 16460 const VkPipelineShaderStageCreateInfo* pStages; 16461 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 16462 const VkPipelineTessellationStateCreateInfo* pTessellationState; 16463 } VkGraphicsShaderGroupCreateInfoNV; 16464 16465 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 16466 VkStructureType sType; 16467 const void* pNext; 16468 uint32_t groupCount; 16469 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 16470 uint32_t pipelineCount; 16471 const VkPipeline* pPipelines; 16472 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 16473 16474 typedef struct VkBindShaderGroupIndirectCommandNV { 16475 uint32_t groupIndex; 16476 } VkBindShaderGroupIndirectCommandNV; 16477 16478 typedef struct VkBindIndexBufferIndirectCommandNV { 16479 VkDeviceAddress bufferAddress; 16480 uint32_t size; 16481 VkIndexType indexType; 16482 } VkBindIndexBufferIndirectCommandNV; 16483 16484 typedef struct VkBindVertexBufferIndirectCommandNV { 16485 VkDeviceAddress bufferAddress; 16486 uint32_t size; 16487 uint32_t stride; 16488 } VkBindVertexBufferIndirectCommandNV; 16489 16490 typedef struct VkSetStateFlagsIndirectCommandNV { 16491 uint32_t data; 16492 } VkSetStateFlagsIndirectCommandNV; 16493 16494 typedef struct VkIndirectCommandsStreamNV { 16495 VkBuffer buffer; 16496 VkDeviceSize offset; 16497 } VkIndirectCommandsStreamNV; 16498 16499 typedef struct VkIndirectCommandsLayoutTokenNV { 16500 VkStructureType sType; 16501 const void* pNext; 16502 VkIndirectCommandsTokenTypeNV tokenType; 16503 uint32_t stream; 16504 uint32_t offset; 16505 uint32_t vertexBindingUnit; 16506 VkBool32 vertexDynamicStride; 16507 VkPipelineLayout pushconstantPipelineLayout; 16508 VkShaderStageFlags pushconstantShaderStageFlags; 16509 uint32_t pushconstantOffset; 16510 uint32_t pushconstantSize; 16511 VkIndirectStateFlagsNV indirectStateFlags; 16512 uint32_t indexTypeCount; 16513 const VkIndexType* pIndexTypes; 16514 const uint32_t* pIndexTypeValues; 16515 } VkIndirectCommandsLayoutTokenNV; 16516 16517 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 16518 VkStructureType sType; 16519 const void* pNext; 16520 VkIndirectCommandsLayoutUsageFlagsNV flags; 16521 VkPipelineBindPoint pipelineBindPoint; 16522 uint32_t tokenCount; 16523 const VkIndirectCommandsLayoutTokenNV* pTokens; 16524 uint32_t streamCount; 16525 const uint32_t* pStreamStrides; 16526 } VkIndirectCommandsLayoutCreateInfoNV; 16527 16528 typedef struct VkGeneratedCommandsInfoNV { 16529 VkStructureType sType; 16530 const void* pNext; 16531 VkPipelineBindPoint pipelineBindPoint; 16532 VkPipeline pipeline; 16533 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16534 uint32_t streamCount; 16535 const VkIndirectCommandsStreamNV* pStreams; 16536 uint32_t sequencesCount; 16537 VkBuffer preprocessBuffer; 16538 VkDeviceSize preprocessOffset; 16539 VkDeviceSize preprocessSize; 16540 VkBuffer sequencesCountBuffer; 16541 VkDeviceSize sequencesCountOffset; 16542 VkBuffer sequencesIndexBuffer; 16543 VkDeviceSize sequencesIndexOffset; 16544 } VkGeneratedCommandsInfoNV; 16545 16546 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 16547 VkStructureType sType; 16548 const void* pNext; 16549 VkPipelineBindPoint pipelineBindPoint; 16550 VkPipeline pipeline; 16551 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16552 uint32_t maxSequencesCount; 16553 } VkGeneratedCommandsMemoryRequirementsInfoNV; 16554 16555 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 16556 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16557 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16558 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 16559 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16560 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 16561 16562 #ifndef VK_NO_PROTOTYPES 16563 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 16564 VkDevice device, 16565 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 16566 VkMemoryRequirements2* pMemoryRequirements); 16567 16568 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 16569 VkCommandBuffer commandBuffer, 16570 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16571 16572 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 16573 VkCommandBuffer commandBuffer, 16574 VkBool32 isPreprocessed, 16575 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16576 16577 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 16578 VkCommandBuffer commandBuffer, 16579 VkPipelineBindPoint pipelineBindPoint, 16580 VkPipeline pipeline, 16581 uint32_t groupIndex); 16582 16583 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 16584 VkDevice device, 16585 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 16586 const VkAllocationCallbacks* pAllocator, 16587 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16588 16589 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 16590 VkDevice device, 16591 VkIndirectCommandsLayoutNV indirectCommandsLayout, 16592 const VkAllocationCallbacks* pAllocator); 16593 #endif 16594 16595 16596 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 16597 #define VK_NV_inherited_viewport_scissor 1 16598 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 16599 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 16600 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 16601 VkStructureType sType; 16602 void* pNext; 16603 VkBool32 inheritedViewportScissor2D; 16604 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 16605 16606 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 16607 VkStructureType sType; 16608 const void* pNext; 16609 VkBool32 viewportScissor2D; 16610 uint32_t viewportDepthCount; 16611 const VkViewport* pViewportDepths; 16612 } VkCommandBufferInheritanceViewportScissorInfoNV; 16613 16614 16615 16616 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 16617 #define VK_EXT_texel_buffer_alignment 1 16618 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 16619 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 16620 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 16621 VkStructureType sType; 16622 void* pNext; 16623 VkBool32 texelBufferAlignment; 16624 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 16625 16626 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 16627 16628 16629 16630 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 16631 #define VK_QCOM_render_pass_transform 1 16632 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 16633 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 16634 typedef struct VkRenderPassTransformBeginInfoQCOM { 16635 VkStructureType sType; 16636 void* pNext; 16637 VkSurfaceTransformFlagBitsKHR transform; 16638 } VkRenderPassTransformBeginInfoQCOM; 16639 16640 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 16641 VkStructureType sType; 16642 void* pNext; 16643 VkSurfaceTransformFlagBitsKHR transform; 16644 VkRect2D renderArea; 16645 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 16646 16647 16648 16649 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 16650 #define VK_EXT_depth_bias_control 1 16651 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 16652 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 16653 16654 typedef enum VkDepthBiasRepresentationEXT { 16655 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 16656 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 16657 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 16658 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 16659 } VkDepthBiasRepresentationEXT; 16660 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 16661 VkStructureType sType; 16662 void* pNext; 16663 VkBool32 depthBiasControl; 16664 VkBool32 leastRepresentableValueForceUnormRepresentation; 16665 VkBool32 floatRepresentation; 16666 VkBool32 depthBiasExact; 16667 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 16668 16669 typedef struct VkDepthBiasInfoEXT { 16670 VkStructureType sType; 16671 const void* pNext; 16672 float depthBiasConstantFactor; 16673 float depthBiasClamp; 16674 float depthBiasSlopeFactor; 16675 } VkDepthBiasInfoEXT; 16676 16677 typedef struct VkDepthBiasRepresentationInfoEXT { 16678 VkStructureType sType; 16679 const void* pNext; 16680 VkDepthBiasRepresentationEXT depthBiasRepresentation; 16681 VkBool32 depthBiasExact; 16682 } VkDepthBiasRepresentationInfoEXT; 16683 16684 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 16685 16686 #ifndef VK_NO_PROTOTYPES 16687 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 16688 VkCommandBuffer commandBuffer, 16689 const VkDepthBiasInfoEXT* pDepthBiasInfo); 16690 #endif 16691 16692 16693 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 16694 #define VK_EXT_device_memory_report 1 16695 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 16696 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 16697 16698 typedef enum VkDeviceMemoryReportEventTypeEXT { 16699 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 16700 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 16701 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 16702 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 16703 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 16704 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16705 } VkDeviceMemoryReportEventTypeEXT; 16706 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 16707 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 16708 VkStructureType sType; 16709 void* pNext; 16710 VkBool32 deviceMemoryReport; 16711 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 16712 16713 typedef struct VkDeviceMemoryReportCallbackDataEXT { 16714 VkStructureType sType; 16715 void* pNext; 16716 VkDeviceMemoryReportFlagsEXT flags; 16717 VkDeviceMemoryReportEventTypeEXT type; 16718 uint64_t memoryObjectId; 16719 VkDeviceSize size; 16720 VkObjectType objectType; 16721 uint64_t objectHandle; 16722 uint32_t heapIndex; 16723 } VkDeviceMemoryReportCallbackDataEXT; 16724 16725 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 16726 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 16727 void* pUserData); 16728 16729 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 16730 VkStructureType sType; 16731 const void* pNext; 16732 VkDeviceMemoryReportFlagsEXT flags; 16733 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 16734 void* pUserData; 16735 } VkDeviceDeviceMemoryReportCreateInfoEXT; 16736 16737 16738 16739 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 16740 #define VK_EXT_acquire_drm_display 1 16741 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 16742 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 16743 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 16744 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 16745 16746 #ifndef VK_NO_PROTOTYPES 16747 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 16748 VkPhysicalDevice physicalDevice, 16749 int32_t drmFd, 16750 VkDisplayKHR display); 16751 16752 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 16753 VkPhysicalDevice physicalDevice, 16754 int32_t drmFd, 16755 uint32_t connectorId, 16756 VkDisplayKHR* display); 16757 #endif 16758 16759 16760 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 16761 #define VK_EXT_robustness2 1 16762 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 16763 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 16764 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 16765 VkStructureType sType; 16766 void* pNext; 16767 VkBool32 robustBufferAccess2; 16768 VkBool32 robustImageAccess2; 16769 VkBool32 nullDescriptor; 16770 } VkPhysicalDeviceRobustness2FeaturesEXT; 16771 16772 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 16773 VkStructureType sType; 16774 void* pNext; 16775 VkDeviceSize robustStorageBufferAccessSizeAlignment; 16776 VkDeviceSize robustUniformBufferAccessSizeAlignment; 16777 } VkPhysicalDeviceRobustness2PropertiesEXT; 16778 16779 16780 16781 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 16782 #define VK_EXT_custom_border_color 1 16783 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 16784 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 16785 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 16786 VkStructureType sType; 16787 const void* pNext; 16788 VkClearColorValue customBorderColor; 16789 VkFormat format; 16790 } VkSamplerCustomBorderColorCreateInfoEXT; 16791 16792 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 16793 VkStructureType sType; 16794 void* pNext; 16795 uint32_t maxCustomBorderColorSamplers; 16796 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 16797 16798 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 16799 VkStructureType sType; 16800 void* pNext; 16801 VkBool32 customBorderColors; 16802 VkBool32 customBorderColorWithoutFormat; 16803 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 16804 16805 16806 16807 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 16808 #define VK_GOOGLE_user_type 1 16809 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 16810 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 16811 16812 16813 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 16814 #define VK_NV_present_barrier 1 16815 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 16816 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 16817 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 16818 VkStructureType sType; 16819 void* pNext; 16820 VkBool32 presentBarrier; 16821 } VkPhysicalDevicePresentBarrierFeaturesNV; 16822 16823 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 16824 VkStructureType sType; 16825 void* pNext; 16826 VkBool32 presentBarrierSupported; 16827 } VkSurfaceCapabilitiesPresentBarrierNV; 16828 16829 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 16830 VkStructureType sType; 16831 void* pNext; 16832 VkBool32 presentBarrierEnable; 16833 } VkSwapchainPresentBarrierCreateInfoNV; 16834 16835 16836 16837 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 16838 #define VK_EXT_private_data 1 16839 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 16840 16841 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 16842 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 16843 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 16844 16845 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 16846 16847 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 16848 16849 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 16850 16851 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 16852 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 16853 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 16854 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 16855 16856 #ifndef VK_NO_PROTOTYPES 16857 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 16858 VkDevice device, 16859 const VkPrivateDataSlotCreateInfo* pCreateInfo, 16860 const VkAllocationCallbacks* pAllocator, 16861 VkPrivateDataSlot* pPrivateDataSlot); 16862 16863 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 16864 VkDevice device, 16865 VkPrivateDataSlot privateDataSlot, 16866 const VkAllocationCallbacks* pAllocator); 16867 16868 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 16869 VkDevice device, 16870 VkObjectType objectType, 16871 uint64_t objectHandle, 16872 VkPrivateDataSlot privateDataSlot, 16873 uint64_t data); 16874 16875 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 16876 VkDevice device, 16877 VkObjectType objectType, 16878 uint64_t objectHandle, 16879 VkPrivateDataSlot privateDataSlot, 16880 uint64_t* pData); 16881 #endif 16882 16883 16884 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 16885 #define VK_EXT_pipeline_creation_cache_control 1 16886 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 16887 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 16888 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 16889 16890 16891 16892 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 16893 #define VK_NV_device_diagnostics_config 1 16894 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 16895 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 16896 16897 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 16898 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 16899 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 16900 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 16901 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 16902 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16903 } VkDeviceDiagnosticsConfigFlagBitsNV; 16904 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 16905 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 16906 VkStructureType sType; 16907 void* pNext; 16908 VkBool32 diagnosticsConfig; 16909 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 16910 16911 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 16912 VkStructureType sType; 16913 const void* pNext; 16914 VkDeviceDiagnosticsConfigFlagsNV flags; 16915 } VkDeviceDiagnosticsConfigCreateInfoNV; 16916 16917 16918 16919 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 16920 #define VK_QCOM_render_pass_store_ops 1 16921 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 16922 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 16923 16924 16925 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 16926 #define VK_NV_cuda_kernel_launch 1 16927 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 16928 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 16929 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 16930 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 16931 typedef struct VkCudaModuleCreateInfoNV { 16932 VkStructureType sType; 16933 const void* pNext; 16934 size_t dataSize; 16935 const void* pData; 16936 } VkCudaModuleCreateInfoNV; 16937 16938 typedef struct VkCudaFunctionCreateInfoNV { 16939 VkStructureType sType; 16940 const void* pNext; 16941 VkCudaModuleNV module; 16942 const char* pName; 16943 } VkCudaFunctionCreateInfoNV; 16944 16945 typedef struct VkCudaLaunchInfoNV { 16946 VkStructureType sType; 16947 const void* pNext; 16948 VkCudaFunctionNV function; 16949 uint32_t gridDimX; 16950 uint32_t gridDimY; 16951 uint32_t gridDimZ; 16952 uint32_t blockDimX; 16953 uint32_t blockDimY; 16954 uint32_t blockDimZ; 16955 uint32_t sharedMemBytes; 16956 size_t paramCount; 16957 const void* const * pParams; 16958 size_t extraCount; 16959 const void* const * pExtras; 16960 } VkCudaLaunchInfoNV; 16961 16962 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 16963 VkStructureType sType; 16964 void* pNext; 16965 VkBool32 cudaKernelLaunchFeatures; 16966 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 16967 16968 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 16969 VkStructureType sType; 16970 void* pNext; 16971 uint32_t computeCapabilityMinor; 16972 uint32_t computeCapabilityMajor; 16973 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 16974 16975 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 16976 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 16977 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 16978 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 16979 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 16980 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 16981 16982 #ifndef VK_NO_PROTOTYPES 16983 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 16984 VkDevice device, 16985 const VkCudaModuleCreateInfoNV* pCreateInfo, 16986 const VkAllocationCallbacks* pAllocator, 16987 VkCudaModuleNV* pModule); 16988 16989 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 16990 VkDevice device, 16991 VkCudaModuleNV module, 16992 size_t* pCacheSize, 16993 void* pCacheData); 16994 16995 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 16996 VkDevice device, 16997 const VkCudaFunctionCreateInfoNV* pCreateInfo, 16998 const VkAllocationCallbacks* pAllocator, 16999 VkCudaFunctionNV* pFunction); 17000 17001 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 17002 VkDevice device, 17003 VkCudaModuleNV module, 17004 const VkAllocationCallbacks* pAllocator); 17005 17006 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 17007 VkDevice device, 17008 VkCudaFunctionNV function, 17009 const VkAllocationCallbacks* pAllocator); 17010 17011 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 17012 VkCommandBuffer commandBuffer, 17013 const VkCudaLaunchInfoNV* pLaunchInfo); 17014 #endif 17015 17016 17017 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 17018 #define VK_NV_low_latency 1 17019 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 17020 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 17021 typedef struct VkQueryLowLatencySupportNV { 17022 VkStructureType sType; 17023 const void* pNext; 17024 void* pQueriedLowLatencyData; 17025 } VkQueryLowLatencySupportNV; 17026 17027 17028 17029 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 17030 #define VK_EXT_descriptor_buffer 1 17031 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 17032 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 17033 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 17034 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 17035 VkStructureType sType; 17036 void* pNext; 17037 VkBool32 combinedImageSamplerDescriptorSingleArray; 17038 VkBool32 bufferlessPushDescriptors; 17039 VkBool32 allowSamplerImageViewPostSubmitCreation; 17040 VkDeviceSize descriptorBufferOffsetAlignment; 17041 uint32_t maxDescriptorBufferBindings; 17042 uint32_t maxResourceDescriptorBufferBindings; 17043 uint32_t maxSamplerDescriptorBufferBindings; 17044 uint32_t maxEmbeddedImmutableSamplerBindings; 17045 uint32_t maxEmbeddedImmutableSamplers; 17046 size_t bufferCaptureReplayDescriptorDataSize; 17047 size_t imageCaptureReplayDescriptorDataSize; 17048 size_t imageViewCaptureReplayDescriptorDataSize; 17049 size_t samplerCaptureReplayDescriptorDataSize; 17050 size_t accelerationStructureCaptureReplayDescriptorDataSize; 17051 size_t samplerDescriptorSize; 17052 size_t combinedImageSamplerDescriptorSize; 17053 size_t sampledImageDescriptorSize; 17054 size_t storageImageDescriptorSize; 17055 size_t uniformTexelBufferDescriptorSize; 17056 size_t robustUniformTexelBufferDescriptorSize; 17057 size_t storageTexelBufferDescriptorSize; 17058 size_t robustStorageTexelBufferDescriptorSize; 17059 size_t uniformBufferDescriptorSize; 17060 size_t robustUniformBufferDescriptorSize; 17061 size_t storageBufferDescriptorSize; 17062 size_t robustStorageBufferDescriptorSize; 17063 size_t inputAttachmentDescriptorSize; 17064 size_t accelerationStructureDescriptorSize; 17065 VkDeviceSize maxSamplerDescriptorBufferRange; 17066 VkDeviceSize maxResourceDescriptorBufferRange; 17067 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 17068 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 17069 VkDeviceSize descriptorBufferAddressSpaceSize; 17070 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 17071 17072 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 17073 VkStructureType sType; 17074 void* pNext; 17075 size_t combinedImageSamplerDensityMapDescriptorSize; 17076 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 17077 17078 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 17079 VkStructureType sType; 17080 void* pNext; 17081 VkBool32 descriptorBuffer; 17082 VkBool32 descriptorBufferCaptureReplay; 17083 VkBool32 descriptorBufferImageLayoutIgnored; 17084 VkBool32 descriptorBufferPushDescriptors; 17085 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 17086 17087 typedef struct VkDescriptorAddressInfoEXT { 17088 VkStructureType sType; 17089 void* pNext; 17090 VkDeviceAddress address; 17091 VkDeviceSize range; 17092 VkFormat format; 17093 } VkDescriptorAddressInfoEXT; 17094 17095 typedef struct VkDescriptorBufferBindingInfoEXT { 17096 VkStructureType sType; 17097 const void* pNext; 17098 VkDeviceAddress address; 17099 VkBufferUsageFlags usage; 17100 } VkDescriptorBufferBindingInfoEXT; 17101 17102 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 17103 VkStructureType sType; 17104 const void* pNext; 17105 VkBuffer buffer; 17106 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 17107 17108 typedef union VkDescriptorDataEXT { 17109 const VkSampler* pSampler; 17110 const VkDescriptorImageInfo* pCombinedImageSampler; 17111 const VkDescriptorImageInfo* pInputAttachmentImage; 17112 const VkDescriptorImageInfo* pSampledImage; 17113 const VkDescriptorImageInfo* pStorageImage; 17114 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 17115 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 17116 const VkDescriptorAddressInfoEXT* pUniformBuffer; 17117 const VkDescriptorAddressInfoEXT* pStorageBuffer; 17118 VkDeviceAddress accelerationStructure; 17119 } VkDescriptorDataEXT; 17120 17121 typedef struct VkDescriptorGetInfoEXT { 17122 VkStructureType sType; 17123 const void* pNext; 17124 VkDescriptorType type; 17125 VkDescriptorDataEXT data; 17126 } VkDescriptorGetInfoEXT; 17127 17128 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 17129 VkStructureType sType; 17130 const void* pNext; 17131 VkBuffer buffer; 17132 } VkBufferCaptureDescriptorDataInfoEXT; 17133 17134 typedef struct VkImageCaptureDescriptorDataInfoEXT { 17135 VkStructureType sType; 17136 const void* pNext; 17137 VkImage image; 17138 } VkImageCaptureDescriptorDataInfoEXT; 17139 17140 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 17141 VkStructureType sType; 17142 const void* pNext; 17143 VkImageView imageView; 17144 } VkImageViewCaptureDescriptorDataInfoEXT; 17145 17146 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 17147 VkStructureType sType; 17148 const void* pNext; 17149 VkSampler sampler; 17150 } VkSamplerCaptureDescriptorDataInfoEXT; 17151 17152 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 17153 VkStructureType sType; 17154 const void* pNext; 17155 const void* opaqueCaptureDescriptorData; 17156 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 17157 17158 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 17159 VkStructureType sType; 17160 const void* pNext; 17161 VkAccelerationStructureKHR accelerationStructure; 17162 VkAccelerationStructureNV accelerationStructureNV; 17163 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 17164 17165 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 17166 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 17167 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 17168 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 17169 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); 17170 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 17171 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17172 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17173 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17174 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17175 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 17176 17177 #ifndef VK_NO_PROTOTYPES 17178 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 17179 VkDevice device, 17180 VkDescriptorSetLayout layout, 17181 VkDeviceSize* pLayoutSizeInBytes); 17182 17183 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 17184 VkDevice device, 17185 VkDescriptorSetLayout layout, 17186 uint32_t binding, 17187 VkDeviceSize* pOffset); 17188 17189 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 17190 VkDevice device, 17191 const VkDescriptorGetInfoEXT* pDescriptorInfo, 17192 size_t dataSize, 17193 void* pDescriptor); 17194 17195 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 17196 VkCommandBuffer commandBuffer, 17197 uint32_t bufferCount, 17198 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 17199 17200 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 17201 VkCommandBuffer commandBuffer, 17202 VkPipelineBindPoint pipelineBindPoint, 17203 VkPipelineLayout layout, 17204 uint32_t firstSet, 17205 uint32_t setCount, 17206 const uint32_t* pBufferIndices, 17207 const VkDeviceSize* pOffsets); 17208 17209 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 17210 VkCommandBuffer commandBuffer, 17211 VkPipelineBindPoint pipelineBindPoint, 17212 VkPipelineLayout layout, 17213 uint32_t set); 17214 17215 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 17216 VkDevice device, 17217 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 17218 void* pData); 17219 17220 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 17221 VkDevice device, 17222 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 17223 void* pData); 17224 17225 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 17226 VkDevice device, 17227 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 17228 void* pData); 17229 17230 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 17231 VkDevice device, 17232 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 17233 void* pData); 17234 17235 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 17236 VkDevice device, 17237 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 17238 void* pData); 17239 #endif 17240 17241 17242 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 17243 #define VK_EXT_graphics_pipeline_library 1 17244 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 17245 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 17246 17247 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 17248 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 17249 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 17250 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 17251 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 17252 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17253 } VkGraphicsPipelineLibraryFlagBitsEXT; 17254 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 17255 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 17256 VkStructureType sType; 17257 void* pNext; 17258 VkBool32 graphicsPipelineLibrary; 17259 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 17260 17261 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 17262 VkStructureType sType; 17263 void* pNext; 17264 VkBool32 graphicsPipelineLibraryFastLinking; 17265 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 17266 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 17267 17268 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 17269 VkStructureType sType; 17270 const void* pNext; 17271 VkGraphicsPipelineLibraryFlagsEXT flags; 17272 } VkGraphicsPipelineLibraryCreateInfoEXT; 17273 17274 17275 17276 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 17277 #define VK_AMD_shader_early_and_late_fragment_tests 1 17278 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 17279 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 17280 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 17281 VkStructureType sType; 17282 void* pNext; 17283 VkBool32 shaderEarlyAndLateFragmentTests; 17284 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 17285 17286 17287 17288 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 17289 #define VK_NV_fragment_shading_rate_enums 1 17290 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 17291 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 17292 17293 typedef enum VkFragmentShadingRateTypeNV { 17294 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 17295 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 17296 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 17297 } VkFragmentShadingRateTypeNV; 17298 17299 typedef enum VkFragmentShadingRateNV { 17300 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 17301 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 17302 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 17303 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 17304 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 17305 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 17306 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 17307 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 17308 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 17309 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 17310 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 17311 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 17312 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 17313 } VkFragmentShadingRateNV; 17314 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 17315 VkStructureType sType; 17316 void* pNext; 17317 VkBool32 fragmentShadingRateEnums; 17318 VkBool32 supersampleFragmentShadingRates; 17319 VkBool32 noInvocationFragmentShadingRates; 17320 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 17321 17322 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 17323 VkStructureType sType; 17324 void* pNext; 17325 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 17326 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 17327 17328 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 17329 VkStructureType sType; 17330 const void* pNext; 17331 VkFragmentShadingRateTypeNV shadingRateType; 17332 VkFragmentShadingRateNV shadingRate; 17333 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 17334 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 17335 17336 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 17337 17338 #ifndef VK_NO_PROTOTYPES 17339 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 17340 VkCommandBuffer commandBuffer, 17341 VkFragmentShadingRateNV shadingRate, 17342 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 17343 #endif 17344 17345 17346 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 17347 #define VK_NV_ray_tracing_motion_blur 1 17348 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 17349 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 17350 17351 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 17352 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 17353 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 17354 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 17355 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 17356 } VkAccelerationStructureMotionInstanceTypeNV; 17357 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 17358 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 17359 typedef union VkDeviceOrHostAddressConstKHR { 17360 VkDeviceAddress deviceAddress; 17361 const void* hostAddress; 17362 } VkDeviceOrHostAddressConstKHR; 17363 17364 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 17365 VkStructureType sType; 17366 const void* pNext; 17367 VkDeviceOrHostAddressConstKHR vertexData; 17368 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 17369 17370 typedef struct VkAccelerationStructureMotionInfoNV { 17371 VkStructureType sType; 17372 const void* pNext; 17373 uint32_t maxInstances; 17374 VkAccelerationStructureMotionInfoFlagsNV flags; 17375 } VkAccelerationStructureMotionInfoNV; 17376 17377 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 17378 VkTransformMatrixKHR transformT0; 17379 VkTransformMatrixKHR transformT1; 17380 uint32_t instanceCustomIndex:24; 17381 uint32_t mask:8; 17382 uint32_t instanceShaderBindingTableRecordOffset:24; 17383 VkGeometryInstanceFlagsKHR flags:8; 17384 uint64_t accelerationStructureReference; 17385 } VkAccelerationStructureMatrixMotionInstanceNV; 17386 17387 typedef struct VkSRTDataNV { 17388 float sx; 17389 float a; 17390 float b; 17391 float pvx; 17392 float sy; 17393 float c; 17394 float pvy; 17395 float sz; 17396 float pvz; 17397 float qx; 17398 float qy; 17399 float qz; 17400 float qw; 17401 float tx; 17402 float ty; 17403 float tz; 17404 } VkSRTDataNV; 17405 17406 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 17407 VkSRTDataNV transformT0; 17408 VkSRTDataNV transformT1; 17409 uint32_t instanceCustomIndex:24; 17410 uint32_t mask:8; 17411 uint32_t instanceShaderBindingTableRecordOffset:24; 17412 VkGeometryInstanceFlagsKHR flags:8; 17413 uint64_t accelerationStructureReference; 17414 } VkAccelerationStructureSRTMotionInstanceNV; 17415 17416 typedef union VkAccelerationStructureMotionInstanceDataNV { 17417 VkAccelerationStructureInstanceKHR staticInstance; 17418 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 17419 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 17420 } VkAccelerationStructureMotionInstanceDataNV; 17421 17422 typedef struct VkAccelerationStructureMotionInstanceNV { 17423 VkAccelerationStructureMotionInstanceTypeNV type; 17424 VkAccelerationStructureMotionInstanceFlagsNV flags; 17425 VkAccelerationStructureMotionInstanceDataNV data; 17426 } VkAccelerationStructureMotionInstanceNV; 17427 17428 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 17429 VkStructureType sType; 17430 void* pNext; 17431 VkBool32 rayTracingMotionBlur; 17432 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 17433 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 17434 17435 17436 17437 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 17438 #define VK_EXT_ycbcr_2plane_444_formats 1 17439 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 17440 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 17441 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 17442 VkStructureType sType; 17443 void* pNext; 17444 VkBool32 ycbcr2plane444Formats; 17445 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 17446 17447 17448 17449 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 17450 #define VK_EXT_fragment_density_map2 1 17451 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 17452 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 17453 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 17454 VkStructureType sType; 17455 void* pNext; 17456 VkBool32 fragmentDensityMapDeferred; 17457 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 17458 17459 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 17460 VkStructureType sType; 17461 void* pNext; 17462 VkBool32 subsampledLoads; 17463 VkBool32 subsampledCoarseReconstructionEarlyAccess; 17464 uint32_t maxSubsampledArrayLayers; 17465 uint32_t maxDescriptorSetSubsampledSamplers; 17466 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 17467 17468 17469 17470 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 17471 #define VK_QCOM_rotated_copy_commands 1 17472 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 17473 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 17474 typedef struct VkCopyCommandTransformInfoQCOM { 17475 VkStructureType sType; 17476 const void* pNext; 17477 VkSurfaceTransformFlagBitsKHR transform; 17478 } VkCopyCommandTransformInfoQCOM; 17479 17480 17481 17482 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 17483 #define VK_EXT_image_robustness 1 17484 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 17485 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 17486 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 17487 17488 17489 17490 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 17491 #define VK_EXT_image_compression_control 1 17492 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 17493 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 17494 17495 typedef enum VkImageCompressionFlagBitsEXT { 17496 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 17497 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 17498 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 17499 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 17500 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17501 } VkImageCompressionFlagBitsEXT; 17502 typedef VkFlags VkImageCompressionFlagsEXT; 17503 17504 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 17505 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 17506 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 17507 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 17508 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 17509 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 17510 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 17511 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 17512 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 17513 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 17514 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 17515 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 17516 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 17517 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 17518 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 17519 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 17520 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 17521 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 17522 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 17523 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 17524 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 17525 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 17526 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 17527 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 17528 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 17529 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 17530 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17531 } VkImageCompressionFixedRateFlagBitsEXT; 17532 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 17533 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 17534 VkStructureType sType; 17535 void* pNext; 17536 VkBool32 imageCompressionControl; 17537 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 17538 17539 typedef struct VkImageCompressionControlEXT { 17540 VkStructureType sType; 17541 const void* pNext; 17542 VkImageCompressionFlagsEXT flags; 17543 uint32_t compressionControlPlaneCount; 17544 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 17545 } VkImageCompressionControlEXT; 17546 17547 typedef struct VkImageCompressionPropertiesEXT { 17548 VkStructureType sType; 17549 void* pNext; 17550 VkImageCompressionFlagsEXT imageCompressionFlags; 17551 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 17552 } VkImageCompressionPropertiesEXT; 17553 17554 17555 17556 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 17557 #define VK_EXT_attachment_feedback_loop_layout 1 17558 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 17559 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 17560 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 17561 VkStructureType sType; 17562 void* pNext; 17563 VkBool32 attachmentFeedbackLoopLayout; 17564 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 17565 17566 17567 17568 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 17569 #define VK_EXT_4444_formats 1 17570 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 17571 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 17572 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 17573 VkStructureType sType; 17574 void* pNext; 17575 VkBool32 formatA4R4G4B4; 17576 VkBool32 formatA4B4G4R4; 17577 } VkPhysicalDevice4444FormatsFeaturesEXT; 17578 17579 17580 17581 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 17582 #define VK_EXT_device_fault 1 17583 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 17584 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 17585 17586 typedef enum VkDeviceFaultAddressTypeEXT { 17587 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 17588 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 17589 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 17590 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 17591 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 17592 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 17593 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 17594 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17595 } VkDeviceFaultAddressTypeEXT; 17596 17597 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 17598 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 17599 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 17600 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 17601 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 17602 VkStructureType sType; 17603 void* pNext; 17604 VkBool32 deviceFault; 17605 VkBool32 deviceFaultVendorBinary; 17606 } VkPhysicalDeviceFaultFeaturesEXT; 17607 17608 typedef struct VkDeviceFaultCountsEXT { 17609 VkStructureType sType; 17610 void* pNext; 17611 uint32_t addressInfoCount; 17612 uint32_t vendorInfoCount; 17613 VkDeviceSize vendorBinarySize; 17614 } VkDeviceFaultCountsEXT; 17615 17616 typedef struct VkDeviceFaultAddressInfoEXT { 17617 VkDeviceFaultAddressTypeEXT addressType; 17618 VkDeviceAddress reportedAddress; 17619 VkDeviceSize addressPrecision; 17620 } VkDeviceFaultAddressInfoEXT; 17621 17622 typedef struct VkDeviceFaultVendorInfoEXT { 17623 char description[VK_MAX_DESCRIPTION_SIZE]; 17624 uint64_t vendorFaultCode; 17625 uint64_t vendorFaultData; 17626 } VkDeviceFaultVendorInfoEXT; 17627 17628 typedef struct VkDeviceFaultInfoEXT { 17629 VkStructureType sType; 17630 void* pNext; 17631 char description[VK_MAX_DESCRIPTION_SIZE]; 17632 VkDeviceFaultAddressInfoEXT* pAddressInfos; 17633 VkDeviceFaultVendorInfoEXT* pVendorInfos; 17634 void* pVendorBinaryData; 17635 } VkDeviceFaultInfoEXT; 17636 17637 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 17638 uint32_t headerSize; 17639 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 17640 uint32_t vendorID; 17641 uint32_t deviceID; 17642 uint32_t driverVersion; 17643 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 17644 uint32_t applicationNameOffset; 17645 uint32_t applicationVersion; 17646 uint32_t engineNameOffset; 17647 uint32_t engineVersion; 17648 uint32_t apiVersion; 17649 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 17650 17651 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 17652 17653 #ifndef VK_NO_PROTOTYPES 17654 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 17655 VkDevice device, 17656 VkDeviceFaultCountsEXT* pFaultCounts, 17657 VkDeviceFaultInfoEXT* pFaultInfo); 17658 #endif 17659 17660 17661 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 17662 #define VK_ARM_rasterization_order_attachment_access 1 17663 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 17664 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 17665 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 17666 VkStructureType sType; 17667 void* pNext; 17668 VkBool32 rasterizationOrderColorAttachmentAccess; 17669 VkBool32 rasterizationOrderDepthAttachmentAccess; 17670 VkBool32 rasterizationOrderStencilAttachmentAccess; 17671 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 17672 17673 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 17674 17675 17676 17677 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 17678 #define VK_EXT_rgba10x6_formats 1 17679 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 17680 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 17681 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 17682 VkStructureType sType; 17683 void* pNext; 17684 VkBool32 formatRgba10x6WithoutYCbCrSampler; 17685 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 17686 17687 17688 17689 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 17690 #define VK_VALVE_mutable_descriptor_type 1 17691 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 17692 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 17693 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 17694 VkStructureType sType; 17695 void* pNext; 17696 VkBool32 mutableDescriptorType; 17697 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 17698 17699 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 17700 17701 typedef struct VkMutableDescriptorTypeListEXT { 17702 uint32_t descriptorTypeCount; 17703 const VkDescriptorType* pDescriptorTypes; 17704 } VkMutableDescriptorTypeListEXT; 17705 17706 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 17707 17708 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 17709 VkStructureType sType; 17710 const void* pNext; 17711 uint32_t mutableDescriptorTypeListCount; 17712 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 17713 } VkMutableDescriptorTypeCreateInfoEXT; 17714 17715 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 17716 17717 17718 17719 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 17720 #define VK_EXT_vertex_input_dynamic_state 1 17721 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 17722 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 17723 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 17724 VkStructureType sType; 17725 void* pNext; 17726 VkBool32 vertexInputDynamicState; 17727 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 17728 17729 typedef struct VkVertexInputBindingDescription2EXT { 17730 VkStructureType sType; 17731 void* pNext; 17732 uint32_t binding; 17733 uint32_t stride; 17734 VkVertexInputRate inputRate; 17735 uint32_t divisor; 17736 } VkVertexInputBindingDescription2EXT; 17737 17738 typedef struct VkVertexInputAttributeDescription2EXT { 17739 VkStructureType sType; 17740 void* pNext; 17741 uint32_t location; 17742 uint32_t binding; 17743 VkFormat format; 17744 uint32_t offset; 17745 } VkVertexInputAttributeDescription2EXT; 17746 17747 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17748 17749 #ifndef VK_NO_PROTOTYPES 17750 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 17751 VkCommandBuffer commandBuffer, 17752 uint32_t vertexBindingDescriptionCount, 17753 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 17754 uint32_t vertexAttributeDescriptionCount, 17755 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17756 #endif 17757 17758 17759 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 17760 #define VK_EXT_physical_device_drm 1 17761 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 17762 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 17763 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 17764 VkStructureType sType; 17765 void* pNext; 17766 VkBool32 hasPrimary; 17767 VkBool32 hasRender; 17768 int64_t primaryMajor; 17769 int64_t primaryMinor; 17770 int64_t renderMajor; 17771 int64_t renderMinor; 17772 } VkPhysicalDeviceDrmPropertiesEXT; 17773 17774 17775 17776 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 17777 #define VK_EXT_device_address_binding_report 1 17778 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 17779 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 17780 17781 typedef enum VkDeviceAddressBindingTypeEXT { 17782 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 17783 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 17784 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17785 } VkDeviceAddressBindingTypeEXT; 17786 17787 typedef enum VkDeviceAddressBindingFlagBitsEXT { 17788 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 17789 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17790 } VkDeviceAddressBindingFlagBitsEXT; 17791 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 17792 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 17793 VkStructureType sType; 17794 void* pNext; 17795 VkBool32 reportAddressBinding; 17796 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 17797 17798 typedef struct VkDeviceAddressBindingCallbackDataEXT { 17799 VkStructureType sType; 17800 void* pNext; 17801 VkDeviceAddressBindingFlagsEXT flags; 17802 VkDeviceAddress baseAddress; 17803 VkDeviceSize size; 17804 VkDeviceAddressBindingTypeEXT bindingType; 17805 } VkDeviceAddressBindingCallbackDataEXT; 17806 17807 17808 17809 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 17810 #define VK_EXT_depth_clip_control 1 17811 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 17812 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 17813 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 17814 VkStructureType sType; 17815 void* pNext; 17816 VkBool32 depthClipControl; 17817 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 17818 17819 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 17820 VkStructureType sType; 17821 const void* pNext; 17822 VkBool32 negativeOneToOne; 17823 } VkPipelineViewportDepthClipControlCreateInfoEXT; 17824 17825 17826 17827 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 17828 #define VK_EXT_primitive_topology_list_restart 1 17829 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 17830 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 17831 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 17832 VkStructureType sType; 17833 void* pNext; 17834 VkBool32 primitiveTopologyListRestart; 17835 VkBool32 primitiveTopologyPatchListRestart; 17836 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 17837 17838 17839 17840 // VK_EXT_present_mode_fifo_latest_ready is a preprocessor guard. Do not pass it to API calls. 17841 #define VK_EXT_present_mode_fifo_latest_ready 1 17842 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION 1 17843 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME "VK_EXT_present_mode_fifo_latest_ready" 17844 typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT { 17845 VkStructureType sType; 17846 void* pNext; 17847 VkBool32 presentModeFifoLatestReady; 17848 } VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT; 17849 17850 17851 17852 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 17853 #define VK_HUAWEI_subpass_shading 1 17854 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 17855 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 17856 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 17857 VkStructureType sType; 17858 void* pNext; 17859 VkRenderPass renderPass; 17860 uint32_t subpass; 17861 } VkSubpassShadingPipelineCreateInfoHUAWEI; 17862 17863 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 17864 VkStructureType sType; 17865 void* pNext; 17866 VkBool32 subpassShading; 17867 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 17868 17869 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 17870 VkStructureType sType; 17871 void* pNext; 17872 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 17873 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 17874 17875 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 17876 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 17877 17878 #ifndef VK_NO_PROTOTYPES 17879 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 17880 VkDevice device, 17881 VkRenderPass renderpass, 17882 VkExtent2D* pMaxWorkgroupSize); 17883 17884 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 17885 VkCommandBuffer commandBuffer); 17886 #endif 17887 17888 17889 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 17890 #define VK_HUAWEI_invocation_mask 1 17891 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 17892 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 17893 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 17894 VkStructureType sType; 17895 void* pNext; 17896 VkBool32 invocationMask; 17897 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 17898 17899 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 17900 17901 #ifndef VK_NO_PROTOTYPES 17902 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 17903 VkCommandBuffer commandBuffer, 17904 VkImageView imageView, 17905 VkImageLayout imageLayout); 17906 #endif 17907 17908 17909 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 17910 #define VK_NV_external_memory_rdma 1 17911 typedef void* VkRemoteAddressNV; 17912 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 17913 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 17914 typedef struct VkMemoryGetRemoteAddressInfoNV { 17915 VkStructureType sType; 17916 const void* pNext; 17917 VkDeviceMemory memory; 17918 VkExternalMemoryHandleTypeFlagBits handleType; 17919 } VkMemoryGetRemoteAddressInfoNV; 17920 17921 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 17922 VkStructureType sType; 17923 void* pNext; 17924 VkBool32 externalMemoryRDMA; 17925 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 17926 17927 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 17928 17929 #ifndef VK_NO_PROTOTYPES 17930 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 17931 VkDevice device, 17932 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 17933 VkRemoteAddressNV* pAddress); 17934 #endif 17935 17936 17937 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 17938 #define VK_EXT_pipeline_properties 1 17939 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 17940 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 17941 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 17942 17943 typedef struct VkPipelinePropertiesIdentifierEXT { 17944 VkStructureType sType; 17945 void* pNext; 17946 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 17947 } VkPipelinePropertiesIdentifierEXT; 17948 17949 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 17950 VkStructureType sType; 17951 void* pNext; 17952 VkBool32 pipelinePropertiesIdentifier; 17953 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 17954 17955 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 17956 17957 #ifndef VK_NO_PROTOTYPES 17958 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 17959 VkDevice device, 17960 const VkPipelineInfoEXT* pPipelineInfo, 17961 VkBaseOutStructure* pPipelineProperties); 17962 #endif 17963 17964 17965 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 17966 #define VK_EXT_frame_boundary 1 17967 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 17968 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 17969 17970 typedef enum VkFrameBoundaryFlagBitsEXT { 17971 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 17972 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17973 } VkFrameBoundaryFlagBitsEXT; 17974 typedef VkFlags VkFrameBoundaryFlagsEXT; 17975 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 17976 VkStructureType sType; 17977 void* pNext; 17978 VkBool32 frameBoundary; 17979 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 17980 17981 typedef struct VkFrameBoundaryEXT { 17982 VkStructureType sType; 17983 const void* pNext; 17984 VkFrameBoundaryFlagsEXT flags; 17985 uint64_t frameID; 17986 uint32_t imageCount; 17987 const VkImage* pImages; 17988 uint32_t bufferCount; 17989 const VkBuffer* pBuffers; 17990 uint64_t tagName; 17991 size_t tagSize; 17992 const void* pTag; 17993 } VkFrameBoundaryEXT; 17994 17995 17996 17997 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 17998 #define VK_EXT_multisampled_render_to_single_sampled 1 17999 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 18000 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 18001 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 18002 VkStructureType sType; 18003 void* pNext; 18004 VkBool32 multisampledRenderToSingleSampled; 18005 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 18006 18007 typedef struct VkSubpassResolvePerformanceQueryEXT { 18008 VkStructureType sType; 18009 void* pNext; 18010 VkBool32 optimal; 18011 } VkSubpassResolvePerformanceQueryEXT; 18012 18013 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 18014 VkStructureType sType; 18015 const void* pNext; 18016 VkBool32 multisampledRenderToSingleSampledEnable; 18017 VkSampleCountFlagBits rasterizationSamples; 18018 } VkMultisampledRenderToSingleSampledInfoEXT; 18019 18020 18021 18022 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 18023 #define VK_EXT_extended_dynamic_state2 1 18024 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 18025 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 18026 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 18027 VkStructureType sType; 18028 void* pNext; 18029 VkBool32 extendedDynamicState2; 18030 VkBool32 extendedDynamicState2LogicOp; 18031 VkBool32 extendedDynamicState2PatchControlPoints; 18032 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 18033 18034 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 18035 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 18036 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 18037 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 18038 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 18039 18040 #ifndef VK_NO_PROTOTYPES 18041 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 18042 VkCommandBuffer commandBuffer, 18043 uint32_t patchControlPoints); 18044 18045 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 18046 VkCommandBuffer commandBuffer, 18047 VkBool32 rasterizerDiscardEnable); 18048 18049 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 18050 VkCommandBuffer commandBuffer, 18051 VkBool32 depthBiasEnable); 18052 18053 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 18054 VkCommandBuffer commandBuffer, 18055 VkLogicOp logicOp); 18056 18057 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 18058 VkCommandBuffer commandBuffer, 18059 VkBool32 primitiveRestartEnable); 18060 #endif 18061 18062 18063 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 18064 #define VK_EXT_color_write_enable 1 18065 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 18066 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 18067 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 18068 VkStructureType sType; 18069 void* pNext; 18070 VkBool32 colorWriteEnable; 18071 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 18072 18073 typedef struct VkPipelineColorWriteCreateInfoEXT { 18074 VkStructureType sType; 18075 const void* pNext; 18076 uint32_t attachmentCount; 18077 const VkBool32* pColorWriteEnables; 18078 } VkPipelineColorWriteCreateInfoEXT; 18079 18080 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 18081 18082 #ifndef VK_NO_PROTOTYPES 18083 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 18084 VkCommandBuffer commandBuffer, 18085 uint32_t attachmentCount, 18086 const VkBool32* pColorWriteEnables); 18087 #endif 18088 18089 18090 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 18091 #define VK_EXT_primitives_generated_query 1 18092 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 18093 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 18094 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 18095 VkStructureType sType; 18096 void* pNext; 18097 VkBool32 primitivesGeneratedQuery; 18098 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 18099 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 18100 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 18101 18102 18103 18104 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 18105 #define VK_EXT_global_priority_query 1 18106 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 18107 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 18108 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE 18109 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 18110 18111 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesEXT; 18112 18113 18114 18115 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 18116 #define VK_EXT_image_view_min_lod 1 18117 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 18118 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 18119 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 18120 VkStructureType sType; 18121 void* pNext; 18122 VkBool32 minLod; 18123 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 18124 18125 typedef struct VkImageViewMinLodCreateInfoEXT { 18126 VkStructureType sType; 18127 const void* pNext; 18128 float minLod; 18129 } VkImageViewMinLodCreateInfoEXT; 18130 18131 18132 18133 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 18134 #define VK_EXT_multi_draw 1 18135 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 18136 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 18137 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 18138 VkStructureType sType; 18139 void* pNext; 18140 VkBool32 multiDraw; 18141 } VkPhysicalDeviceMultiDrawFeaturesEXT; 18142 18143 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 18144 VkStructureType sType; 18145 void* pNext; 18146 uint32_t maxMultiDrawCount; 18147 } VkPhysicalDeviceMultiDrawPropertiesEXT; 18148 18149 typedef struct VkMultiDrawInfoEXT { 18150 uint32_t firstVertex; 18151 uint32_t vertexCount; 18152 } VkMultiDrawInfoEXT; 18153 18154 typedef struct VkMultiDrawIndexedInfoEXT { 18155 uint32_t firstIndex; 18156 uint32_t indexCount; 18157 int32_t vertexOffset; 18158 } VkMultiDrawIndexedInfoEXT; 18159 18160 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 18161 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); 18162 18163 #ifndef VK_NO_PROTOTYPES 18164 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 18165 VkCommandBuffer commandBuffer, 18166 uint32_t drawCount, 18167 const VkMultiDrawInfoEXT* pVertexInfo, 18168 uint32_t instanceCount, 18169 uint32_t firstInstance, 18170 uint32_t stride); 18171 18172 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 18173 VkCommandBuffer commandBuffer, 18174 uint32_t drawCount, 18175 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 18176 uint32_t instanceCount, 18177 uint32_t firstInstance, 18178 uint32_t stride, 18179 const int32_t* pVertexOffset); 18180 #endif 18181 18182 18183 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 18184 #define VK_EXT_image_2d_view_of_3d 1 18185 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 18186 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 18187 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 18188 VkStructureType sType; 18189 void* pNext; 18190 VkBool32 image2DViewOf3D; 18191 VkBool32 sampler2DViewOf3D; 18192 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 18193 18194 18195 18196 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 18197 #define VK_EXT_shader_tile_image 1 18198 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 18199 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 18200 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 18201 VkStructureType sType; 18202 void* pNext; 18203 VkBool32 shaderTileImageColorReadAccess; 18204 VkBool32 shaderTileImageDepthReadAccess; 18205 VkBool32 shaderTileImageStencilReadAccess; 18206 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 18207 18208 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 18209 VkStructureType sType; 18210 void* pNext; 18211 VkBool32 shaderTileImageCoherentReadAccelerated; 18212 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 18213 VkBool32 shaderTileImageReadFromHelperInvocation; 18214 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 18215 18216 18217 18218 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 18219 #define VK_EXT_opacity_micromap 1 18220 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 18221 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 18222 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 18223 18224 typedef enum VkMicromapTypeEXT { 18225 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 18226 #ifdef VK_ENABLE_BETA_EXTENSIONS 18227 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 18228 #endif 18229 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18230 } VkMicromapTypeEXT; 18231 18232 typedef enum VkBuildMicromapModeEXT { 18233 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 18234 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 18235 } VkBuildMicromapModeEXT; 18236 18237 typedef enum VkCopyMicromapModeEXT { 18238 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 18239 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 18240 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 18241 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 18242 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 18243 } VkCopyMicromapModeEXT; 18244 18245 typedef enum VkOpacityMicromapFormatEXT { 18246 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 18247 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 18248 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 18249 } VkOpacityMicromapFormatEXT; 18250 18251 typedef enum VkOpacityMicromapSpecialIndexEXT { 18252 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 18253 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 18254 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 18255 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 18256 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 18257 } VkOpacityMicromapSpecialIndexEXT; 18258 18259 typedef enum VkAccelerationStructureCompatibilityKHR { 18260 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 18261 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 18262 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 18263 } VkAccelerationStructureCompatibilityKHR; 18264 18265 typedef enum VkAccelerationStructureBuildTypeKHR { 18266 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 18267 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 18268 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 18269 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 18270 } VkAccelerationStructureBuildTypeKHR; 18271 18272 typedef enum VkBuildMicromapFlagBitsEXT { 18273 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 18274 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 18275 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 18276 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18277 } VkBuildMicromapFlagBitsEXT; 18278 typedef VkFlags VkBuildMicromapFlagsEXT; 18279 18280 typedef enum VkMicromapCreateFlagBitsEXT { 18281 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 18282 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18283 } VkMicromapCreateFlagBitsEXT; 18284 typedef VkFlags VkMicromapCreateFlagsEXT; 18285 typedef struct VkMicromapUsageEXT { 18286 uint32_t count; 18287 uint32_t subdivisionLevel; 18288 uint32_t format; 18289 } VkMicromapUsageEXT; 18290 18291 typedef union VkDeviceOrHostAddressKHR { 18292 VkDeviceAddress deviceAddress; 18293 void* hostAddress; 18294 } VkDeviceOrHostAddressKHR; 18295 18296 typedef struct VkMicromapBuildInfoEXT { 18297 VkStructureType sType; 18298 const void* pNext; 18299 VkMicromapTypeEXT type; 18300 VkBuildMicromapFlagsEXT flags; 18301 VkBuildMicromapModeEXT mode; 18302 VkMicromapEXT dstMicromap; 18303 uint32_t usageCountsCount; 18304 const VkMicromapUsageEXT* pUsageCounts; 18305 const VkMicromapUsageEXT* const* ppUsageCounts; 18306 VkDeviceOrHostAddressConstKHR data; 18307 VkDeviceOrHostAddressKHR scratchData; 18308 VkDeviceOrHostAddressConstKHR triangleArray; 18309 VkDeviceSize triangleArrayStride; 18310 } VkMicromapBuildInfoEXT; 18311 18312 typedef struct VkMicromapCreateInfoEXT { 18313 VkStructureType sType; 18314 const void* pNext; 18315 VkMicromapCreateFlagsEXT createFlags; 18316 VkBuffer buffer; 18317 VkDeviceSize offset; 18318 VkDeviceSize size; 18319 VkMicromapTypeEXT type; 18320 VkDeviceAddress deviceAddress; 18321 } VkMicromapCreateInfoEXT; 18322 18323 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 18324 VkStructureType sType; 18325 void* pNext; 18326 VkBool32 micromap; 18327 VkBool32 micromapCaptureReplay; 18328 VkBool32 micromapHostCommands; 18329 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 18330 18331 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 18332 VkStructureType sType; 18333 void* pNext; 18334 uint32_t maxOpacity2StateSubdivisionLevel; 18335 uint32_t maxOpacity4StateSubdivisionLevel; 18336 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 18337 18338 typedef struct VkMicromapVersionInfoEXT { 18339 VkStructureType sType; 18340 const void* pNext; 18341 const uint8_t* pVersionData; 18342 } VkMicromapVersionInfoEXT; 18343 18344 typedef struct VkCopyMicromapToMemoryInfoEXT { 18345 VkStructureType sType; 18346 const void* pNext; 18347 VkMicromapEXT src; 18348 VkDeviceOrHostAddressKHR dst; 18349 VkCopyMicromapModeEXT mode; 18350 } VkCopyMicromapToMemoryInfoEXT; 18351 18352 typedef struct VkCopyMemoryToMicromapInfoEXT { 18353 VkStructureType sType; 18354 const void* pNext; 18355 VkDeviceOrHostAddressConstKHR src; 18356 VkMicromapEXT dst; 18357 VkCopyMicromapModeEXT mode; 18358 } VkCopyMemoryToMicromapInfoEXT; 18359 18360 typedef struct VkCopyMicromapInfoEXT { 18361 VkStructureType sType; 18362 const void* pNext; 18363 VkMicromapEXT src; 18364 VkMicromapEXT dst; 18365 VkCopyMicromapModeEXT mode; 18366 } VkCopyMicromapInfoEXT; 18367 18368 typedef struct VkMicromapBuildSizesInfoEXT { 18369 VkStructureType sType; 18370 const void* pNext; 18371 VkDeviceSize micromapSize; 18372 VkDeviceSize buildScratchSize; 18373 VkBool32 discardable; 18374 } VkMicromapBuildSizesInfoEXT; 18375 18376 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 18377 VkStructureType sType; 18378 void* pNext; 18379 VkIndexType indexType; 18380 VkDeviceOrHostAddressConstKHR indexBuffer; 18381 VkDeviceSize indexStride; 18382 uint32_t baseTriangle; 18383 uint32_t usageCountsCount; 18384 const VkMicromapUsageEXT* pUsageCounts; 18385 const VkMicromapUsageEXT* const* ppUsageCounts; 18386 VkMicromapEXT micromap; 18387 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 18388 18389 typedef struct VkMicromapTriangleEXT { 18390 uint32_t dataOffset; 18391 uint16_t subdivisionLevel; 18392 uint16_t format; 18393 } VkMicromapTriangleEXT; 18394 18395 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 18396 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 18397 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18398 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18399 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 18400 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18401 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18402 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 18403 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 18404 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18405 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18406 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 18407 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 18408 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 18409 18410 #ifndef VK_NO_PROTOTYPES 18411 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 18412 VkDevice device, 18413 const VkMicromapCreateInfoEXT* pCreateInfo, 18414 const VkAllocationCallbacks* pAllocator, 18415 VkMicromapEXT* pMicromap); 18416 18417 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 18418 VkDevice device, 18419 VkMicromapEXT micromap, 18420 const VkAllocationCallbacks* pAllocator); 18421 18422 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 18423 VkCommandBuffer commandBuffer, 18424 uint32_t infoCount, 18425 const VkMicromapBuildInfoEXT* pInfos); 18426 18427 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 18428 VkDevice device, 18429 VkDeferredOperationKHR deferredOperation, 18430 uint32_t infoCount, 18431 const VkMicromapBuildInfoEXT* pInfos); 18432 18433 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 18434 VkDevice device, 18435 VkDeferredOperationKHR deferredOperation, 18436 const VkCopyMicromapInfoEXT* pInfo); 18437 18438 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 18439 VkDevice device, 18440 VkDeferredOperationKHR deferredOperation, 18441 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18442 18443 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 18444 VkDevice device, 18445 VkDeferredOperationKHR deferredOperation, 18446 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18447 18448 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 18449 VkDevice device, 18450 uint32_t micromapCount, 18451 const VkMicromapEXT* pMicromaps, 18452 VkQueryType queryType, 18453 size_t dataSize, 18454 void* pData, 18455 size_t stride); 18456 18457 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 18458 VkCommandBuffer commandBuffer, 18459 const VkCopyMicromapInfoEXT* pInfo); 18460 18461 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 18462 VkCommandBuffer commandBuffer, 18463 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18464 18465 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 18466 VkCommandBuffer commandBuffer, 18467 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18468 18469 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 18470 VkCommandBuffer commandBuffer, 18471 uint32_t micromapCount, 18472 const VkMicromapEXT* pMicromaps, 18473 VkQueryType queryType, 18474 VkQueryPool queryPool, 18475 uint32_t firstQuery); 18476 18477 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 18478 VkDevice device, 18479 const VkMicromapVersionInfoEXT* pVersionInfo, 18480 VkAccelerationStructureCompatibilityKHR* pCompatibility); 18481 18482 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 18483 VkDevice device, 18484 VkAccelerationStructureBuildTypeKHR buildType, 18485 const VkMicromapBuildInfoEXT* pBuildInfo, 18486 VkMicromapBuildSizesInfoEXT* pSizeInfo); 18487 #endif 18488 18489 18490 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 18491 #define VK_EXT_load_store_op_none 1 18492 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 18493 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 18494 18495 18496 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 18497 #define VK_HUAWEI_cluster_culling_shader 1 18498 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 18499 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 18500 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 18501 VkStructureType sType; 18502 void* pNext; 18503 VkBool32 clustercullingShader; 18504 VkBool32 multiviewClusterCullingShader; 18505 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 18506 18507 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 18508 VkStructureType sType; 18509 void* pNext; 18510 uint32_t maxWorkGroupCount[3]; 18511 uint32_t maxWorkGroupSize[3]; 18512 uint32_t maxOutputClusterCount; 18513 VkDeviceSize indirectBufferOffsetAlignment; 18514 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 18515 18516 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 18517 VkStructureType sType; 18518 void* pNext; 18519 VkBool32 clusterShadingRate; 18520 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 18521 18522 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 18523 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 18524 18525 #ifndef VK_NO_PROTOTYPES 18526 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 18527 VkCommandBuffer commandBuffer, 18528 uint32_t groupCountX, 18529 uint32_t groupCountY, 18530 uint32_t groupCountZ); 18531 18532 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 18533 VkCommandBuffer commandBuffer, 18534 VkBuffer buffer, 18535 VkDeviceSize offset); 18536 #endif 18537 18538 18539 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 18540 #define VK_EXT_border_color_swizzle 1 18541 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 18542 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 18543 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 18544 VkStructureType sType; 18545 void* pNext; 18546 VkBool32 borderColorSwizzle; 18547 VkBool32 borderColorSwizzleFromImage; 18548 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 18549 18550 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 18551 VkStructureType sType; 18552 const void* pNext; 18553 VkComponentMapping components; 18554 VkBool32 srgb; 18555 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 18556 18557 18558 18559 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 18560 #define VK_EXT_pageable_device_local_memory 1 18561 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 18562 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 18563 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 18564 VkStructureType sType; 18565 void* pNext; 18566 VkBool32 pageableDeviceLocalMemory; 18567 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 18568 18569 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 18570 18571 #ifndef VK_NO_PROTOTYPES 18572 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 18573 VkDevice device, 18574 VkDeviceMemory memory, 18575 float priority); 18576 #endif 18577 18578 18579 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 18580 #define VK_ARM_shader_core_properties 1 18581 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 18582 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 18583 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 18584 VkStructureType sType; 18585 void* pNext; 18586 uint32_t pixelRate; 18587 uint32_t texelRate; 18588 uint32_t fmaRate; 18589 } VkPhysicalDeviceShaderCorePropertiesARM; 18590 18591 18592 18593 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 18594 #define VK_ARM_scheduling_controls 1 18595 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 18596 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 18597 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 18598 18599 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 18600 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 18601 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 18602 18603 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 18604 VkStructureType sType; 18605 void* pNext; 18606 uint32_t shaderCoreCount; 18607 } VkDeviceQueueShaderCoreControlCreateInfoARM; 18608 18609 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 18610 VkStructureType sType; 18611 void* pNext; 18612 VkBool32 schedulingControls; 18613 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 18614 18615 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 18616 VkStructureType sType; 18617 void* pNext; 18618 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 18619 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 18620 18621 18622 18623 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 18624 #define VK_EXT_image_sliced_view_of_3d 1 18625 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 18626 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 18627 #define VK_REMAINING_3D_SLICES_EXT (~0U) 18628 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 18629 VkStructureType sType; 18630 void* pNext; 18631 VkBool32 imageSlicedViewOf3D; 18632 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 18633 18634 typedef struct VkImageViewSlicedCreateInfoEXT { 18635 VkStructureType sType; 18636 const void* pNext; 18637 uint32_t sliceOffset; 18638 uint32_t sliceCount; 18639 } VkImageViewSlicedCreateInfoEXT; 18640 18641 18642 18643 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 18644 #define VK_VALVE_descriptor_set_host_mapping 1 18645 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 18646 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 18647 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 18648 VkStructureType sType; 18649 void* pNext; 18650 VkBool32 descriptorSetHostMapping; 18651 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 18652 18653 typedef struct VkDescriptorSetBindingReferenceVALVE { 18654 VkStructureType sType; 18655 const void* pNext; 18656 VkDescriptorSetLayout descriptorSetLayout; 18657 uint32_t binding; 18658 } VkDescriptorSetBindingReferenceVALVE; 18659 18660 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 18661 VkStructureType sType; 18662 void* pNext; 18663 size_t descriptorOffset; 18664 uint32_t descriptorSize; 18665 } VkDescriptorSetLayoutHostMappingInfoVALVE; 18666 18667 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18668 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 18669 18670 #ifndef VK_NO_PROTOTYPES 18671 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 18672 VkDevice device, 18673 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 18674 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18675 18676 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 18677 VkDevice device, 18678 VkDescriptorSet descriptorSet, 18679 void** ppData); 18680 #endif 18681 18682 18683 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 18684 #define VK_EXT_depth_clamp_zero_one 1 18685 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 18686 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 18687 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 18688 VkStructureType sType; 18689 void* pNext; 18690 VkBool32 depthClampZeroOne; 18691 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 18692 18693 18694 18695 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 18696 #define VK_EXT_non_seamless_cube_map 1 18697 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 18698 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 18699 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 18700 VkStructureType sType; 18701 void* pNext; 18702 VkBool32 nonSeamlessCubeMap; 18703 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 18704 18705 18706 18707 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 18708 #define VK_ARM_render_pass_striped 1 18709 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 18710 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 18711 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 18712 VkStructureType sType; 18713 void* pNext; 18714 VkBool32 renderPassStriped; 18715 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 18716 18717 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 18718 VkStructureType sType; 18719 void* pNext; 18720 VkExtent2D renderPassStripeGranularity; 18721 uint32_t maxRenderPassStripes; 18722 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 18723 18724 typedef struct VkRenderPassStripeInfoARM { 18725 VkStructureType sType; 18726 const void* pNext; 18727 VkRect2D stripeArea; 18728 } VkRenderPassStripeInfoARM; 18729 18730 typedef struct VkRenderPassStripeBeginInfoARM { 18731 VkStructureType sType; 18732 const void* pNext; 18733 uint32_t stripeInfoCount; 18734 const VkRenderPassStripeInfoARM* pStripeInfos; 18735 } VkRenderPassStripeBeginInfoARM; 18736 18737 typedef struct VkRenderPassStripeSubmitInfoARM { 18738 VkStructureType sType; 18739 const void* pNext; 18740 uint32_t stripeSemaphoreInfoCount; 18741 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 18742 } VkRenderPassStripeSubmitInfoARM; 18743 18744 18745 18746 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 18747 #define VK_QCOM_fragment_density_map_offset 1 18748 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 2 18749 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 18750 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 18751 VkStructureType sType; 18752 void* pNext; 18753 VkBool32 fragmentDensityMapOffset; 18754 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 18755 18756 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 18757 VkStructureType sType; 18758 void* pNext; 18759 VkExtent2D fragmentDensityOffsetGranularity; 18760 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 18761 18762 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 18763 VkStructureType sType; 18764 const void* pNext; 18765 uint32_t fragmentDensityOffsetCount; 18766 const VkOffset2D* pFragmentDensityOffsets; 18767 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 18768 18769 18770 18771 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 18772 #define VK_NV_copy_memory_indirect 1 18773 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 18774 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 18775 typedef struct VkCopyMemoryIndirectCommandNV { 18776 VkDeviceAddress srcAddress; 18777 VkDeviceAddress dstAddress; 18778 VkDeviceSize size; 18779 } VkCopyMemoryIndirectCommandNV; 18780 18781 typedef struct VkCopyMemoryToImageIndirectCommandNV { 18782 VkDeviceAddress srcAddress; 18783 uint32_t bufferRowLength; 18784 uint32_t bufferImageHeight; 18785 VkImageSubresourceLayers imageSubresource; 18786 VkOffset3D imageOffset; 18787 VkExtent3D imageExtent; 18788 } VkCopyMemoryToImageIndirectCommandNV; 18789 18790 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 18791 VkStructureType sType; 18792 void* pNext; 18793 VkBool32 indirectCopy; 18794 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 18795 18796 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 18797 VkStructureType sType; 18798 void* pNext; 18799 VkQueueFlags supportedQueues; 18800 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 18801 18802 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 18803 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 18804 18805 #ifndef VK_NO_PROTOTYPES 18806 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 18807 VkCommandBuffer commandBuffer, 18808 VkDeviceAddress copyBufferAddress, 18809 uint32_t copyCount, 18810 uint32_t stride); 18811 18812 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 18813 VkCommandBuffer commandBuffer, 18814 VkDeviceAddress copyBufferAddress, 18815 uint32_t copyCount, 18816 uint32_t stride, 18817 VkImage dstImage, 18818 VkImageLayout dstImageLayout, 18819 const VkImageSubresourceLayers* pImageSubresources); 18820 #endif 18821 18822 18823 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 18824 #define VK_NV_memory_decompression 1 18825 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 18826 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 18827 18828 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 18829 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 18830 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 18831 18832 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 18833 typedef struct VkDecompressMemoryRegionNV { 18834 VkDeviceAddress srcAddress; 18835 VkDeviceAddress dstAddress; 18836 VkDeviceSize compressedSize; 18837 VkDeviceSize decompressedSize; 18838 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 18839 } VkDecompressMemoryRegionNV; 18840 18841 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 18842 VkStructureType sType; 18843 void* pNext; 18844 VkBool32 memoryDecompression; 18845 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 18846 18847 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 18848 VkStructureType sType; 18849 void* pNext; 18850 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 18851 uint64_t maxDecompressionIndirectCount; 18852 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 18853 18854 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18855 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 18856 18857 #ifndef VK_NO_PROTOTYPES 18858 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 18859 VkCommandBuffer commandBuffer, 18860 uint32_t decompressRegionCount, 18861 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18862 18863 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 18864 VkCommandBuffer commandBuffer, 18865 VkDeviceAddress indirectCommandsAddress, 18866 VkDeviceAddress indirectCommandsCountAddress, 18867 uint32_t stride); 18868 #endif 18869 18870 18871 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 18872 #define VK_NV_device_generated_commands_compute 1 18873 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 18874 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 18875 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 18876 VkStructureType sType; 18877 void* pNext; 18878 VkBool32 deviceGeneratedCompute; 18879 VkBool32 deviceGeneratedComputePipelines; 18880 VkBool32 deviceGeneratedComputeCaptureReplay; 18881 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 18882 18883 typedef struct VkComputePipelineIndirectBufferInfoNV { 18884 VkStructureType sType; 18885 const void* pNext; 18886 VkDeviceAddress deviceAddress; 18887 VkDeviceSize size; 18888 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 18889 } VkComputePipelineIndirectBufferInfoNV; 18890 18891 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 18892 VkStructureType sType; 18893 const void* pNext; 18894 VkPipelineBindPoint pipelineBindPoint; 18895 VkPipeline pipeline; 18896 } VkPipelineIndirectDeviceAddressInfoNV; 18897 18898 typedef struct VkBindPipelineIndirectCommandNV { 18899 VkDeviceAddress pipelineAddress; 18900 } VkBindPipelineIndirectCommandNV; 18901 18902 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 18903 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 18904 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18905 18906 #ifndef VK_NO_PROTOTYPES 18907 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 18908 VkDevice device, 18909 const VkComputePipelineCreateInfo* pCreateInfo, 18910 VkMemoryRequirements2* pMemoryRequirements); 18911 18912 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 18913 VkCommandBuffer commandBuffer, 18914 VkPipelineBindPoint pipelineBindPoint, 18915 VkPipeline pipeline); 18916 18917 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 18918 VkDevice device, 18919 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18920 #endif 18921 18922 18923 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 18924 #define VK_NV_linear_color_attachment 1 18925 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 18926 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 18927 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 18928 VkStructureType sType; 18929 void* pNext; 18930 VkBool32 linearColorAttachment; 18931 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 18932 18933 18934 18935 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 18936 #define VK_GOOGLE_surfaceless_query 1 18937 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 18938 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 18939 18940 18941 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 18942 #define VK_EXT_image_compression_control_swapchain 1 18943 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 18944 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 18945 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 18946 VkStructureType sType; 18947 void* pNext; 18948 VkBool32 imageCompressionControlSwapchain; 18949 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 18950 18951 18952 18953 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 18954 #define VK_QCOM_image_processing 1 18955 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 18956 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 18957 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 18958 VkStructureType sType; 18959 const void* pNext; 18960 VkOffset2D filterCenter; 18961 VkExtent2D filterSize; 18962 uint32_t numPhases; 18963 } VkImageViewSampleWeightCreateInfoQCOM; 18964 18965 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 18966 VkStructureType sType; 18967 void* pNext; 18968 VkBool32 textureSampleWeighted; 18969 VkBool32 textureBoxFilter; 18970 VkBool32 textureBlockMatch; 18971 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 18972 18973 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 18974 VkStructureType sType; 18975 void* pNext; 18976 uint32_t maxWeightFilterPhases; 18977 VkExtent2D maxWeightFilterDimension; 18978 VkExtent2D maxBlockMatchRegion; 18979 VkExtent2D maxBoxFilterBlockSize; 18980 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 18981 18982 18983 18984 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 18985 #define VK_EXT_nested_command_buffer 1 18986 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 18987 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 18988 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 18989 VkStructureType sType; 18990 void* pNext; 18991 VkBool32 nestedCommandBuffer; 18992 VkBool32 nestedCommandBufferRendering; 18993 VkBool32 nestedCommandBufferSimultaneousUse; 18994 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 18995 18996 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 18997 VkStructureType sType; 18998 void* pNext; 18999 uint32_t maxCommandBufferNestingLevel; 19000 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 19001 19002 19003 19004 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 19005 #define VK_EXT_external_memory_acquire_unmodified 1 19006 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 19007 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 19008 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 19009 VkStructureType sType; 19010 const void* pNext; 19011 VkBool32 acquireUnmodifiedMemory; 19012 } VkExternalMemoryAcquireUnmodifiedEXT; 19013 19014 19015 19016 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 19017 #define VK_EXT_extended_dynamic_state3 1 19018 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 19019 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 19020 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 19021 VkStructureType sType; 19022 void* pNext; 19023 VkBool32 extendedDynamicState3TessellationDomainOrigin; 19024 VkBool32 extendedDynamicState3DepthClampEnable; 19025 VkBool32 extendedDynamicState3PolygonMode; 19026 VkBool32 extendedDynamicState3RasterizationSamples; 19027 VkBool32 extendedDynamicState3SampleMask; 19028 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 19029 VkBool32 extendedDynamicState3AlphaToOneEnable; 19030 VkBool32 extendedDynamicState3LogicOpEnable; 19031 VkBool32 extendedDynamicState3ColorBlendEnable; 19032 VkBool32 extendedDynamicState3ColorBlendEquation; 19033 VkBool32 extendedDynamicState3ColorWriteMask; 19034 VkBool32 extendedDynamicState3RasterizationStream; 19035 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 19036 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 19037 VkBool32 extendedDynamicState3DepthClipEnable; 19038 VkBool32 extendedDynamicState3SampleLocationsEnable; 19039 VkBool32 extendedDynamicState3ColorBlendAdvanced; 19040 VkBool32 extendedDynamicState3ProvokingVertexMode; 19041 VkBool32 extendedDynamicState3LineRasterizationMode; 19042 VkBool32 extendedDynamicState3LineStippleEnable; 19043 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 19044 VkBool32 extendedDynamicState3ViewportWScalingEnable; 19045 VkBool32 extendedDynamicState3ViewportSwizzle; 19046 VkBool32 extendedDynamicState3CoverageToColorEnable; 19047 VkBool32 extendedDynamicState3CoverageToColorLocation; 19048 VkBool32 extendedDynamicState3CoverageModulationMode; 19049 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 19050 VkBool32 extendedDynamicState3CoverageModulationTable; 19051 VkBool32 extendedDynamicState3CoverageReductionMode; 19052 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 19053 VkBool32 extendedDynamicState3ShadingRateImageEnable; 19054 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 19055 19056 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 19057 VkStructureType sType; 19058 void* pNext; 19059 VkBool32 dynamicPrimitiveTopologyUnrestricted; 19060 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 19061 19062 typedef struct VkColorBlendEquationEXT { 19063 VkBlendFactor srcColorBlendFactor; 19064 VkBlendFactor dstColorBlendFactor; 19065 VkBlendOp colorBlendOp; 19066 VkBlendFactor srcAlphaBlendFactor; 19067 VkBlendFactor dstAlphaBlendFactor; 19068 VkBlendOp alphaBlendOp; 19069 } VkColorBlendEquationEXT; 19070 19071 typedef struct VkColorBlendAdvancedEXT { 19072 VkBlendOp advancedBlendOp; 19073 VkBool32 srcPremultiplied; 19074 VkBool32 dstPremultiplied; 19075 VkBlendOverlapEXT blendOverlap; 19076 VkBool32 clampResults; 19077 } VkColorBlendAdvancedEXT; 19078 19079 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 19080 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 19081 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 19082 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 19083 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 19084 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 19085 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 19086 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 19087 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 19088 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 19089 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 19090 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 19091 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 19092 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 19093 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 19094 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 19095 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 19096 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 19097 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 19098 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 19099 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 19100 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 19101 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 19102 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 19103 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 19104 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 19105 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 19106 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 19107 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 19108 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 19109 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 19110 19111 #ifndef VK_NO_PROTOTYPES 19112 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 19113 VkCommandBuffer commandBuffer, 19114 VkBool32 depthClampEnable); 19115 19116 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 19117 VkCommandBuffer commandBuffer, 19118 VkPolygonMode polygonMode); 19119 19120 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 19121 VkCommandBuffer commandBuffer, 19122 VkSampleCountFlagBits rasterizationSamples); 19123 19124 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 19125 VkCommandBuffer commandBuffer, 19126 VkSampleCountFlagBits samples, 19127 const VkSampleMask* pSampleMask); 19128 19129 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 19130 VkCommandBuffer commandBuffer, 19131 VkBool32 alphaToCoverageEnable); 19132 19133 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 19134 VkCommandBuffer commandBuffer, 19135 VkBool32 alphaToOneEnable); 19136 19137 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 19138 VkCommandBuffer commandBuffer, 19139 VkBool32 logicOpEnable); 19140 19141 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 19142 VkCommandBuffer commandBuffer, 19143 uint32_t firstAttachment, 19144 uint32_t attachmentCount, 19145 const VkBool32* pColorBlendEnables); 19146 19147 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 19148 VkCommandBuffer commandBuffer, 19149 uint32_t firstAttachment, 19150 uint32_t attachmentCount, 19151 const VkColorBlendEquationEXT* pColorBlendEquations); 19152 19153 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 19154 VkCommandBuffer commandBuffer, 19155 uint32_t firstAttachment, 19156 uint32_t attachmentCount, 19157 const VkColorComponentFlags* pColorWriteMasks); 19158 19159 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 19160 VkCommandBuffer commandBuffer, 19161 VkTessellationDomainOrigin domainOrigin); 19162 19163 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 19164 VkCommandBuffer commandBuffer, 19165 uint32_t rasterizationStream); 19166 19167 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 19168 VkCommandBuffer commandBuffer, 19169 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 19170 19171 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 19172 VkCommandBuffer commandBuffer, 19173 float extraPrimitiveOverestimationSize); 19174 19175 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 19176 VkCommandBuffer commandBuffer, 19177 VkBool32 depthClipEnable); 19178 19179 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 19180 VkCommandBuffer commandBuffer, 19181 VkBool32 sampleLocationsEnable); 19182 19183 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 19184 VkCommandBuffer commandBuffer, 19185 uint32_t firstAttachment, 19186 uint32_t attachmentCount, 19187 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 19188 19189 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 19190 VkCommandBuffer commandBuffer, 19191 VkProvokingVertexModeEXT provokingVertexMode); 19192 19193 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 19194 VkCommandBuffer commandBuffer, 19195 VkLineRasterizationModeEXT lineRasterizationMode); 19196 19197 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 19198 VkCommandBuffer commandBuffer, 19199 VkBool32 stippledLineEnable); 19200 19201 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 19202 VkCommandBuffer commandBuffer, 19203 VkBool32 negativeOneToOne); 19204 19205 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 19206 VkCommandBuffer commandBuffer, 19207 VkBool32 viewportWScalingEnable); 19208 19209 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 19210 VkCommandBuffer commandBuffer, 19211 uint32_t firstViewport, 19212 uint32_t viewportCount, 19213 const VkViewportSwizzleNV* pViewportSwizzles); 19214 19215 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 19216 VkCommandBuffer commandBuffer, 19217 VkBool32 coverageToColorEnable); 19218 19219 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 19220 VkCommandBuffer commandBuffer, 19221 uint32_t coverageToColorLocation); 19222 19223 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 19224 VkCommandBuffer commandBuffer, 19225 VkCoverageModulationModeNV coverageModulationMode); 19226 19227 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 19228 VkCommandBuffer commandBuffer, 19229 VkBool32 coverageModulationTableEnable); 19230 19231 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 19232 VkCommandBuffer commandBuffer, 19233 uint32_t coverageModulationTableCount, 19234 const float* pCoverageModulationTable); 19235 19236 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 19237 VkCommandBuffer commandBuffer, 19238 VkBool32 shadingRateImageEnable); 19239 19240 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 19241 VkCommandBuffer commandBuffer, 19242 VkBool32 representativeFragmentTestEnable); 19243 19244 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 19245 VkCommandBuffer commandBuffer, 19246 VkCoverageReductionModeNV coverageReductionMode); 19247 #endif 19248 19249 19250 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 19251 #define VK_EXT_subpass_merge_feedback 1 19252 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 19253 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 19254 19255 typedef enum VkSubpassMergeStatusEXT { 19256 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 19257 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 19258 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 19259 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 19260 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 19261 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 19262 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 19263 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 19264 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 19265 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 19266 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 19267 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 19268 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 19269 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 19270 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 19271 } VkSubpassMergeStatusEXT; 19272 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 19273 VkStructureType sType; 19274 void* pNext; 19275 VkBool32 subpassMergeFeedback; 19276 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 19277 19278 typedef struct VkRenderPassCreationControlEXT { 19279 VkStructureType sType; 19280 const void* pNext; 19281 VkBool32 disallowMerging; 19282 } VkRenderPassCreationControlEXT; 19283 19284 typedef struct VkRenderPassCreationFeedbackInfoEXT { 19285 uint32_t postMergeSubpassCount; 19286 } VkRenderPassCreationFeedbackInfoEXT; 19287 19288 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 19289 VkStructureType sType; 19290 const void* pNext; 19291 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 19292 } VkRenderPassCreationFeedbackCreateInfoEXT; 19293 19294 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 19295 VkSubpassMergeStatusEXT subpassMergeStatus; 19296 char description[VK_MAX_DESCRIPTION_SIZE]; 19297 uint32_t postMergeIndex; 19298 } VkRenderPassSubpassFeedbackInfoEXT; 19299 19300 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 19301 VkStructureType sType; 19302 const void* pNext; 19303 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 19304 } VkRenderPassSubpassFeedbackCreateInfoEXT; 19305 19306 19307 19308 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 19309 #define VK_LUNARG_direct_driver_loading 1 19310 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 19311 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 19312 19313 typedef enum VkDirectDriverLoadingModeLUNARG { 19314 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 19315 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 19316 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 19317 } VkDirectDriverLoadingModeLUNARG; 19318 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 19319 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 19320 VkInstance instance, const char* pName); 19321 19322 typedef struct VkDirectDriverLoadingInfoLUNARG { 19323 VkStructureType sType; 19324 void* pNext; 19325 VkDirectDriverLoadingFlagsLUNARG flags; 19326 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 19327 } VkDirectDriverLoadingInfoLUNARG; 19328 19329 typedef struct VkDirectDriverLoadingListLUNARG { 19330 VkStructureType sType; 19331 const void* pNext; 19332 VkDirectDriverLoadingModeLUNARG mode; 19333 uint32_t driverCount; 19334 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 19335 } VkDirectDriverLoadingListLUNARG; 19336 19337 19338 19339 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 19340 #define VK_EXT_shader_module_identifier 1 19341 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 19342 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 19343 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 19344 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 19345 VkStructureType sType; 19346 void* pNext; 19347 VkBool32 shaderModuleIdentifier; 19348 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 19349 19350 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 19351 VkStructureType sType; 19352 void* pNext; 19353 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 19354 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 19355 19356 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 19357 VkStructureType sType; 19358 const void* pNext; 19359 uint32_t identifierSize; 19360 const uint8_t* pIdentifier; 19361 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 19362 19363 typedef struct VkShaderModuleIdentifierEXT { 19364 VkStructureType sType; 19365 void* pNext; 19366 uint32_t identifierSize; 19367 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 19368 } VkShaderModuleIdentifierEXT; 19369 19370 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 19371 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 19372 19373 #ifndef VK_NO_PROTOTYPES 19374 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 19375 VkDevice device, 19376 VkShaderModule shaderModule, 19377 VkShaderModuleIdentifierEXT* pIdentifier); 19378 19379 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 19380 VkDevice device, 19381 const VkShaderModuleCreateInfo* pCreateInfo, 19382 VkShaderModuleIdentifierEXT* pIdentifier); 19383 #endif 19384 19385 19386 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 19387 #define VK_EXT_rasterization_order_attachment_access 1 19388 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 19389 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 19390 19391 19392 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 19393 #define VK_NV_optical_flow 1 19394 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 19395 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 19396 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 19397 19398 typedef enum VkOpticalFlowPerformanceLevelNV { 19399 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 19400 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 19401 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 19402 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 19403 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 19404 } VkOpticalFlowPerformanceLevelNV; 19405 19406 typedef enum VkOpticalFlowSessionBindingPointNV { 19407 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 19408 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 19409 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 19410 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 19411 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 19412 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 19413 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 19414 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 19415 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 19416 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 19417 } VkOpticalFlowSessionBindingPointNV; 19418 19419 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 19420 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 19421 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 19422 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 19423 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 19424 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 19425 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19426 } VkOpticalFlowGridSizeFlagBitsNV; 19427 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 19428 19429 typedef enum VkOpticalFlowUsageFlagBitsNV { 19430 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 19431 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 19432 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 19433 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 19434 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 19435 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 19436 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19437 } VkOpticalFlowUsageFlagBitsNV; 19438 typedef VkFlags VkOpticalFlowUsageFlagsNV; 19439 19440 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 19441 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 19442 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 19443 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 19444 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 19445 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 19446 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19447 } VkOpticalFlowSessionCreateFlagBitsNV; 19448 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 19449 19450 typedef enum VkOpticalFlowExecuteFlagBitsNV { 19451 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 19452 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19453 } VkOpticalFlowExecuteFlagBitsNV; 19454 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 19455 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 19456 VkStructureType sType; 19457 void* pNext; 19458 VkBool32 opticalFlow; 19459 } VkPhysicalDeviceOpticalFlowFeaturesNV; 19460 19461 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 19462 VkStructureType sType; 19463 void* pNext; 19464 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 19465 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 19466 VkBool32 hintSupported; 19467 VkBool32 costSupported; 19468 VkBool32 bidirectionalFlowSupported; 19469 VkBool32 globalFlowSupported; 19470 uint32_t minWidth; 19471 uint32_t minHeight; 19472 uint32_t maxWidth; 19473 uint32_t maxHeight; 19474 uint32_t maxNumRegionsOfInterest; 19475 } VkPhysicalDeviceOpticalFlowPropertiesNV; 19476 19477 typedef struct VkOpticalFlowImageFormatInfoNV { 19478 VkStructureType sType; 19479 const void* pNext; 19480 VkOpticalFlowUsageFlagsNV usage; 19481 } VkOpticalFlowImageFormatInfoNV; 19482 19483 typedef struct VkOpticalFlowImageFormatPropertiesNV { 19484 VkStructureType sType; 19485 const void* pNext; 19486 VkFormat format; 19487 } VkOpticalFlowImageFormatPropertiesNV; 19488 19489 typedef struct VkOpticalFlowSessionCreateInfoNV { 19490 VkStructureType sType; 19491 void* pNext; 19492 uint32_t width; 19493 uint32_t height; 19494 VkFormat imageFormat; 19495 VkFormat flowVectorFormat; 19496 VkFormat costFormat; 19497 VkOpticalFlowGridSizeFlagsNV outputGridSize; 19498 VkOpticalFlowGridSizeFlagsNV hintGridSize; 19499 VkOpticalFlowPerformanceLevelNV performanceLevel; 19500 VkOpticalFlowSessionCreateFlagsNV flags; 19501 } VkOpticalFlowSessionCreateInfoNV; 19502 19503 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 19504 VkStructureType sType; 19505 void* pNext; 19506 uint32_t id; 19507 uint32_t size; 19508 const void* pPrivateData; 19509 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 19510 19511 typedef struct VkOpticalFlowExecuteInfoNV { 19512 VkStructureType sType; 19513 void* pNext; 19514 VkOpticalFlowExecuteFlagsNV flags; 19515 uint32_t regionCount; 19516 const VkRect2D* pRegions; 19517 } VkOpticalFlowExecuteInfoNV; 19518 19519 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19520 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 19521 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 19522 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 19523 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19524 19525 #ifndef VK_NO_PROTOTYPES 19526 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 19527 VkPhysicalDevice physicalDevice, 19528 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 19529 uint32_t* pFormatCount, 19530 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19531 19532 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 19533 VkDevice device, 19534 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 19535 const VkAllocationCallbacks* pAllocator, 19536 VkOpticalFlowSessionNV* pSession); 19537 19538 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 19539 VkDevice device, 19540 VkOpticalFlowSessionNV session, 19541 const VkAllocationCallbacks* pAllocator); 19542 19543 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 19544 VkDevice device, 19545 VkOpticalFlowSessionNV session, 19546 VkOpticalFlowSessionBindingPointNV bindingPoint, 19547 VkImageView view, 19548 VkImageLayout layout); 19549 19550 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 19551 VkCommandBuffer commandBuffer, 19552 VkOpticalFlowSessionNV session, 19553 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19554 #endif 19555 19556 19557 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 19558 #define VK_EXT_legacy_dithering 1 19559 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2 19560 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 19561 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 19562 VkStructureType sType; 19563 void* pNext; 19564 VkBool32 legacyDithering; 19565 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 19566 19567 19568 19569 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 19570 #define VK_EXT_pipeline_protected_access 1 19571 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 19572 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 19573 typedef VkPhysicalDevicePipelineProtectedAccessFeatures VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 19574 19575 19576 19577 // VK_AMD_anti_lag is a preprocessor guard. Do not pass it to API calls. 19578 #define VK_AMD_anti_lag 1 19579 #define VK_AMD_ANTI_LAG_SPEC_VERSION 1 19580 #define VK_AMD_ANTI_LAG_EXTENSION_NAME "VK_AMD_anti_lag" 19581 19582 typedef enum VkAntiLagModeAMD { 19583 VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0, 19584 VK_ANTI_LAG_MODE_ON_AMD = 1, 19585 VK_ANTI_LAG_MODE_OFF_AMD = 2, 19586 VK_ANTI_LAG_MODE_MAX_ENUM_AMD = 0x7FFFFFFF 19587 } VkAntiLagModeAMD; 19588 19589 typedef enum VkAntiLagStageAMD { 19590 VK_ANTI_LAG_STAGE_INPUT_AMD = 0, 19591 VK_ANTI_LAG_STAGE_PRESENT_AMD = 1, 19592 VK_ANTI_LAG_STAGE_MAX_ENUM_AMD = 0x7FFFFFFF 19593 } VkAntiLagStageAMD; 19594 typedef struct VkPhysicalDeviceAntiLagFeaturesAMD { 19595 VkStructureType sType; 19596 void* pNext; 19597 VkBool32 antiLag; 19598 } VkPhysicalDeviceAntiLagFeaturesAMD; 19599 19600 typedef struct VkAntiLagPresentationInfoAMD { 19601 VkStructureType sType; 19602 void* pNext; 19603 VkAntiLagStageAMD stage; 19604 uint64_t frameIndex; 19605 } VkAntiLagPresentationInfoAMD; 19606 19607 typedef struct VkAntiLagDataAMD { 19608 VkStructureType sType; 19609 const void* pNext; 19610 VkAntiLagModeAMD mode; 19611 uint32_t maxFPS; 19612 const VkAntiLagPresentationInfoAMD* pPresentationInfo; 19613 } VkAntiLagDataAMD; 19614 19615 typedef void (VKAPI_PTR *PFN_vkAntiLagUpdateAMD)(VkDevice device, const VkAntiLagDataAMD* pData); 19616 19617 #ifndef VK_NO_PROTOTYPES 19618 VKAPI_ATTR void VKAPI_CALL vkAntiLagUpdateAMD( 19619 VkDevice device, 19620 const VkAntiLagDataAMD* pData); 19621 #endif 19622 19623 19624 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 19625 #define VK_EXT_shader_object 1 19626 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 19627 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 19628 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 19629 19630 typedef enum VkShaderCodeTypeEXT { 19631 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 19632 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 19633 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19634 } VkShaderCodeTypeEXT; 19635 19636 typedef enum VkDepthClampModeEXT { 19637 VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT = 0, 19638 VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT = 1, 19639 VK_DEPTH_CLAMP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 19640 } VkDepthClampModeEXT; 19641 19642 typedef enum VkShaderCreateFlagBitsEXT { 19643 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 19644 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 19645 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 19646 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 19647 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 19648 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 19649 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 19650 VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT = 0x00000080, 19651 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 19652 } VkShaderCreateFlagBitsEXT; 19653 typedef VkFlags VkShaderCreateFlagsEXT; 19654 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 19655 VkStructureType sType; 19656 void* pNext; 19657 VkBool32 shaderObject; 19658 } VkPhysicalDeviceShaderObjectFeaturesEXT; 19659 19660 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 19661 VkStructureType sType; 19662 void* pNext; 19663 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 19664 uint32_t shaderBinaryVersion; 19665 } VkPhysicalDeviceShaderObjectPropertiesEXT; 19666 19667 typedef struct VkShaderCreateInfoEXT { 19668 VkStructureType sType; 19669 const void* pNext; 19670 VkShaderCreateFlagsEXT flags; 19671 VkShaderStageFlagBits stage; 19672 VkShaderStageFlags nextStage; 19673 VkShaderCodeTypeEXT codeType; 19674 size_t codeSize; 19675 const void* pCode; 19676 const char* pName; 19677 uint32_t setLayoutCount; 19678 const VkDescriptorSetLayout* pSetLayouts; 19679 uint32_t pushConstantRangeCount; 19680 const VkPushConstantRange* pPushConstantRanges; 19681 const VkSpecializationInfo* pSpecializationInfo; 19682 } VkShaderCreateInfoEXT; 19683 19684 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 19685 19686 typedef struct VkDepthClampRangeEXT { 19687 float minDepthClamp; 19688 float maxDepthClamp; 19689 } VkDepthClampRangeEXT; 19690 19691 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 19692 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 19693 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 19694 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 19695 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampRangeEXT)(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT* pDepthClampRange); 19696 19697 #ifndef VK_NO_PROTOTYPES 19698 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 19699 VkDevice device, 19700 uint32_t createInfoCount, 19701 const VkShaderCreateInfoEXT* pCreateInfos, 19702 const VkAllocationCallbacks* pAllocator, 19703 VkShaderEXT* pShaders); 19704 19705 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 19706 VkDevice device, 19707 VkShaderEXT shader, 19708 const VkAllocationCallbacks* pAllocator); 19709 19710 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 19711 VkDevice device, 19712 VkShaderEXT shader, 19713 size_t* pDataSize, 19714 void* pData); 19715 19716 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 19717 VkCommandBuffer commandBuffer, 19718 uint32_t stageCount, 19719 const VkShaderStageFlagBits* pStages, 19720 const VkShaderEXT* pShaders); 19721 19722 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampRangeEXT( 19723 VkCommandBuffer commandBuffer, 19724 VkDepthClampModeEXT depthClampMode, 19725 const VkDepthClampRangeEXT* pDepthClampRange); 19726 #endif 19727 19728 19729 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 19730 #define VK_QCOM_tile_properties 1 19731 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 19732 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 19733 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 19734 VkStructureType sType; 19735 void* pNext; 19736 VkBool32 tileProperties; 19737 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 19738 19739 typedef struct VkTilePropertiesQCOM { 19740 VkStructureType sType; 19741 void* pNext; 19742 VkExtent3D tileSize; 19743 VkExtent2D apronSize; 19744 VkOffset2D origin; 19745 } VkTilePropertiesQCOM; 19746 19747 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 19748 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 19749 19750 #ifndef VK_NO_PROTOTYPES 19751 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 19752 VkDevice device, 19753 VkFramebuffer framebuffer, 19754 uint32_t* pPropertiesCount, 19755 VkTilePropertiesQCOM* pProperties); 19756 19757 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 19758 VkDevice device, 19759 const VkRenderingInfo* pRenderingInfo, 19760 VkTilePropertiesQCOM* pProperties); 19761 #endif 19762 19763 19764 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 19765 #define VK_SEC_amigo_profiling 1 19766 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 19767 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 19768 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 19769 VkStructureType sType; 19770 void* pNext; 19771 VkBool32 amigoProfiling; 19772 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 19773 19774 typedef struct VkAmigoProfilingSubmitInfoSEC { 19775 VkStructureType sType; 19776 const void* pNext; 19777 uint64_t firstDrawTimestamp; 19778 uint64_t swapBufferTimestamp; 19779 } VkAmigoProfilingSubmitInfoSEC; 19780 19781 19782 19783 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 19784 #define VK_QCOM_multiview_per_view_viewports 1 19785 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 19786 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 19787 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 19788 VkStructureType sType; 19789 void* pNext; 19790 VkBool32 multiviewPerViewViewports; 19791 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 19792 19793 19794 19795 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 19796 #define VK_NV_ray_tracing_invocation_reorder 1 19797 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 19798 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 19799 19800 typedef enum VkRayTracingInvocationReorderModeNV { 19801 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 19802 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 19803 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19804 } VkRayTracingInvocationReorderModeNV; 19805 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 19806 VkStructureType sType; 19807 void* pNext; 19808 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 19809 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 19810 19811 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 19812 VkStructureType sType; 19813 void* pNext; 19814 VkBool32 rayTracingInvocationReorder; 19815 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 19816 19817 19818 19819 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 19820 #define VK_NV_extended_sparse_address_space 1 19821 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 19822 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 19823 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 19824 VkStructureType sType; 19825 void* pNext; 19826 VkBool32 extendedSparseAddressSpace; 19827 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 19828 19829 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 19830 VkStructureType sType; 19831 void* pNext; 19832 VkDeviceSize extendedSparseAddressSpaceSize; 19833 VkImageUsageFlags extendedSparseImageUsageFlags; 19834 VkBufferUsageFlags extendedSparseBufferUsageFlags; 19835 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 19836 19837 19838 19839 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 19840 #define VK_EXT_mutable_descriptor_type 1 19841 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 19842 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 19843 19844 19845 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls. 19846 #define VK_EXT_legacy_vertex_attributes 1 19847 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1 19848 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes" 19849 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT { 19850 VkStructureType sType; 19851 void* pNext; 19852 VkBool32 legacyVertexAttributes; 19853 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT; 19854 19855 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT { 19856 VkStructureType sType; 19857 void* pNext; 19858 VkBool32 nativeUnalignedPerformance; 19859 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT; 19860 19861 19862 19863 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 19864 #define VK_EXT_layer_settings 1 19865 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 19866 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 19867 19868 typedef enum VkLayerSettingTypeEXT { 19869 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 19870 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 19871 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 19872 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 19873 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 19874 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 19875 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 19876 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 19877 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19878 } VkLayerSettingTypeEXT; 19879 typedef struct VkLayerSettingEXT { 19880 const char* pLayerName; 19881 const char* pSettingName; 19882 VkLayerSettingTypeEXT type; 19883 uint32_t valueCount; 19884 const void* pValues; 19885 } VkLayerSettingEXT; 19886 19887 typedef struct VkLayerSettingsCreateInfoEXT { 19888 VkStructureType sType; 19889 const void* pNext; 19890 uint32_t settingCount; 19891 const VkLayerSettingEXT* pSettings; 19892 } VkLayerSettingsCreateInfoEXT; 19893 19894 19895 19896 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 19897 #define VK_ARM_shader_core_builtins 1 19898 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 19899 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 19900 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 19901 VkStructureType sType; 19902 void* pNext; 19903 VkBool32 shaderCoreBuiltins; 19904 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 19905 19906 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 19907 VkStructureType sType; 19908 void* pNext; 19909 uint64_t shaderCoreMask; 19910 uint32_t shaderCoreCount; 19911 uint32_t shaderWarpsPerCore; 19912 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 19913 19914 19915 19916 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 19917 #define VK_EXT_pipeline_library_group_handles 1 19918 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 19919 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 19920 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 19921 VkStructureType sType; 19922 void* pNext; 19923 VkBool32 pipelineLibraryGroupHandles; 19924 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 19925 19926 19927 19928 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 19929 #define VK_EXT_dynamic_rendering_unused_attachments 1 19930 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 19931 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 19932 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 19933 VkStructureType sType; 19934 void* pNext; 19935 VkBool32 dynamicRenderingUnusedAttachments; 19936 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 19937 19938 19939 19940 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 19941 #define VK_NV_low_latency2 1 19942 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 19943 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 19944 19945 typedef enum VkLatencyMarkerNV { 19946 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 19947 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 19948 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 19949 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 19950 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 19951 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 19952 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 19953 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 19954 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 19955 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 19956 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 19957 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 19958 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 19959 } VkLatencyMarkerNV; 19960 19961 typedef enum VkOutOfBandQueueTypeNV { 19962 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 19963 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 19964 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 19965 } VkOutOfBandQueueTypeNV; 19966 typedef struct VkLatencySleepModeInfoNV { 19967 VkStructureType sType; 19968 const void* pNext; 19969 VkBool32 lowLatencyMode; 19970 VkBool32 lowLatencyBoost; 19971 uint32_t minimumIntervalUs; 19972 } VkLatencySleepModeInfoNV; 19973 19974 typedef struct VkLatencySleepInfoNV { 19975 VkStructureType sType; 19976 const void* pNext; 19977 VkSemaphore signalSemaphore; 19978 uint64_t value; 19979 } VkLatencySleepInfoNV; 19980 19981 typedef struct VkSetLatencyMarkerInfoNV { 19982 VkStructureType sType; 19983 const void* pNext; 19984 uint64_t presentID; 19985 VkLatencyMarkerNV marker; 19986 } VkSetLatencyMarkerInfoNV; 19987 19988 typedef struct VkLatencyTimingsFrameReportNV { 19989 VkStructureType sType; 19990 const void* pNext; 19991 uint64_t presentID; 19992 uint64_t inputSampleTimeUs; 19993 uint64_t simStartTimeUs; 19994 uint64_t simEndTimeUs; 19995 uint64_t renderSubmitStartTimeUs; 19996 uint64_t renderSubmitEndTimeUs; 19997 uint64_t presentStartTimeUs; 19998 uint64_t presentEndTimeUs; 19999 uint64_t driverStartTimeUs; 20000 uint64_t driverEndTimeUs; 20001 uint64_t osRenderQueueStartTimeUs; 20002 uint64_t osRenderQueueEndTimeUs; 20003 uint64_t gpuRenderStartTimeUs; 20004 uint64_t gpuRenderEndTimeUs; 20005 } VkLatencyTimingsFrameReportNV; 20006 20007 typedef struct VkGetLatencyMarkerInfoNV { 20008 VkStructureType sType; 20009 const void* pNext; 20010 uint32_t timingCount; 20011 VkLatencyTimingsFrameReportNV* pTimings; 20012 } VkGetLatencyMarkerInfoNV; 20013 20014 typedef struct VkLatencySubmissionPresentIdNV { 20015 VkStructureType sType; 20016 const void* pNext; 20017 uint64_t presentID; 20018 } VkLatencySubmissionPresentIdNV; 20019 20020 typedef struct VkSwapchainLatencyCreateInfoNV { 20021 VkStructureType sType; 20022 const void* pNext; 20023 VkBool32 latencyModeEnable; 20024 } VkSwapchainLatencyCreateInfoNV; 20025 20026 typedef struct VkOutOfBandQueueTypeInfoNV { 20027 VkStructureType sType; 20028 const void* pNext; 20029 VkOutOfBandQueueTypeNV queueType; 20030 } VkOutOfBandQueueTypeInfoNV; 20031 20032 typedef struct VkLatencySurfaceCapabilitiesNV { 20033 VkStructureType sType; 20034 const void* pNext; 20035 uint32_t presentModeCount; 20036 VkPresentModeKHR* pPresentModes; 20037 } VkLatencySurfaceCapabilitiesNV; 20038 20039 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 20040 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 20041 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20042 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20043 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 20044 20045 #ifndef VK_NO_PROTOTYPES 20046 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 20047 VkDevice device, 20048 VkSwapchainKHR swapchain, 20049 const VkLatencySleepModeInfoNV* pSleepModeInfo); 20050 20051 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 20052 VkDevice device, 20053 VkSwapchainKHR swapchain, 20054 const VkLatencySleepInfoNV* pSleepInfo); 20055 20056 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 20057 VkDevice device, 20058 VkSwapchainKHR swapchain, 20059 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20060 20061 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 20062 VkDevice device, 20063 VkSwapchainKHR swapchain, 20064 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 20065 20066 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 20067 VkQueue queue, 20068 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 20069 #endif 20070 20071 20072 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 20073 #define VK_QCOM_multiview_per_view_render_areas 1 20074 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 20075 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 20076 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 20077 VkStructureType sType; 20078 void* pNext; 20079 VkBool32 multiviewPerViewRenderAreas; 20080 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 20081 20082 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 20083 VkStructureType sType; 20084 const void* pNext; 20085 uint32_t perViewRenderAreaCount; 20086 const VkRect2D* pPerViewRenderAreas; 20087 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 20088 20089 20090 20091 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 20092 #define VK_NV_per_stage_descriptor_set 1 20093 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 20094 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 20095 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 20096 VkStructureType sType; 20097 void* pNext; 20098 VkBool32 perStageDescriptorSet; 20099 VkBool32 dynamicPipelineLayout; 20100 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 20101 20102 20103 20104 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 20105 #define VK_QCOM_image_processing2 1 20106 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 20107 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 20108 20109 typedef enum VkBlockMatchWindowCompareModeQCOM { 20110 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 20111 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 20112 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 20113 } VkBlockMatchWindowCompareModeQCOM; 20114 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 20115 VkStructureType sType; 20116 void* pNext; 20117 VkBool32 textureBlockMatch2; 20118 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 20119 20120 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 20121 VkStructureType sType; 20122 void* pNext; 20123 VkExtent2D maxBlockMatchWindow; 20124 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 20125 20126 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 20127 VkStructureType sType; 20128 const void* pNext; 20129 VkExtent2D windowExtent; 20130 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 20131 } VkSamplerBlockMatchWindowCreateInfoQCOM; 20132 20133 20134 20135 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 20136 #define VK_QCOM_filter_cubic_weights 1 20137 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 20138 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 20139 20140 typedef enum VkCubicFilterWeightsQCOM { 20141 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 20142 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 20143 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 20144 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 20145 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 20146 } VkCubicFilterWeightsQCOM; 20147 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 20148 VkStructureType sType; 20149 void* pNext; 20150 VkBool32 selectableCubicWeights; 20151 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 20152 20153 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 20154 VkStructureType sType; 20155 const void* pNext; 20156 VkCubicFilterWeightsQCOM cubicWeights; 20157 } VkSamplerCubicWeightsCreateInfoQCOM; 20158 20159 typedef struct VkBlitImageCubicWeightsInfoQCOM { 20160 VkStructureType sType; 20161 const void* pNext; 20162 VkCubicFilterWeightsQCOM cubicWeights; 20163 } VkBlitImageCubicWeightsInfoQCOM; 20164 20165 20166 20167 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 20168 #define VK_QCOM_ycbcr_degamma 1 20169 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 20170 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 20171 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 20172 VkStructureType sType; 20173 void* pNext; 20174 VkBool32 ycbcrDegamma; 20175 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 20176 20177 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 20178 VkStructureType sType; 20179 void* pNext; 20180 VkBool32 enableYDegamma; 20181 VkBool32 enableCbCrDegamma; 20182 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 20183 20184 20185 20186 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 20187 #define VK_QCOM_filter_cubic_clamp 1 20188 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 20189 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 20190 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 20191 VkStructureType sType; 20192 void* pNext; 20193 VkBool32 cubicRangeClamp; 20194 } VkPhysicalDeviceCubicClampFeaturesQCOM; 20195 20196 20197 20198 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 20199 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 20200 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 20201 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 20202 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 20203 VkStructureType sType; 20204 void* pNext; 20205 VkBool32 attachmentFeedbackLoopDynamicState; 20206 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 20207 20208 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 20209 20210 #ifndef VK_NO_PROTOTYPES 20211 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 20212 VkCommandBuffer commandBuffer, 20213 VkImageAspectFlags aspectMask); 20214 #endif 20215 20216 20217 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 20218 #define VK_MSFT_layered_driver 1 20219 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 20220 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 20221 20222 typedef enum VkLayeredDriverUnderlyingApiMSFT { 20223 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 20224 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 20225 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 20226 } VkLayeredDriverUnderlyingApiMSFT; 20227 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 20228 VkStructureType sType; 20229 void* pNext; 20230 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 20231 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 20232 20233 20234 20235 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 20236 #define VK_NV_descriptor_pool_overallocation 1 20237 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 20238 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 20239 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 20240 VkStructureType sType; 20241 void* pNext; 20242 VkBool32 descriptorPoolOverallocation; 20243 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 20244 20245 20246 20247 // VK_NV_display_stereo is a preprocessor guard. Do not pass it to API calls. 20248 #define VK_NV_display_stereo 1 20249 #define VK_NV_DISPLAY_STEREO_SPEC_VERSION 1 20250 #define VK_NV_DISPLAY_STEREO_EXTENSION_NAME "VK_NV_display_stereo" 20251 20252 typedef enum VkDisplaySurfaceStereoTypeNV { 20253 VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV = 0, 20254 VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV = 1, 20255 VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV = 2, 20256 VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV = 3, 20257 VK_DISPLAY_SURFACE_STEREO_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 20258 } VkDisplaySurfaceStereoTypeNV; 20259 typedef struct VkDisplaySurfaceStereoCreateInfoNV { 20260 VkStructureType sType; 20261 const void* pNext; 20262 VkDisplaySurfaceStereoTypeNV stereoType; 20263 } VkDisplaySurfaceStereoCreateInfoNV; 20264 20265 typedef struct VkDisplayModeStereoPropertiesNV { 20266 VkStructureType sType; 20267 const void* pNext; 20268 VkBool32 hdmi3DSupported; 20269 } VkDisplayModeStereoPropertiesNV; 20270 20271 20272 20273 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 20274 #define VK_NV_raw_access_chains 1 20275 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 20276 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 20277 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 20278 VkStructureType sType; 20279 void* pNext; 20280 VkBool32 shaderRawAccessChains; 20281 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 20282 20283 20284 20285 // VK_NV_command_buffer_inheritance is a preprocessor guard. Do not pass it to API calls. 20286 #define VK_NV_command_buffer_inheritance 1 20287 #define VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION 1 20288 #define VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME "VK_NV_command_buffer_inheritance" 20289 typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV { 20290 VkStructureType sType; 20291 void* pNext; 20292 VkBool32 commandBufferInheritance; 20293 } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV; 20294 20295 20296 20297 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 20298 #define VK_NV_shader_atomic_float16_vector 1 20299 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 20300 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 20301 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 20302 VkStructureType sType; 20303 void* pNext; 20304 VkBool32 shaderFloat16VectorAtomics; 20305 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 20306 20307 20308 20309 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls. 20310 #define VK_EXT_shader_replicated_composites 1 20311 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1 20312 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" 20313 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT { 20314 VkStructureType sType; 20315 void* pNext; 20316 VkBool32 shaderReplicatedComposites; 20317 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT; 20318 20319 20320 20321 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. 20322 #define VK_NV_ray_tracing_validation 1 20323 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 20324 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" 20325 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { 20326 VkStructureType sType; 20327 void* pNext; 20328 VkBool32 rayTracingValidation; 20329 } VkPhysicalDeviceRayTracingValidationFeaturesNV; 20330 20331 20332 20333 // VK_EXT_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 20334 #define VK_EXT_device_generated_commands 1 20335 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT) 20336 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT) 20337 #define VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 20338 #define VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_EXT_device_generated_commands" 20339 20340 typedef enum VkIndirectExecutionSetInfoTypeEXT { 20341 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT = 0, 20342 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT = 1, 20343 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 20344 } VkIndirectExecutionSetInfoTypeEXT; 20345 20346 typedef enum VkIndirectCommandsTokenTypeEXT { 20347 VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT = 0, 20348 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT = 1, 20349 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT = 2, 20350 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT = 3, 20351 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT = 4, 20352 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT = 5, 20353 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT = 6, 20354 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT = 7, 20355 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT = 8, 20356 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT = 9, 20357 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT = 1000202002, 20358 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT = 1000202003, 20359 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT = 1000328000, 20360 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT = 1000328001, 20361 VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT = 1000386004, 20362 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 20363 } VkIndirectCommandsTokenTypeEXT; 20364 20365 typedef enum VkIndirectCommandsInputModeFlagBitsEXT { 20366 VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT = 0x00000001, 20367 VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT = 0x00000002, 20368 VK_INDIRECT_COMMANDS_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 20369 } VkIndirectCommandsInputModeFlagBitsEXT; 20370 typedef VkFlags VkIndirectCommandsInputModeFlagsEXT; 20371 20372 typedef enum VkIndirectCommandsLayoutUsageFlagBitsEXT { 20373 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT = 0x00000001, 20374 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT = 0x00000002, 20375 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 20376 } VkIndirectCommandsLayoutUsageFlagBitsEXT; 20377 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT; 20378 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT { 20379 VkStructureType sType; 20380 void* pNext; 20381 VkBool32 deviceGeneratedCommands; 20382 VkBool32 dynamicGeneratedPipelineLayout; 20383 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT; 20384 20385 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT { 20386 VkStructureType sType; 20387 void* pNext; 20388 uint32_t maxIndirectPipelineCount; 20389 uint32_t maxIndirectShaderObjectCount; 20390 uint32_t maxIndirectSequenceCount; 20391 uint32_t maxIndirectCommandsTokenCount; 20392 uint32_t maxIndirectCommandsTokenOffset; 20393 uint32_t maxIndirectCommandsIndirectStride; 20394 VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes; 20395 VkShaderStageFlags supportedIndirectCommandsShaderStages; 20396 VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding; 20397 VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding; 20398 VkBool32 deviceGeneratedCommandsTransformFeedback; 20399 VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount; 20400 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT; 20401 20402 typedef struct VkGeneratedCommandsMemoryRequirementsInfoEXT { 20403 VkStructureType sType; 20404 const void* pNext; 20405 VkIndirectExecutionSetEXT indirectExecutionSet; 20406 VkIndirectCommandsLayoutEXT indirectCommandsLayout; 20407 uint32_t maxSequenceCount; 20408 uint32_t maxDrawCount; 20409 } VkGeneratedCommandsMemoryRequirementsInfoEXT; 20410 20411 typedef struct VkIndirectExecutionSetPipelineInfoEXT { 20412 VkStructureType sType; 20413 const void* pNext; 20414 VkPipeline initialPipeline; 20415 uint32_t maxPipelineCount; 20416 } VkIndirectExecutionSetPipelineInfoEXT; 20417 20418 typedef struct VkIndirectExecutionSetShaderLayoutInfoEXT { 20419 VkStructureType sType; 20420 const void* pNext; 20421 uint32_t setLayoutCount; 20422 const VkDescriptorSetLayout* pSetLayouts; 20423 } VkIndirectExecutionSetShaderLayoutInfoEXT; 20424 20425 typedef struct VkIndirectExecutionSetShaderInfoEXT { 20426 VkStructureType sType; 20427 const void* pNext; 20428 uint32_t shaderCount; 20429 const VkShaderEXT* pInitialShaders; 20430 const VkIndirectExecutionSetShaderLayoutInfoEXT* pSetLayoutInfos; 20431 uint32_t maxShaderCount; 20432 uint32_t pushConstantRangeCount; 20433 const VkPushConstantRange* pPushConstantRanges; 20434 } VkIndirectExecutionSetShaderInfoEXT; 20435 20436 typedef union VkIndirectExecutionSetInfoEXT { 20437 const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo; 20438 const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo; 20439 } VkIndirectExecutionSetInfoEXT; 20440 20441 typedef struct VkIndirectExecutionSetCreateInfoEXT { 20442 VkStructureType sType; 20443 const void* pNext; 20444 VkIndirectExecutionSetInfoTypeEXT type; 20445 VkIndirectExecutionSetInfoEXT info; 20446 } VkIndirectExecutionSetCreateInfoEXT; 20447 20448 typedef struct VkGeneratedCommandsInfoEXT { 20449 VkStructureType sType; 20450 const void* pNext; 20451 VkShaderStageFlags shaderStages; 20452 VkIndirectExecutionSetEXT indirectExecutionSet; 20453 VkIndirectCommandsLayoutEXT indirectCommandsLayout; 20454 VkDeviceAddress indirectAddress; 20455 VkDeviceSize indirectAddressSize; 20456 VkDeviceAddress preprocessAddress; 20457 VkDeviceSize preprocessSize; 20458 uint32_t maxSequenceCount; 20459 VkDeviceAddress sequenceCountAddress; 20460 uint32_t maxDrawCount; 20461 } VkGeneratedCommandsInfoEXT; 20462 20463 typedef struct VkWriteIndirectExecutionSetPipelineEXT { 20464 VkStructureType sType; 20465 const void* pNext; 20466 uint32_t index; 20467 VkPipeline pipeline; 20468 } VkWriteIndirectExecutionSetPipelineEXT; 20469 20470 typedef struct VkIndirectCommandsPushConstantTokenEXT { 20471 VkPushConstantRange updateRange; 20472 } VkIndirectCommandsPushConstantTokenEXT; 20473 20474 typedef struct VkIndirectCommandsVertexBufferTokenEXT { 20475 uint32_t vertexBindingUnit; 20476 } VkIndirectCommandsVertexBufferTokenEXT; 20477 20478 typedef struct VkIndirectCommandsIndexBufferTokenEXT { 20479 VkIndirectCommandsInputModeFlagBitsEXT mode; 20480 } VkIndirectCommandsIndexBufferTokenEXT; 20481 20482 typedef struct VkIndirectCommandsExecutionSetTokenEXT { 20483 VkIndirectExecutionSetInfoTypeEXT type; 20484 VkShaderStageFlags shaderStages; 20485 } VkIndirectCommandsExecutionSetTokenEXT; 20486 20487 typedef union VkIndirectCommandsTokenDataEXT { 20488 const VkIndirectCommandsPushConstantTokenEXT* pPushConstant; 20489 const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer; 20490 const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer; 20491 const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet; 20492 } VkIndirectCommandsTokenDataEXT; 20493 20494 typedef struct VkIndirectCommandsLayoutTokenEXT { 20495 VkStructureType sType; 20496 const void* pNext; 20497 VkIndirectCommandsTokenTypeEXT type; 20498 VkIndirectCommandsTokenDataEXT data; 20499 uint32_t offset; 20500 } VkIndirectCommandsLayoutTokenEXT; 20501 20502 typedef struct VkIndirectCommandsLayoutCreateInfoEXT { 20503 VkStructureType sType; 20504 const void* pNext; 20505 VkIndirectCommandsLayoutUsageFlagsEXT flags; 20506 VkShaderStageFlags shaderStages; 20507 uint32_t indirectStride; 20508 VkPipelineLayout pipelineLayout; 20509 uint32_t tokenCount; 20510 const VkIndirectCommandsLayoutTokenEXT* pTokens; 20511 } VkIndirectCommandsLayoutCreateInfoEXT; 20512 20513 typedef struct VkDrawIndirectCountIndirectCommandEXT { 20514 VkDeviceAddress bufferAddress; 20515 uint32_t stride; 20516 uint32_t commandCount; 20517 } VkDrawIndirectCountIndirectCommandEXT; 20518 20519 typedef struct VkBindVertexBufferIndirectCommandEXT { 20520 VkDeviceAddress bufferAddress; 20521 uint32_t size; 20522 uint32_t stride; 20523 } VkBindVertexBufferIndirectCommandEXT; 20524 20525 typedef struct VkBindIndexBufferIndirectCommandEXT { 20526 VkDeviceAddress bufferAddress; 20527 uint32_t size; 20528 VkIndexType indexType; 20529 } VkBindIndexBufferIndirectCommandEXT; 20530 20531 typedef struct VkGeneratedCommandsPipelineInfoEXT { 20532 VkStructureType sType; 20533 void* pNext; 20534 VkPipeline pipeline; 20535 } VkGeneratedCommandsPipelineInfoEXT; 20536 20537 typedef struct VkGeneratedCommandsShaderInfoEXT { 20538 VkStructureType sType; 20539 void* pNext; 20540 uint32_t shaderCount; 20541 const VkShaderEXT* pShaders; 20542 } VkGeneratedCommandsShaderInfoEXT; 20543 20544 typedef struct VkWriteIndirectExecutionSetShaderEXT { 20545 VkStructureType sType; 20546 const void* pNext; 20547 uint32_t index; 20548 VkShaderEXT shader; 20549 } VkWriteIndirectExecutionSetShaderEXT; 20550 20551 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo, VkMemoryRequirements2* pMemoryRequirements); 20552 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo, VkCommandBuffer stateCommandBuffer); 20553 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo); 20554 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutEXT)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout); 20555 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutEXT)(VkDevice device, VkIndirectCommandsLayoutEXT indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 20556 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectExecutionSetEXT)(VkDevice device, const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectExecutionSetEXT* pIndirectExecutionSet); 20557 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectExecutionSetEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, const VkAllocationCallbacks* pAllocator); 20558 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetPipelineEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites); 20559 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetShaderEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites); 20560 20561 #ifndef VK_NO_PROTOTYPES 20562 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsEXT( 20563 VkDevice device, 20564 const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo, 20565 VkMemoryRequirements2* pMemoryRequirements); 20566 20567 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsEXT( 20568 VkCommandBuffer commandBuffer, 20569 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo, 20570 VkCommandBuffer stateCommandBuffer); 20571 20572 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsEXT( 20573 VkCommandBuffer commandBuffer, 20574 VkBool32 isPreprocessed, 20575 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo); 20576 20577 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutEXT( 20578 VkDevice device, 20579 const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo, 20580 const VkAllocationCallbacks* pAllocator, 20581 VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout); 20582 20583 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutEXT( 20584 VkDevice device, 20585 VkIndirectCommandsLayoutEXT indirectCommandsLayout, 20586 const VkAllocationCallbacks* pAllocator); 20587 20588 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectExecutionSetEXT( 20589 VkDevice device, 20590 const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo, 20591 const VkAllocationCallbacks* pAllocator, 20592 VkIndirectExecutionSetEXT* pIndirectExecutionSet); 20593 20594 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectExecutionSetEXT( 20595 VkDevice device, 20596 VkIndirectExecutionSetEXT indirectExecutionSet, 20597 const VkAllocationCallbacks* pAllocator); 20598 20599 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetPipelineEXT( 20600 VkDevice device, 20601 VkIndirectExecutionSetEXT indirectExecutionSet, 20602 uint32_t executionSetWriteCount, 20603 const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites); 20604 20605 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetShaderEXT( 20606 VkDevice device, 20607 VkIndirectExecutionSetEXT indirectExecutionSet, 20608 uint32_t executionSetWriteCount, 20609 const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites); 20610 #endif 20611 20612 20613 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls. 20614 #define VK_MESA_image_alignment_control 1 20615 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 20616 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" 20617 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA { 20618 VkStructureType sType; 20619 void* pNext; 20620 VkBool32 imageAlignmentControl; 20621 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA; 20622 20623 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA { 20624 VkStructureType sType; 20625 void* pNext; 20626 uint32_t supportedImageAlignmentMask; 20627 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA; 20628 20629 typedef struct VkImageAlignmentControlCreateInfoMESA { 20630 VkStructureType sType; 20631 const void* pNext; 20632 uint32_t maximumRequestedAlignment; 20633 } VkImageAlignmentControlCreateInfoMESA; 20634 20635 20636 20637 // VK_EXT_depth_clamp_control is a preprocessor guard. Do not pass it to API calls. 20638 #define VK_EXT_depth_clamp_control 1 20639 #define VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION 1 20640 #define VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clamp_control" 20641 typedef struct VkPhysicalDeviceDepthClampControlFeaturesEXT { 20642 VkStructureType sType; 20643 void* pNext; 20644 VkBool32 depthClampControl; 20645 } VkPhysicalDeviceDepthClampControlFeaturesEXT; 20646 20647 typedef struct VkPipelineViewportDepthClampControlCreateInfoEXT { 20648 VkStructureType sType; 20649 const void* pNext; 20650 VkDepthClampModeEXT depthClampMode; 20651 const VkDepthClampRangeEXT* pDepthClampRange; 20652 } VkPipelineViewportDepthClampControlCreateInfoEXT; 20653 20654 20655 20656 // VK_HUAWEI_hdr_vivid is a preprocessor guard. Do not pass it to API calls. 20657 #define VK_HUAWEI_hdr_vivid 1 20658 #define VK_HUAWEI_HDR_VIVID_SPEC_VERSION 1 20659 #define VK_HUAWEI_HDR_VIVID_EXTENSION_NAME "VK_HUAWEI_hdr_vivid" 20660 typedef struct VkPhysicalDeviceHdrVividFeaturesHUAWEI { 20661 VkStructureType sType; 20662 void* pNext; 20663 VkBool32 hdrVivid; 20664 } VkPhysicalDeviceHdrVividFeaturesHUAWEI; 20665 20666 typedef struct VkHdrVividDynamicMetadataHUAWEI { 20667 VkStructureType sType; 20668 const void* pNext; 20669 size_t dynamicMetadataSize; 20670 const void* pDynamicMetadata; 20671 } VkHdrVividDynamicMetadataHUAWEI; 20672 20673 20674 20675 // VK_NV_cooperative_matrix2 is a preprocessor guard. Do not pass it to API calls. 20676 #define VK_NV_cooperative_matrix2 1 20677 #define VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION 1 20678 #define VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME "VK_NV_cooperative_matrix2" 20679 typedef struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV { 20680 VkStructureType sType; 20681 void* pNext; 20682 uint32_t MGranularity; 20683 uint32_t NGranularity; 20684 uint32_t KGranularity; 20685 VkComponentTypeKHR AType; 20686 VkComponentTypeKHR BType; 20687 VkComponentTypeKHR CType; 20688 VkComponentTypeKHR ResultType; 20689 VkBool32 saturatingAccumulation; 20690 VkScopeKHR scope; 20691 uint32_t workgroupInvocations; 20692 } VkCooperativeMatrixFlexibleDimensionsPropertiesNV; 20693 20694 typedef struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV { 20695 VkStructureType sType; 20696 void* pNext; 20697 VkBool32 cooperativeMatrixWorkgroupScope; 20698 VkBool32 cooperativeMatrixFlexibleDimensions; 20699 VkBool32 cooperativeMatrixReductions; 20700 VkBool32 cooperativeMatrixConversions; 20701 VkBool32 cooperativeMatrixPerElementOperations; 20702 VkBool32 cooperativeMatrixTensorAddressing; 20703 VkBool32 cooperativeMatrixBlockLoads; 20704 } VkPhysicalDeviceCooperativeMatrix2FeaturesNV; 20705 20706 typedef struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV { 20707 VkStructureType sType; 20708 void* pNext; 20709 uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize; 20710 uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension; 20711 uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory; 20712 } VkPhysicalDeviceCooperativeMatrix2PropertiesNV; 20713 20714 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties); 20715 20716 #ifndef VK_NO_PROTOTYPES 20717 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( 20718 VkPhysicalDevice physicalDevice, 20719 uint32_t* pPropertyCount, 20720 VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties); 20721 #endif 20722 20723 20724 // VK_EXT_vertex_attribute_robustness is a preprocessor guard. Do not pass it to API calls. 20725 #define VK_EXT_vertex_attribute_robustness 1 20726 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION 1 20727 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_vertex_attribute_robustness" 20728 typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT { 20729 VkStructureType sType; 20730 void* pNext; 20731 VkBool32 vertexAttributeRobustness; 20732 } VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT; 20733 20734 20735 20736 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 20737 #define VK_KHR_acceleration_structure 1 20738 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 20739 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 20740 20741 typedef enum VkBuildAccelerationStructureModeKHR { 20742 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 20743 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 20744 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 20745 } VkBuildAccelerationStructureModeKHR; 20746 20747 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 20748 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 20749 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 20750 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 20751 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 20752 } VkAccelerationStructureCreateFlagBitsKHR; 20753 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 20754 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 20755 uint32_t primitiveCount; 20756 uint32_t primitiveOffset; 20757 uint32_t firstVertex; 20758 uint32_t transformOffset; 20759 } VkAccelerationStructureBuildRangeInfoKHR; 20760 20761 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 20762 VkStructureType sType; 20763 const void* pNext; 20764 VkFormat vertexFormat; 20765 VkDeviceOrHostAddressConstKHR vertexData; 20766 VkDeviceSize vertexStride; 20767 uint32_t maxVertex; 20768 VkIndexType indexType; 20769 VkDeviceOrHostAddressConstKHR indexData; 20770 VkDeviceOrHostAddressConstKHR transformData; 20771 } VkAccelerationStructureGeometryTrianglesDataKHR; 20772 20773 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 20774 VkStructureType sType; 20775 const void* pNext; 20776 VkDeviceOrHostAddressConstKHR data; 20777 VkDeviceSize stride; 20778 } VkAccelerationStructureGeometryAabbsDataKHR; 20779 20780 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 20781 VkStructureType sType; 20782 const void* pNext; 20783 VkBool32 arrayOfPointers; 20784 VkDeviceOrHostAddressConstKHR data; 20785 } VkAccelerationStructureGeometryInstancesDataKHR; 20786 20787 typedef union VkAccelerationStructureGeometryDataKHR { 20788 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 20789 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 20790 VkAccelerationStructureGeometryInstancesDataKHR instances; 20791 } VkAccelerationStructureGeometryDataKHR; 20792 20793 typedef struct VkAccelerationStructureGeometryKHR { 20794 VkStructureType sType; 20795 const void* pNext; 20796 VkGeometryTypeKHR geometryType; 20797 VkAccelerationStructureGeometryDataKHR geometry; 20798 VkGeometryFlagsKHR flags; 20799 } VkAccelerationStructureGeometryKHR; 20800 20801 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 20802 VkStructureType sType; 20803 const void* pNext; 20804 VkAccelerationStructureTypeKHR type; 20805 VkBuildAccelerationStructureFlagsKHR flags; 20806 VkBuildAccelerationStructureModeKHR mode; 20807 VkAccelerationStructureKHR srcAccelerationStructure; 20808 VkAccelerationStructureKHR dstAccelerationStructure; 20809 uint32_t geometryCount; 20810 const VkAccelerationStructureGeometryKHR* pGeometries; 20811 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 20812 VkDeviceOrHostAddressKHR scratchData; 20813 } VkAccelerationStructureBuildGeometryInfoKHR; 20814 20815 typedef struct VkAccelerationStructureCreateInfoKHR { 20816 VkStructureType sType; 20817 const void* pNext; 20818 VkAccelerationStructureCreateFlagsKHR createFlags; 20819 VkBuffer buffer; 20820 VkDeviceSize offset; 20821 VkDeviceSize size; 20822 VkAccelerationStructureTypeKHR type; 20823 VkDeviceAddress deviceAddress; 20824 } VkAccelerationStructureCreateInfoKHR; 20825 20826 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 20827 VkStructureType sType; 20828 const void* pNext; 20829 uint32_t accelerationStructureCount; 20830 const VkAccelerationStructureKHR* pAccelerationStructures; 20831 } VkWriteDescriptorSetAccelerationStructureKHR; 20832 20833 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 20834 VkStructureType sType; 20835 void* pNext; 20836 VkBool32 accelerationStructure; 20837 VkBool32 accelerationStructureCaptureReplay; 20838 VkBool32 accelerationStructureIndirectBuild; 20839 VkBool32 accelerationStructureHostCommands; 20840 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 20841 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 20842 20843 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 20844 VkStructureType sType; 20845 void* pNext; 20846 uint64_t maxGeometryCount; 20847 uint64_t maxInstanceCount; 20848 uint64_t maxPrimitiveCount; 20849 uint32_t maxPerStageDescriptorAccelerationStructures; 20850 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 20851 uint32_t maxDescriptorSetAccelerationStructures; 20852 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 20853 uint32_t minAccelerationStructureScratchOffsetAlignment; 20854 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 20855 20856 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 20857 VkStructureType sType; 20858 const void* pNext; 20859 VkAccelerationStructureKHR accelerationStructure; 20860 } VkAccelerationStructureDeviceAddressInfoKHR; 20861 20862 typedef struct VkAccelerationStructureVersionInfoKHR { 20863 VkStructureType sType; 20864 const void* pNext; 20865 const uint8_t* pVersionData; 20866 } VkAccelerationStructureVersionInfoKHR; 20867 20868 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 20869 VkStructureType sType; 20870 const void* pNext; 20871 VkAccelerationStructureKHR src; 20872 VkDeviceOrHostAddressKHR dst; 20873 VkCopyAccelerationStructureModeKHR mode; 20874 } VkCopyAccelerationStructureToMemoryInfoKHR; 20875 20876 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 20877 VkStructureType sType; 20878 const void* pNext; 20879 VkDeviceOrHostAddressConstKHR src; 20880 VkAccelerationStructureKHR dst; 20881 VkCopyAccelerationStructureModeKHR mode; 20882 } VkCopyMemoryToAccelerationStructureInfoKHR; 20883 20884 typedef struct VkCopyAccelerationStructureInfoKHR { 20885 VkStructureType sType; 20886 const void* pNext; 20887 VkAccelerationStructureKHR src; 20888 VkAccelerationStructureKHR dst; 20889 VkCopyAccelerationStructureModeKHR mode; 20890 } VkCopyAccelerationStructureInfoKHR; 20891 20892 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 20893 VkStructureType sType; 20894 const void* pNext; 20895 VkDeviceSize accelerationStructureSize; 20896 VkDeviceSize updateScratchSize; 20897 VkDeviceSize buildScratchSize; 20898 } VkAccelerationStructureBuildSizesInfoKHR; 20899 20900 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 20901 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 20902 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20903 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); 20904 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20905 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 20906 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20907 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20908 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 20909 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 20910 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20911 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20912 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 20913 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 20914 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 20915 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20916 20917 #ifndef VK_NO_PROTOTYPES 20918 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 20919 VkDevice device, 20920 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 20921 const VkAllocationCallbacks* pAllocator, 20922 VkAccelerationStructureKHR* pAccelerationStructure); 20923 20924 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 20925 VkDevice device, 20926 VkAccelerationStructureKHR accelerationStructure, 20927 const VkAllocationCallbacks* pAllocator); 20928 20929 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 20930 VkCommandBuffer commandBuffer, 20931 uint32_t infoCount, 20932 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20933 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20934 20935 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 20936 VkCommandBuffer commandBuffer, 20937 uint32_t infoCount, 20938 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20939 const VkDeviceAddress* pIndirectDeviceAddresses, 20940 const uint32_t* pIndirectStrides, 20941 const uint32_t* const* ppMaxPrimitiveCounts); 20942 20943 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 20944 VkDevice device, 20945 VkDeferredOperationKHR deferredOperation, 20946 uint32_t infoCount, 20947 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20948 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20949 20950 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 20951 VkDevice device, 20952 VkDeferredOperationKHR deferredOperation, 20953 const VkCopyAccelerationStructureInfoKHR* pInfo); 20954 20955 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 20956 VkDevice device, 20957 VkDeferredOperationKHR deferredOperation, 20958 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20959 20960 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 20961 VkDevice device, 20962 VkDeferredOperationKHR deferredOperation, 20963 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20964 20965 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 20966 VkDevice device, 20967 uint32_t accelerationStructureCount, 20968 const VkAccelerationStructureKHR* pAccelerationStructures, 20969 VkQueryType queryType, 20970 size_t dataSize, 20971 void* pData, 20972 size_t stride); 20973 20974 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 20975 VkCommandBuffer commandBuffer, 20976 const VkCopyAccelerationStructureInfoKHR* pInfo); 20977 20978 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 20979 VkCommandBuffer commandBuffer, 20980 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20981 20982 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 20983 VkCommandBuffer commandBuffer, 20984 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20985 20986 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 20987 VkDevice device, 20988 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 20989 20990 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 20991 VkCommandBuffer commandBuffer, 20992 uint32_t accelerationStructureCount, 20993 const VkAccelerationStructureKHR* pAccelerationStructures, 20994 VkQueryType queryType, 20995 VkQueryPool queryPool, 20996 uint32_t firstQuery); 20997 20998 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 20999 VkDevice device, 21000 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 21001 VkAccelerationStructureCompatibilityKHR* pCompatibility); 21002 21003 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 21004 VkDevice device, 21005 VkAccelerationStructureBuildTypeKHR buildType, 21006 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 21007 const uint32_t* pMaxPrimitiveCounts, 21008 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 21009 #endif 21010 21011 21012 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 21013 #define VK_KHR_ray_tracing_pipeline 1 21014 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 21015 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 21016 21017 typedef enum VkShaderGroupShaderKHR { 21018 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 21019 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 21020 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 21021 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 21022 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 21023 } VkShaderGroupShaderKHR; 21024 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 21025 VkStructureType sType; 21026 const void* pNext; 21027 VkRayTracingShaderGroupTypeKHR type; 21028 uint32_t generalShader; 21029 uint32_t closestHitShader; 21030 uint32_t anyHitShader; 21031 uint32_t intersectionShader; 21032 const void* pShaderGroupCaptureReplayHandle; 21033 } VkRayTracingShaderGroupCreateInfoKHR; 21034 21035 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 21036 VkStructureType sType; 21037 const void* pNext; 21038 uint32_t maxPipelineRayPayloadSize; 21039 uint32_t maxPipelineRayHitAttributeSize; 21040 } VkRayTracingPipelineInterfaceCreateInfoKHR; 21041 21042 typedef struct VkRayTracingPipelineCreateInfoKHR { 21043 VkStructureType sType; 21044 const void* pNext; 21045 VkPipelineCreateFlags flags; 21046 uint32_t stageCount; 21047 const VkPipelineShaderStageCreateInfo* pStages; 21048 uint32_t groupCount; 21049 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 21050 uint32_t maxPipelineRayRecursionDepth; 21051 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 21052 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 21053 const VkPipelineDynamicStateCreateInfo* pDynamicState; 21054 VkPipelineLayout layout; 21055 VkPipeline basePipelineHandle; 21056 int32_t basePipelineIndex; 21057 } VkRayTracingPipelineCreateInfoKHR; 21058 21059 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 21060 VkStructureType sType; 21061 void* pNext; 21062 VkBool32 rayTracingPipeline; 21063 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 21064 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 21065 VkBool32 rayTracingPipelineTraceRaysIndirect; 21066 VkBool32 rayTraversalPrimitiveCulling; 21067 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 21068 21069 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 21070 VkStructureType sType; 21071 void* pNext; 21072 uint32_t shaderGroupHandleSize; 21073 uint32_t maxRayRecursionDepth; 21074 uint32_t maxShaderGroupStride; 21075 uint32_t shaderGroupBaseAlignment; 21076 uint32_t shaderGroupHandleCaptureReplaySize; 21077 uint32_t maxRayDispatchInvocationCount; 21078 uint32_t shaderGroupHandleAlignment; 21079 uint32_t maxRayHitAttributeSize; 21080 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 21081 21082 typedef struct VkStridedDeviceAddressRegionKHR { 21083 VkDeviceAddress deviceAddress; 21084 VkDeviceSize stride; 21085 VkDeviceSize size; 21086 } VkStridedDeviceAddressRegionKHR; 21087 21088 typedef struct VkTraceRaysIndirectCommandKHR { 21089 uint32_t width; 21090 uint32_t height; 21091 uint32_t depth; 21092 } VkTraceRaysIndirectCommandKHR; 21093 21094 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); 21095 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 21096 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 21097 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 21098 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 21099 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 21100 21101 #ifndef VK_NO_PROTOTYPES 21102 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 21103 VkCommandBuffer commandBuffer, 21104 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 21105 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 21106 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 21107 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 21108 uint32_t width, 21109 uint32_t height, 21110 uint32_t depth); 21111 21112 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 21113 VkDevice device, 21114 VkDeferredOperationKHR deferredOperation, 21115 VkPipelineCache pipelineCache, 21116 uint32_t createInfoCount, 21117 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 21118 const VkAllocationCallbacks* pAllocator, 21119 VkPipeline* pPipelines); 21120 21121 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 21122 VkDevice device, 21123 VkPipeline pipeline, 21124 uint32_t firstGroup, 21125 uint32_t groupCount, 21126 size_t dataSize, 21127 void* pData); 21128 21129 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 21130 VkCommandBuffer commandBuffer, 21131 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 21132 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 21133 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 21134 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 21135 VkDeviceAddress indirectDeviceAddress); 21136 21137 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 21138 VkDevice device, 21139 VkPipeline pipeline, 21140 uint32_t group, 21141 VkShaderGroupShaderKHR groupShader); 21142 21143 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 21144 VkCommandBuffer commandBuffer, 21145 uint32_t pipelineStackSize); 21146 #endif 21147 21148 21149 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 21150 #define VK_KHR_ray_query 1 21151 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 21152 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 21153 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 21154 VkStructureType sType; 21155 void* pNext; 21156 VkBool32 rayQuery; 21157 } VkPhysicalDeviceRayQueryFeaturesKHR; 21158 21159 21160 21161 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 21162 #define VK_EXT_mesh_shader 1 21163 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 21164 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 21165 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 21166 VkStructureType sType; 21167 void* pNext; 21168 VkBool32 taskShader; 21169 VkBool32 meshShader; 21170 VkBool32 multiviewMeshShader; 21171 VkBool32 primitiveFragmentShadingRateMeshShader; 21172 VkBool32 meshShaderQueries; 21173 } VkPhysicalDeviceMeshShaderFeaturesEXT; 21174 21175 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 21176 VkStructureType sType; 21177 void* pNext; 21178 uint32_t maxTaskWorkGroupTotalCount; 21179 uint32_t maxTaskWorkGroupCount[3]; 21180 uint32_t maxTaskWorkGroupInvocations; 21181 uint32_t maxTaskWorkGroupSize[3]; 21182 uint32_t maxTaskPayloadSize; 21183 uint32_t maxTaskSharedMemorySize; 21184 uint32_t maxTaskPayloadAndSharedMemorySize; 21185 uint32_t maxMeshWorkGroupTotalCount; 21186 uint32_t maxMeshWorkGroupCount[3]; 21187 uint32_t maxMeshWorkGroupInvocations; 21188 uint32_t maxMeshWorkGroupSize[3]; 21189 uint32_t maxMeshSharedMemorySize; 21190 uint32_t maxMeshPayloadAndSharedMemorySize; 21191 uint32_t maxMeshOutputMemorySize; 21192 uint32_t maxMeshPayloadAndOutputMemorySize; 21193 uint32_t maxMeshOutputComponents; 21194 uint32_t maxMeshOutputVertices; 21195 uint32_t maxMeshOutputPrimitives; 21196 uint32_t maxMeshOutputLayers; 21197 uint32_t maxMeshMultiviewViewCount; 21198 uint32_t meshOutputPerVertexGranularity; 21199 uint32_t meshOutputPerPrimitiveGranularity; 21200 uint32_t maxPreferredTaskWorkGroupInvocations; 21201 uint32_t maxPreferredMeshWorkGroupInvocations; 21202 VkBool32 prefersLocalInvocationVertexOutput; 21203 VkBool32 prefersLocalInvocationPrimitiveOutput; 21204 VkBool32 prefersCompactVertexOutput; 21205 VkBool32 prefersCompactPrimitiveOutput; 21206 } VkPhysicalDeviceMeshShaderPropertiesEXT; 21207 21208 typedef struct VkDrawMeshTasksIndirectCommandEXT { 21209 uint32_t groupCountX; 21210 uint32_t groupCountY; 21211 uint32_t groupCountZ; 21212 } VkDrawMeshTasksIndirectCommandEXT; 21213 21214 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 21215 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 21216 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 21217 21218 #ifndef VK_NO_PROTOTYPES 21219 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 21220 VkCommandBuffer commandBuffer, 21221 uint32_t groupCountX, 21222 uint32_t groupCountY, 21223 uint32_t groupCountZ); 21224 21225 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 21226 VkCommandBuffer commandBuffer, 21227 VkBuffer buffer, 21228 VkDeviceSize offset, 21229 uint32_t drawCount, 21230 uint32_t stride); 21231 21232 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 21233 VkCommandBuffer commandBuffer, 21234 VkBuffer buffer, 21235 VkDeviceSize offset, 21236 VkBuffer countBuffer, 21237 VkDeviceSize countBufferOffset, 21238 uint32_t maxDrawCount, 21239 uint32_t stride); 21240 #endif 21241 21242 #ifdef __cplusplus 21243 } 21244 #endif 21245 21246 #endif 21247