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