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