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