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