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