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 295 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 // VK_MAKE_VERSION is deprecated, but no reason was given in the API XML 78 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 79 #define VK_MAKE_VERSION(major, minor, patch) \ 80 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 81 82 // VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML 83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 84 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 85 86 // VK_VERSION_MINOR is deprecated, but no reason was given in the API XML 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 88 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 89 90 // VK_VERSION_PATCH is deprecated, but no reason was given in the API XML 91 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 92 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 94 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 95 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 96 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 97 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 98 typedef uint32_t VkBool32; 99 typedef uint64_t VkDeviceAddress; 100 typedef uint64_t VkDeviceSize; 101 typedef uint32_t VkFlags; 102 typedef uint32_t VkSampleMask; 103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 105 VK_DEFINE_HANDLE(VkInstance) 106 VK_DEFINE_HANDLE(VkPhysicalDevice) 107 VK_DEFINE_HANDLE(VkDevice) 108 VK_DEFINE_HANDLE(VkQueue) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 110 VK_DEFINE_HANDLE(VkCommandBuffer) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 127 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 128 #define VK_ATTACHMENT_UNUSED (~0U) 129 #define VK_FALSE 0U 130 #define VK_LOD_CLAMP_NONE 1000.0F 131 #define VK_QUEUE_FAMILY_IGNORED (~0U) 132 #define VK_REMAINING_ARRAY_LAYERS (~0U) 133 #define VK_REMAINING_MIP_LEVELS (~0U) 134 #define VK_SUBPASS_EXTERNAL (~0U) 135 #define VK_TRUE 1U 136 #define VK_WHOLE_SIZE (~0ULL) 137 #define VK_MAX_MEMORY_TYPES 32U 138 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 139 #define VK_UUID_SIZE 16U 140 #define VK_MAX_EXTENSION_NAME_SIZE 256U 141 #define VK_MAX_DESCRIPTION_SIZE 256U 142 #define VK_MAX_MEMORY_HEAPS 16U 143 144 typedef enum VkResult { 145 VK_SUCCESS = 0, 146 VK_NOT_READY = 1, 147 VK_TIMEOUT = 2, 148 VK_EVENT_SET = 3, 149 VK_EVENT_RESET = 4, 150 VK_INCOMPLETE = 5, 151 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 152 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 153 VK_ERROR_INITIALIZATION_FAILED = -3, 154 VK_ERROR_DEVICE_LOST = -4, 155 VK_ERROR_MEMORY_MAP_FAILED = -5, 156 VK_ERROR_LAYER_NOT_PRESENT = -6, 157 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 158 VK_ERROR_FEATURE_NOT_PRESENT = -8, 159 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 160 VK_ERROR_TOO_MANY_OBJECTS = -10, 161 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 162 VK_ERROR_FRAGMENTED_POOL = -12, 163 VK_ERROR_UNKNOWN = -13, 164 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 165 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 166 VK_ERROR_FRAGMENTATION = -1000161000, 167 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 168 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 169 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 170 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 171 VK_SUBOPTIMAL_KHR = 1000001003, 172 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 173 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 174 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 175 VK_ERROR_INVALID_SHADER_NV = -1000012000, 176 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 177 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 178 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 179 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 180 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 181 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 182 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 183 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 184 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 185 VK_THREAD_IDLE_KHR = 1000268000, 186 VK_THREAD_DONE_KHR = 1000268001, 187 VK_OPERATION_DEFERRED_KHR = 1000268002, 188 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 189 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 190 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 191 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 192 VK_PIPELINE_BINARY_MISSING_KHR = 1000483000, 193 VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000, 194 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 195 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 196 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 197 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR, 198 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 199 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 200 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 201 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 202 // VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT is a deprecated alias 203 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 204 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 205 } VkResult; 206 207 typedef enum VkStructureType { 208 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 209 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 210 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 211 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 212 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 213 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 214 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 215 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 216 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 217 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 218 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 219 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 220 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 221 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 222 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 223 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 224 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 225 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 226 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 227 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 228 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 229 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 230 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 231 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 232 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 233 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 234 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 235 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 236 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 237 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 238 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 239 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 240 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 241 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 242 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 243 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 244 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 245 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 246 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 247 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 248 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 251 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 252 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 253 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 254 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 255 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 256 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 258 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 259 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 261 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 263 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 264 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 266 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 267 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 268 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 269 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 271 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 272 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 273 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 274 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 275 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 276 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 279 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 280 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 282 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 284 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 287 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 288 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 289 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 290 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 294 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 297 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 298 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 300 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 301 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 303 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 304 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 306 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 308 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 310 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 312 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 314 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 315 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 316 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 318 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 320 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 326 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 327 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 328 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 329 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 330 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 331 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 332 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 333 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 339 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 342 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 345 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 347 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 349 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 352 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 354 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 358 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 359 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 363 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 364 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 365 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 366 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 368 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 369 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 370 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 371 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 374 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 379 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 380 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 381 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 382 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 383 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 384 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 385 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 386 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 387 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 388 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 392 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 393 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 394 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 395 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 396 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 397 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 398 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 399 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 400 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 401 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 402 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 404 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 408 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 409 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 411 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 412 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 413 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 415 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 419 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 422 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 423 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 424 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 425 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 426 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 427 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 428 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 429 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 430 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 431 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 432 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 433 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 434 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 435 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 436 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 437 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 438 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 439 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 440 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 441 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 442 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 443 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 444 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 445 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 446 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 447 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 448 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 449 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 450 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 451 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 452 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 453 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 454 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 455 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 456 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 457 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 458 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 459 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 460 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 461 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 462 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 463 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 464 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 465 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 466 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 467 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 469 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 470 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 471 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 472 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 473 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 474 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 475 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 476 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 478 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 479 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 481 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 482 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 484 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 485 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 487 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 488 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 490 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 491 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 497 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 498 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 499 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 500 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 501 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 502 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 503 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 504 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 505 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 506 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 507 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 508 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 509 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 510 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 511 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 512 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 513 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 514 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 515 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 517 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 518 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 519 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 520 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 521 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 522 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 523 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 524 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 525 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 526 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, 527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, 528 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, 529 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 530 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 531 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 532 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 533 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 534 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 535 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 536 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 537 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 538 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 539 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 540 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 541 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 542 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 544 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 546 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 547 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 548 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 549 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 550 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 551 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 552 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 553 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 554 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 556 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 558 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 559 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 560 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 562 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 563 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 565 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 566 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 567 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 568 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 569 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 570 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 573 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 574 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 575 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 576 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 577 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 579 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 580 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 581 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 582 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 583 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 584 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 585 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 586 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 587 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 588 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 589 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 590 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 591 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 592 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 593 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 594 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 595 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 596 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 597 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 598 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 599 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 600 #ifdef VK_ENABLE_BETA_EXTENSIONS 601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 602 #endif 603 #ifdef VK_ENABLE_BETA_EXTENSIONS 604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 605 #endif 606 #ifdef VK_ENABLE_BETA_EXTENSIONS 607 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 608 #endif 609 #ifdef VK_ENABLE_BETA_EXTENSIONS 610 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 611 #endif 612 #ifdef VK_ENABLE_BETA_EXTENSIONS 613 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 614 #endif 615 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 616 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 617 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 619 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 622 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 623 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 624 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 625 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 626 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 627 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 628 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 629 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 630 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 631 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 632 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 633 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 634 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 637 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 638 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 641 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 642 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 643 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 645 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 648 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 650 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 651 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 652 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 653 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 654 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 655 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 656 #ifdef VK_ENABLE_BETA_EXTENSIONS 657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 658 #endif 659 #ifdef VK_ENABLE_BETA_EXTENSIONS 660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 661 #endif 662 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 665 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 666 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 667 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 668 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 669 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 670 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 671 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 672 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 673 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 674 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 675 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 676 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 678 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 680 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 681 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 682 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 683 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 685 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 687 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 688 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 689 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 690 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 691 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 692 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 693 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 695 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 696 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 698 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 702 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 704 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 705 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 707 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 708 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 709 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 710 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 711 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 712 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 714 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 715 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 716 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 717 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 720 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 721 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 722 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000, 729 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001, 730 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002, 731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 735 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 736 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 739 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 740 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 743 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 746 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 747 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 751 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 753 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 754 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 755 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 756 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 760 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 761 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 762 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 763 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 764 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000, 766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001, 767 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002, 768 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003, 769 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004, 770 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005, 771 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006, 772 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007, 773 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008, 774 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009, 775 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000, 776 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001, 777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 779 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 781 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 782 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 783 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 785 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 786 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 787 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 788 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 789 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 791 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 792 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 793 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 794 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 795 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 796 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 799 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 801 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 802 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 804 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 805 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 807 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 808 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 811 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 814 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 816 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 817 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 818 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 820 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 821 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 822 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 823 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 824 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 825 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 827 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 828 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 829 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 830 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 832 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 833 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 834 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 835 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 838 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 839 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 840 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 841 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 842 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 843 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 844 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 845 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 846 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 847 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 848 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 849 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 850 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 851 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 852 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 856 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 857 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 858 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 859 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 860 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 861 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 862 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 863 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 864 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 865 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 868 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 875 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 876 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 878 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 884 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 887 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 888 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 891 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 892 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 893 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 895 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 897 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 898 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 901 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 903 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 905 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 906 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 907 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 908 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 909 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 910 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 911 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 912 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 913 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 914 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 915 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 916 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 917 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 918 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 919 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 920 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 924 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 926 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 929 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 931 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 932 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 934 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 936 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 940 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 943 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 944 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 946 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 947 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 948 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 949 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 950 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 953 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 954 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 955 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 956 #ifdef VK_ENABLE_BETA_EXTENSIONS 957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 958 #endif 959 #ifdef VK_ENABLE_BETA_EXTENSIONS 960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 961 #endif 962 #ifdef VK_ENABLE_BETA_EXTENSIONS 963 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 964 #endif 965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 969 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000, 973 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 977 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 979 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 980 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 985 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 986 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 987 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 990 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 994 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 996 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 997 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 1000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1003 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1006 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1010 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1011 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1012 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1013 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1014 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1016 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1017 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1018 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1022 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1023 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1024 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1025 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1026 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 1029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1031 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000, 1033 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001, 1034 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003, 1035 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004, 1036 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002, 1037 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003, 1038 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005, 1039 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006, 1040 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD = 1000476000, 1041 VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD = 1000476001, 1042 VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002, 1043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1046 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR = 1000483000, 1048 VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR = 1000483001, 1049 VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR = 1000483002, 1050 VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR = 1000483003, 1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR = 1000483004, 1052 VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR = 1000483005, 1053 VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR = 1000483006, 1054 VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR = 1000483007, 1055 VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR = 1000483008, 1056 VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR = 1000483009, 1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1058 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1060 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1062 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1064 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1067 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1068 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, 1069 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, 1070 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1071 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1075 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1076 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1077 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1078 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1079 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1080 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1081 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1082 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1083 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1085 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1088 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR = 1000201000, 1090 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR = 1000511000, 1091 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1092 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1093 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1094 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1095 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1097 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1098 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1100 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1101 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1102 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1103 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1104 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1106 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1109 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000, 1110 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001, 1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002, 1112 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000, 1113 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1114 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1115 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1116 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1118 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1119 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000, 1120 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000, 1121 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001, 1122 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002, 1123 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000, 1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000, 1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001, 1127 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002, 1128 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003, 1129 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004, 1130 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005, 1131 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006, 1132 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1133 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1135 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1136 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000, 1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000, 1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000, 1139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001, 1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002, 1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004, 1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, 1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, 1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, 1147 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, 1148 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, 1149 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1151 // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a deprecated alias 1152 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1153 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1154 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1155 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1157 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1158 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1159 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1160 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1164 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1165 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1166 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1167 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1168 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1169 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1171 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1172 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1173 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1174 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1175 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1176 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1177 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1178 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1180 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1182 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1183 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1184 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1185 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1186 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1187 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1188 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1190 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1191 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1192 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1195 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1196 // VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT is a deprecated alias 1197 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1198 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1199 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1200 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1201 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1202 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1203 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1204 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1205 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1206 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1207 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1208 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1210 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1211 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1213 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1214 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1215 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1218 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1219 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1221 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1224 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1225 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1226 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1227 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1228 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1229 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1230 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1231 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1232 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1233 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1234 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1235 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1237 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1238 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1239 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1240 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1243 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1244 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1246 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1247 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 1248 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1251 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1252 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR, 1253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, 1254 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1258 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR, 1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1263 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1264 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1265 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1266 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1267 // VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL is a deprecated alias 1268 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1273 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1276 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1277 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1279 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1281 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1284 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1285 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1286 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1287 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR, 1289 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR, 1290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR, 1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR, 1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1298 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1299 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1301 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1302 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1303 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1304 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1305 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1306 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1307 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1311 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1312 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1313 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1314 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1315 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1316 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1317 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1318 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1319 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1320 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1321 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1322 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR, 1323 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR, 1324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1326 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1327 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1328 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 1330 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1333 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1334 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1335 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1336 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1337 } VkStructureType; 1338 1339 typedef enum VkPipelineCacheHeaderVersion { 1340 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1341 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1342 } VkPipelineCacheHeaderVersion; 1343 1344 typedef enum VkImageLayout { 1345 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1346 VK_IMAGE_LAYOUT_GENERAL = 1, 1347 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1348 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1349 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1350 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1351 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1352 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1353 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1354 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1355 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1356 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1357 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1358 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1359 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1360 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1361 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1362 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1363 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1364 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1365 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1366 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1367 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1368 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1369 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000, 1370 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1371 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1372 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1373 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1374 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1375 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1376 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1377 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1378 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1379 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1380 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1381 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1382 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1383 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1384 } VkImageLayout; 1385 1386 typedef enum VkObjectType { 1387 VK_OBJECT_TYPE_UNKNOWN = 0, 1388 VK_OBJECT_TYPE_INSTANCE = 1, 1389 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1390 VK_OBJECT_TYPE_DEVICE = 3, 1391 VK_OBJECT_TYPE_QUEUE = 4, 1392 VK_OBJECT_TYPE_SEMAPHORE = 5, 1393 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1394 VK_OBJECT_TYPE_FENCE = 7, 1395 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1396 VK_OBJECT_TYPE_BUFFER = 9, 1397 VK_OBJECT_TYPE_IMAGE = 10, 1398 VK_OBJECT_TYPE_EVENT = 11, 1399 VK_OBJECT_TYPE_QUERY_POOL = 12, 1400 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1401 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1402 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1403 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1404 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1405 VK_OBJECT_TYPE_RENDER_PASS = 18, 1406 VK_OBJECT_TYPE_PIPELINE = 19, 1407 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1408 VK_OBJECT_TYPE_SAMPLER = 21, 1409 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1410 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1411 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1412 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1413 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1414 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1415 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1416 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1417 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1418 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1419 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1420 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1421 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1422 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1423 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1424 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1425 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1426 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1427 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1428 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1429 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1430 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1431 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1432 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1433 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1434 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1435 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1436 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1437 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1438 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000, 1439 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1440 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1441 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1442 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1443 } VkObjectType; 1444 1445 typedef enum VkVendorId { 1446 VK_VENDOR_ID_KHRONOS = 0x10000, 1447 VK_VENDOR_ID_VIV = 0x10001, 1448 VK_VENDOR_ID_VSI = 0x10002, 1449 VK_VENDOR_ID_KAZAN = 0x10003, 1450 VK_VENDOR_ID_CODEPLAY = 0x10004, 1451 VK_VENDOR_ID_MESA = 0x10005, 1452 VK_VENDOR_ID_POCL = 0x10006, 1453 VK_VENDOR_ID_MOBILEYE = 0x10007, 1454 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1455 } VkVendorId; 1456 1457 typedef enum VkSystemAllocationScope { 1458 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1459 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1460 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1461 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1462 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1463 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1464 } VkSystemAllocationScope; 1465 1466 typedef enum VkInternalAllocationType { 1467 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1468 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1469 } VkInternalAllocationType; 1470 1471 typedef enum VkFormat { 1472 VK_FORMAT_UNDEFINED = 0, 1473 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1474 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1475 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1476 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1477 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1478 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1479 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1480 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1481 VK_FORMAT_R8_UNORM = 9, 1482 VK_FORMAT_R8_SNORM = 10, 1483 VK_FORMAT_R8_USCALED = 11, 1484 VK_FORMAT_R8_SSCALED = 12, 1485 VK_FORMAT_R8_UINT = 13, 1486 VK_FORMAT_R8_SINT = 14, 1487 VK_FORMAT_R8_SRGB = 15, 1488 VK_FORMAT_R8G8_UNORM = 16, 1489 VK_FORMAT_R8G8_SNORM = 17, 1490 VK_FORMAT_R8G8_USCALED = 18, 1491 VK_FORMAT_R8G8_SSCALED = 19, 1492 VK_FORMAT_R8G8_UINT = 20, 1493 VK_FORMAT_R8G8_SINT = 21, 1494 VK_FORMAT_R8G8_SRGB = 22, 1495 VK_FORMAT_R8G8B8_UNORM = 23, 1496 VK_FORMAT_R8G8B8_SNORM = 24, 1497 VK_FORMAT_R8G8B8_USCALED = 25, 1498 VK_FORMAT_R8G8B8_SSCALED = 26, 1499 VK_FORMAT_R8G8B8_UINT = 27, 1500 VK_FORMAT_R8G8B8_SINT = 28, 1501 VK_FORMAT_R8G8B8_SRGB = 29, 1502 VK_FORMAT_B8G8R8_UNORM = 30, 1503 VK_FORMAT_B8G8R8_SNORM = 31, 1504 VK_FORMAT_B8G8R8_USCALED = 32, 1505 VK_FORMAT_B8G8R8_SSCALED = 33, 1506 VK_FORMAT_B8G8R8_UINT = 34, 1507 VK_FORMAT_B8G8R8_SINT = 35, 1508 VK_FORMAT_B8G8R8_SRGB = 36, 1509 VK_FORMAT_R8G8B8A8_UNORM = 37, 1510 VK_FORMAT_R8G8B8A8_SNORM = 38, 1511 VK_FORMAT_R8G8B8A8_USCALED = 39, 1512 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1513 VK_FORMAT_R8G8B8A8_UINT = 41, 1514 VK_FORMAT_R8G8B8A8_SINT = 42, 1515 VK_FORMAT_R8G8B8A8_SRGB = 43, 1516 VK_FORMAT_B8G8R8A8_UNORM = 44, 1517 VK_FORMAT_B8G8R8A8_SNORM = 45, 1518 VK_FORMAT_B8G8R8A8_USCALED = 46, 1519 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1520 VK_FORMAT_B8G8R8A8_UINT = 48, 1521 VK_FORMAT_B8G8R8A8_SINT = 49, 1522 VK_FORMAT_B8G8R8A8_SRGB = 50, 1523 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1524 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1525 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1526 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1527 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1528 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1529 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1530 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1531 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1532 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1533 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1534 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1535 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1536 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1537 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1538 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1539 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1540 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1541 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1542 VK_FORMAT_R16_UNORM = 70, 1543 VK_FORMAT_R16_SNORM = 71, 1544 VK_FORMAT_R16_USCALED = 72, 1545 VK_FORMAT_R16_SSCALED = 73, 1546 VK_FORMAT_R16_UINT = 74, 1547 VK_FORMAT_R16_SINT = 75, 1548 VK_FORMAT_R16_SFLOAT = 76, 1549 VK_FORMAT_R16G16_UNORM = 77, 1550 VK_FORMAT_R16G16_SNORM = 78, 1551 VK_FORMAT_R16G16_USCALED = 79, 1552 VK_FORMAT_R16G16_SSCALED = 80, 1553 VK_FORMAT_R16G16_UINT = 81, 1554 VK_FORMAT_R16G16_SINT = 82, 1555 VK_FORMAT_R16G16_SFLOAT = 83, 1556 VK_FORMAT_R16G16B16_UNORM = 84, 1557 VK_FORMAT_R16G16B16_SNORM = 85, 1558 VK_FORMAT_R16G16B16_USCALED = 86, 1559 VK_FORMAT_R16G16B16_SSCALED = 87, 1560 VK_FORMAT_R16G16B16_UINT = 88, 1561 VK_FORMAT_R16G16B16_SINT = 89, 1562 VK_FORMAT_R16G16B16_SFLOAT = 90, 1563 VK_FORMAT_R16G16B16A16_UNORM = 91, 1564 VK_FORMAT_R16G16B16A16_SNORM = 92, 1565 VK_FORMAT_R16G16B16A16_USCALED = 93, 1566 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1567 VK_FORMAT_R16G16B16A16_UINT = 95, 1568 VK_FORMAT_R16G16B16A16_SINT = 96, 1569 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1570 VK_FORMAT_R32_UINT = 98, 1571 VK_FORMAT_R32_SINT = 99, 1572 VK_FORMAT_R32_SFLOAT = 100, 1573 VK_FORMAT_R32G32_UINT = 101, 1574 VK_FORMAT_R32G32_SINT = 102, 1575 VK_FORMAT_R32G32_SFLOAT = 103, 1576 VK_FORMAT_R32G32B32_UINT = 104, 1577 VK_FORMAT_R32G32B32_SINT = 105, 1578 VK_FORMAT_R32G32B32_SFLOAT = 106, 1579 VK_FORMAT_R32G32B32A32_UINT = 107, 1580 VK_FORMAT_R32G32B32A32_SINT = 108, 1581 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1582 VK_FORMAT_R64_UINT = 110, 1583 VK_FORMAT_R64_SINT = 111, 1584 VK_FORMAT_R64_SFLOAT = 112, 1585 VK_FORMAT_R64G64_UINT = 113, 1586 VK_FORMAT_R64G64_SINT = 114, 1587 VK_FORMAT_R64G64_SFLOAT = 115, 1588 VK_FORMAT_R64G64B64_UINT = 116, 1589 VK_FORMAT_R64G64B64_SINT = 117, 1590 VK_FORMAT_R64G64B64_SFLOAT = 118, 1591 VK_FORMAT_R64G64B64A64_UINT = 119, 1592 VK_FORMAT_R64G64B64A64_SINT = 120, 1593 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1594 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1595 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1596 VK_FORMAT_D16_UNORM = 124, 1597 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1598 VK_FORMAT_D32_SFLOAT = 126, 1599 VK_FORMAT_S8_UINT = 127, 1600 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1601 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1602 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1603 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1604 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1605 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1606 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1607 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1608 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1609 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1610 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1611 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1612 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1613 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1614 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1615 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1616 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1617 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1618 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1619 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1620 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1621 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1622 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1623 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1624 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1625 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1626 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1627 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1628 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1629 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1630 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1631 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1632 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1633 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1634 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1635 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1636 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1637 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1638 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1639 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1640 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1641 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1642 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1643 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1644 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1645 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1646 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1647 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1648 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1649 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1650 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1651 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1652 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1653 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1654 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1655 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1656 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1657 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1658 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1659 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1660 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1661 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1662 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1663 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1664 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1665 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1666 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1667 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1668 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1669 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1670 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1671 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1672 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1673 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1674 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1675 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1676 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1677 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1678 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1679 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1680 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1681 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1682 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1683 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1684 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1685 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1686 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1687 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1688 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1689 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1690 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1691 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1692 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1693 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1694 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1695 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1696 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1697 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1698 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1699 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1700 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1701 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1702 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1703 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1704 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1705 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1706 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1707 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1708 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1709 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1710 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1711 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1712 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1713 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1714 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1715 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1716 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1717 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1718 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1719 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1720 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000, 1721 VK_FORMAT_A8_UNORM_KHR = 1000470001, 1722 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1723 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1724 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1725 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1726 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1727 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1728 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1729 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1730 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1731 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1732 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1733 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1734 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1735 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1736 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1737 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1738 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1739 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1740 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1741 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1742 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1743 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1744 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1745 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1746 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1747 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1748 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1749 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1750 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1751 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1752 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1753 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1754 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1755 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1756 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1757 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1758 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1759 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1760 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1761 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1762 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1763 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1764 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1765 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1766 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1767 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1768 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1769 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1770 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1771 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1772 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1773 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1774 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1775 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1776 // VK_FORMAT_R16G16_S10_5_NV is a deprecated alias 1777 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV, 1778 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1779 } VkFormat; 1780 1781 typedef enum VkImageTiling { 1782 VK_IMAGE_TILING_OPTIMAL = 0, 1783 VK_IMAGE_TILING_LINEAR = 1, 1784 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1785 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1786 } VkImageTiling; 1787 1788 typedef enum VkImageType { 1789 VK_IMAGE_TYPE_1D = 0, 1790 VK_IMAGE_TYPE_2D = 1, 1791 VK_IMAGE_TYPE_3D = 2, 1792 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1793 } VkImageType; 1794 1795 typedef enum VkPhysicalDeviceType { 1796 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1797 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1798 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1799 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1800 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1801 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1802 } VkPhysicalDeviceType; 1803 1804 typedef enum VkQueryType { 1805 VK_QUERY_TYPE_OCCLUSION = 0, 1806 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1807 VK_QUERY_TYPE_TIMESTAMP = 2, 1808 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1809 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1810 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1811 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1812 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1813 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1814 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1815 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1816 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1817 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1818 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1819 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1820 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1821 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1822 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1823 } VkQueryType; 1824 1825 typedef enum VkSharingMode { 1826 VK_SHARING_MODE_EXCLUSIVE = 0, 1827 VK_SHARING_MODE_CONCURRENT = 1, 1828 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1829 } VkSharingMode; 1830 1831 typedef enum VkComponentSwizzle { 1832 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1833 VK_COMPONENT_SWIZZLE_ZERO = 1, 1834 VK_COMPONENT_SWIZZLE_ONE = 2, 1835 VK_COMPONENT_SWIZZLE_R = 3, 1836 VK_COMPONENT_SWIZZLE_G = 4, 1837 VK_COMPONENT_SWIZZLE_B = 5, 1838 VK_COMPONENT_SWIZZLE_A = 6, 1839 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1840 } VkComponentSwizzle; 1841 1842 typedef enum VkImageViewType { 1843 VK_IMAGE_VIEW_TYPE_1D = 0, 1844 VK_IMAGE_VIEW_TYPE_2D = 1, 1845 VK_IMAGE_VIEW_TYPE_3D = 2, 1846 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1847 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1848 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1849 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1850 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1851 } VkImageViewType; 1852 1853 typedef enum VkBlendFactor { 1854 VK_BLEND_FACTOR_ZERO = 0, 1855 VK_BLEND_FACTOR_ONE = 1, 1856 VK_BLEND_FACTOR_SRC_COLOR = 2, 1857 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1858 VK_BLEND_FACTOR_DST_COLOR = 4, 1859 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1860 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1861 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1862 VK_BLEND_FACTOR_DST_ALPHA = 8, 1863 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1864 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1865 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1866 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1867 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1868 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1869 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1870 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1871 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1872 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1873 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1874 } VkBlendFactor; 1875 1876 typedef enum VkBlendOp { 1877 VK_BLEND_OP_ADD = 0, 1878 VK_BLEND_OP_SUBTRACT = 1, 1879 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1880 VK_BLEND_OP_MIN = 3, 1881 VK_BLEND_OP_MAX = 4, 1882 VK_BLEND_OP_ZERO_EXT = 1000148000, 1883 VK_BLEND_OP_SRC_EXT = 1000148001, 1884 VK_BLEND_OP_DST_EXT = 1000148002, 1885 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1886 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1887 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1888 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1889 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1890 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1891 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1892 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1893 VK_BLEND_OP_XOR_EXT = 1000148011, 1894 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1895 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1896 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1897 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1898 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1899 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1900 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1901 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1902 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1903 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1904 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1905 VK_BLEND_OP_INVERT_EXT = 1000148023, 1906 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1907 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1908 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1909 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1910 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1911 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1912 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1913 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1914 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1915 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1916 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1917 VK_BLEND_OP_PLUS_EXT = 1000148035, 1918 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1919 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1920 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1921 VK_BLEND_OP_MINUS_EXT = 1000148039, 1922 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1923 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1924 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1925 VK_BLEND_OP_RED_EXT = 1000148043, 1926 VK_BLEND_OP_GREEN_EXT = 1000148044, 1927 VK_BLEND_OP_BLUE_EXT = 1000148045, 1928 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1929 } VkBlendOp; 1930 1931 typedef enum VkCompareOp { 1932 VK_COMPARE_OP_NEVER = 0, 1933 VK_COMPARE_OP_LESS = 1, 1934 VK_COMPARE_OP_EQUAL = 2, 1935 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1936 VK_COMPARE_OP_GREATER = 4, 1937 VK_COMPARE_OP_NOT_EQUAL = 5, 1938 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1939 VK_COMPARE_OP_ALWAYS = 7, 1940 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1941 } VkCompareOp; 1942 1943 typedef enum VkDynamicState { 1944 VK_DYNAMIC_STATE_VIEWPORT = 0, 1945 VK_DYNAMIC_STATE_SCISSOR = 1, 1946 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1947 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1948 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1949 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1950 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1951 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1952 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1953 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1954 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1955 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1956 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1957 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1958 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1959 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1960 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1961 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1962 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1963 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1964 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1965 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1966 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1967 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1968 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1969 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1970 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1971 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1972 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1973 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1974 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1975 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1976 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1977 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1978 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1979 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1980 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1981 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1982 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1983 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1984 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1985 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1986 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1987 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1988 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1989 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1990 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1991 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1992 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1993 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1994 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1995 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1996 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1997 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1998 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1999 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 2000 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 2001 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 2002 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 2003 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 2004 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 2005 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 2006 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 2007 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 2008 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 2009 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 2010 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 2011 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 2012 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 2013 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 2014 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 2015 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000, 2016 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR, 2017 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 2018 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 2019 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2020 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2021 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2022 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2023 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2024 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2025 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2026 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2027 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2028 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 2029 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2030 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2031 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2032 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2033 } VkDynamicState; 2034 2035 typedef enum VkFrontFace { 2036 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2037 VK_FRONT_FACE_CLOCKWISE = 1, 2038 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2039 } VkFrontFace; 2040 2041 typedef enum VkVertexInputRate { 2042 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2043 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2044 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2045 } VkVertexInputRate; 2046 2047 typedef enum VkPrimitiveTopology { 2048 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2049 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2050 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2051 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2052 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2053 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2054 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2055 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2056 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2057 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2058 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2059 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2060 } VkPrimitiveTopology; 2061 2062 typedef enum VkPolygonMode { 2063 VK_POLYGON_MODE_FILL = 0, 2064 VK_POLYGON_MODE_LINE = 1, 2065 VK_POLYGON_MODE_POINT = 2, 2066 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2067 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2068 } VkPolygonMode; 2069 2070 typedef enum VkStencilOp { 2071 VK_STENCIL_OP_KEEP = 0, 2072 VK_STENCIL_OP_ZERO = 1, 2073 VK_STENCIL_OP_REPLACE = 2, 2074 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2075 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2076 VK_STENCIL_OP_INVERT = 5, 2077 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2078 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2079 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2080 } VkStencilOp; 2081 2082 typedef enum VkLogicOp { 2083 VK_LOGIC_OP_CLEAR = 0, 2084 VK_LOGIC_OP_AND = 1, 2085 VK_LOGIC_OP_AND_REVERSE = 2, 2086 VK_LOGIC_OP_COPY = 3, 2087 VK_LOGIC_OP_AND_INVERTED = 4, 2088 VK_LOGIC_OP_NO_OP = 5, 2089 VK_LOGIC_OP_XOR = 6, 2090 VK_LOGIC_OP_OR = 7, 2091 VK_LOGIC_OP_NOR = 8, 2092 VK_LOGIC_OP_EQUIVALENT = 9, 2093 VK_LOGIC_OP_INVERT = 10, 2094 VK_LOGIC_OP_OR_REVERSE = 11, 2095 VK_LOGIC_OP_COPY_INVERTED = 12, 2096 VK_LOGIC_OP_OR_INVERTED = 13, 2097 VK_LOGIC_OP_NAND = 14, 2098 VK_LOGIC_OP_SET = 15, 2099 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2100 } VkLogicOp; 2101 2102 typedef enum VkBorderColor { 2103 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2104 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2105 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2106 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2107 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2108 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2109 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2110 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2111 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2112 } VkBorderColor; 2113 2114 typedef enum VkFilter { 2115 VK_FILTER_NEAREST = 0, 2116 VK_FILTER_LINEAR = 1, 2117 VK_FILTER_CUBIC_EXT = 1000015000, 2118 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2119 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2120 } VkFilter; 2121 2122 typedef enum VkSamplerAddressMode { 2123 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2124 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2125 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2126 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2127 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2128 // VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR is a deprecated alias 2129 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2130 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2131 } VkSamplerAddressMode; 2132 2133 typedef enum VkSamplerMipmapMode { 2134 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2135 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2136 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2137 } VkSamplerMipmapMode; 2138 2139 typedef enum VkDescriptorType { 2140 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2141 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2142 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2143 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2144 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2145 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2146 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2147 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2148 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2149 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2150 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2151 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2152 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2153 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2154 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2155 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2156 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2157 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2158 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2159 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2160 } VkDescriptorType; 2161 2162 typedef enum VkAttachmentLoadOp { 2163 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2164 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2165 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2166 VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000, 2167 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR, 2168 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2169 } VkAttachmentLoadOp; 2170 2171 typedef enum VkAttachmentStoreOp { 2172 VK_ATTACHMENT_STORE_OP_STORE = 0, 2173 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2174 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2175 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2176 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2177 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2178 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2179 } VkAttachmentStoreOp; 2180 2181 typedef enum VkPipelineBindPoint { 2182 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2183 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2184 #ifdef VK_ENABLE_BETA_EXTENSIONS 2185 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2186 #endif 2187 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2188 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2189 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2190 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2191 } VkPipelineBindPoint; 2192 2193 typedef enum VkCommandBufferLevel { 2194 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2195 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2196 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2197 } VkCommandBufferLevel; 2198 2199 typedef enum VkIndexType { 2200 VK_INDEX_TYPE_UINT16 = 0, 2201 VK_INDEX_TYPE_UINT32 = 1, 2202 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2203 VK_INDEX_TYPE_UINT8_KHR = 1000265000, 2204 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2205 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR, 2206 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2207 } VkIndexType; 2208 2209 typedef enum VkSubpassContents { 2210 VK_SUBPASS_CONTENTS_INLINE = 0, 2211 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2212 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000, 2213 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR, 2214 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2215 } VkSubpassContents; 2216 2217 typedef enum VkAccessFlagBits { 2218 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2219 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2220 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2221 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2222 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2223 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2224 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2225 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2226 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2227 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2228 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2229 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2230 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2231 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2232 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2233 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2234 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2235 VK_ACCESS_NONE = 0, 2236 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2237 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2238 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2239 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2240 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2241 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2242 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2243 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2244 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2245 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2246 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2247 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2248 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2249 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2250 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2251 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2252 } VkAccessFlagBits; 2253 typedef VkFlags VkAccessFlags; 2254 2255 typedef enum VkImageAspectFlagBits { 2256 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2257 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2258 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2259 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2260 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2261 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2262 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2263 VK_IMAGE_ASPECT_NONE = 0, 2264 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2265 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2266 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2267 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2268 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2269 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2270 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2271 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2272 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2273 } VkImageAspectFlagBits; 2274 typedef VkFlags VkImageAspectFlags; 2275 2276 typedef enum VkFormatFeatureFlagBits { 2277 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2278 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2279 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2280 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2281 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2282 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2283 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2284 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2285 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2286 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2287 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2288 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2289 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2290 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2291 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2292 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2293 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2294 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2295 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2296 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2297 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2298 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2299 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2300 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2301 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2302 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2303 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2304 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2305 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2306 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2307 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2308 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2309 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2310 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2311 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2312 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2313 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2314 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2315 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2316 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, 2317 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2318 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2319 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2320 } VkFormatFeatureFlagBits; 2321 typedef VkFlags VkFormatFeatureFlags; 2322 2323 typedef enum VkImageCreateFlagBits { 2324 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2325 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2326 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2327 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2328 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2329 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2330 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2331 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2332 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2333 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2334 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2335 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2336 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2337 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2338 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2339 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2340 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2341 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2342 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2343 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2344 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2345 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2346 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2347 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2348 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2349 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2350 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2351 } VkImageCreateFlagBits; 2352 typedef VkFlags VkImageCreateFlags; 2353 2354 typedef enum VkSampleCountFlagBits { 2355 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2356 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2357 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2358 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2359 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2360 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2361 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2362 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2363 } VkSampleCountFlagBits; 2364 typedef VkFlags VkSampleCountFlags; 2365 2366 typedef enum VkImageUsageFlagBits { 2367 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2368 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2369 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2370 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2371 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2372 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2373 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2374 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2375 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2376 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2377 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2378 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2379 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2380 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000, 2381 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2382 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2383 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2384 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2385 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2386 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2387 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2388 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2389 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2390 } VkImageUsageFlagBits; 2391 typedef VkFlags VkImageUsageFlags; 2392 2393 typedef enum VkInstanceCreateFlagBits { 2394 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2395 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2396 } VkInstanceCreateFlagBits; 2397 typedef VkFlags VkInstanceCreateFlags; 2398 2399 typedef enum VkMemoryHeapFlagBits { 2400 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2401 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2402 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2403 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2404 } VkMemoryHeapFlagBits; 2405 typedef VkFlags VkMemoryHeapFlags; 2406 2407 typedef enum VkMemoryPropertyFlagBits { 2408 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2409 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2410 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2411 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2412 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2413 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2414 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2415 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2416 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2417 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2418 } VkMemoryPropertyFlagBits; 2419 typedef VkFlags VkMemoryPropertyFlags; 2420 2421 typedef enum VkQueueFlagBits { 2422 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2423 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2424 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2425 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2426 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2427 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2428 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2429 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2430 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2431 } VkQueueFlagBits; 2432 typedef VkFlags VkQueueFlags; 2433 typedef VkFlags VkDeviceCreateFlags; 2434 2435 typedef enum VkDeviceQueueCreateFlagBits { 2436 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2437 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2438 } VkDeviceQueueCreateFlagBits; 2439 typedef VkFlags VkDeviceQueueCreateFlags; 2440 2441 typedef enum VkPipelineStageFlagBits { 2442 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2443 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2444 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2445 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2446 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2447 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2448 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2449 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2450 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2451 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2452 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2453 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2454 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2455 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2456 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2457 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2458 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2459 VK_PIPELINE_STAGE_NONE = 0, 2460 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2461 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2462 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2463 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2464 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2465 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2466 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2467 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2468 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2469 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2470 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2471 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2472 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2473 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2474 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2475 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2476 } VkPipelineStageFlagBits; 2477 typedef VkFlags VkPipelineStageFlags; 2478 2479 typedef enum VkMemoryMapFlagBits { 2480 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2481 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2482 } VkMemoryMapFlagBits; 2483 typedef VkFlags VkMemoryMapFlags; 2484 2485 typedef enum VkSparseMemoryBindFlagBits { 2486 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2487 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2488 } VkSparseMemoryBindFlagBits; 2489 typedef VkFlags VkSparseMemoryBindFlags; 2490 2491 typedef enum VkSparseImageFormatFlagBits { 2492 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2493 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2494 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2495 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2496 } VkSparseImageFormatFlagBits; 2497 typedef VkFlags VkSparseImageFormatFlags; 2498 2499 typedef enum VkFenceCreateFlagBits { 2500 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2501 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2502 } VkFenceCreateFlagBits; 2503 typedef VkFlags VkFenceCreateFlags; 2504 typedef VkFlags VkSemaphoreCreateFlags; 2505 2506 typedef enum VkEventCreateFlagBits { 2507 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2508 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2509 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2510 } VkEventCreateFlagBits; 2511 typedef VkFlags VkEventCreateFlags; 2512 2513 typedef enum VkQueryPipelineStatisticFlagBits { 2514 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2515 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2516 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2517 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2518 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2519 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2520 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2521 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2522 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2523 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2524 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2525 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2526 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2527 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2528 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2529 } VkQueryPipelineStatisticFlagBits; 2530 typedef VkFlags VkQueryPipelineStatisticFlags; 2531 typedef VkFlags VkQueryPoolCreateFlags; 2532 2533 typedef enum VkQueryResultFlagBits { 2534 VK_QUERY_RESULT_64_BIT = 0x00000001, 2535 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2536 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2537 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2538 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2539 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2540 } VkQueryResultFlagBits; 2541 typedef VkFlags VkQueryResultFlags; 2542 2543 typedef enum VkBufferCreateFlagBits { 2544 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2545 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2546 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2547 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2548 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2549 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2550 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2551 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2552 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2553 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2554 } VkBufferCreateFlagBits; 2555 typedef VkFlags VkBufferCreateFlags; 2556 2557 typedef enum VkBufferUsageFlagBits { 2558 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2559 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2560 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2561 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2562 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2563 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2564 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2565 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2566 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2567 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2568 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2569 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2570 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2571 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2572 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2573 #ifdef VK_ENABLE_BETA_EXTENSIONS 2574 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2575 #endif 2576 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2577 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2578 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2579 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2580 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2581 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2582 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2583 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2584 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2585 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2586 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2587 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2588 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2589 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2590 } VkBufferUsageFlagBits; 2591 typedef VkFlags VkBufferUsageFlags; 2592 typedef VkFlags VkBufferViewCreateFlags; 2593 2594 typedef enum VkImageViewCreateFlagBits { 2595 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2596 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2597 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2598 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2599 } VkImageViewCreateFlagBits; 2600 typedef VkFlags VkImageViewCreateFlags; 2601 typedef VkFlags VkShaderModuleCreateFlags; 2602 2603 typedef enum VkPipelineCacheCreateFlagBits { 2604 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2605 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2606 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2607 } VkPipelineCacheCreateFlagBits; 2608 typedef VkFlags VkPipelineCacheCreateFlags; 2609 2610 typedef enum VkColorComponentFlagBits { 2611 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2612 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2613 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2614 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2615 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2616 } VkColorComponentFlagBits; 2617 typedef VkFlags VkColorComponentFlags; 2618 2619 typedef enum VkPipelineCreateFlagBits { 2620 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2621 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2622 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2623 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2624 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2625 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2626 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2627 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2628 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2629 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2630 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2631 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2632 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2633 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2634 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2635 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2636 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2637 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2638 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2639 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2640 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2641 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2642 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2643 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2644 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2645 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2646 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2647 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2648 #ifdef VK_ENABLE_BETA_EXTENSIONS 2649 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2650 #endif 2651 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2652 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2653 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2654 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias 2655 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2656 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias 2657 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2658 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2659 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2660 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2661 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2662 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2663 } VkPipelineCreateFlagBits; 2664 typedef VkFlags VkPipelineCreateFlags; 2665 2666 typedef enum VkPipelineShaderStageCreateFlagBits { 2667 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2668 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2669 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2670 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2671 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2672 } VkPipelineShaderStageCreateFlagBits; 2673 typedef VkFlags VkPipelineShaderStageCreateFlags; 2674 2675 typedef enum VkShaderStageFlagBits { 2676 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2677 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2678 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2679 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2680 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2681 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2682 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2683 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2684 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2685 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2686 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2687 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2688 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2689 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2690 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2691 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2692 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2693 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2694 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2695 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2696 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2697 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2698 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2699 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2700 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2701 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2702 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2703 } VkShaderStageFlagBits; 2704 2705 typedef enum VkCullModeFlagBits { 2706 VK_CULL_MODE_NONE = 0, 2707 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2708 VK_CULL_MODE_BACK_BIT = 0x00000002, 2709 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2710 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2711 } VkCullModeFlagBits; 2712 typedef VkFlags VkCullModeFlags; 2713 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2714 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2715 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2716 typedef VkFlags VkPipelineViewportStateCreateFlags; 2717 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2718 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2719 2720 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2721 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2722 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2723 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, 2724 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, 2725 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2726 } VkPipelineDepthStencilStateCreateFlagBits; 2727 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2728 2729 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2730 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2731 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2732 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2733 } VkPipelineColorBlendStateCreateFlagBits; 2734 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2735 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2736 2737 typedef enum VkPipelineLayoutCreateFlagBits { 2738 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2739 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2740 } VkPipelineLayoutCreateFlagBits; 2741 typedef VkFlags VkPipelineLayoutCreateFlags; 2742 typedef VkFlags VkShaderStageFlags; 2743 2744 typedef enum VkSamplerCreateFlagBits { 2745 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2746 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2747 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2748 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2749 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2750 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2751 } VkSamplerCreateFlagBits; 2752 typedef VkFlags VkSamplerCreateFlags; 2753 2754 typedef enum VkDescriptorPoolCreateFlagBits { 2755 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2756 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2757 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2758 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2759 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2760 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2761 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2762 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2763 } VkDescriptorPoolCreateFlagBits; 2764 typedef VkFlags VkDescriptorPoolCreateFlags; 2765 typedef VkFlags VkDescriptorPoolResetFlags; 2766 2767 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2768 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2769 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2770 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2771 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2772 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2773 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2774 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2775 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2776 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2777 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2778 } VkDescriptorSetLayoutCreateFlagBits; 2779 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2780 2781 typedef enum VkAttachmentDescriptionFlagBits { 2782 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2783 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2784 } VkAttachmentDescriptionFlagBits; 2785 typedef VkFlags VkAttachmentDescriptionFlags; 2786 2787 typedef enum VkDependencyFlagBits { 2788 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2789 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2790 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2791 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2792 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2793 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2794 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2795 } VkDependencyFlagBits; 2796 typedef VkFlags VkDependencyFlags; 2797 2798 typedef enum VkFramebufferCreateFlagBits { 2799 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2800 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2801 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2802 } VkFramebufferCreateFlagBits; 2803 typedef VkFlags VkFramebufferCreateFlags; 2804 2805 typedef enum VkRenderPassCreateFlagBits { 2806 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2807 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2808 } VkRenderPassCreateFlagBits; 2809 typedef VkFlags VkRenderPassCreateFlags; 2810 2811 typedef enum VkSubpassDescriptionFlagBits { 2812 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2813 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2814 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2815 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2816 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2817 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2818 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2819 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2820 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2821 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2822 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2823 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2824 } VkSubpassDescriptionFlagBits; 2825 typedef VkFlags VkSubpassDescriptionFlags; 2826 2827 typedef enum VkCommandPoolCreateFlagBits { 2828 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2829 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2830 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2831 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2832 } VkCommandPoolCreateFlagBits; 2833 typedef VkFlags VkCommandPoolCreateFlags; 2834 2835 typedef enum VkCommandPoolResetFlagBits { 2836 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2837 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2838 } VkCommandPoolResetFlagBits; 2839 typedef VkFlags VkCommandPoolResetFlags; 2840 2841 typedef enum VkCommandBufferUsageFlagBits { 2842 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2843 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2844 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2845 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2846 } VkCommandBufferUsageFlagBits; 2847 typedef VkFlags VkCommandBufferUsageFlags; 2848 2849 typedef enum VkQueryControlFlagBits { 2850 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2851 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2852 } VkQueryControlFlagBits; 2853 typedef VkFlags VkQueryControlFlags; 2854 2855 typedef enum VkCommandBufferResetFlagBits { 2856 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2857 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2858 } VkCommandBufferResetFlagBits; 2859 typedef VkFlags VkCommandBufferResetFlags; 2860 2861 typedef enum VkStencilFaceFlagBits { 2862 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2863 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2864 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2865 // VK_STENCIL_FRONT_AND_BACK is a deprecated alias 2866 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2867 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2868 } VkStencilFaceFlagBits; 2869 typedef VkFlags VkStencilFaceFlags; 2870 typedef struct VkExtent2D { 2871 uint32_t width; 2872 uint32_t height; 2873 } VkExtent2D; 2874 2875 typedef struct VkExtent3D { 2876 uint32_t width; 2877 uint32_t height; 2878 uint32_t depth; 2879 } VkExtent3D; 2880 2881 typedef struct VkOffset2D { 2882 int32_t x; 2883 int32_t y; 2884 } VkOffset2D; 2885 2886 typedef struct VkOffset3D { 2887 int32_t x; 2888 int32_t y; 2889 int32_t z; 2890 } VkOffset3D; 2891 2892 typedef struct VkRect2D { 2893 VkOffset2D offset; 2894 VkExtent2D extent; 2895 } VkRect2D; 2896 2897 typedef struct VkBaseInStructure { 2898 VkStructureType sType; 2899 const struct VkBaseInStructure* pNext; 2900 } VkBaseInStructure; 2901 2902 typedef struct VkBaseOutStructure { 2903 VkStructureType sType; 2904 struct VkBaseOutStructure* pNext; 2905 } VkBaseOutStructure; 2906 2907 typedef struct VkBufferMemoryBarrier { 2908 VkStructureType sType; 2909 const void* pNext; 2910 VkAccessFlags srcAccessMask; 2911 VkAccessFlags dstAccessMask; 2912 uint32_t srcQueueFamilyIndex; 2913 uint32_t dstQueueFamilyIndex; 2914 VkBuffer buffer; 2915 VkDeviceSize offset; 2916 VkDeviceSize size; 2917 } VkBufferMemoryBarrier; 2918 2919 typedef struct VkDispatchIndirectCommand { 2920 uint32_t x; 2921 uint32_t y; 2922 uint32_t z; 2923 } VkDispatchIndirectCommand; 2924 2925 typedef struct VkDrawIndexedIndirectCommand { 2926 uint32_t indexCount; 2927 uint32_t instanceCount; 2928 uint32_t firstIndex; 2929 int32_t vertexOffset; 2930 uint32_t firstInstance; 2931 } VkDrawIndexedIndirectCommand; 2932 2933 typedef struct VkDrawIndirectCommand { 2934 uint32_t vertexCount; 2935 uint32_t instanceCount; 2936 uint32_t firstVertex; 2937 uint32_t firstInstance; 2938 } VkDrawIndirectCommand; 2939 2940 typedef struct VkImageSubresourceRange { 2941 VkImageAspectFlags aspectMask; 2942 uint32_t baseMipLevel; 2943 uint32_t levelCount; 2944 uint32_t baseArrayLayer; 2945 uint32_t layerCount; 2946 } VkImageSubresourceRange; 2947 2948 typedef struct VkImageMemoryBarrier { 2949 VkStructureType sType; 2950 const void* pNext; 2951 VkAccessFlags srcAccessMask; 2952 VkAccessFlags dstAccessMask; 2953 VkImageLayout oldLayout; 2954 VkImageLayout newLayout; 2955 uint32_t srcQueueFamilyIndex; 2956 uint32_t dstQueueFamilyIndex; 2957 VkImage image; 2958 VkImageSubresourceRange subresourceRange; 2959 } VkImageMemoryBarrier; 2960 2961 typedef struct VkMemoryBarrier { 2962 VkStructureType sType; 2963 const void* pNext; 2964 VkAccessFlags srcAccessMask; 2965 VkAccessFlags dstAccessMask; 2966 } VkMemoryBarrier; 2967 2968 typedef struct VkPipelineCacheHeaderVersionOne { 2969 uint32_t headerSize; 2970 VkPipelineCacheHeaderVersion headerVersion; 2971 uint32_t vendorID; 2972 uint32_t deviceID; 2973 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2974 } VkPipelineCacheHeaderVersionOne; 2975 2976 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2977 void* pUserData, 2978 size_t size, 2979 size_t alignment, 2980 VkSystemAllocationScope allocationScope); 2981 2982 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2983 void* pUserData, 2984 void* pMemory); 2985 2986 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2987 void* pUserData, 2988 size_t size, 2989 VkInternalAllocationType allocationType, 2990 VkSystemAllocationScope allocationScope); 2991 2992 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2993 void* pUserData, 2994 size_t size, 2995 VkInternalAllocationType allocationType, 2996 VkSystemAllocationScope allocationScope); 2997 2998 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2999 void* pUserData, 3000 void* pOriginal, 3001 size_t size, 3002 size_t alignment, 3003 VkSystemAllocationScope allocationScope); 3004 3005 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 3006 typedef struct VkAllocationCallbacks { 3007 void* pUserData; 3008 PFN_vkAllocationFunction pfnAllocation; 3009 PFN_vkReallocationFunction pfnReallocation; 3010 PFN_vkFreeFunction pfnFree; 3011 PFN_vkInternalAllocationNotification pfnInternalAllocation; 3012 PFN_vkInternalFreeNotification pfnInternalFree; 3013 } VkAllocationCallbacks; 3014 3015 typedef struct VkApplicationInfo { 3016 VkStructureType sType; 3017 const void* pNext; 3018 const char* pApplicationName; 3019 uint32_t applicationVersion; 3020 const char* pEngineName; 3021 uint32_t engineVersion; 3022 uint32_t apiVersion; 3023 } VkApplicationInfo; 3024 3025 typedef struct VkFormatProperties { 3026 VkFormatFeatureFlags linearTilingFeatures; 3027 VkFormatFeatureFlags optimalTilingFeatures; 3028 VkFormatFeatureFlags bufferFeatures; 3029 } VkFormatProperties; 3030 3031 typedef struct VkImageFormatProperties { 3032 VkExtent3D maxExtent; 3033 uint32_t maxMipLevels; 3034 uint32_t maxArrayLayers; 3035 VkSampleCountFlags sampleCounts; 3036 VkDeviceSize maxResourceSize; 3037 } VkImageFormatProperties; 3038 3039 typedef struct VkInstanceCreateInfo { 3040 VkStructureType sType; 3041 const void* pNext; 3042 VkInstanceCreateFlags flags; 3043 const VkApplicationInfo* pApplicationInfo; 3044 uint32_t enabledLayerCount; 3045 const char* const* ppEnabledLayerNames; 3046 uint32_t enabledExtensionCount; 3047 const char* const* ppEnabledExtensionNames; 3048 } VkInstanceCreateInfo; 3049 3050 typedef struct VkMemoryHeap { 3051 VkDeviceSize size; 3052 VkMemoryHeapFlags flags; 3053 } VkMemoryHeap; 3054 3055 typedef struct VkMemoryType { 3056 VkMemoryPropertyFlags propertyFlags; 3057 uint32_t heapIndex; 3058 } VkMemoryType; 3059 3060 typedef struct VkPhysicalDeviceFeatures { 3061 VkBool32 robustBufferAccess; 3062 VkBool32 fullDrawIndexUint32; 3063 VkBool32 imageCubeArray; 3064 VkBool32 independentBlend; 3065 VkBool32 geometryShader; 3066 VkBool32 tessellationShader; 3067 VkBool32 sampleRateShading; 3068 VkBool32 dualSrcBlend; 3069 VkBool32 logicOp; 3070 VkBool32 multiDrawIndirect; 3071 VkBool32 drawIndirectFirstInstance; 3072 VkBool32 depthClamp; 3073 VkBool32 depthBiasClamp; 3074 VkBool32 fillModeNonSolid; 3075 VkBool32 depthBounds; 3076 VkBool32 wideLines; 3077 VkBool32 largePoints; 3078 VkBool32 alphaToOne; 3079 VkBool32 multiViewport; 3080 VkBool32 samplerAnisotropy; 3081 VkBool32 textureCompressionETC2; 3082 VkBool32 textureCompressionASTC_LDR; 3083 VkBool32 textureCompressionBC; 3084 VkBool32 occlusionQueryPrecise; 3085 VkBool32 pipelineStatisticsQuery; 3086 VkBool32 vertexPipelineStoresAndAtomics; 3087 VkBool32 fragmentStoresAndAtomics; 3088 VkBool32 shaderTessellationAndGeometryPointSize; 3089 VkBool32 shaderImageGatherExtended; 3090 VkBool32 shaderStorageImageExtendedFormats; 3091 VkBool32 shaderStorageImageMultisample; 3092 VkBool32 shaderStorageImageReadWithoutFormat; 3093 VkBool32 shaderStorageImageWriteWithoutFormat; 3094 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3095 VkBool32 shaderSampledImageArrayDynamicIndexing; 3096 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3097 VkBool32 shaderStorageImageArrayDynamicIndexing; 3098 VkBool32 shaderClipDistance; 3099 VkBool32 shaderCullDistance; 3100 VkBool32 shaderFloat64; 3101 VkBool32 shaderInt64; 3102 VkBool32 shaderInt16; 3103 VkBool32 shaderResourceResidency; 3104 VkBool32 shaderResourceMinLod; 3105 VkBool32 sparseBinding; 3106 VkBool32 sparseResidencyBuffer; 3107 VkBool32 sparseResidencyImage2D; 3108 VkBool32 sparseResidencyImage3D; 3109 VkBool32 sparseResidency2Samples; 3110 VkBool32 sparseResidency4Samples; 3111 VkBool32 sparseResidency8Samples; 3112 VkBool32 sparseResidency16Samples; 3113 VkBool32 sparseResidencyAliased; 3114 VkBool32 variableMultisampleRate; 3115 VkBool32 inheritedQueries; 3116 } VkPhysicalDeviceFeatures; 3117 3118 typedef struct VkPhysicalDeviceLimits { 3119 uint32_t maxImageDimension1D; 3120 uint32_t maxImageDimension2D; 3121 uint32_t maxImageDimension3D; 3122 uint32_t maxImageDimensionCube; 3123 uint32_t maxImageArrayLayers; 3124 uint32_t maxTexelBufferElements; 3125 uint32_t maxUniformBufferRange; 3126 uint32_t maxStorageBufferRange; 3127 uint32_t maxPushConstantsSize; 3128 uint32_t maxMemoryAllocationCount; 3129 uint32_t maxSamplerAllocationCount; 3130 VkDeviceSize bufferImageGranularity; 3131 VkDeviceSize sparseAddressSpaceSize; 3132 uint32_t maxBoundDescriptorSets; 3133 uint32_t maxPerStageDescriptorSamplers; 3134 uint32_t maxPerStageDescriptorUniformBuffers; 3135 uint32_t maxPerStageDescriptorStorageBuffers; 3136 uint32_t maxPerStageDescriptorSampledImages; 3137 uint32_t maxPerStageDescriptorStorageImages; 3138 uint32_t maxPerStageDescriptorInputAttachments; 3139 uint32_t maxPerStageResources; 3140 uint32_t maxDescriptorSetSamplers; 3141 uint32_t maxDescriptorSetUniformBuffers; 3142 uint32_t maxDescriptorSetUniformBuffersDynamic; 3143 uint32_t maxDescriptorSetStorageBuffers; 3144 uint32_t maxDescriptorSetStorageBuffersDynamic; 3145 uint32_t maxDescriptorSetSampledImages; 3146 uint32_t maxDescriptorSetStorageImages; 3147 uint32_t maxDescriptorSetInputAttachments; 3148 uint32_t maxVertexInputAttributes; 3149 uint32_t maxVertexInputBindings; 3150 uint32_t maxVertexInputAttributeOffset; 3151 uint32_t maxVertexInputBindingStride; 3152 uint32_t maxVertexOutputComponents; 3153 uint32_t maxTessellationGenerationLevel; 3154 uint32_t maxTessellationPatchSize; 3155 uint32_t maxTessellationControlPerVertexInputComponents; 3156 uint32_t maxTessellationControlPerVertexOutputComponents; 3157 uint32_t maxTessellationControlPerPatchOutputComponents; 3158 uint32_t maxTessellationControlTotalOutputComponents; 3159 uint32_t maxTessellationEvaluationInputComponents; 3160 uint32_t maxTessellationEvaluationOutputComponents; 3161 uint32_t maxGeometryShaderInvocations; 3162 uint32_t maxGeometryInputComponents; 3163 uint32_t maxGeometryOutputComponents; 3164 uint32_t maxGeometryOutputVertices; 3165 uint32_t maxGeometryTotalOutputComponents; 3166 uint32_t maxFragmentInputComponents; 3167 uint32_t maxFragmentOutputAttachments; 3168 uint32_t maxFragmentDualSrcAttachments; 3169 uint32_t maxFragmentCombinedOutputResources; 3170 uint32_t maxComputeSharedMemorySize; 3171 uint32_t maxComputeWorkGroupCount[3]; 3172 uint32_t maxComputeWorkGroupInvocations; 3173 uint32_t maxComputeWorkGroupSize[3]; 3174 uint32_t subPixelPrecisionBits; 3175 uint32_t subTexelPrecisionBits; 3176 uint32_t mipmapPrecisionBits; 3177 uint32_t maxDrawIndexedIndexValue; 3178 uint32_t maxDrawIndirectCount; 3179 float maxSamplerLodBias; 3180 float maxSamplerAnisotropy; 3181 uint32_t maxViewports; 3182 uint32_t maxViewportDimensions[2]; 3183 float viewportBoundsRange[2]; 3184 uint32_t viewportSubPixelBits; 3185 size_t minMemoryMapAlignment; 3186 VkDeviceSize minTexelBufferOffsetAlignment; 3187 VkDeviceSize minUniformBufferOffsetAlignment; 3188 VkDeviceSize minStorageBufferOffsetAlignment; 3189 int32_t minTexelOffset; 3190 uint32_t maxTexelOffset; 3191 int32_t minTexelGatherOffset; 3192 uint32_t maxTexelGatherOffset; 3193 float minInterpolationOffset; 3194 float maxInterpolationOffset; 3195 uint32_t subPixelInterpolationOffsetBits; 3196 uint32_t maxFramebufferWidth; 3197 uint32_t maxFramebufferHeight; 3198 uint32_t maxFramebufferLayers; 3199 VkSampleCountFlags framebufferColorSampleCounts; 3200 VkSampleCountFlags framebufferDepthSampleCounts; 3201 VkSampleCountFlags framebufferStencilSampleCounts; 3202 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3203 uint32_t maxColorAttachments; 3204 VkSampleCountFlags sampledImageColorSampleCounts; 3205 VkSampleCountFlags sampledImageIntegerSampleCounts; 3206 VkSampleCountFlags sampledImageDepthSampleCounts; 3207 VkSampleCountFlags sampledImageStencilSampleCounts; 3208 VkSampleCountFlags storageImageSampleCounts; 3209 uint32_t maxSampleMaskWords; 3210 VkBool32 timestampComputeAndGraphics; 3211 float timestampPeriod; 3212 uint32_t maxClipDistances; 3213 uint32_t maxCullDistances; 3214 uint32_t maxCombinedClipAndCullDistances; 3215 uint32_t discreteQueuePriorities; 3216 float pointSizeRange[2]; 3217 float lineWidthRange[2]; 3218 float pointSizeGranularity; 3219 float lineWidthGranularity; 3220 VkBool32 strictLines; 3221 VkBool32 standardSampleLocations; 3222 VkDeviceSize optimalBufferCopyOffsetAlignment; 3223 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3224 VkDeviceSize nonCoherentAtomSize; 3225 } VkPhysicalDeviceLimits; 3226 3227 typedef struct VkPhysicalDeviceMemoryProperties { 3228 uint32_t memoryTypeCount; 3229 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3230 uint32_t memoryHeapCount; 3231 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3232 } VkPhysicalDeviceMemoryProperties; 3233 3234 typedef struct VkPhysicalDeviceSparseProperties { 3235 VkBool32 residencyStandard2DBlockShape; 3236 VkBool32 residencyStandard2DMultisampleBlockShape; 3237 VkBool32 residencyStandard3DBlockShape; 3238 VkBool32 residencyAlignedMipSize; 3239 VkBool32 residencyNonResidentStrict; 3240 } VkPhysicalDeviceSparseProperties; 3241 3242 typedef struct VkPhysicalDeviceProperties { 3243 uint32_t apiVersion; 3244 uint32_t driverVersion; 3245 uint32_t vendorID; 3246 uint32_t deviceID; 3247 VkPhysicalDeviceType deviceType; 3248 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3249 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3250 VkPhysicalDeviceLimits limits; 3251 VkPhysicalDeviceSparseProperties sparseProperties; 3252 } VkPhysicalDeviceProperties; 3253 3254 typedef struct VkQueueFamilyProperties { 3255 VkQueueFlags queueFlags; 3256 uint32_t queueCount; 3257 uint32_t timestampValidBits; 3258 VkExtent3D minImageTransferGranularity; 3259 } VkQueueFamilyProperties; 3260 3261 typedef struct VkDeviceQueueCreateInfo { 3262 VkStructureType sType; 3263 const void* pNext; 3264 VkDeviceQueueCreateFlags flags; 3265 uint32_t queueFamilyIndex; 3266 uint32_t queueCount; 3267 const float* pQueuePriorities; 3268 } VkDeviceQueueCreateInfo; 3269 3270 typedef struct VkDeviceCreateInfo { 3271 VkStructureType sType; 3272 const void* pNext; 3273 VkDeviceCreateFlags flags; 3274 uint32_t queueCreateInfoCount; 3275 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3276 // enabledLayerCount is deprecated and should not be used 3277 uint32_t enabledLayerCount; 3278 // ppEnabledLayerNames is deprecated and should not be used 3279 const char* const* ppEnabledLayerNames; 3280 uint32_t enabledExtensionCount; 3281 const char* const* ppEnabledExtensionNames; 3282 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3283 } VkDeviceCreateInfo; 3284 3285 typedef struct VkExtensionProperties { 3286 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3287 uint32_t specVersion; 3288 } VkExtensionProperties; 3289 3290 typedef struct VkLayerProperties { 3291 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3292 uint32_t specVersion; 3293 uint32_t implementationVersion; 3294 char description[VK_MAX_DESCRIPTION_SIZE]; 3295 } VkLayerProperties; 3296 3297 typedef struct VkSubmitInfo { 3298 VkStructureType sType; 3299 const void* pNext; 3300 uint32_t waitSemaphoreCount; 3301 const VkSemaphore* pWaitSemaphores; 3302 const VkPipelineStageFlags* pWaitDstStageMask; 3303 uint32_t commandBufferCount; 3304 const VkCommandBuffer* pCommandBuffers; 3305 uint32_t signalSemaphoreCount; 3306 const VkSemaphore* pSignalSemaphores; 3307 } VkSubmitInfo; 3308 3309 typedef struct VkMappedMemoryRange { 3310 VkStructureType sType; 3311 const void* pNext; 3312 VkDeviceMemory memory; 3313 VkDeviceSize offset; 3314 VkDeviceSize size; 3315 } VkMappedMemoryRange; 3316 3317 typedef struct VkMemoryAllocateInfo { 3318 VkStructureType sType; 3319 const void* pNext; 3320 VkDeviceSize allocationSize; 3321 uint32_t memoryTypeIndex; 3322 } VkMemoryAllocateInfo; 3323 3324 typedef struct VkMemoryRequirements { 3325 VkDeviceSize size; 3326 VkDeviceSize alignment; 3327 uint32_t memoryTypeBits; 3328 } VkMemoryRequirements; 3329 3330 typedef struct VkSparseMemoryBind { 3331 VkDeviceSize resourceOffset; 3332 VkDeviceSize size; 3333 VkDeviceMemory memory; 3334 VkDeviceSize memoryOffset; 3335 VkSparseMemoryBindFlags flags; 3336 } VkSparseMemoryBind; 3337 3338 typedef struct VkSparseBufferMemoryBindInfo { 3339 VkBuffer buffer; 3340 uint32_t bindCount; 3341 const VkSparseMemoryBind* pBinds; 3342 } VkSparseBufferMemoryBindInfo; 3343 3344 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3345 VkImage image; 3346 uint32_t bindCount; 3347 const VkSparseMemoryBind* pBinds; 3348 } VkSparseImageOpaqueMemoryBindInfo; 3349 3350 typedef struct VkImageSubresource { 3351 VkImageAspectFlags aspectMask; 3352 uint32_t mipLevel; 3353 uint32_t arrayLayer; 3354 } VkImageSubresource; 3355 3356 typedef struct VkSparseImageMemoryBind { 3357 VkImageSubresource subresource; 3358 VkOffset3D offset; 3359 VkExtent3D extent; 3360 VkDeviceMemory memory; 3361 VkDeviceSize memoryOffset; 3362 VkSparseMemoryBindFlags flags; 3363 } VkSparseImageMemoryBind; 3364 3365 typedef struct VkSparseImageMemoryBindInfo { 3366 VkImage image; 3367 uint32_t bindCount; 3368 const VkSparseImageMemoryBind* pBinds; 3369 } VkSparseImageMemoryBindInfo; 3370 3371 typedef struct VkBindSparseInfo { 3372 VkStructureType sType; 3373 const void* pNext; 3374 uint32_t waitSemaphoreCount; 3375 const VkSemaphore* pWaitSemaphores; 3376 uint32_t bufferBindCount; 3377 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3378 uint32_t imageOpaqueBindCount; 3379 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3380 uint32_t imageBindCount; 3381 const VkSparseImageMemoryBindInfo* pImageBinds; 3382 uint32_t signalSemaphoreCount; 3383 const VkSemaphore* pSignalSemaphores; 3384 } VkBindSparseInfo; 3385 3386 typedef struct VkSparseImageFormatProperties { 3387 VkImageAspectFlags aspectMask; 3388 VkExtent3D imageGranularity; 3389 VkSparseImageFormatFlags flags; 3390 } VkSparseImageFormatProperties; 3391 3392 typedef struct VkSparseImageMemoryRequirements { 3393 VkSparseImageFormatProperties formatProperties; 3394 uint32_t imageMipTailFirstLod; 3395 VkDeviceSize imageMipTailSize; 3396 VkDeviceSize imageMipTailOffset; 3397 VkDeviceSize imageMipTailStride; 3398 } VkSparseImageMemoryRequirements; 3399 3400 typedef struct VkFenceCreateInfo { 3401 VkStructureType sType; 3402 const void* pNext; 3403 VkFenceCreateFlags flags; 3404 } VkFenceCreateInfo; 3405 3406 typedef struct VkSemaphoreCreateInfo { 3407 VkStructureType sType; 3408 const void* pNext; 3409 VkSemaphoreCreateFlags flags; 3410 } VkSemaphoreCreateInfo; 3411 3412 typedef struct VkEventCreateInfo { 3413 VkStructureType sType; 3414 const void* pNext; 3415 VkEventCreateFlags flags; 3416 } VkEventCreateInfo; 3417 3418 typedef struct VkQueryPoolCreateInfo { 3419 VkStructureType sType; 3420 const void* pNext; 3421 VkQueryPoolCreateFlags flags; 3422 VkQueryType queryType; 3423 uint32_t queryCount; 3424 VkQueryPipelineStatisticFlags pipelineStatistics; 3425 } VkQueryPoolCreateInfo; 3426 3427 typedef struct VkBufferCreateInfo { 3428 VkStructureType sType; 3429 const void* pNext; 3430 VkBufferCreateFlags flags; 3431 VkDeviceSize size; 3432 VkBufferUsageFlags usage; 3433 VkSharingMode sharingMode; 3434 uint32_t queueFamilyIndexCount; 3435 const uint32_t* pQueueFamilyIndices; 3436 } VkBufferCreateInfo; 3437 3438 typedef struct VkBufferViewCreateInfo { 3439 VkStructureType sType; 3440 const void* pNext; 3441 VkBufferViewCreateFlags flags; 3442 VkBuffer buffer; 3443 VkFormat format; 3444 VkDeviceSize offset; 3445 VkDeviceSize range; 3446 } VkBufferViewCreateInfo; 3447 3448 typedef struct VkImageCreateInfo { 3449 VkStructureType sType; 3450 const void* pNext; 3451 VkImageCreateFlags flags; 3452 VkImageType imageType; 3453 VkFormat format; 3454 VkExtent3D extent; 3455 uint32_t mipLevels; 3456 uint32_t arrayLayers; 3457 VkSampleCountFlagBits samples; 3458 VkImageTiling tiling; 3459 VkImageUsageFlags usage; 3460 VkSharingMode sharingMode; 3461 uint32_t queueFamilyIndexCount; 3462 const uint32_t* pQueueFamilyIndices; 3463 VkImageLayout initialLayout; 3464 } VkImageCreateInfo; 3465 3466 typedef struct VkSubresourceLayout { 3467 VkDeviceSize offset; 3468 VkDeviceSize size; 3469 VkDeviceSize rowPitch; 3470 VkDeviceSize arrayPitch; 3471 VkDeviceSize depthPitch; 3472 } VkSubresourceLayout; 3473 3474 typedef struct VkComponentMapping { 3475 VkComponentSwizzle r; 3476 VkComponentSwizzle g; 3477 VkComponentSwizzle b; 3478 VkComponentSwizzle a; 3479 } VkComponentMapping; 3480 3481 typedef struct VkImageViewCreateInfo { 3482 VkStructureType sType; 3483 const void* pNext; 3484 VkImageViewCreateFlags flags; 3485 VkImage image; 3486 VkImageViewType viewType; 3487 VkFormat format; 3488 VkComponentMapping components; 3489 VkImageSubresourceRange subresourceRange; 3490 } VkImageViewCreateInfo; 3491 3492 typedef struct VkShaderModuleCreateInfo { 3493 VkStructureType sType; 3494 const void* pNext; 3495 VkShaderModuleCreateFlags flags; 3496 size_t codeSize; 3497 const uint32_t* pCode; 3498 } VkShaderModuleCreateInfo; 3499 3500 typedef struct VkPipelineCacheCreateInfo { 3501 VkStructureType sType; 3502 const void* pNext; 3503 VkPipelineCacheCreateFlags flags; 3504 size_t initialDataSize; 3505 const void* pInitialData; 3506 } VkPipelineCacheCreateInfo; 3507 3508 typedef struct VkSpecializationMapEntry { 3509 uint32_t constantID; 3510 uint32_t offset; 3511 size_t size; 3512 } VkSpecializationMapEntry; 3513 3514 typedef struct VkSpecializationInfo { 3515 uint32_t mapEntryCount; 3516 const VkSpecializationMapEntry* pMapEntries; 3517 size_t dataSize; 3518 const void* pData; 3519 } VkSpecializationInfo; 3520 3521 typedef struct VkPipelineShaderStageCreateInfo { 3522 VkStructureType sType; 3523 const void* pNext; 3524 VkPipelineShaderStageCreateFlags flags; 3525 VkShaderStageFlagBits stage; 3526 VkShaderModule module; 3527 const char* pName; 3528 const VkSpecializationInfo* pSpecializationInfo; 3529 } VkPipelineShaderStageCreateInfo; 3530 3531 typedef struct VkComputePipelineCreateInfo { 3532 VkStructureType sType; 3533 const void* pNext; 3534 VkPipelineCreateFlags flags; 3535 VkPipelineShaderStageCreateInfo stage; 3536 VkPipelineLayout layout; 3537 VkPipeline basePipelineHandle; 3538 int32_t basePipelineIndex; 3539 } VkComputePipelineCreateInfo; 3540 3541 typedef struct VkVertexInputBindingDescription { 3542 uint32_t binding; 3543 uint32_t stride; 3544 VkVertexInputRate inputRate; 3545 } VkVertexInputBindingDescription; 3546 3547 typedef struct VkVertexInputAttributeDescription { 3548 uint32_t location; 3549 uint32_t binding; 3550 VkFormat format; 3551 uint32_t offset; 3552 } VkVertexInputAttributeDescription; 3553 3554 typedef struct VkPipelineVertexInputStateCreateInfo { 3555 VkStructureType sType; 3556 const void* pNext; 3557 VkPipelineVertexInputStateCreateFlags flags; 3558 uint32_t vertexBindingDescriptionCount; 3559 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3560 uint32_t vertexAttributeDescriptionCount; 3561 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3562 } VkPipelineVertexInputStateCreateInfo; 3563 3564 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3565 VkStructureType sType; 3566 const void* pNext; 3567 VkPipelineInputAssemblyStateCreateFlags flags; 3568 VkPrimitiveTopology topology; 3569 VkBool32 primitiveRestartEnable; 3570 } VkPipelineInputAssemblyStateCreateInfo; 3571 3572 typedef struct VkPipelineTessellationStateCreateInfo { 3573 VkStructureType sType; 3574 const void* pNext; 3575 VkPipelineTessellationStateCreateFlags flags; 3576 uint32_t patchControlPoints; 3577 } VkPipelineTessellationStateCreateInfo; 3578 3579 typedef struct VkViewport { 3580 float x; 3581 float y; 3582 float width; 3583 float height; 3584 float minDepth; 3585 float maxDepth; 3586 } VkViewport; 3587 3588 typedef struct VkPipelineViewportStateCreateInfo { 3589 VkStructureType sType; 3590 const void* pNext; 3591 VkPipelineViewportStateCreateFlags flags; 3592 uint32_t viewportCount; 3593 const VkViewport* pViewports; 3594 uint32_t scissorCount; 3595 const VkRect2D* pScissors; 3596 } VkPipelineViewportStateCreateInfo; 3597 3598 typedef struct VkPipelineRasterizationStateCreateInfo { 3599 VkStructureType sType; 3600 const void* pNext; 3601 VkPipelineRasterizationStateCreateFlags flags; 3602 VkBool32 depthClampEnable; 3603 VkBool32 rasterizerDiscardEnable; 3604 VkPolygonMode polygonMode; 3605 VkCullModeFlags cullMode; 3606 VkFrontFace frontFace; 3607 VkBool32 depthBiasEnable; 3608 float depthBiasConstantFactor; 3609 float depthBiasClamp; 3610 float depthBiasSlopeFactor; 3611 float lineWidth; 3612 } VkPipelineRasterizationStateCreateInfo; 3613 3614 typedef struct VkPipelineMultisampleStateCreateInfo { 3615 VkStructureType sType; 3616 const void* pNext; 3617 VkPipelineMultisampleStateCreateFlags flags; 3618 VkSampleCountFlagBits rasterizationSamples; 3619 VkBool32 sampleShadingEnable; 3620 float minSampleShading; 3621 const VkSampleMask* pSampleMask; 3622 VkBool32 alphaToCoverageEnable; 3623 VkBool32 alphaToOneEnable; 3624 } VkPipelineMultisampleStateCreateInfo; 3625 3626 typedef struct VkStencilOpState { 3627 VkStencilOp failOp; 3628 VkStencilOp passOp; 3629 VkStencilOp depthFailOp; 3630 VkCompareOp compareOp; 3631 uint32_t compareMask; 3632 uint32_t writeMask; 3633 uint32_t reference; 3634 } VkStencilOpState; 3635 3636 typedef struct VkPipelineDepthStencilStateCreateInfo { 3637 VkStructureType sType; 3638 const void* pNext; 3639 VkPipelineDepthStencilStateCreateFlags flags; 3640 VkBool32 depthTestEnable; 3641 VkBool32 depthWriteEnable; 3642 VkCompareOp depthCompareOp; 3643 VkBool32 depthBoundsTestEnable; 3644 VkBool32 stencilTestEnable; 3645 VkStencilOpState front; 3646 VkStencilOpState back; 3647 float minDepthBounds; 3648 float maxDepthBounds; 3649 } VkPipelineDepthStencilStateCreateInfo; 3650 3651 typedef struct VkPipelineColorBlendAttachmentState { 3652 VkBool32 blendEnable; 3653 VkBlendFactor srcColorBlendFactor; 3654 VkBlendFactor dstColorBlendFactor; 3655 VkBlendOp colorBlendOp; 3656 VkBlendFactor srcAlphaBlendFactor; 3657 VkBlendFactor dstAlphaBlendFactor; 3658 VkBlendOp alphaBlendOp; 3659 VkColorComponentFlags colorWriteMask; 3660 } VkPipelineColorBlendAttachmentState; 3661 3662 typedef struct VkPipelineColorBlendStateCreateInfo { 3663 VkStructureType sType; 3664 const void* pNext; 3665 VkPipelineColorBlendStateCreateFlags flags; 3666 VkBool32 logicOpEnable; 3667 VkLogicOp logicOp; 3668 uint32_t attachmentCount; 3669 const VkPipelineColorBlendAttachmentState* pAttachments; 3670 float blendConstants[4]; 3671 } VkPipelineColorBlendStateCreateInfo; 3672 3673 typedef struct VkPipelineDynamicStateCreateInfo { 3674 VkStructureType sType; 3675 const void* pNext; 3676 VkPipelineDynamicStateCreateFlags flags; 3677 uint32_t dynamicStateCount; 3678 const VkDynamicState* pDynamicStates; 3679 } VkPipelineDynamicStateCreateInfo; 3680 3681 typedef struct VkGraphicsPipelineCreateInfo { 3682 VkStructureType sType; 3683 const void* pNext; 3684 VkPipelineCreateFlags flags; 3685 uint32_t stageCount; 3686 const VkPipelineShaderStageCreateInfo* pStages; 3687 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3688 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3689 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3690 const VkPipelineViewportStateCreateInfo* pViewportState; 3691 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3692 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3693 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3694 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3695 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3696 VkPipelineLayout layout; 3697 VkRenderPass renderPass; 3698 uint32_t subpass; 3699 VkPipeline basePipelineHandle; 3700 int32_t basePipelineIndex; 3701 } VkGraphicsPipelineCreateInfo; 3702 3703 typedef struct VkPushConstantRange { 3704 VkShaderStageFlags stageFlags; 3705 uint32_t offset; 3706 uint32_t size; 3707 } VkPushConstantRange; 3708 3709 typedef struct VkPipelineLayoutCreateInfo { 3710 VkStructureType sType; 3711 const void* pNext; 3712 VkPipelineLayoutCreateFlags flags; 3713 uint32_t setLayoutCount; 3714 const VkDescriptorSetLayout* pSetLayouts; 3715 uint32_t pushConstantRangeCount; 3716 const VkPushConstantRange* pPushConstantRanges; 3717 } VkPipelineLayoutCreateInfo; 3718 3719 typedef struct VkSamplerCreateInfo { 3720 VkStructureType sType; 3721 const void* pNext; 3722 VkSamplerCreateFlags flags; 3723 VkFilter magFilter; 3724 VkFilter minFilter; 3725 VkSamplerMipmapMode mipmapMode; 3726 VkSamplerAddressMode addressModeU; 3727 VkSamplerAddressMode addressModeV; 3728 VkSamplerAddressMode addressModeW; 3729 float mipLodBias; 3730 VkBool32 anisotropyEnable; 3731 float maxAnisotropy; 3732 VkBool32 compareEnable; 3733 VkCompareOp compareOp; 3734 float minLod; 3735 float maxLod; 3736 VkBorderColor borderColor; 3737 VkBool32 unnormalizedCoordinates; 3738 } VkSamplerCreateInfo; 3739 3740 typedef struct VkCopyDescriptorSet { 3741 VkStructureType sType; 3742 const void* pNext; 3743 VkDescriptorSet srcSet; 3744 uint32_t srcBinding; 3745 uint32_t srcArrayElement; 3746 VkDescriptorSet dstSet; 3747 uint32_t dstBinding; 3748 uint32_t dstArrayElement; 3749 uint32_t descriptorCount; 3750 } VkCopyDescriptorSet; 3751 3752 typedef struct VkDescriptorBufferInfo { 3753 VkBuffer buffer; 3754 VkDeviceSize offset; 3755 VkDeviceSize range; 3756 } VkDescriptorBufferInfo; 3757 3758 typedef struct VkDescriptorImageInfo { 3759 VkSampler sampler; 3760 VkImageView imageView; 3761 VkImageLayout imageLayout; 3762 } VkDescriptorImageInfo; 3763 3764 typedef struct VkDescriptorPoolSize { 3765 VkDescriptorType type; 3766 uint32_t descriptorCount; 3767 } VkDescriptorPoolSize; 3768 3769 typedef struct VkDescriptorPoolCreateInfo { 3770 VkStructureType sType; 3771 const void* pNext; 3772 VkDescriptorPoolCreateFlags flags; 3773 uint32_t maxSets; 3774 uint32_t poolSizeCount; 3775 const VkDescriptorPoolSize* pPoolSizes; 3776 } VkDescriptorPoolCreateInfo; 3777 3778 typedef struct VkDescriptorSetAllocateInfo { 3779 VkStructureType sType; 3780 const void* pNext; 3781 VkDescriptorPool descriptorPool; 3782 uint32_t descriptorSetCount; 3783 const VkDescriptorSetLayout* pSetLayouts; 3784 } VkDescriptorSetAllocateInfo; 3785 3786 typedef struct VkDescriptorSetLayoutBinding { 3787 uint32_t binding; 3788 VkDescriptorType descriptorType; 3789 uint32_t descriptorCount; 3790 VkShaderStageFlags stageFlags; 3791 const VkSampler* pImmutableSamplers; 3792 } VkDescriptorSetLayoutBinding; 3793 3794 typedef struct VkDescriptorSetLayoutCreateInfo { 3795 VkStructureType sType; 3796 const void* pNext; 3797 VkDescriptorSetLayoutCreateFlags flags; 3798 uint32_t bindingCount; 3799 const VkDescriptorSetLayoutBinding* pBindings; 3800 } VkDescriptorSetLayoutCreateInfo; 3801 3802 typedef struct VkWriteDescriptorSet { 3803 VkStructureType sType; 3804 const void* pNext; 3805 VkDescriptorSet dstSet; 3806 uint32_t dstBinding; 3807 uint32_t dstArrayElement; 3808 uint32_t descriptorCount; 3809 VkDescriptorType descriptorType; 3810 const VkDescriptorImageInfo* pImageInfo; 3811 const VkDescriptorBufferInfo* pBufferInfo; 3812 const VkBufferView* pTexelBufferView; 3813 } VkWriteDescriptorSet; 3814 3815 typedef struct VkAttachmentDescription { 3816 VkAttachmentDescriptionFlags flags; 3817 VkFormat format; 3818 VkSampleCountFlagBits samples; 3819 VkAttachmentLoadOp loadOp; 3820 VkAttachmentStoreOp storeOp; 3821 VkAttachmentLoadOp stencilLoadOp; 3822 VkAttachmentStoreOp stencilStoreOp; 3823 VkImageLayout initialLayout; 3824 VkImageLayout finalLayout; 3825 } VkAttachmentDescription; 3826 3827 typedef struct VkAttachmentReference { 3828 uint32_t attachment; 3829 VkImageLayout layout; 3830 } VkAttachmentReference; 3831 3832 typedef struct VkFramebufferCreateInfo { 3833 VkStructureType sType; 3834 const void* pNext; 3835 VkFramebufferCreateFlags flags; 3836 VkRenderPass renderPass; 3837 uint32_t attachmentCount; 3838 const VkImageView* pAttachments; 3839 uint32_t width; 3840 uint32_t height; 3841 uint32_t layers; 3842 } VkFramebufferCreateInfo; 3843 3844 typedef struct VkSubpassDescription { 3845 VkSubpassDescriptionFlags flags; 3846 VkPipelineBindPoint pipelineBindPoint; 3847 uint32_t inputAttachmentCount; 3848 const VkAttachmentReference* pInputAttachments; 3849 uint32_t colorAttachmentCount; 3850 const VkAttachmentReference* pColorAttachments; 3851 const VkAttachmentReference* pResolveAttachments; 3852 const VkAttachmentReference* pDepthStencilAttachment; 3853 uint32_t preserveAttachmentCount; 3854 const uint32_t* pPreserveAttachments; 3855 } VkSubpassDescription; 3856 3857 typedef struct VkSubpassDependency { 3858 uint32_t srcSubpass; 3859 uint32_t dstSubpass; 3860 VkPipelineStageFlags srcStageMask; 3861 VkPipelineStageFlags dstStageMask; 3862 VkAccessFlags srcAccessMask; 3863 VkAccessFlags dstAccessMask; 3864 VkDependencyFlags dependencyFlags; 3865 } VkSubpassDependency; 3866 3867 typedef struct VkRenderPassCreateInfo { 3868 VkStructureType sType; 3869 const void* pNext; 3870 VkRenderPassCreateFlags flags; 3871 uint32_t attachmentCount; 3872 const VkAttachmentDescription* pAttachments; 3873 uint32_t subpassCount; 3874 const VkSubpassDescription* pSubpasses; 3875 uint32_t dependencyCount; 3876 const VkSubpassDependency* pDependencies; 3877 } VkRenderPassCreateInfo; 3878 3879 typedef struct VkCommandPoolCreateInfo { 3880 VkStructureType sType; 3881 const void* pNext; 3882 VkCommandPoolCreateFlags flags; 3883 uint32_t queueFamilyIndex; 3884 } VkCommandPoolCreateInfo; 3885 3886 typedef struct VkCommandBufferAllocateInfo { 3887 VkStructureType sType; 3888 const void* pNext; 3889 VkCommandPool commandPool; 3890 VkCommandBufferLevel level; 3891 uint32_t commandBufferCount; 3892 } VkCommandBufferAllocateInfo; 3893 3894 typedef struct VkCommandBufferInheritanceInfo { 3895 VkStructureType sType; 3896 const void* pNext; 3897 VkRenderPass renderPass; 3898 uint32_t subpass; 3899 VkFramebuffer framebuffer; 3900 VkBool32 occlusionQueryEnable; 3901 VkQueryControlFlags queryFlags; 3902 VkQueryPipelineStatisticFlags pipelineStatistics; 3903 } VkCommandBufferInheritanceInfo; 3904 3905 typedef struct VkCommandBufferBeginInfo { 3906 VkStructureType sType; 3907 const void* pNext; 3908 VkCommandBufferUsageFlags flags; 3909 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3910 } VkCommandBufferBeginInfo; 3911 3912 typedef struct VkBufferCopy { 3913 VkDeviceSize srcOffset; 3914 VkDeviceSize dstOffset; 3915 VkDeviceSize size; 3916 } VkBufferCopy; 3917 3918 typedef struct VkImageSubresourceLayers { 3919 VkImageAspectFlags aspectMask; 3920 uint32_t mipLevel; 3921 uint32_t baseArrayLayer; 3922 uint32_t layerCount; 3923 } VkImageSubresourceLayers; 3924 3925 typedef struct VkBufferImageCopy { 3926 VkDeviceSize bufferOffset; 3927 uint32_t bufferRowLength; 3928 uint32_t bufferImageHeight; 3929 VkImageSubresourceLayers imageSubresource; 3930 VkOffset3D imageOffset; 3931 VkExtent3D imageExtent; 3932 } VkBufferImageCopy; 3933 3934 typedef union VkClearColorValue { 3935 float float32[4]; 3936 int32_t int32[4]; 3937 uint32_t uint32[4]; 3938 } VkClearColorValue; 3939 3940 typedef struct VkClearDepthStencilValue { 3941 float depth; 3942 uint32_t stencil; 3943 } VkClearDepthStencilValue; 3944 3945 typedef union VkClearValue { 3946 VkClearColorValue color; 3947 VkClearDepthStencilValue depthStencil; 3948 } VkClearValue; 3949 3950 typedef struct VkClearAttachment { 3951 VkImageAspectFlags aspectMask; 3952 uint32_t colorAttachment; 3953 VkClearValue clearValue; 3954 } VkClearAttachment; 3955 3956 typedef struct VkClearRect { 3957 VkRect2D rect; 3958 uint32_t baseArrayLayer; 3959 uint32_t layerCount; 3960 } VkClearRect; 3961 3962 typedef struct VkImageBlit { 3963 VkImageSubresourceLayers srcSubresource; 3964 VkOffset3D srcOffsets[2]; 3965 VkImageSubresourceLayers dstSubresource; 3966 VkOffset3D dstOffsets[2]; 3967 } VkImageBlit; 3968 3969 typedef struct VkImageCopy { 3970 VkImageSubresourceLayers srcSubresource; 3971 VkOffset3D srcOffset; 3972 VkImageSubresourceLayers dstSubresource; 3973 VkOffset3D dstOffset; 3974 VkExtent3D extent; 3975 } VkImageCopy; 3976 3977 typedef struct VkImageResolve { 3978 VkImageSubresourceLayers srcSubresource; 3979 VkOffset3D srcOffset; 3980 VkImageSubresourceLayers dstSubresource; 3981 VkOffset3D dstOffset; 3982 VkExtent3D extent; 3983 } VkImageResolve; 3984 3985 typedef struct VkRenderPassBeginInfo { 3986 VkStructureType sType; 3987 const void* pNext; 3988 VkRenderPass renderPass; 3989 VkFramebuffer framebuffer; 3990 VkRect2D renderArea; 3991 uint32_t clearValueCount; 3992 const VkClearValue* pClearValues; 3993 } VkRenderPassBeginInfo; 3994 3995 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3996 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3997 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3998 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3999 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 4000 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 4001 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 4002 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 4003 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4004 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 4005 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 4006 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 4007 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 4008 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4009 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4010 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4011 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4012 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 4013 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 4014 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 4015 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 4016 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 4017 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 4018 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 4019 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 4020 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4021 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4022 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 4023 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4024 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4025 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 4026 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 4027 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4028 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 4029 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 4030 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 4031 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 4032 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 4033 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 4034 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 4035 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 4036 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 4037 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4038 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4039 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4040 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4041 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4042 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4043 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4044 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); 4045 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4046 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4047 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4048 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4049 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4050 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4051 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4052 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4053 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4054 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4055 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4056 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4057 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4058 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4059 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4060 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4061 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4062 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4063 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4064 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4065 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4066 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4067 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4068 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4069 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4070 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4071 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4072 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4073 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4074 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4075 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4076 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4077 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4078 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4079 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4080 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4081 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4082 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4083 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4084 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4085 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4086 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4087 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4088 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4089 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4090 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4091 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4092 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4093 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4094 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4095 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4096 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4097 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4098 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); 4099 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4100 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4101 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4102 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4103 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4104 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4105 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4106 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4107 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4108 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4109 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4110 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4111 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4112 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4113 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4114 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4115 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4116 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4117 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4118 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4119 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4120 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); 4121 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); 4122 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4123 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4124 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4125 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4126 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4127 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4128 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4129 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4130 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4131 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4132 4133 #ifndef VK_NO_PROTOTYPES 4134 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4135 const VkInstanceCreateInfo* pCreateInfo, 4136 const VkAllocationCallbacks* pAllocator, 4137 VkInstance* pInstance); 4138 4139 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4140 VkInstance instance, 4141 const VkAllocationCallbacks* pAllocator); 4142 4143 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4144 VkInstance instance, 4145 uint32_t* pPhysicalDeviceCount, 4146 VkPhysicalDevice* pPhysicalDevices); 4147 4148 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4149 VkPhysicalDevice physicalDevice, 4150 VkPhysicalDeviceFeatures* pFeatures); 4151 4152 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4153 VkPhysicalDevice physicalDevice, 4154 VkFormat format, 4155 VkFormatProperties* pFormatProperties); 4156 4157 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4158 VkPhysicalDevice physicalDevice, 4159 VkFormat format, 4160 VkImageType type, 4161 VkImageTiling tiling, 4162 VkImageUsageFlags usage, 4163 VkImageCreateFlags flags, 4164 VkImageFormatProperties* pImageFormatProperties); 4165 4166 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4167 VkPhysicalDevice physicalDevice, 4168 VkPhysicalDeviceProperties* pProperties); 4169 4170 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4171 VkPhysicalDevice physicalDevice, 4172 uint32_t* pQueueFamilyPropertyCount, 4173 VkQueueFamilyProperties* pQueueFamilyProperties); 4174 4175 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4176 VkPhysicalDevice physicalDevice, 4177 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4178 4179 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4180 VkInstance instance, 4181 const char* pName); 4182 4183 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4184 VkDevice device, 4185 const char* pName); 4186 4187 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4188 VkPhysicalDevice physicalDevice, 4189 const VkDeviceCreateInfo* pCreateInfo, 4190 const VkAllocationCallbacks* pAllocator, 4191 VkDevice* pDevice); 4192 4193 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4194 VkDevice device, 4195 const VkAllocationCallbacks* pAllocator); 4196 4197 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4198 const char* pLayerName, 4199 uint32_t* pPropertyCount, 4200 VkExtensionProperties* pProperties); 4201 4202 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4203 VkPhysicalDevice physicalDevice, 4204 const char* pLayerName, 4205 uint32_t* pPropertyCount, 4206 VkExtensionProperties* pProperties); 4207 4208 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4209 uint32_t* pPropertyCount, 4210 VkLayerProperties* pProperties); 4211 4212 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4213 VkPhysicalDevice physicalDevice, 4214 uint32_t* pPropertyCount, 4215 VkLayerProperties* pProperties); 4216 4217 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4218 VkDevice device, 4219 uint32_t queueFamilyIndex, 4220 uint32_t queueIndex, 4221 VkQueue* pQueue); 4222 4223 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4224 VkQueue queue, 4225 uint32_t submitCount, 4226 const VkSubmitInfo* pSubmits, 4227 VkFence fence); 4228 4229 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4230 VkQueue queue); 4231 4232 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4233 VkDevice device); 4234 4235 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4236 VkDevice device, 4237 const VkMemoryAllocateInfo* pAllocateInfo, 4238 const VkAllocationCallbacks* pAllocator, 4239 VkDeviceMemory* pMemory); 4240 4241 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4242 VkDevice device, 4243 VkDeviceMemory memory, 4244 const VkAllocationCallbacks* pAllocator); 4245 4246 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4247 VkDevice device, 4248 VkDeviceMemory memory, 4249 VkDeviceSize offset, 4250 VkDeviceSize size, 4251 VkMemoryMapFlags flags, 4252 void** ppData); 4253 4254 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4255 VkDevice device, 4256 VkDeviceMemory memory); 4257 4258 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4259 VkDevice device, 4260 uint32_t memoryRangeCount, 4261 const VkMappedMemoryRange* pMemoryRanges); 4262 4263 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4264 VkDevice device, 4265 uint32_t memoryRangeCount, 4266 const VkMappedMemoryRange* pMemoryRanges); 4267 4268 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4269 VkDevice device, 4270 VkDeviceMemory memory, 4271 VkDeviceSize* pCommittedMemoryInBytes); 4272 4273 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4274 VkDevice device, 4275 VkBuffer buffer, 4276 VkDeviceMemory memory, 4277 VkDeviceSize memoryOffset); 4278 4279 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4280 VkDevice device, 4281 VkImage image, 4282 VkDeviceMemory memory, 4283 VkDeviceSize memoryOffset); 4284 4285 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4286 VkDevice device, 4287 VkBuffer buffer, 4288 VkMemoryRequirements* pMemoryRequirements); 4289 4290 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4291 VkDevice device, 4292 VkImage image, 4293 VkMemoryRequirements* pMemoryRequirements); 4294 4295 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4296 VkDevice device, 4297 VkImage image, 4298 uint32_t* pSparseMemoryRequirementCount, 4299 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4300 4301 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4302 VkPhysicalDevice physicalDevice, 4303 VkFormat format, 4304 VkImageType type, 4305 VkSampleCountFlagBits samples, 4306 VkImageUsageFlags usage, 4307 VkImageTiling tiling, 4308 uint32_t* pPropertyCount, 4309 VkSparseImageFormatProperties* pProperties); 4310 4311 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4312 VkQueue queue, 4313 uint32_t bindInfoCount, 4314 const VkBindSparseInfo* pBindInfo, 4315 VkFence fence); 4316 4317 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4318 VkDevice device, 4319 const VkFenceCreateInfo* pCreateInfo, 4320 const VkAllocationCallbacks* pAllocator, 4321 VkFence* pFence); 4322 4323 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4324 VkDevice device, 4325 VkFence fence, 4326 const VkAllocationCallbacks* pAllocator); 4327 4328 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4329 VkDevice device, 4330 uint32_t fenceCount, 4331 const VkFence* pFences); 4332 4333 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4334 VkDevice device, 4335 VkFence fence); 4336 4337 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4338 VkDevice device, 4339 uint32_t fenceCount, 4340 const VkFence* pFences, 4341 VkBool32 waitAll, 4342 uint64_t timeout); 4343 4344 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4345 VkDevice device, 4346 const VkSemaphoreCreateInfo* pCreateInfo, 4347 const VkAllocationCallbacks* pAllocator, 4348 VkSemaphore* pSemaphore); 4349 4350 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4351 VkDevice device, 4352 VkSemaphore semaphore, 4353 const VkAllocationCallbacks* pAllocator); 4354 4355 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4356 VkDevice device, 4357 const VkEventCreateInfo* pCreateInfo, 4358 const VkAllocationCallbacks* pAllocator, 4359 VkEvent* pEvent); 4360 4361 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4362 VkDevice device, 4363 VkEvent event, 4364 const VkAllocationCallbacks* pAllocator); 4365 4366 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4367 VkDevice device, 4368 VkEvent event); 4369 4370 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4371 VkDevice device, 4372 VkEvent event); 4373 4374 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4375 VkDevice device, 4376 VkEvent event); 4377 4378 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4379 VkDevice device, 4380 const VkQueryPoolCreateInfo* pCreateInfo, 4381 const VkAllocationCallbacks* pAllocator, 4382 VkQueryPool* pQueryPool); 4383 4384 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4385 VkDevice device, 4386 VkQueryPool queryPool, 4387 const VkAllocationCallbacks* pAllocator); 4388 4389 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4390 VkDevice device, 4391 VkQueryPool queryPool, 4392 uint32_t firstQuery, 4393 uint32_t queryCount, 4394 size_t dataSize, 4395 void* pData, 4396 VkDeviceSize stride, 4397 VkQueryResultFlags flags); 4398 4399 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4400 VkDevice device, 4401 const VkBufferCreateInfo* pCreateInfo, 4402 const VkAllocationCallbacks* pAllocator, 4403 VkBuffer* pBuffer); 4404 4405 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4406 VkDevice device, 4407 VkBuffer buffer, 4408 const VkAllocationCallbacks* pAllocator); 4409 4410 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4411 VkDevice device, 4412 const VkBufferViewCreateInfo* pCreateInfo, 4413 const VkAllocationCallbacks* pAllocator, 4414 VkBufferView* pView); 4415 4416 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4417 VkDevice device, 4418 VkBufferView bufferView, 4419 const VkAllocationCallbacks* pAllocator); 4420 4421 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4422 VkDevice device, 4423 const VkImageCreateInfo* pCreateInfo, 4424 const VkAllocationCallbacks* pAllocator, 4425 VkImage* pImage); 4426 4427 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4428 VkDevice device, 4429 VkImage image, 4430 const VkAllocationCallbacks* pAllocator); 4431 4432 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4433 VkDevice device, 4434 VkImage image, 4435 const VkImageSubresource* pSubresource, 4436 VkSubresourceLayout* pLayout); 4437 4438 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4439 VkDevice device, 4440 const VkImageViewCreateInfo* pCreateInfo, 4441 const VkAllocationCallbacks* pAllocator, 4442 VkImageView* pView); 4443 4444 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4445 VkDevice device, 4446 VkImageView imageView, 4447 const VkAllocationCallbacks* pAllocator); 4448 4449 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4450 VkDevice device, 4451 const VkShaderModuleCreateInfo* pCreateInfo, 4452 const VkAllocationCallbacks* pAllocator, 4453 VkShaderModule* pShaderModule); 4454 4455 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4456 VkDevice device, 4457 VkShaderModule shaderModule, 4458 const VkAllocationCallbacks* pAllocator); 4459 4460 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4461 VkDevice device, 4462 const VkPipelineCacheCreateInfo* pCreateInfo, 4463 const VkAllocationCallbacks* pAllocator, 4464 VkPipelineCache* pPipelineCache); 4465 4466 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4467 VkDevice device, 4468 VkPipelineCache pipelineCache, 4469 const VkAllocationCallbacks* pAllocator); 4470 4471 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4472 VkDevice device, 4473 VkPipelineCache pipelineCache, 4474 size_t* pDataSize, 4475 void* pData); 4476 4477 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4478 VkDevice device, 4479 VkPipelineCache dstCache, 4480 uint32_t srcCacheCount, 4481 const VkPipelineCache* pSrcCaches); 4482 4483 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4484 VkDevice device, 4485 VkPipelineCache pipelineCache, 4486 uint32_t createInfoCount, 4487 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4488 const VkAllocationCallbacks* pAllocator, 4489 VkPipeline* pPipelines); 4490 4491 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4492 VkDevice device, 4493 VkPipelineCache pipelineCache, 4494 uint32_t createInfoCount, 4495 const VkComputePipelineCreateInfo* pCreateInfos, 4496 const VkAllocationCallbacks* pAllocator, 4497 VkPipeline* pPipelines); 4498 4499 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4500 VkDevice device, 4501 VkPipeline pipeline, 4502 const VkAllocationCallbacks* pAllocator); 4503 4504 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4505 VkDevice device, 4506 const VkPipelineLayoutCreateInfo* pCreateInfo, 4507 const VkAllocationCallbacks* pAllocator, 4508 VkPipelineLayout* pPipelineLayout); 4509 4510 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4511 VkDevice device, 4512 VkPipelineLayout pipelineLayout, 4513 const VkAllocationCallbacks* pAllocator); 4514 4515 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4516 VkDevice device, 4517 const VkSamplerCreateInfo* pCreateInfo, 4518 const VkAllocationCallbacks* pAllocator, 4519 VkSampler* pSampler); 4520 4521 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4522 VkDevice device, 4523 VkSampler sampler, 4524 const VkAllocationCallbacks* pAllocator); 4525 4526 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4527 VkDevice device, 4528 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4529 const VkAllocationCallbacks* pAllocator, 4530 VkDescriptorSetLayout* pSetLayout); 4531 4532 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4533 VkDevice device, 4534 VkDescriptorSetLayout descriptorSetLayout, 4535 const VkAllocationCallbacks* pAllocator); 4536 4537 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4538 VkDevice device, 4539 const VkDescriptorPoolCreateInfo* pCreateInfo, 4540 const VkAllocationCallbacks* pAllocator, 4541 VkDescriptorPool* pDescriptorPool); 4542 4543 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4544 VkDevice device, 4545 VkDescriptorPool descriptorPool, 4546 const VkAllocationCallbacks* pAllocator); 4547 4548 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4549 VkDevice device, 4550 VkDescriptorPool descriptorPool, 4551 VkDescriptorPoolResetFlags flags); 4552 4553 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4554 VkDevice device, 4555 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4556 VkDescriptorSet* pDescriptorSets); 4557 4558 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4559 VkDevice device, 4560 VkDescriptorPool descriptorPool, 4561 uint32_t descriptorSetCount, 4562 const VkDescriptorSet* pDescriptorSets); 4563 4564 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4565 VkDevice device, 4566 uint32_t descriptorWriteCount, 4567 const VkWriteDescriptorSet* pDescriptorWrites, 4568 uint32_t descriptorCopyCount, 4569 const VkCopyDescriptorSet* pDescriptorCopies); 4570 4571 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4572 VkDevice device, 4573 const VkFramebufferCreateInfo* pCreateInfo, 4574 const VkAllocationCallbacks* pAllocator, 4575 VkFramebuffer* pFramebuffer); 4576 4577 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4578 VkDevice device, 4579 VkFramebuffer framebuffer, 4580 const VkAllocationCallbacks* pAllocator); 4581 4582 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4583 VkDevice device, 4584 const VkRenderPassCreateInfo* pCreateInfo, 4585 const VkAllocationCallbacks* pAllocator, 4586 VkRenderPass* pRenderPass); 4587 4588 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4589 VkDevice device, 4590 VkRenderPass renderPass, 4591 const VkAllocationCallbacks* pAllocator); 4592 4593 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4594 VkDevice device, 4595 VkRenderPass renderPass, 4596 VkExtent2D* pGranularity); 4597 4598 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4599 VkDevice device, 4600 const VkCommandPoolCreateInfo* pCreateInfo, 4601 const VkAllocationCallbacks* pAllocator, 4602 VkCommandPool* pCommandPool); 4603 4604 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4605 VkDevice device, 4606 VkCommandPool commandPool, 4607 const VkAllocationCallbacks* pAllocator); 4608 4609 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4610 VkDevice device, 4611 VkCommandPool commandPool, 4612 VkCommandPoolResetFlags flags); 4613 4614 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4615 VkDevice device, 4616 const VkCommandBufferAllocateInfo* pAllocateInfo, 4617 VkCommandBuffer* pCommandBuffers); 4618 4619 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4620 VkDevice device, 4621 VkCommandPool commandPool, 4622 uint32_t commandBufferCount, 4623 const VkCommandBuffer* pCommandBuffers); 4624 4625 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4626 VkCommandBuffer commandBuffer, 4627 const VkCommandBufferBeginInfo* pBeginInfo); 4628 4629 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4630 VkCommandBuffer commandBuffer); 4631 4632 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4633 VkCommandBuffer commandBuffer, 4634 VkCommandBufferResetFlags flags); 4635 4636 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4637 VkCommandBuffer commandBuffer, 4638 VkPipelineBindPoint pipelineBindPoint, 4639 VkPipeline pipeline); 4640 4641 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4642 VkCommandBuffer commandBuffer, 4643 uint32_t firstViewport, 4644 uint32_t viewportCount, 4645 const VkViewport* pViewports); 4646 4647 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4648 VkCommandBuffer commandBuffer, 4649 uint32_t firstScissor, 4650 uint32_t scissorCount, 4651 const VkRect2D* pScissors); 4652 4653 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4654 VkCommandBuffer commandBuffer, 4655 float lineWidth); 4656 4657 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4658 VkCommandBuffer commandBuffer, 4659 float depthBiasConstantFactor, 4660 float depthBiasClamp, 4661 float depthBiasSlopeFactor); 4662 4663 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4664 VkCommandBuffer commandBuffer, 4665 const float blendConstants[4]); 4666 4667 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4668 VkCommandBuffer commandBuffer, 4669 float minDepthBounds, 4670 float maxDepthBounds); 4671 4672 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4673 VkCommandBuffer commandBuffer, 4674 VkStencilFaceFlags faceMask, 4675 uint32_t compareMask); 4676 4677 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4678 VkCommandBuffer commandBuffer, 4679 VkStencilFaceFlags faceMask, 4680 uint32_t writeMask); 4681 4682 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4683 VkCommandBuffer commandBuffer, 4684 VkStencilFaceFlags faceMask, 4685 uint32_t reference); 4686 4687 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4688 VkCommandBuffer commandBuffer, 4689 VkPipelineBindPoint pipelineBindPoint, 4690 VkPipelineLayout layout, 4691 uint32_t firstSet, 4692 uint32_t descriptorSetCount, 4693 const VkDescriptorSet* pDescriptorSets, 4694 uint32_t dynamicOffsetCount, 4695 const uint32_t* pDynamicOffsets); 4696 4697 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4698 VkCommandBuffer commandBuffer, 4699 VkBuffer buffer, 4700 VkDeviceSize offset, 4701 VkIndexType indexType); 4702 4703 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4704 VkCommandBuffer commandBuffer, 4705 uint32_t firstBinding, 4706 uint32_t bindingCount, 4707 const VkBuffer* pBuffers, 4708 const VkDeviceSize* pOffsets); 4709 4710 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4711 VkCommandBuffer commandBuffer, 4712 uint32_t vertexCount, 4713 uint32_t instanceCount, 4714 uint32_t firstVertex, 4715 uint32_t firstInstance); 4716 4717 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4718 VkCommandBuffer commandBuffer, 4719 uint32_t indexCount, 4720 uint32_t instanceCount, 4721 uint32_t firstIndex, 4722 int32_t vertexOffset, 4723 uint32_t firstInstance); 4724 4725 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4726 VkCommandBuffer commandBuffer, 4727 VkBuffer buffer, 4728 VkDeviceSize offset, 4729 uint32_t drawCount, 4730 uint32_t stride); 4731 4732 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4733 VkCommandBuffer commandBuffer, 4734 VkBuffer buffer, 4735 VkDeviceSize offset, 4736 uint32_t drawCount, 4737 uint32_t stride); 4738 4739 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4740 VkCommandBuffer commandBuffer, 4741 uint32_t groupCountX, 4742 uint32_t groupCountY, 4743 uint32_t groupCountZ); 4744 4745 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4746 VkCommandBuffer commandBuffer, 4747 VkBuffer buffer, 4748 VkDeviceSize offset); 4749 4750 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4751 VkCommandBuffer commandBuffer, 4752 VkBuffer srcBuffer, 4753 VkBuffer dstBuffer, 4754 uint32_t regionCount, 4755 const VkBufferCopy* pRegions); 4756 4757 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4758 VkCommandBuffer commandBuffer, 4759 VkImage srcImage, 4760 VkImageLayout srcImageLayout, 4761 VkImage dstImage, 4762 VkImageLayout dstImageLayout, 4763 uint32_t regionCount, 4764 const VkImageCopy* pRegions); 4765 4766 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4767 VkCommandBuffer commandBuffer, 4768 VkImage srcImage, 4769 VkImageLayout srcImageLayout, 4770 VkImage dstImage, 4771 VkImageLayout dstImageLayout, 4772 uint32_t regionCount, 4773 const VkImageBlit* pRegions, 4774 VkFilter filter); 4775 4776 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4777 VkCommandBuffer commandBuffer, 4778 VkBuffer srcBuffer, 4779 VkImage dstImage, 4780 VkImageLayout dstImageLayout, 4781 uint32_t regionCount, 4782 const VkBufferImageCopy* pRegions); 4783 4784 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4785 VkCommandBuffer commandBuffer, 4786 VkImage srcImage, 4787 VkImageLayout srcImageLayout, 4788 VkBuffer dstBuffer, 4789 uint32_t regionCount, 4790 const VkBufferImageCopy* pRegions); 4791 4792 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4793 VkCommandBuffer commandBuffer, 4794 VkBuffer dstBuffer, 4795 VkDeviceSize dstOffset, 4796 VkDeviceSize dataSize, 4797 const void* pData); 4798 4799 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4800 VkCommandBuffer commandBuffer, 4801 VkBuffer dstBuffer, 4802 VkDeviceSize dstOffset, 4803 VkDeviceSize size, 4804 uint32_t data); 4805 4806 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4807 VkCommandBuffer commandBuffer, 4808 VkImage image, 4809 VkImageLayout imageLayout, 4810 const VkClearColorValue* pColor, 4811 uint32_t rangeCount, 4812 const VkImageSubresourceRange* pRanges); 4813 4814 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4815 VkCommandBuffer commandBuffer, 4816 VkImage image, 4817 VkImageLayout imageLayout, 4818 const VkClearDepthStencilValue* pDepthStencil, 4819 uint32_t rangeCount, 4820 const VkImageSubresourceRange* pRanges); 4821 4822 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4823 VkCommandBuffer commandBuffer, 4824 uint32_t attachmentCount, 4825 const VkClearAttachment* pAttachments, 4826 uint32_t rectCount, 4827 const VkClearRect* pRects); 4828 4829 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4830 VkCommandBuffer commandBuffer, 4831 VkImage srcImage, 4832 VkImageLayout srcImageLayout, 4833 VkImage dstImage, 4834 VkImageLayout dstImageLayout, 4835 uint32_t regionCount, 4836 const VkImageResolve* pRegions); 4837 4838 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4839 VkCommandBuffer commandBuffer, 4840 VkEvent event, 4841 VkPipelineStageFlags stageMask); 4842 4843 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4844 VkCommandBuffer commandBuffer, 4845 VkEvent event, 4846 VkPipelineStageFlags stageMask); 4847 4848 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4849 VkCommandBuffer commandBuffer, 4850 uint32_t eventCount, 4851 const VkEvent* pEvents, 4852 VkPipelineStageFlags srcStageMask, 4853 VkPipelineStageFlags dstStageMask, 4854 uint32_t memoryBarrierCount, 4855 const VkMemoryBarrier* pMemoryBarriers, 4856 uint32_t bufferMemoryBarrierCount, 4857 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4858 uint32_t imageMemoryBarrierCount, 4859 const VkImageMemoryBarrier* pImageMemoryBarriers); 4860 4861 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4862 VkCommandBuffer commandBuffer, 4863 VkPipelineStageFlags srcStageMask, 4864 VkPipelineStageFlags dstStageMask, 4865 VkDependencyFlags dependencyFlags, 4866 uint32_t memoryBarrierCount, 4867 const VkMemoryBarrier* pMemoryBarriers, 4868 uint32_t bufferMemoryBarrierCount, 4869 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4870 uint32_t imageMemoryBarrierCount, 4871 const VkImageMemoryBarrier* pImageMemoryBarriers); 4872 4873 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4874 VkCommandBuffer commandBuffer, 4875 VkQueryPool queryPool, 4876 uint32_t query, 4877 VkQueryControlFlags flags); 4878 4879 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4880 VkCommandBuffer commandBuffer, 4881 VkQueryPool queryPool, 4882 uint32_t query); 4883 4884 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4885 VkCommandBuffer commandBuffer, 4886 VkQueryPool queryPool, 4887 uint32_t firstQuery, 4888 uint32_t queryCount); 4889 4890 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4891 VkCommandBuffer commandBuffer, 4892 VkPipelineStageFlagBits pipelineStage, 4893 VkQueryPool queryPool, 4894 uint32_t query); 4895 4896 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4897 VkCommandBuffer commandBuffer, 4898 VkQueryPool queryPool, 4899 uint32_t firstQuery, 4900 uint32_t queryCount, 4901 VkBuffer dstBuffer, 4902 VkDeviceSize dstOffset, 4903 VkDeviceSize stride, 4904 VkQueryResultFlags flags); 4905 4906 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4907 VkCommandBuffer commandBuffer, 4908 VkPipelineLayout layout, 4909 VkShaderStageFlags stageFlags, 4910 uint32_t offset, 4911 uint32_t size, 4912 const void* pValues); 4913 4914 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4915 VkCommandBuffer commandBuffer, 4916 const VkRenderPassBeginInfo* pRenderPassBegin, 4917 VkSubpassContents contents); 4918 4919 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4920 VkCommandBuffer commandBuffer, 4921 VkSubpassContents contents); 4922 4923 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4924 VkCommandBuffer commandBuffer); 4925 4926 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4927 VkCommandBuffer commandBuffer, 4928 uint32_t commandBufferCount, 4929 const VkCommandBuffer* pCommandBuffers); 4930 #endif 4931 4932 4933 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4934 #define VK_VERSION_1_1 1 4935 // Vulkan 1.1 version number 4936 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4937 4938 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4939 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4940 #define VK_MAX_DEVICE_GROUP_SIZE 32U 4941 #define VK_LUID_SIZE 8U 4942 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 4943 4944 typedef enum VkPointClippingBehavior { 4945 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4946 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4947 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4948 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4949 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4950 } VkPointClippingBehavior; 4951 4952 typedef enum VkTessellationDomainOrigin { 4953 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4954 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4955 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4956 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4957 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4958 } VkTessellationDomainOrigin; 4959 4960 typedef enum VkSamplerYcbcrModelConversion { 4961 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4962 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4963 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4964 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4965 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4966 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4967 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4968 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4969 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4970 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4971 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4972 } VkSamplerYcbcrModelConversion; 4973 4974 typedef enum VkSamplerYcbcrRange { 4975 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4976 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4977 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4978 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4979 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4980 } VkSamplerYcbcrRange; 4981 4982 typedef enum VkChromaLocation { 4983 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4984 VK_CHROMA_LOCATION_MIDPOINT = 1, 4985 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4986 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4987 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4988 } VkChromaLocation; 4989 4990 typedef enum VkDescriptorUpdateTemplateType { 4991 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4992 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4993 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4994 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4995 } VkDescriptorUpdateTemplateType; 4996 4997 typedef enum VkSubgroupFeatureFlagBits { 4998 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4999 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 5000 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 5001 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 5002 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 5003 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 5004 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 5005 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 5006 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 5007 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200, 5008 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400, 5009 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5010 } VkSubgroupFeatureFlagBits; 5011 typedef VkFlags VkSubgroupFeatureFlags; 5012 5013 typedef enum VkPeerMemoryFeatureFlagBits { 5014 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 5015 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 5016 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 5017 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 5018 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 5019 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 5020 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 5021 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 5022 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5023 } VkPeerMemoryFeatureFlagBits; 5024 typedef VkFlags VkPeerMemoryFeatureFlags; 5025 5026 typedef enum VkMemoryAllocateFlagBits { 5027 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 5028 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 5029 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 5030 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 5031 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 5032 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 5033 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5034 } VkMemoryAllocateFlagBits; 5035 typedef VkFlags VkMemoryAllocateFlags; 5036 typedef VkFlags VkCommandPoolTrimFlags; 5037 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5038 5039 typedef enum VkExternalMemoryHandleTypeFlagBits { 5040 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5041 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5042 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5043 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5044 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5045 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5046 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5047 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5048 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5049 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5050 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5051 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5052 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5053 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5054 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5055 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5056 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5057 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5058 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5059 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5060 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5061 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5062 } VkExternalMemoryHandleTypeFlagBits; 5063 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5064 5065 typedef enum VkExternalMemoryFeatureFlagBits { 5066 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5067 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5068 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5069 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5070 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5071 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5072 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5073 } VkExternalMemoryFeatureFlagBits; 5074 typedef VkFlags VkExternalMemoryFeatureFlags; 5075 5076 typedef enum VkExternalFenceHandleTypeFlagBits { 5077 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5078 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5079 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5080 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5081 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5082 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5083 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5084 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5085 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5086 } VkExternalFenceHandleTypeFlagBits; 5087 typedef VkFlags VkExternalFenceHandleTypeFlags; 5088 5089 typedef enum VkExternalFenceFeatureFlagBits { 5090 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5091 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5092 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5093 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5094 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5095 } VkExternalFenceFeatureFlagBits; 5096 typedef VkFlags VkExternalFenceFeatureFlags; 5097 5098 typedef enum VkFenceImportFlagBits { 5099 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5100 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5101 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5102 } VkFenceImportFlagBits; 5103 typedef VkFlags VkFenceImportFlags; 5104 5105 typedef enum VkSemaphoreImportFlagBits { 5106 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5107 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5108 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5109 } VkSemaphoreImportFlagBits; 5110 typedef VkFlags VkSemaphoreImportFlags; 5111 5112 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5113 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5114 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5115 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5116 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5117 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5118 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5119 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5120 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5121 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5122 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5123 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5124 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5125 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5126 } VkExternalSemaphoreHandleTypeFlagBits; 5127 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5128 5129 typedef enum VkExternalSemaphoreFeatureFlagBits { 5130 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5131 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5132 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5133 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5134 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5135 } VkExternalSemaphoreFeatureFlagBits; 5136 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5137 typedef struct VkPhysicalDeviceSubgroupProperties { 5138 VkStructureType sType; 5139 void* pNext; 5140 uint32_t subgroupSize; 5141 VkShaderStageFlags supportedStages; 5142 VkSubgroupFeatureFlags supportedOperations; 5143 VkBool32 quadOperationsInAllStages; 5144 } VkPhysicalDeviceSubgroupProperties; 5145 5146 typedef struct VkBindBufferMemoryInfo { 5147 VkStructureType sType; 5148 const void* pNext; 5149 VkBuffer buffer; 5150 VkDeviceMemory memory; 5151 VkDeviceSize memoryOffset; 5152 } VkBindBufferMemoryInfo; 5153 5154 typedef struct VkBindImageMemoryInfo { 5155 VkStructureType sType; 5156 const void* pNext; 5157 VkImage image; 5158 VkDeviceMemory memory; 5159 VkDeviceSize memoryOffset; 5160 } VkBindImageMemoryInfo; 5161 5162 typedef struct VkPhysicalDevice16BitStorageFeatures { 5163 VkStructureType sType; 5164 void* pNext; 5165 VkBool32 storageBuffer16BitAccess; 5166 VkBool32 uniformAndStorageBuffer16BitAccess; 5167 VkBool32 storagePushConstant16; 5168 VkBool32 storageInputOutput16; 5169 } VkPhysicalDevice16BitStorageFeatures; 5170 5171 typedef struct VkMemoryDedicatedRequirements { 5172 VkStructureType sType; 5173 void* pNext; 5174 VkBool32 prefersDedicatedAllocation; 5175 VkBool32 requiresDedicatedAllocation; 5176 } VkMemoryDedicatedRequirements; 5177 5178 typedef struct VkMemoryDedicatedAllocateInfo { 5179 VkStructureType sType; 5180 const void* pNext; 5181 VkImage image; 5182 VkBuffer buffer; 5183 } VkMemoryDedicatedAllocateInfo; 5184 5185 typedef struct VkMemoryAllocateFlagsInfo { 5186 VkStructureType sType; 5187 const void* pNext; 5188 VkMemoryAllocateFlags flags; 5189 uint32_t deviceMask; 5190 } VkMemoryAllocateFlagsInfo; 5191 5192 typedef struct VkDeviceGroupRenderPassBeginInfo { 5193 VkStructureType sType; 5194 const void* pNext; 5195 uint32_t deviceMask; 5196 uint32_t deviceRenderAreaCount; 5197 const VkRect2D* pDeviceRenderAreas; 5198 } VkDeviceGroupRenderPassBeginInfo; 5199 5200 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5201 VkStructureType sType; 5202 const void* pNext; 5203 uint32_t deviceMask; 5204 } VkDeviceGroupCommandBufferBeginInfo; 5205 5206 typedef struct VkDeviceGroupSubmitInfo { 5207 VkStructureType sType; 5208 const void* pNext; 5209 uint32_t waitSemaphoreCount; 5210 const uint32_t* pWaitSemaphoreDeviceIndices; 5211 uint32_t commandBufferCount; 5212 const uint32_t* pCommandBufferDeviceMasks; 5213 uint32_t signalSemaphoreCount; 5214 const uint32_t* pSignalSemaphoreDeviceIndices; 5215 } VkDeviceGroupSubmitInfo; 5216 5217 typedef struct VkDeviceGroupBindSparseInfo { 5218 VkStructureType sType; 5219 const void* pNext; 5220 uint32_t resourceDeviceIndex; 5221 uint32_t memoryDeviceIndex; 5222 } VkDeviceGroupBindSparseInfo; 5223 5224 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5225 VkStructureType sType; 5226 const void* pNext; 5227 uint32_t deviceIndexCount; 5228 const uint32_t* pDeviceIndices; 5229 } VkBindBufferMemoryDeviceGroupInfo; 5230 5231 typedef struct VkBindImageMemoryDeviceGroupInfo { 5232 VkStructureType sType; 5233 const void* pNext; 5234 uint32_t deviceIndexCount; 5235 const uint32_t* pDeviceIndices; 5236 uint32_t splitInstanceBindRegionCount; 5237 const VkRect2D* pSplitInstanceBindRegions; 5238 } VkBindImageMemoryDeviceGroupInfo; 5239 5240 typedef struct VkPhysicalDeviceGroupProperties { 5241 VkStructureType sType; 5242 void* pNext; 5243 uint32_t physicalDeviceCount; 5244 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5245 VkBool32 subsetAllocation; 5246 } VkPhysicalDeviceGroupProperties; 5247 5248 typedef struct VkDeviceGroupDeviceCreateInfo { 5249 VkStructureType sType; 5250 const void* pNext; 5251 uint32_t physicalDeviceCount; 5252 const VkPhysicalDevice* pPhysicalDevices; 5253 } VkDeviceGroupDeviceCreateInfo; 5254 5255 typedef struct VkBufferMemoryRequirementsInfo2 { 5256 VkStructureType sType; 5257 const void* pNext; 5258 VkBuffer buffer; 5259 } VkBufferMemoryRequirementsInfo2; 5260 5261 typedef struct VkImageMemoryRequirementsInfo2 { 5262 VkStructureType sType; 5263 const void* pNext; 5264 VkImage image; 5265 } VkImageMemoryRequirementsInfo2; 5266 5267 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5268 VkStructureType sType; 5269 const void* pNext; 5270 VkImage image; 5271 } VkImageSparseMemoryRequirementsInfo2; 5272 5273 typedef struct VkMemoryRequirements2 { 5274 VkStructureType sType; 5275 void* pNext; 5276 VkMemoryRequirements memoryRequirements; 5277 } VkMemoryRequirements2; 5278 5279 typedef struct VkSparseImageMemoryRequirements2 { 5280 VkStructureType sType; 5281 void* pNext; 5282 VkSparseImageMemoryRequirements memoryRequirements; 5283 } VkSparseImageMemoryRequirements2; 5284 5285 typedef struct VkPhysicalDeviceFeatures2 { 5286 VkStructureType sType; 5287 void* pNext; 5288 VkPhysicalDeviceFeatures features; 5289 } VkPhysicalDeviceFeatures2; 5290 5291 typedef struct VkPhysicalDeviceProperties2 { 5292 VkStructureType sType; 5293 void* pNext; 5294 VkPhysicalDeviceProperties properties; 5295 } VkPhysicalDeviceProperties2; 5296 5297 typedef struct VkFormatProperties2 { 5298 VkStructureType sType; 5299 void* pNext; 5300 VkFormatProperties formatProperties; 5301 } VkFormatProperties2; 5302 5303 typedef struct VkImageFormatProperties2 { 5304 VkStructureType sType; 5305 void* pNext; 5306 VkImageFormatProperties imageFormatProperties; 5307 } VkImageFormatProperties2; 5308 5309 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5310 VkStructureType sType; 5311 const void* pNext; 5312 VkFormat format; 5313 VkImageType type; 5314 VkImageTiling tiling; 5315 VkImageUsageFlags usage; 5316 VkImageCreateFlags flags; 5317 } VkPhysicalDeviceImageFormatInfo2; 5318 5319 typedef struct VkQueueFamilyProperties2 { 5320 VkStructureType sType; 5321 void* pNext; 5322 VkQueueFamilyProperties queueFamilyProperties; 5323 } VkQueueFamilyProperties2; 5324 5325 typedef struct VkPhysicalDeviceMemoryProperties2 { 5326 VkStructureType sType; 5327 void* pNext; 5328 VkPhysicalDeviceMemoryProperties memoryProperties; 5329 } VkPhysicalDeviceMemoryProperties2; 5330 5331 typedef struct VkSparseImageFormatProperties2 { 5332 VkStructureType sType; 5333 void* pNext; 5334 VkSparseImageFormatProperties properties; 5335 } VkSparseImageFormatProperties2; 5336 5337 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5338 VkStructureType sType; 5339 const void* pNext; 5340 VkFormat format; 5341 VkImageType type; 5342 VkSampleCountFlagBits samples; 5343 VkImageUsageFlags usage; 5344 VkImageTiling tiling; 5345 } VkPhysicalDeviceSparseImageFormatInfo2; 5346 5347 typedef struct VkPhysicalDevicePointClippingProperties { 5348 VkStructureType sType; 5349 void* pNext; 5350 VkPointClippingBehavior pointClippingBehavior; 5351 } VkPhysicalDevicePointClippingProperties; 5352 5353 typedef struct VkInputAttachmentAspectReference { 5354 uint32_t subpass; 5355 uint32_t inputAttachmentIndex; 5356 VkImageAspectFlags aspectMask; 5357 } VkInputAttachmentAspectReference; 5358 5359 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5360 VkStructureType sType; 5361 const void* pNext; 5362 uint32_t aspectReferenceCount; 5363 const VkInputAttachmentAspectReference* pAspectReferences; 5364 } VkRenderPassInputAttachmentAspectCreateInfo; 5365 5366 typedef struct VkImageViewUsageCreateInfo { 5367 VkStructureType sType; 5368 const void* pNext; 5369 VkImageUsageFlags usage; 5370 } VkImageViewUsageCreateInfo; 5371 5372 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5373 VkStructureType sType; 5374 const void* pNext; 5375 VkTessellationDomainOrigin domainOrigin; 5376 } VkPipelineTessellationDomainOriginStateCreateInfo; 5377 5378 typedef struct VkRenderPassMultiviewCreateInfo { 5379 VkStructureType sType; 5380 const void* pNext; 5381 uint32_t subpassCount; 5382 const uint32_t* pViewMasks; 5383 uint32_t dependencyCount; 5384 const int32_t* pViewOffsets; 5385 uint32_t correlationMaskCount; 5386 const uint32_t* pCorrelationMasks; 5387 } VkRenderPassMultiviewCreateInfo; 5388 5389 typedef struct VkPhysicalDeviceMultiviewFeatures { 5390 VkStructureType sType; 5391 void* pNext; 5392 VkBool32 multiview; 5393 VkBool32 multiviewGeometryShader; 5394 VkBool32 multiviewTessellationShader; 5395 } VkPhysicalDeviceMultiviewFeatures; 5396 5397 typedef struct VkPhysicalDeviceMultiviewProperties { 5398 VkStructureType sType; 5399 void* pNext; 5400 uint32_t maxMultiviewViewCount; 5401 uint32_t maxMultiviewInstanceIndex; 5402 } VkPhysicalDeviceMultiviewProperties; 5403 5404 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5405 VkStructureType sType; 5406 void* pNext; 5407 VkBool32 variablePointersStorageBuffer; 5408 VkBool32 variablePointers; 5409 } VkPhysicalDeviceVariablePointersFeatures; 5410 5411 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5412 5413 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5414 VkStructureType sType; 5415 void* pNext; 5416 VkBool32 protectedMemory; 5417 } VkPhysicalDeviceProtectedMemoryFeatures; 5418 5419 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5420 VkStructureType sType; 5421 void* pNext; 5422 VkBool32 protectedNoFault; 5423 } VkPhysicalDeviceProtectedMemoryProperties; 5424 5425 typedef struct VkDeviceQueueInfo2 { 5426 VkStructureType sType; 5427 const void* pNext; 5428 VkDeviceQueueCreateFlags flags; 5429 uint32_t queueFamilyIndex; 5430 uint32_t queueIndex; 5431 } VkDeviceQueueInfo2; 5432 5433 typedef struct VkProtectedSubmitInfo { 5434 VkStructureType sType; 5435 const void* pNext; 5436 VkBool32 protectedSubmit; 5437 } VkProtectedSubmitInfo; 5438 5439 typedef struct VkSamplerYcbcrConversionCreateInfo { 5440 VkStructureType sType; 5441 const void* pNext; 5442 VkFormat format; 5443 VkSamplerYcbcrModelConversion ycbcrModel; 5444 VkSamplerYcbcrRange ycbcrRange; 5445 VkComponentMapping components; 5446 VkChromaLocation xChromaOffset; 5447 VkChromaLocation yChromaOffset; 5448 VkFilter chromaFilter; 5449 VkBool32 forceExplicitReconstruction; 5450 } VkSamplerYcbcrConversionCreateInfo; 5451 5452 typedef struct VkSamplerYcbcrConversionInfo { 5453 VkStructureType sType; 5454 const void* pNext; 5455 VkSamplerYcbcrConversion conversion; 5456 } VkSamplerYcbcrConversionInfo; 5457 5458 typedef struct VkBindImagePlaneMemoryInfo { 5459 VkStructureType sType; 5460 const void* pNext; 5461 VkImageAspectFlagBits planeAspect; 5462 } VkBindImagePlaneMemoryInfo; 5463 5464 typedef struct VkImagePlaneMemoryRequirementsInfo { 5465 VkStructureType sType; 5466 const void* pNext; 5467 VkImageAspectFlagBits planeAspect; 5468 } VkImagePlaneMemoryRequirementsInfo; 5469 5470 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5471 VkStructureType sType; 5472 void* pNext; 5473 VkBool32 samplerYcbcrConversion; 5474 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5475 5476 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5477 VkStructureType sType; 5478 void* pNext; 5479 uint32_t combinedImageSamplerDescriptorCount; 5480 } VkSamplerYcbcrConversionImageFormatProperties; 5481 5482 typedef struct VkDescriptorUpdateTemplateEntry { 5483 uint32_t dstBinding; 5484 uint32_t dstArrayElement; 5485 uint32_t descriptorCount; 5486 VkDescriptorType descriptorType; 5487 size_t offset; 5488 size_t stride; 5489 } VkDescriptorUpdateTemplateEntry; 5490 5491 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5492 VkStructureType sType; 5493 const void* pNext; 5494 VkDescriptorUpdateTemplateCreateFlags flags; 5495 uint32_t descriptorUpdateEntryCount; 5496 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5497 VkDescriptorUpdateTemplateType templateType; 5498 VkDescriptorSetLayout descriptorSetLayout; 5499 VkPipelineBindPoint pipelineBindPoint; 5500 VkPipelineLayout pipelineLayout; 5501 uint32_t set; 5502 } VkDescriptorUpdateTemplateCreateInfo; 5503 5504 typedef struct VkExternalMemoryProperties { 5505 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5506 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5507 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5508 } VkExternalMemoryProperties; 5509 5510 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5511 VkStructureType sType; 5512 const void* pNext; 5513 VkExternalMemoryHandleTypeFlagBits handleType; 5514 } VkPhysicalDeviceExternalImageFormatInfo; 5515 5516 typedef struct VkExternalImageFormatProperties { 5517 VkStructureType sType; 5518 void* pNext; 5519 VkExternalMemoryProperties externalMemoryProperties; 5520 } VkExternalImageFormatProperties; 5521 5522 typedef struct VkPhysicalDeviceExternalBufferInfo { 5523 VkStructureType sType; 5524 const void* pNext; 5525 VkBufferCreateFlags flags; 5526 VkBufferUsageFlags usage; 5527 VkExternalMemoryHandleTypeFlagBits handleType; 5528 } VkPhysicalDeviceExternalBufferInfo; 5529 5530 typedef struct VkExternalBufferProperties { 5531 VkStructureType sType; 5532 void* pNext; 5533 VkExternalMemoryProperties externalMemoryProperties; 5534 } VkExternalBufferProperties; 5535 5536 typedef struct VkPhysicalDeviceIDProperties { 5537 VkStructureType sType; 5538 void* pNext; 5539 uint8_t deviceUUID[VK_UUID_SIZE]; 5540 uint8_t driverUUID[VK_UUID_SIZE]; 5541 uint8_t deviceLUID[VK_LUID_SIZE]; 5542 uint32_t deviceNodeMask; 5543 VkBool32 deviceLUIDValid; 5544 } VkPhysicalDeviceIDProperties; 5545 5546 typedef struct VkExternalMemoryImageCreateInfo { 5547 VkStructureType sType; 5548 const void* pNext; 5549 VkExternalMemoryHandleTypeFlags handleTypes; 5550 } VkExternalMemoryImageCreateInfo; 5551 5552 typedef struct VkExternalMemoryBufferCreateInfo { 5553 VkStructureType sType; 5554 const void* pNext; 5555 VkExternalMemoryHandleTypeFlags handleTypes; 5556 } VkExternalMemoryBufferCreateInfo; 5557 5558 typedef struct VkExportMemoryAllocateInfo { 5559 VkStructureType sType; 5560 const void* pNext; 5561 VkExternalMemoryHandleTypeFlags handleTypes; 5562 } VkExportMemoryAllocateInfo; 5563 5564 typedef struct VkPhysicalDeviceExternalFenceInfo { 5565 VkStructureType sType; 5566 const void* pNext; 5567 VkExternalFenceHandleTypeFlagBits handleType; 5568 } VkPhysicalDeviceExternalFenceInfo; 5569 5570 typedef struct VkExternalFenceProperties { 5571 VkStructureType sType; 5572 void* pNext; 5573 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5574 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5575 VkExternalFenceFeatureFlags externalFenceFeatures; 5576 } VkExternalFenceProperties; 5577 5578 typedef struct VkExportFenceCreateInfo { 5579 VkStructureType sType; 5580 const void* pNext; 5581 VkExternalFenceHandleTypeFlags handleTypes; 5582 } VkExportFenceCreateInfo; 5583 5584 typedef struct VkExportSemaphoreCreateInfo { 5585 VkStructureType sType; 5586 const void* pNext; 5587 VkExternalSemaphoreHandleTypeFlags handleTypes; 5588 } VkExportSemaphoreCreateInfo; 5589 5590 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5591 VkStructureType sType; 5592 const void* pNext; 5593 VkExternalSemaphoreHandleTypeFlagBits handleType; 5594 } VkPhysicalDeviceExternalSemaphoreInfo; 5595 5596 typedef struct VkExternalSemaphoreProperties { 5597 VkStructureType sType; 5598 void* pNext; 5599 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5600 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5601 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5602 } VkExternalSemaphoreProperties; 5603 5604 typedef struct VkPhysicalDeviceMaintenance3Properties { 5605 VkStructureType sType; 5606 void* pNext; 5607 uint32_t maxPerSetDescriptors; 5608 VkDeviceSize maxMemoryAllocationSize; 5609 } VkPhysicalDeviceMaintenance3Properties; 5610 5611 typedef struct VkDescriptorSetLayoutSupport { 5612 VkStructureType sType; 5613 void* pNext; 5614 VkBool32 supported; 5615 } VkDescriptorSetLayoutSupport; 5616 5617 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5618 VkStructureType sType; 5619 void* pNext; 5620 VkBool32 shaderDrawParameters; 5621 } VkPhysicalDeviceShaderDrawParametersFeatures; 5622 5623 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5624 5625 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5626 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5627 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5628 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5629 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5630 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); 5631 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5632 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5633 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5634 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5635 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5636 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5637 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5638 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5639 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5640 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5641 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5642 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5643 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5644 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5645 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5646 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5647 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5648 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5649 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5650 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5651 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5652 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5653 5654 #ifndef VK_NO_PROTOTYPES 5655 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5656 uint32_t* pApiVersion); 5657 5658 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5659 VkDevice device, 5660 uint32_t bindInfoCount, 5661 const VkBindBufferMemoryInfo* pBindInfos); 5662 5663 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5664 VkDevice device, 5665 uint32_t bindInfoCount, 5666 const VkBindImageMemoryInfo* pBindInfos); 5667 5668 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5669 VkDevice device, 5670 uint32_t heapIndex, 5671 uint32_t localDeviceIndex, 5672 uint32_t remoteDeviceIndex, 5673 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5674 5675 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5676 VkCommandBuffer commandBuffer, 5677 uint32_t deviceMask); 5678 5679 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5680 VkCommandBuffer commandBuffer, 5681 uint32_t baseGroupX, 5682 uint32_t baseGroupY, 5683 uint32_t baseGroupZ, 5684 uint32_t groupCountX, 5685 uint32_t groupCountY, 5686 uint32_t groupCountZ); 5687 5688 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5689 VkInstance instance, 5690 uint32_t* pPhysicalDeviceGroupCount, 5691 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5692 5693 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5694 VkDevice device, 5695 const VkImageMemoryRequirementsInfo2* pInfo, 5696 VkMemoryRequirements2* pMemoryRequirements); 5697 5698 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5699 VkDevice device, 5700 const VkBufferMemoryRequirementsInfo2* pInfo, 5701 VkMemoryRequirements2* pMemoryRequirements); 5702 5703 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5704 VkDevice device, 5705 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5706 uint32_t* pSparseMemoryRequirementCount, 5707 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5708 5709 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5710 VkPhysicalDevice physicalDevice, 5711 VkPhysicalDeviceFeatures2* pFeatures); 5712 5713 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5714 VkPhysicalDevice physicalDevice, 5715 VkPhysicalDeviceProperties2* pProperties); 5716 5717 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5718 VkPhysicalDevice physicalDevice, 5719 VkFormat format, 5720 VkFormatProperties2* pFormatProperties); 5721 5722 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5723 VkPhysicalDevice physicalDevice, 5724 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5725 VkImageFormatProperties2* pImageFormatProperties); 5726 5727 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5728 VkPhysicalDevice physicalDevice, 5729 uint32_t* pQueueFamilyPropertyCount, 5730 VkQueueFamilyProperties2* pQueueFamilyProperties); 5731 5732 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5733 VkPhysicalDevice physicalDevice, 5734 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5735 5736 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5737 VkPhysicalDevice physicalDevice, 5738 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5739 uint32_t* pPropertyCount, 5740 VkSparseImageFormatProperties2* pProperties); 5741 5742 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5743 VkDevice device, 5744 VkCommandPool commandPool, 5745 VkCommandPoolTrimFlags flags); 5746 5747 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5748 VkDevice device, 5749 const VkDeviceQueueInfo2* pQueueInfo, 5750 VkQueue* pQueue); 5751 5752 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5753 VkDevice device, 5754 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5755 const VkAllocationCallbacks* pAllocator, 5756 VkSamplerYcbcrConversion* pYcbcrConversion); 5757 5758 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5759 VkDevice device, 5760 VkSamplerYcbcrConversion ycbcrConversion, 5761 const VkAllocationCallbacks* pAllocator); 5762 5763 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5764 VkDevice device, 5765 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5766 const VkAllocationCallbacks* pAllocator, 5767 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5768 5769 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5770 VkDevice device, 5771 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5772 const VkAllocationCallbacks* pAllocator); 5773 5774 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5775 VkDevice device, 5776 VkDescriptorSet descriptorSet, 5777 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5778 const void* pData); 5779 5780 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5781 VkPhysicalDevice physicalDevice, 5782 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5783 VkExternalBufferProperties* pExternalBufferProperties); 5784 5785 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5786 VkPhysicalDevice physicalDevice, 5787 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5788 VkExternalFenceProperties* pExternalFenceProperties); 5789 5790 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5791 VkPhysicalDevice physicalDevice, 5792 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5793 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5794 5795 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5796 VkDevice device, 5797 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5798 VkDescriptorSetLayoutSupport* pSupport); 5799 #endif 5800 5801 5802 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5803 #define VK_VERSION_1_2 1 5804 // Vulkan 1.2 version number 5805 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5806 5807 #define VK_MAX_DRIVER_NAME_SIZE 256U 5808 #define VK_MAX_DRIVER_INFO_SIZE 256U 5809 5810 typedef enum VkDriverId { 5811 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5812 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5813 VK_DRIVER_ID_MESA_RADV = 3, 5814 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5815 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5816 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5817 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5818 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5819 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5820 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5821 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5822 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5823 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5824 VK_DRIVER_ID_MOLTENVK = 14, 5825 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5826 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5827 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5828 VK_DRIVER_ID_MESA_TURNIP = 18, 5829 VK_DRIVER_ID_MESA_V3DV = 19, 5830 VK_DRIVER_ID_MESA_PANVK = 20, 5831 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5832 VK_DRIVER_ID_MESA_VENUS = 22, 5833 VK_DRIVER_ID_MESA_DOZEN = 23, 5834 VK_DRIVER_ID_MESA_NVK = 24, 5835 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5836 VK_DRIVER_ID_MESA_HONEYKRISP = 26, 5837 VK_DRIVER_ID_RESERVED_27 = 27, 5838 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5839 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5840 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5841 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5842 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5843 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5844 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5845 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5846 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5847 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5848 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5849 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5850 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5851 } VkDriverId; 5852 5853 typedef enum VkShaderFloatControlsIndependence { 5854 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5855 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5856 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5857 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5858 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5859 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5860 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5861 } VkShaderFloatControlsIndependence; 5862 5863 typedef enum VkSamplerReductionMode { 5864 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5865 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5866 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5867 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5868 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5869 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5870 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5871 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5872 } VkSamplerReductionMode; 5873 5874 typedef enum VkSemaphoreType { 5875 VK_SEMAPHORE_TYPE_BINARY = 0, 5876 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5877 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5878 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5879 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5880 } VkSemaphoreType; 5881 5882 typedef enum VkResolveModeFlagBits { 5883 VK_RESOLVE_MODE_NONE = 0, 5884 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5885 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5886 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5887 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5888 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5889 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5890 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5891 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5892 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5893 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5894 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5895 } VkResolveModeFlagBits; 5896 typedef VkFlags VkResolveModeFlags; 5897 5898 typedef enum VkDescriptorBindingFlagBits { 5899 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5900 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5901 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5902 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5903 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5904 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5905 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5906 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5907 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5908 } VkDescriptorBindingFlagBits; 5909 typedef VkFlags VkDescriptorBindingFlags; 5910 5911 typedef enum VkSemaphoreWaitFlagBits { 5912 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5913 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5914 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5915 } VkSemaphoreWaitFlagBits; 5916 typedef VkFlags VkSemaphoreWaitFlags; 5917 typedef struct VkPhysicalDeviceVulkan11Features { 5918 VkStructureType sType; 5919 void* pNext; 5920 VkBool32 storageBuffer16BitAccess; 5921 VkBool32 uniformAndStorageBuffer16BitAccess; 5922 VkBool32 storagePushConstant16; 5923 VkBool32 storageInputOutput16; 5924 VkBool32 multiview; 5925 VkBool32 multiviewGeometryShader; 5926 VkBool32 multiviewTessellationShader; 5927 VkBool32 variablePointersStorageBuffer; 5928 VkBool32 variablePointers; 5929 VkBool32 protectedMemory; 5930 VkBool32 samplerYcbcrConversion; 5931 VkBool32 shaderDrawParameters; 5932 } VkPhysicalDeviceVulkan11Features; 5933 5934 typedef struct VkPhysicalDeviceVulkan11Properties { 5935 VkStructureType sType; 5936 void* pNext; 5937 uint8_t deviceUUID[VK_UUID_SIZE]; 5938 uint8_t driverUUID[VK_UUID_SIZE]; 5939 uint8_t deviceLUID[VK_LUID_SIZE]; 5940 uint32_t deviceNodeMask; 5941 VkBool32 deviceLUIDValid; 5942 uint32_t subgroupSize; 5943 VkShaderStageFlags subgroupSupportedStages; 5944 VkSubgroupFeatureFlags subgroupSupportedOperations; 5945 VkBool32 subgroupQuadOperationsInAllStages; 5946 VkPointClippingBehavior pointClippingBehavior; 5947 uint32_t maxMultiviewViewCount; 5948 uint32_t maxMultiviewInstanceIndex; 5949 VkBool32 protectedNoFault; 5950 uint32_t maxPerSetDescriptors; 5951 VkDeviceSize maxMemoryAllocationSize; 5952 } VkPhysicalDeviceVulkan11Properties; 5953 5954 typedef struct VkPhysicalDeviceVulkan12Features { 5955 VkStructureType sType; 5956 void* pNext; 5957 VkBool32 samplerMirrorClampToEdge; 5958 VkBool32 drawIndirectCount; 5959 VkBool32 storageBuffer8BitAccess; 5960 VkBool32 uniformAndStorageBuffer8BitAccess; 5961 VkBool32 storagePushConstant8; 5962 VkBool32 shaderBufferInt64Atomics; 5963 VkBool32 shaderSharedInt64Atomics; 5964 VkBool32 shaderFloat16; 5965 VkBool32 shaderInt8; 5966 VkBool32 descriptorIndexing; 5967 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5968 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5969 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5970 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5971 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5972 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5973 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5974 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5975 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5976 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5977 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5978 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5979 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5980 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5981 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5982 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5983 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5984 VkBool32 descriptorBindingPartiallyBound; 5985 VkBool32 descriptorBindingVariableDescriptorCount; 5986 VkBool32 runtimeDescriptorArray; 5987 VkBool32 samplerFilterMinmax; 5988 VkBool32 scalarBlockLayout; 5989 VkBool32 imagelessFramebuffer; 5990 VkBool32 uniformBufferStandardLayout; 5991 VkBool32 shaderSubgroupExtendedTypes; 5992 VkBool32 separateDepthStencilLayouts; 5993 VkBool32 hostQueryReset; 5994 VkBool32 timelineSemaphore; 5995 VkBool32 bufferDeviceAddress; 5996 VkBool32 bufferDeviceAddressCaptureReplay; 5997 VkBool32 bufferDeviceAddressMultiDevice; 5998 VkBool32 vulkanMemoryModel; 5999 VkBool32 vulkanMemoryModelDeviceScope; 6000 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6001 VkBool32 shaderOutputViewportIndex; 6002 VkBool32 shaderOutputLayer; 6003 VkBool32 subgroupBroadcastDynamicId; 6004 } VkPhysicalDeviceVulkan12Features; 6005 6006 typedef struct VkConformanceVersion { 6007 uint8_t major; 6008 uint8_t minor; 6009 uint8_t subminor; 6010 uint8_t patch; 6011 } VkConformanceVersion; 6012 6013 typedef struct VkPhysicalDeviceVulkan12Properties { 6014 VkStructureType sType; 6015 void* pNext; 6016 VkDriverId driverID; 6017 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6018 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6019 VkConformanceVersion conformanceVersion; 6020 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6021 VkShaderFloatControlsIndependence roundingModeIndependence; 6022 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6023 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6024 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6025 VkBool32 shaderDenormPreserveFloat16; 6026 VkBool32 shaderDenormPreserveFloat32; 6027 VkBool32 shaderDenormPreserveFloat64; 6028 VkBool32 shaderDenormFlushToZeroFloat16; 6029 VkBool32 shaderDenormFlushToZeroFloat32; 6030 VkBool32 shaderDenormFlushToZeroFloat64; 6031 VkBool32 shaderRoundingModeRTEFloat16; 6032 VkBool32 shaderRoundingModeRTEFloat32; 6033 VkBool32 shaderRoundingModeRTEFloat64; 6034 VkBool32 shaderRoundingModeRTZFloat16; 6035 VkBool32 shaderRoundingModeRTZFloat32; 6036 VkBool32 shaderRoundingModeRTZFloat64; 6037 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6038 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6039 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6040 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6041 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6042 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6043 VkBool32 robustBufferAccessUpdateAfterBind; 6044 VkBool32 quadDivergentImplicitLod; 6045 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6046 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6047 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6048 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6049 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6050 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6051 uint32_t maxPerStageUpdateAfterBindResources; 6052 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6053 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6054 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6055 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6056 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6057 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6058 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6059 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6060 VkResolveModeFlags supportedDepthResolveModes; 6061 VkResolveModeFlags supportedStencilResolveModes; 6062 VkBool32 independentResolveNone; 6063 VkBool32 independentResolve; 6064 VkBool32 filterMinmaxSingleComponentFormats; 6065 VkBool32 filterMinmaxImageComponentMapping; 6066 uint64_t maxTimelineSemaphoreValueDifference; 6067 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6068 } VkPhysicalDeviceVulkan12Properties; 6069 6070 typedef struct VkImageFormatListCreateInfo { 6071 VkStructureType sType; 6072 const void* pNext; 6073 uint32_t viewFormatCount; 6074 const VkFormat* pViewFormats; 6075 } VkImageFormatListCreateInfo; 6076 6077 typedef struct VkAttachmentDescription2 { 6078 VkStructureType sType; 6079 const void* pNext; 6080 VkAttachmentDescriptionFlags flags; 6081 VkFormat format; 6082 VkSampleCountFlagBits samples; 6083 VkAttachmentLoadOp loadOp; 6084 VkAttachmentStoreOp storeOp; 6085 VkAttachmentLoadOp stencilLoadOp; 6086 VkAttachmentStoreOp stencilStoreOp; 6087 VkImageLayout initialLayout; 6088 VkImageLayout finalLayout; 6089 } VkAttachmentDescription2; 6090 6091 typedef struct VkAttachmentReference2 { 6092 VkStructureType sType; 6093 const void* pNext; 6094 uint32_t attachment; 6095 VkImageLayout layout; 6096 VkImageAspectFlags aspectMask; 6097 } VkAttachmentReference2; 6098 6099 typedef struct VkSubpassDescription2 { 6100 VkStructureType sType; 6101 const void* pNext; 6102 VkSubpassDescriptionFlags flags; 6103 VkPipelineBindPoint pipelineBindPoint; 6104 uint32_t viewMask; 6105 uint32_t inputAttachmentCount; 6106 const VkAttachmentReference2* pInputAttachments; 6107 uint32_t colorAttachmentCount; 6108 const VkAttachmentReference2* pColorAttachments; 6109 const VkAttachmentReference2* pResolveAttachments; 6110 const VkAttachmentReference2* pDepthStencilAttachment; 6111 uint32_t preserveAttachmentCount; 6112 const uint32_t* pPreserveAttachments; 6113 } VkSubpassDescription2; 6114 6115 typedef struct VkSubpassDependency2 { 6116 VkStructureType sType; 6117 const void* pNext; 6118 uint32_t srcSubpass; 6119 uint32_t dstSubpass; 6120 VkPipelineStageFlags srcStageMask; 6121 VkPipelineStageFlags dstStageMask; 6122 VkAccessFlags srcAccessMask; 6123 VkAccessFlags dstAccessMask; 6124 VkDependencyFlags dependencyFlags; 6125 int32_t viewOffset; 6126 } VkSubpassDependency2; 6127 6128 typedef struct VkRenderPassCreateInfo2 { 6129 VkStructureType sType; 6130 const void* pNext; 6131 VkRenderPassCreateFlags flags; 6132 uint32_t attachmentCount; 6133 const VkAttachmentDescription2* pAttachments; 6134 uint32_t subpassCount; 6135 const VkSubpassDescription2* pSubpasses; 6136 uint32_t dependencyCount; 6137 const VkSubpassDependency2* pDependencies; 6138 uint32_t correlatedViewMaskCount; 6139 const uint32_t* pCorrelatedViewMasks; 6140 } VkRenderPassCreateInfo2; 6141 6142 typedef struct VkSubpassBeginInfo { 6143 VkStructureType sType; 6144 const void* pNext; 6145 VkSubpassContents contents; 6146 } VkSubpassBeginInfo; 6147 6148 typedef struct VkSubpassEndInfo { 6149 VkStructureType sType; 6150 const void* pNext; 6151 } VkSubpassEndInfo; 6152 6153 typedef struct VkPhysicalDevice8BitStorageFeatures { 6154 VkStructureType sType; 6155 void* pNext; 6156 VkBool32 storageBuffer8BitAccess; 6157 VkBool32 uniformAndStorageBuffer8BitAccess; 6158 VkBool32 storagePushConstant8; 6159 } VkPhysicalDevice8BitStorageFeatures; 6160 6161 typedef struct VkPhysicalDeviceDriverProperties { 6162 VkStructureType sType; 6163 void* pNext; 6164 VkDriverId driverID; 6165 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6166 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6167 VkConformanceVersion conformanceVersion; 6168 } VkPhysicalDeviceDriverProperties; 6169 6170 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6171 VkStructureType sType; 6172 void* pNext; 6173 VkBool32 shaderBufferInt64Atomics; 6174 VkBool32 shaderSharedInt64Atomics; 6175 } VkPhysicalDeviceShaderAtomicInt64Features; 6176 6177 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6178 VkStructureType sType; 6179 void* pNext; 6180 VkBool32 shaderFloat16; 6181 VkBool32 shaderInt8; 6182 } VkPhysicalDeviceShaderFloat16Int8Features; 6183 6184 typedef struct VkPhysicalDeviceFloatControlsProperties { 6185 VkStructureType sType; 6186 void* pNext; 6187 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6188 VkShaderFloatControlsIndependence roundingModeIndependence; 6189 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6190 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6191 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6192 VkBool32 shaderDenormPreserveFloat16; 6193 VkBool32 shaderDenormPreserveFloat32; 6194 VkBool32 shaderDenormPreserveFloat64; 6195 VkBool32 shaderDenormFlushToZeroFloat16; 6196 VkBool32 shaderDenormFlushToZeroFloat32; 6197 VkBool32 shaderDenormFlushToZeroFloat64; 6198 VkBool32 shaderRoundingModeRTEFloat16; 6199 VkBool32 shaderRoundingModeRTEFloat32; 6200 VkBool32 shaderRoundingModeRTEFloat64; 6201 VkBool32 shaderRoundingModeRTZFloat16; 6202 VkBool32 shaderRoundingModeRTZFloat32; 6203 VkBool32 shaderRoundingModeRTZFloat64; 6204 } VkPhysicalDeviceFloatControlsProperties; 6205 6206 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6207 VkStructureType sType; 6208 const void* pNext; 6209 uint32_t bindingCount; 6210 const VkDescriptorBindingFlags* pBindingFlags; 6211 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6212 6213 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6214 VkStructureType sType; 6215 void* pNext; 6216 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6217 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6218 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6219 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6220 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6221 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6222 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6223 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6224 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6225 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6226 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6227 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6228 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6229 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6230 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6231 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6232 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6233 VkBool32 descriptorBindingPartiallyBound; 6234 VkBool32 descriptorBindingVariableDescriptorCount; 6235 VkBool32 runtimeDescriptorArray; 6236 } VkPhysicalDeviceDescriptorIndexingFeatures; 6237 6238 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6239 VkStructureType sType; 6240 void* pNext; 6241 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6242 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6243 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6244 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6245 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6246 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6247 VkBool32 robustBufferAccessUpdateAfterBind; 6248 VkBool32 quadDivergentImplicitLod; 6249 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6250 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6251 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6252 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6253 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6254 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6255 uint32_t maxPerStageUpdateAfterBindResources; 6256 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6257 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6258 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6259 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6260 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6261 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6262 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6263 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6264 } VkPhysicalDeviceDescriptorIndexingProperties; 6265 6266 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6267 VkStructureType sType; 6268 const void* pNext; 6269 uint32_t descriptorSetCount; 6270 const uint32_t* pDescriptorCounts; 6271 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6272 6273 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6274 VkStructureType sType; 6275 void* pNext; 6276 uint32_t maxVariableDescriptorCount; 6277 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6278 6279 typedef struct VkSubpassDescriptionDepthStencilResolve { 6280 VkStructureType sType; 6281 const void* pNext; 6282 VkResolveModeFlagBits depthResolveMode; 6283 VkResolveModeFlagBits stencilResolveMode; 6284 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6285 } VkSubpassDescriptionDepthStencilResolve; 6286 6287 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6288 VkStructureType sType; 6289 void* pNext; 6290 VkResolveModeFlags supportedDepthResolveModes; 6291 VkResolveModeFlags supportedStencilResolveModes; 6292 VkBool32 independentResolveNone; 6293 VkBool32 independentResolve; 6294 } VkPhysicalDeviceDepthStencilResolveProperties; 6295 6296 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6297 VkStructureType sType; 6298 void* pNext; 6299 VkBool32 scalarBlockLayout; 6300 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6301 6302 typedef struct VkImageStencilUsageCreateInfo { 6303 VkStructureType sType; 6304 const void* pNext; 6305 VkImageUsageFlags stencilUsage; 6306 } VkImageStencilUsageCreateInfo; 6307 6308 typedef struct VkSamplerReductionModeCreateInfo { 6309 VkStructureType sType; 6310 const void* pNext; 6311 VkSamplerReductionMode reductionMode; 6312 } VkSamplerReductionModeCreateInfo; 6313 6314 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6315 VkStructureType sType; 6316 void* pNext; 6317 VkBool32 filterMinmaxSingleComponentFormats; 6318 VkBool32 filterMinmaxImageComponentMapping; 6319 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6320 6321 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6322 VkStructureType sType; 6323 void* pNext; 6324 VkBool32 vulkanMemoryModel; 6325 VkBool32 vulkanMemoryModelDeviceScope; 6326 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6327 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6328 6329 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6330 VkStructureType sType; 6331 void* pNext; 6332 VkBool32 imagelessFramebuffer; 6333 } VkPhysicalDeviceImagelessFramebufferFeatures; 6334 6335 typedef struct VkFramebufferAttachmentImageInfo { 6336 VkStructureType sType; 6337 const void* pNext; 6338 VkImageCreateFlags flags; 6339 VkImageUsageFlags usage; 6340 uint32_t width; 6341 uint32_t height; 6342 uint32_t layerCount; 6343 uint32_t viewFormatCount; 6344 const VkFormat* pViewFormats; 6345 } VkFramebufferAttachmentImageInfo; 6346 6347 typedef struct VkFramebufferAttachmentsCreateInfo { 6348 VkStructureType sType; 6349 const void* pNext; 6350 uint32_t attachmentImageInfoCount; 6351 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6352 } VkFramebufferAttachmentsCreateInfo; 6353 6354 typedef struct VkRenderPassAttachmentBeginInfo { 6355 VkStructureType sType; 6356 const void* pNext; 6357 uint32_t attachmentCount; 6358 const VkImageView* pAttachments; 6359 } VkRenderPassAttachmentBeginInfo; 6360 6361 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6362 VkStructureType sType; 6363 void* pNext; 6364 VkBool32 uniformBufferStandardLayout; 6365 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6366 6367 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6368 VkStructureType sType; 6369 void* pNext; 6370 VkBool32 shaderSubgroupExtendedTypes; 6371 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6372 6373 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6374 VkStructureType sType; 6375 void* pNext; 6376 VkBool32 separateDepthStencilLayouts; 6377 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6378 6379 typedef struct VkAttachmentReferenceStencilLayout { 6380 VkStructureType sType; 6381 void* pNext; 6382 VkImageLayout stencilLayout; 6383 } VkAttachmentReferenceStencilLayout; 6384 6385 typedef struct VkAttachmentDescriptionStencilLayout { 6386 VkStructureType sType; 6387 void* pNext; 6388 VkImageLayout stencilInitialLayout; 6389 VkImageLayout stencilFinalLayout; 6390 } VkAttachmentDescriptionStencilLayout; 6391 6392 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6393 VkStructureType sType; 6394 void* pNext; 6395 VkBool32 hostQueryReset; 6396 } VkPhysicalDeviceHostQueryResetFeatures; 6397 6398 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6399 VkStructureType sType; 6400 void* pNext; 6401 VkBool32 timelineSemaphore; 6402 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6403 6404 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6405 VkStructureType sType; 6406 void* pNext; 6407 uint64_t maxTimelineSemaphoreValueDifference; 6408 } VkPhysicalDeviceTimelineSemaphoreProperties; 6409 6410 typedef struct VkSemaphoreTypeCreateInfo { 6411 VkStructureType sType; 6412 const void* pNext; 6413 VkSemaphoreType semaphoreType; 6414 uint64_t initialValue; 6415 } VkSemaphoreTypeCreateInfo; 6416 6417 typedef struct VkTimelineSemaphoreSubmitInfo { 6418 VkStructureType sType; 6419 const void* pNext; 6420 uint32_t waitSemaphoreValueCount; 6421 const uint64_t* pWaitSemaphoreValues; 6422 uint32_t signalSemaphoreValueCount; 6423 const uint64_t* pSignalSemaphoreValues; 6424 } VkTimelineSemaphoreSubmitInfo; 6425 6426 typedef struct VkSemaphoreWaitInfo { 6427 VkStructureType sType; 6428 const void* pNext; 6429 VkSemaphoreWaitFlags flags; 6430 uint32_t semaphoreCount; 6431 const VkSemaphore* pSemaphores; 6432 const uint64_t* pValues; 6433 } VkSemaphoreWaitInfo; 6434 6435 typedef struct VkSemaphoreSignalInfo { 6436 VkStructureType sType; 6437 const void* pNext; 6438 VkSemaphore semaphore; 6439 uint64_t value; 6440 } VkSemaphoreSignalInfo; 6441 6442 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6443 VkStructureType sType; 6444 void* pNext; 6445 VkBool32 bufferDeviceAddress; 6446 VkBool32 bufferDeviceAddressCaptureReplay; 6447 VkBool32 bufferDeviceAddressMultiDevice; 6448 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6449 6450 typedef struct VkBufferDeviceAddressInfo { 6451 VkStructureType sType; 6452 const void* pNext; 6453 VkBuffer buffer; 6454 } VkBufferDeviceAddressInfo; 6455 6456 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6457 VkStructureType sType; 6458 const void* pNext; 6459 uint64_t opaqueCaptureAddress; 6460 } VkBufferOpaqueCaptureAddressCreateInfo; 6461 6462 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6463 VkStructureType sType; 6464 const void* pNext; 6465 uint64_t opaqueCaptureAddress; 6466 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6467 6468 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6469 VkStructureType sType; 6470 const void* pNext; 6471 VkDeviceMemory memory; 6472 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6473 6474 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6475 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6476 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6477 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6478 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6479 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6480 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6481 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6482 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6483 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6484 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6485 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6486 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6487 6488 #ifndef VK_NO_PROTOTYPES 6489 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6490 VkCommandBuffer commandBuffer, 6491 VkBuffer buffer, 6492 VkDeviceSize offset, 6493 VkBuffer countBuffer, 6494 VkDeviceSize countBufferOffset, 6495 uint32_t maxDrawCount, 6496 uint32_t stride); 6497 6498 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6499 VkCommandBuffer commandBuffer, 6500 VkBuffer buffer, 6501 VkDeviceSize offset, 6502 VkBuffer countBuffer, 6503 VkDeviceSize countBufferOffset, 6504 uint32_t maxDrawCount, 6505 uint32_t stride); 6506 6507 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6508 VkDevice device, 6509 const VkRenderPassCreateInfo2* pCreateInfo, 6510 const VkAllocationCallbacks* pAllocator, 6511 VkRenderPass* pRenderPass); 6512 6513 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6514 VkCommandBuffer commandBuffer, 6515 const VkRenderPassBeginInfo* pRenderPassBegin, 6516 const VkSubpassBeginInfo* pSubpassBeginInfo); 6517 6518 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6519 VkCommandBuffer commandBuffer, 6520 const VkSubpassBeginInfo* pSubpassBeginInfo, 6521 const VkSubpassEndInfo* pSubpassEndInfo); 6522 6523 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6524 VkCommandBuffer commandBuffer, 6525 const VkSubpassEndInfo* pSubpassEndInfo); 6526 6527 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6528 VkDevice device, 6529 VkQueryPool queryPool, 6530 uint32_t firstQuery, 6531 uint32_t queryCount); 6532 6533 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6534 VkDevice device, 6535 VkSemaphore semaphore, 6536 uint64_t* pValue); 6537 6538 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6539 VkDevice device, 6540 const VkSemaphoreWaitInfo* pWaitInfo, 6541 uint64_t timeout); 6542 6543 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6544 VkDevice device, 6545 const VkSemaphoreSignalInfo* pSignalInfo); 6546 6547 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6548 VkDevice device, 6549 const VkBufferDeviceAddressInfo* pInfo); 6550 6551 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6552 VkDevice device, 6553 const VkBufferDeviceAddressInfo* pInfo); 6554 6555 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6556 VkDevice device, 6557 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6558 #endif 6559 6560 6561 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6562 #define VK_VERSION_1_3 1 6563 // Vulkan 1.3 version number 6564 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6565 6566 typedef uint64_t VkFlags64; 6567 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6568 6569 typedef enum VkPipelineCreationFeedbackFlagBits { 6570 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6571 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6572 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6573 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6574 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6575 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6576 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6577 } VkPipelineCreationFeedbackFlagBits; 6578 typedef VkFlags VkPipelineCreationFeedbackFlags; 6579 6580 typedef enum VkToolPurposeFlagBits { 6581 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6582 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6583 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6584 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6585 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6586 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6587 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6588 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6589 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6590 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6591 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6592 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6593 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6594 } VkToolPurposeFlagBits; 6595 typedef VkFlags VkToolPurposeFlags; 6596 typedef VkFlags VkPrivateDataSlotCreateFlags; 6597 typedef VkFlags64 VkPipelineStageFlags2; 6598 6599 // Flag bits for VkPipelineStageFlagBits2 6600 typedef VkFlags64 VkPipelineStageFlagBits2; 6601 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6602 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6603 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6604 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6605 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6606 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6607 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6608 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6609 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6610 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6611 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6612 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6613 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6614 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6615 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6616 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6617 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6618 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6619 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6620 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6621 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6622 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6623 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6624 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6625 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6626 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6627 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6628 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6629 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6630 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6631 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6632 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6633 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6634 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6635 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6636 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6637 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6638 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6639 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6640 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6641 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6642 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6643 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6644 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6645 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6646 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6647 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6648 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6649 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6650 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6651 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6652 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6653 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6654 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6655 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6656 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6657 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6658 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6659 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6660 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6661 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6662 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6663 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6664 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6665 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6666 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6667 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6668 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6669 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6670 // VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI is a deprecated alias 6671 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6672 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6673 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6674 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6675 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6676 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6677 6678 typedef VkFlags64 VkAccessFlags2; 6679 6680 // Flag bits for VkAccessFlagBits2 6681 typedef VkFlags64 VkAccessFlagBits2; 6682 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6683 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6684 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6685 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6686 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6687 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6688 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6689 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6690 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6691 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6692 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6693 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6694 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6695 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6696 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6697 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6698 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6699 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6700 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6701 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6702 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6703 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6704 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6705 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6706 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6707 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6708 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6709 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6710 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6711 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6712 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6713 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6714 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6715 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6716 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6717 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6718 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6719 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6720 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6721 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6722 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6723 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6724 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6725 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6726 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6727 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6728 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6729 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6730 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6731 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6732 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6733 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6734 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6735 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6736 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6737 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6738 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6739 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6740 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6741 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6742 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6743 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6744 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6745 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6746 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6747 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6748 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6749 6750 6751 typedef enum VkSubmitFlagBits { 6752 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6753 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6754 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6755 } VkSubmitFlagBits; 6756 typedef VkFlags VkSubmitFlags; 6757 6758 typedef enum VkRenderingFlagBits { 6759 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6760 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6761 VK_RENDERING_RESUMING_BIT = 0x00000004, 6762 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6763 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, 6764 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6765 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6766 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6767 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR, 6768 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6769 } VkRenderingFlagBits; 6770 typedef VkFlags VkRenderingFlags; 6771 typedef VkFlags64 VkFormatFeatureFlags2; 6772 6773 // Flag bits for VkFormatFeatureFlagBits2 6774 typedef VkFlags64 VkFormatFeatureFlagBits2; 6775 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6776 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6777 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6778 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6779 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6780 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6781 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6782 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6783 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6784 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6785 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6786 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6787 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6788 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6789 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6790 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6791 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6792 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6793 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6794 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6795 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6796 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6797 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6798 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6799 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6800 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6801 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6802 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6803 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6804 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6805 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6806 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6807 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6808 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6809 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6810 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6811 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6812 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6813 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6814 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6815 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6816 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6817 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6818 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6819 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6820 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6821 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6822 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6823 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6824 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6825 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6826 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6827 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6828 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6829 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6830 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6831 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6832 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6833 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6834 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6835 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6836 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6837 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6838 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6839 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6840 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6841 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6842 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6843 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6844 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6845 6846 typedef struct VkPhysicalDeviceVulkan13Features { 6847 VkStructureType sType; 6848 void* pNext; 6849 VkBool32 robustImageAccess; 6850 VkBool32 inlineUniformBlock; 6851 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6852 VkBool32 pipelineCreationCacheControl; 6853 VkBool32 privateData; 6854 VkBool32 shaderDemoteToHelperInvocation; 6855 VkBool32 shaderTerminateInvocation; 6856 VkBool32 subgroupSizeControl; 6857 VkBool32 computeFullSubgroups; 6858 VkBool32 synchronization2; 6859 VkBool32 textureCompressionASTC_HDR; 6860 VkBool32 shaderZeroInitializeWorkgroupMemory; 6861 VkBool32 dynamicRendering; 6862 VkBool32 shaderIntegerDotProduct; 6863 VkBool32 maintenance4; 6864 } VkPhysicalDeviceVulkan13Features; 6865 6866 typedef struct VkPhysicalDeviceVulkan13Properties { 6867 VkStructureType sType; 6868 void* pNext; 6869 uint32_t minSubgroupSize; 6870 uint32_t maxSubgroupSize; 6871 uint32_t maxComputeWorkgroupSubgroups; 6872 VkShaderStageFlags requiredSubgroupSizeStages; 6873 uint32_t maxInlineUniformBlockSize; 6874 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6875 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6876 uint32_t maxDescriptorSetInlineUniformBlocks; 6877 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6878 uint32_t maxInlineUniformTotalSize; 6879 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6880 VkBool32 integerDotProduct8BitSignedAccelerated; 6881 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6882 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6883 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6884 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6885 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6886 VkBool32 integerDotProduct16BitSignedAccelerated; 6887 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6888 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6889 VkBool32 integerDotProduct32BitSignedAccelerated; 6890 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6891 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6892 VkBool32 integerDotProduct64BitSignedAccelerated; 6893 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6894 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6895 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6896 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6897 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6898 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6899 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6900 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6901 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6902 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6903 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6904 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6905 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6906 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6907 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6908 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6909 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6910 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6911 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6912 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6913 VkDeviceSize maxBufferSize; 6914 } VkPhysicalDeviceVulkan13Properties; 6915 6916 typedef struct VkPipelineCreationFeedback { 6917 VkPipelineCreationFeedbackFlags flags; 6918 uint64_t duration; 6919 } VkPipelineCreationFeedback; 6920 6921 typedef struct VkPipelineCreationFeedbackCreateInfo { 6922 VkStructureType sType; 6923 const void* pNext; 6924 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6925 uint32_t pipelineStageCreationFeedbackCount; 6926 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6927 } VkPipelineCreationFeedbackCreateInfo; 6928 6929 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6930 VkStructureType sType; 6931 void* pNext; 6932 VkBool32 shaderTerminateInvocation; 6933 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6934 6935 typedef struct VkPhysicalDeviceToolProperties { 6936 VkStructureType sType; 6937 void* pNext; 6938 char name[VK_MAX_EXTENSION_NAME_SIZE]; 6939 char version[VK_MAX_EXTENSION_NAME_SIZE]; 6940 VkToolPurposeFlags purposes; 6941 char description[VK_MAX_DESCRIPTION_SIZE]; 6942 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 6943 } VkPhysicalDeviceToolProperties; 6944 6945 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 6946 VkStructureType sType; 6947 void* pNext; 6948 VkBool32 shaderDemoteToHelperInvocation; 6949 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 6950 6951 typedef struct VkPhysicalDevicePrivateDataFeatures { 6952 VkStructureType sType; 6953 void* pNext; 6954 VkBool32 privateData; 6955 } VkPhysicalDevicePrivateDataFeatures; 6956 6957 typedef struct VkDevicePrivateDataCreateInfo { 6958 VkStructureType sType; 6959 const void* pNext; 6960 uint32_t privateDataSlotRequestCount; 6961 } VkDevicePrivateDataCreateInfo; 6962 6963 typedef struct VkPrivateDataSlotCreateInfo { 6964 VkStructureType sType; 6965 const void* pNext; 6966 VkPrivateDataSlotCreateFlags flags; 6967 } VkPrivateDataSlotCreateInfo; 6968 6969 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 6970 VkStructureType sType; 6971 void* pNext; 6972 VkBool32 pipelineCreationCacheControl; 6973 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 6974 6975 typedef struct VkMemoryBarrier2 { 6976 VkStructureType sType; 6977 const void* pNext; 6978 VkPipelineStageFlags2 srcStageMask; 6979 VkAccessFlags2 srcAccessMask; 6980 VkPipelineStageFlags2 dstStageMask; 6981 VkAccessFlags2 dstAccessMask; 6982 } VkMemoryBarrier2; 6983 6984 typedef struct VkBufferMemoryBarrier2 { 6985 VkStructureType sType; 6986 const void* pNext; 6987 VkPipelineStageFlags2 srcStageMask; 6988 VkAccessFlags2 srcAccessMask; 6989 VkPipelineStageFlags2 dstStageMask; 6990 VkAccessFlags2 dstAccessMask; 6991 uint32_t srcQueueFamilyIndex; 6992 uint32_t dstQueueFamilyIndex; 6993 VkBuffer buffer; 6994 VkDeviceSize offset; 6995 VkDeviceSize size; 6996 } VkBufferMemoryBarrier2; 6997 6998 typedef struct VkImageMemoryBarrier2 { 6999 VkStructureType sType; 7000 const void* pNext; 7001 VkPipelineStageFlags2 srcStageMask; 7002 VkAccessFlags2 srcAccessMask; 7003 VkPipelineStageFlags2 dstStageMask; 7004 VkAccessFlags2 dstAccessMask; 7005 VkImageLayout oldLayout; 7006 VkImageLayout newLayout; 7007 uint32_t srcQueueFamilyIndex; 7008 uint32_t dstQueueFamilyIndex; 7009 VkImage image; 7010 VkImageSubresourceRange subresourceRange; 7011 } VkImageMemoryBarrier2; 7012 7013 typedef struct VkDependencyInfo { 7014 VkStructureType sType; 7015 const void* pNext; 7016 VkDependencyFlags dependencyFlags; 7017 uint32_t memoryBarrierCount; 7018 const VkMemoryBarrier2* pMemoryBarriers; 7019 uint32_t bufferMemoryBarrierCount; 7020 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 7021 uint32_t imageMemoryBarrierCount; 7022 const VkImageMemoryBarrier2* pImageMemoryBarriers; 7023 } VkDependencyInfo; 7024 7025 typedef struct VkSemaphoreSubmitInfo { 7026 VkStructureType sType; 7027 const void* pNext; 7028 VkSemaphore semaphore; 7029 uint64_t value; 7030 VkPipelineStageFlags2 stageMask; 7031 uint32_t deviceIndex; 7032 } VkSemaphoreSubmitInfo; 7033 7034 typedef struct VkCommandBufferSubmitInfo { 7035 VkStructureType sType; 7036 const void* pNext; 7037 VkCommandBuffer commandBuffer; 7038 uint32_t deviceMask; 7039 } VkCommandBufferSubmitInfo; 7040 7041 typedef struct VkSubmitInfo2 { 7042 VkStructureType sType; 7043 const void* pNext; 7044 VkSubmitFlags flags; 7045 uint32_t waitSemaphoreInfoCount; 7046 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7047 uint32_t commandBufferInfoCount; 7048 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7049 uint32_t signalSemaphoreInfoCount; 7050 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7051 } VkSubmitInfo2; 7052 7053 typedef struct VkPhysicalDeviceSynchronization2Features { 7054 VkStructureType sType; 7055 void* pNext; 7056 VkBool32 synchronization2; 7057 } VkPhysicalDeviceSynchronization2Features; 7058 7059 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7060 VkStructureType sType; 7061 void* pNext; 7062 VkBool32 shaderZeroInitializeWorkgroupMemory; 7063 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7064 7065 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7066 VkStructureType sType; 7067 void* pNext; 7068 VkBool32 robustImageAccess; 7069 } VkPhysicalDeviceImageRobustnessFeatures; 7070 7071 typedef struct VkBufferCopy2 { 7072 VkStructureType sType; 7073 const void* pNext; 7074 VkDeviceSize srcOffset; 7075 VkDeviceSize dstOffset; 7076 VkDeviceSize size; 7077 } VkBufferCopy2; 7078 7079 typedef struct VkCopyBufferInfo2 { 7080 VkStructureType sType; 7081 const void* pNext; 7082 VkBuffer srcBuffer; 7083 VkBuffer dstBuffer; 7084 uint32_t regionCount; 7085 const VkBufferCopy2* pRegions; 7086 } VkCopyBufferInfo2; 7087 7088 typedef struct VkImageCopy2 { 7089 VkStructureType sType; 7090 const void* pNext; 7091 VkImageSubresourceLayers srcSubresource; 7092 VkOffset3D srcOffset; 7093 VkImageSubresourceLayers dstSubresource; 7094 VkOffset3D dstOffset; 7095 VkExtent3D extent; 7096 } VkImageCopy2; 7097 7098 typedef struct VkCopyImageInfo2 { 7099 VkStructureType sType; 7100 const void* pNext; 7101 VkImage srcImage; 7102 VkImageLayout srcImageLayout; 7103 VkImage dstImage; 7104 VkImageLayout dstImageLayout; 7105 uint32_t regionCount; 7106 const VkImageCopy2* pRegions; 7107 } VkCopyImageInfo2; 7108 7109 typedef struct VkBufferImageCopy2 { 7110 VkStructureType sType; 7111 const void* pNext; 7112 VkDeviceSize bufferOffset; 7113 uint32_t bufferRowLength; 7114 uint32_t bufferImageHeight; 7115 VkImageSubresourceLayers imageSubresource; 7116 VkOffset3D imageOffset; 7117 VkExtent3D imageExtent; 7118 } VkBufferImageCopy2; 7119 7120 typedef struct VkCopyBufferToImageInfo2 { 7121 VkStructureType sType; 7122 const void* pNext; 7123 VkBuffer srcBuffer; 7124 VkImage dstImage; 7125 VkImageLayout dstImageLayout; 7126 uint32_t regionCount; 7127 const VkBufferImageCopy2* pRegions; 7128 } VkCopyBufferToImageInfo2; 7129 7130 typedef struct VkCopyImageToBufferInfo2 { 7131 VkStructureType sType; 7132 const void* pNext; 7133 VkImage srcImage; 7134 VkImageLayout srcImageLayout; 7135 VkBuffer dstBuffer; 7136 uint32_t regionCount; 7137 const VkBufferImageCopy2* pRegions; 7138 } VkCopyImageToBufferInfo2; 7139 7140 typedef struct VkImageBlit2 { 7141 VkStructureType sType; 7142 const void* pNext; 7143 VkImageSubresourceLayers srcSubresource; 7144 VkOffset3D srcOffsets[2]; 7145 VkImageSubresourceLayers dstSubresource; 7146 VkOffset3D dstOffsets[2]; 7147 } VkImageBlit2; 7148 7149 typedef struct VkBlitImageInfo2 { 7150 VkStructureType sType; 7151 const void* pNext; 7152 VkImage srcImage; 7153 VkImageLayout srcImageLayout; 7154 VkImage dstImage; 7155 VkImageLayout dstImageLayout; 7156 uint32_t regionCount; 7157 const VkImageBlit2* pRegions; 7158 VkFilter filter; 7159 } VkBlitImageInfo2; 7160 7161 typedef struct VkImageResolve2 { 7162 VkStructureType sType; 7163 const void* pNext; 7164 VkImageSubresourceLayers srcSubresource; 7165 VkOffset3D srcOffset; 7166 VkImageSubresourceLayers dstSubresource; 7167 VkOffset3D dstOffset; 7168 VkExtent3D extent; 7169 } VkImageResolve2; 7170 7171 typedef struct VkResolveImageInfo2 { 7172 VkStructureType sType; 7173 const void* pNext; 7174 VkImage srcImage; 7175 VkImageLayout srcImageLayout; 7176 VkImage dstImage; 7177 VkImageLayout dstImageLayout; 7178 uint32_t regionCount; 7179 const VkImageResolve2* pRegions; 7180 } VkResolveImageInfo2; 7181 7182 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7183 VkStructureType sType; 7184 void* pNext; 7185 VkBool32 subgroupSizeControl; 7186 VkBool32 computeFullSubgroups; 7187 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7188 7189 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7190 VkStructureType sType; 7191 void* pNext; 7192 uint32_t minSubgroupSize; 7193 uint32_t maxSubgroupSize; 7194 uint32_t maxComputeWorkgroupSubgroups; 7195 VkShaderStageFlags requiredSubgroupSizeStages; 7196 } VkPhysicalDeviceSubgroupSizeControlProperties; 7197 7198 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7199 VkStructureType sType; 7200 void* pNext; 7201 uint32_t requiredSubgroupSize; 7202 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7203 7204 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7205 VkStructureType sType; 7206 void* pNext; 7207 VkBool32 inlineUniformBlock; 7208 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7209 } VkPhysicalDeviceInlineUniformBlockFeatures; 7210 7211 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7212 VkStructureType sType; 7213 void* pNext; 7214 uint32_t maxInlineUniformBlockSize; 7215 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7216 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7217 uint32_t maxDescriptorSetInlineUniformBlocks; 7218 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7219 } VkPhysicalDeviceInlineUniformBlockProperties; 7220 7221 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7222 VkStructureType sType; 7223 const void* pNext; 7224 uint32_t dataSize; 7225 const void* pData; 7226 } VkWriteDescriptorSetInlineUniformBlock; 7227 7228 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7229 VkStructureType sType; 7230 const void* pNext; 7231 uint32_t maxInlineUniformBlockBindings; 7232 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7233 7234 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7235 VkStructureType sType; 7236 void* pNext; 7237 VkBool32 textureCompressionASTC_HDR; 7238 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7239 7240 typedef struct VkRenderingAttachmentInfo { 7241 VkStructureType sType; 7242 const void* pNext; 7243 VkImageView imageView; 7244 VkImageLayout imageLayout; 7245 VkResolveModeFlagBits resolveMode; 7246 VkImageView resolveImageView; 7247 VkImageLayout resolveImageLayout; 7248 VkAttachmentLoadOp loadOp; 7249 VkAttachmentStoreOp storeOp; 7250 VkClearValue clearValue; 7251 } VkRenderingAttachmentInfo; 7252 7253 typedef struct VkRenderingInfo { 7254 VkStructureType sType; 7255 const void* pNext; 7256 VkRenderingFlags flags; 7257 VkRect2D renderArea; 7258 uint32_t layerCount; 7259 uint32_t viewMask; 7260 uint32_t colorAttachmentCount; 7261 const VkRenderingAttachmentInfo* pColorAttachments; 7262 const VkRenderingAttachmentInfo* pDepthAttachment; 7263 const VkRenderingAttachmentInfo* pStencilAttachment; 7264 } VkRenderingInfo; 7265 7266 typedef struct VkPipelineRenderingCreateInfo { 7267 VkStructureType sType; 7268 const void* pNext; 7269 uint32_t viewMask; 7270 uint32_t colorAttachmentCount; 7271 const VkFormat* pColorAttachmentFormats; 7272 VkFormat depthAttachmentFormat; 7273 VkFormat stencilAttachmentFormat; 7274 } VkPipelineRenderingCreateInfo; 7275 7276 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7277 VkStructureType sType; 7278 void* pNext; 7279 VkBool32 dynamicRendering; 7280 } VkPhysicalDeviceDynamicRenderingFeatures; 7281 7282 typedef struct VkCommandBufferInheritanceRenderingInfo { 7283 VkStructureType sType; 7284 const void* pNext; 7285 VkRenderingFlags flags; 7286 uint32_t viewMask; 7287 uint32_t colorAttachmentCount; 7288 const VkFormat* pColorAttachmentFormats; 7289 VkFormat depthAttachmentFormat; 7290 VkFormat stencilAttachmentFormat; 7291 VkSampleCountFlagBits rasterizationSamples; 7292 } VkCommandBufferInheritanceRenderingInfo; 7293 7294 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7295 VkStructureType sType; 7296 void* pNext; 7297 VkBool32 shaderIntegerDotProduct; 7298 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7299 7300 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7301 VkStructureType sType; 7302 void* pNext; 7303 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7304 VkBool32 integerDotProduct8BitSignedAccelerated; 7305 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7306 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7307 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7308 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7309 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7310 VkBool32 integerDotProduct16BitSignedAccelerated; 7311 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7312 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7313 VkBool32 integerDotProduct32BitSignedAccelerated; 7314 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7315 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7316 VkBool32 integerDotProduct64BitSignedAccelerated; 7317 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7318 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7319 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7320 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7321 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7322 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7323 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7324 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7325 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7326 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7327 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7328 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7329 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7330 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7331 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7332 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7333 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7334 7335 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7336 VkStructureType sType; 7337 void* pNext; 7338 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7339 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7340 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7341 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7342 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7343 7344 typedef struct VkFormatProperties3 { 7345 VkStructureType sType; 7346 void* pNext; 7347 VkFormatFeatureFlags2 linearTilingFeatures; 7348 VkFormatFeatureFlags2 optimalTilingFeatures; 7349 VkFormatFeatureFlags2 bufferFeatures; 7350 } VkFormatProperties3; 7351 7352 typedef struct VkPhysicalDeviceMaintenance4Features { 7353 VkStructureType sType; 7354 void* pNext; 7355 VkBool32 maintenance4; 7356 } VkPhysicalDeviceMaintenance4Features; 7357 7358 typedef struct VkPhysicalDeviceMaintenance4Properties { 7359 VkStructureType sType; 7360 void* pNext; 7361 VkDeviceSize maxBufferSize; 7362 } VkPhysicalDeviceMaintenance4Properties; 7363 7364 typedef struct VkDeviceBufferMemoryRequirements { 7365 VkStructureType sType; 7366 const void* pNext; 7367 const VkBufferCreateInfo* pCreateInfo; 7368 } VkDeviceBufferMemoryRequirements; 7369 7370 typedef struct VkDeviceImageMemoryRequirements { 7371 VkStructureType sType; 7372 const void* pNext; 7373 const VkImageCreateInfo* pCreateInfo; 7374 VkImageAspectFlagBits planeAspect; 7375 } VkDeviceImageMemoryRequirements; 7376 7377 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7378 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7379 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7380 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7381 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7382 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7383 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7384 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7385 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7386 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7387 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7388 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7389 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7390 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7391 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7392 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7393 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7394 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7395 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7396 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7397 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7398 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7399 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7400 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7401 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); 7402 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7403 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7404 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7405 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7406 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7407 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7408 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7409 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7410 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7411 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7412 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7413 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7414 7415 #ifndef VK_NO_PROTOTYPES 7416 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7417 VkPhysicalDevice physicalDevice, 7418 uint32_t* pToolCount, 7419 VkPhysicalDeviceToolProperties* pToolProperties); 7420 7421 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7422 VkDevice device, 7423 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7424 const VkAllocationCallbacks* pAllocator, 7425 VkPrivateDataSlot* pPrivateDataSlot); 7426 7427 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7428 VkDevice device, 7429 VkPrivateDataSlot privateDataSlot, 7430 const VkAllocationCallbacks* pAllocator); 7431 7432 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7433 VkDevice device, 7434 VkObjectType objectType, 7435 uint64_t objectHandle, 7436 VkPrivateDataSlot privateDataSlot, 7437 uint64_t data); 7438 7439 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7440 VkDevice device, 7441 VkObjectType objectType, 7442 uint64_t objectHandle, 7443 VkPrivateDataSlot privateDataSlot, 7444 uint64_t* pData); 7445 7446 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7447 VkCommandBuffer commandBuffer, 7448 VkEvent event, 7449 const VkDependencyInfo* pDependencyInfo); 7450 7451 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7452 VkCommandBuffer commandBuffer, 7453 VkEvent event, 7454 VkPipelineStageFlags2 stageMask); 7455 7456 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7457 VkCommandBuffer commandBuffer, 7458 uint32_t eventCount, 7459 const VkEvent* pEvents, 7460 const VkDependencyInfo* pDependencyInfos); 7461 7462 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7463 VkCommandBuffer commandBuffer, 7464 const VkDependencyInfo* pDependencyInfo); 7465 7466 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7467 VkCommandBuffer commandBuffer, 7468 VkPipelineStageFlags2 stage, 7469 VkQueryPool queryPool, 7470 uint32_t query); 7471 7472 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7473 VkQueue queue, 7474 uint32_t submitCount, 7475 const VkSubmitInfo2* pSubmits, 7476 VkFence fence); 7477 7478 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7479 VkCommandBuffer commandBuffer, 7480 const VkCopyBufferInfo2* pCopyBufferInfo); 7481 7482 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7483 VkCommandBuffer commandBuffer, 7484 const VkCopyImageInfo2* pCopyImageInfo); 7485 7486 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7487 VkCommandBuffer commandBuffer, 7488 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7489 7490 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7491 VkCommandBuffer commandBuffer, 7492 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7493 7494 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7495 VkCommandBuffer commandBuffer, 7496 const VkBlitImageInfo2* pBlitImageInfo); 7497 7498 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7499 VkCommandBuffer commandBuffer, 7500 const VkResolveImageInfo2* pResolveImageInfo); 7501 7502 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7503 VkCommandBuffer commandBuffer, 7504 const VkRenderingInfo* pRenderingInfo); 7505 7506 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7507 VkCommandBuffer commandBuffer); 7508 7509 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7510 VkCommandBuffer commandBuffer, 7511 VkCullModeFlags cullMode); 7512 7513 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7514 VkCommandBuffer commandBuffer, 7515 VkFrontFace frontFace); 7516 7517 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7518 VkCommandBuffer commandBuffer, 7519 VkPrimitiveTopology primitiveTopology); 7520 7521 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7522 VkCommandBuffer commandBuffer, 7523 uint32_t viewportCount, 7524 const VkViewport* pViewports); 7525 7526 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7527 VkCommandBuffer commandBuffer, 7528 uint32_t scissorCount, 7529 const VkRect2D* pScissors); 7530 7531 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7532 VkCommandBuffer commandBuffer, 7533 uint32_t firstBinding, 7534 uint32_t bindingCount, 7535 const VkBuffer* pBuffers, 7536 const VkDeviceSize* pOffsets, 7537 const VkDeviceSize* pSizes, 7538 const VkDeviceSize* pStrides); 7539 7540 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7541 VkCommandBuffer commandBuffer, 7542 VkBool32 depthTestEnable); 7543 7544 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7545 VkCommandBuffer commandBuffer, 7546 VkBool32 depthWriteEnable); 7547 7548 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7549 VkCommandBuffer commandBuffer, 7550 VkCompareOp depthCompareOp); 7551 7552 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7553 VkCommandBuffer commandBuffer, 7554 VkBool32 depthBoundsTestEnable); 7555 7556 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7557 VkCommandBuffer commandBuffer, 7558 VkBool32 stencilTestEnable); 7559 7560 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7561 VkCommandBuffer commandBuffer, 7562 VkStencilFaceFlags faceMask, 7563 VkStencilOp failOp, 7564 VkStencilOp passOp, 7565 VkStencilOp depthFailOp, 7566 VkCompareOp compareOp); 7567 7568 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7569 VkCommandBuffer commandBuffer, 7570 VkBool32 rasterizerDiscardEnable); 7571 7572 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7573 VkCommandBuffer commandBuffer, 7574 VkBool32 depthBiasEnable); 7575 7576 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7577 VkCommandBuffer commandBuffer, 7578 VkBool32 primitiveRestartEnable); 7579 7580 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7581 VkDevice device, 7582 const VkDeviceBufferMemoryRequirements* pInfo, 7583 VkMemoryRequirements2* pMemoryRequirements); 7584 7585 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7586 VkDevice device, 7587 const VkDeviceImageMemoryRequirements* pInfo, 7588 VkMemoryRequirements2* pMemoryRequirements); 7589 7590 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7591 VkDevice device, 7592 const VkDeviceImageMemoryRequirements* pInfo, 7593 uint32_t* pSparseMemoryRequirementCount, 7594 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7595 #endif 7596 7597 7598 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 7599 #define VK_KHR_surface 1 7600 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7601 #define VK_KHR_SURFACE_SPEC_VERSION 25 7602 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 7603 7604 typedef enum VkPresentModeKHR { 7605 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 7606 VK_PRESENT_MODE_MAILBOX_KHR = 1, 7607 VK_PRESENT_MODE_FIFO_KHR = 2, 7608 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 7609 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 7610 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 7611 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 7612 } VkPresentModeKHR; 7613 7614 typedef enum VkColorSpaceKHR { 7615 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 7616 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 7617 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 7618 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 7619 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 7620 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 7621 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 7622 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 7623 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 7624 // VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML 7625 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 7626 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 7627 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 7628 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 7629 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 7630 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 7631 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 7632 // VK_COLORSPACE_SRGB_NONLINEAR_KHR is a deprecated alias 7633 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 7634 // VK_COLOR_SPACE_DCI_P3_LINEAR_EXT is a deprecated alias 7635 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 7636 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 7637 } VkColorSpaceKHR; 7638 7639 typedef enum VkSurfaceTransformFlagBitsKHR { 7640 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 7641 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 7642 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 7643 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 7644 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 7645 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 7646 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 7647 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 7648 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 7649 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7650 } VkSurfaceTransformFlagBitsKHR; 7651 7652 typedef enum VkCompositeAlphaFlagBitsKHR { 7653 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7654 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 7655 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 7656 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 7657 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7658 } VkCompositeAlphaFlagBitsKHR; 7659 typedef VkFlags VkCompositeAlphaFlagsKHR; 7660 typedef VkFlags VkSurfaceTransformFlagsKHR; 7661 typedef struct VkSurfaceCapabilitiesKHR { 7662 uint32_t minImageCount; 7663 uint32_t maxImageCount; 7664 VkExtent2D currentExtent; 7665 VkExtent2D minImageExtent; 7666 VkExtent2D maxImageExtent; 7667 uint32_t maxImageArrayLayers; 7668 VkSurfaceTransformFlagsKHR supportedTransforms; 7669 VkSurfaceTransformFlagBitsKHR currentTransform; 7670 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 7671 VkImageUsageFlags supportedUsageFlags; 7672 } VkSurfaceCapabilitiesKHR; 7673 7674 typedef struct VkSurfaceFormatKHR { 7675 VkFormat format; 7676 VkColorSpaceKHR colorSpace; 7677 } VkSurfaceFormatKHR; 7678 7679 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 7680 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 7681 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7682 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 7683 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 7684 7685 #ifndef VK_NO_PROTOTYPES 7686 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 7687 VkInstance instance, 7688 VkSurfaceKHR surface, 7689 const VkAllocationCallbacks* pAllocator); 7690 7691 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 7692 VkPhysicalDevice physicalDevice, 7693 uint32_t queueFamilyIndex, 7694 VkSurfaceKHR surface, 7695 VkBool32* pSupported); 7696 7697 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 7698 VkPhysicalDevice physicalDevice, 7699 VkSurfaceKHR surface, 7700 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 7701 7702 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 7703 VkPhysicalDevice physicalDevice, 7704 VkSurfaceKHR surface, 7705 uint32_t* pSurfaceFormatCount, 7706 VkSurfaceFormatKHR* pSurfaceFormats); 7707 7708 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 7709 VkPhysicalDevice physicalDevice, 7710 VkSurfaceKHR surface, 7711 uint32_t* pPresentModeCount, 7712 VkPresentModeKHR* pPresentModes); 7713 #endif 7714 7715 7716 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 7717 #define VK_KHR_swapchain 1 7718 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7719 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 7720 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 7721 7722 typedef enum VkSwapchainCreateFlagBitsKHR { 7723 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7724 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7725 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7726 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 7727 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7728 } VkSwapchainCreateFlagBitsKHR; 7729 typedef VkFlags VkSwapchainCreateFlagsKHR; 7730 7731 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 7732 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 7733 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 7734 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 7735 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 7736 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7737 } VkDeviceGroupPresentModeFlagBitsKHR; 7738 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 7739 typedef struct VkSwapchainCreateInfoKHR { 7740 VkStructureType sType; 7741 const void* pNext; 7742 VkSwapchainCreateFlagsKHR flags; 7743 VkSurfaceKHR surface; 7744 uint32_t minImageCount; 7745 VkFormat imageFormat; 7746 VkColorSpaceKHR imageColorSpace; 7747 VkExtent2D imageExtent; 7748 uint32_t imageArrayLayers; 7749 VkImageUsageFlags imageUsage; 7750 VkSharingMode imageSharingMode; 7751 uint32_t queueFamilyIndexCount; 7752 const uint32_t* pQueueFamilyIndices; 7753 VkSurfaceTransformFlagBitsKHR preTransform; 7754 VkCompositeAlphaFlagBitsKHR compositeAlpha; 7755 VkPresentModeKHR presentMode; 7756 VkBool32 clipped; 7757 VkSwapchainKHR oldSwapchain; 7758 } VkSwapchainCreateInfoKHR; 7759 7760 typedef struct VkPresentInfoKHR { 7761 VkStructureType sType; 7762 const void* pNext; 7763 uint32_t waitSemaphoreCount; 7764 const VkSemaphore* pWaitSemaphores; 7765 uint32_t swapchainCount; 7766 const VkSwapchainKHR* pSwapchains; 7767 const uint32_t* pImageIndices; 7768 VkResult* pResults; 7769 } VkPresentInfoKHR; 7770 7771 typedef struct VkImageSwapchainCreateInfoKHR { 7772 VkStructureType sType; 7773 const void* pNext; 7774 VkSwapchainKHR swapchain; 7775 } VkImageSwapchainCreateInfoKHR; 7776 7777 typedef struct VkBindImageMemorySwapchainInfoKHR { 7778 VkStructureType sType; 7779 const void* pNext; 7780 VkSwapchainKHR swapchain; 7781 uint32_t imageIndex; 7782 } VkBindImageMemorySwapchainInfoKHR; 7783 7784 typedef struct VkAcquireNextImageInfoKHR { 7785 VkStructureType sType; 7786 const void* pNext; 7787 VkSwapchainKHR swapchain; 7788 uint64_t timeout; 7789 VkSemaphore semaphore; 7790 VkFence fence; 7791 uint32_t deviceMask; 7792 } VkAcquireNextImageInfoKHR; 7793 7794 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 7795 VkStructureType sType; 7796 void* pNext; 7797 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 7798 VkDeviceGroupPresentModeFlagsKHR modes; 7799 } VkDeviceGroupPresentCapabilitiesKHR; 7800 7801 typedef struct VkDeviceGroupPresentInfoKHR { 7802 VkStructureType sType; 7803 const void* pNext; 7804 uint32_t swapchainCount; 7805 const uint32_t* pDeviceMasks; 7806 VkDeviceGroupPresentModeFlagBitsKHR mode; 7807 } VkDeviceGroupPresentInfoKHR; 7808 7809 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 7810 VkStructureType sType; 7811 const void* pNext; 7812 VkDeviceGroupPresentModeFlagsKHR modes; 7813 } VkDeviceGroupSwapchainCreateInfoKHR; 7814 7815 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 7816 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 7817 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 7818 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 7819 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 7820 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7821 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 7822 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 7823 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 7824 7825 #ifndef VK_NO_PROTOTYPES 7826 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 7827 VkDevice device, 7828 const VkSwapchainCreateInfoKHR* pCreateInfo, 7829 const VkAllocationCallbacks* pAllocator, 7830 VkSwapchainKHR* pSwapchain); 7831 7832 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 7833 VkDevice device, 7834 VkSwapchainKHR swapchain, 7835 const VkAllocationCallbacks* pAllocator); 7836 7837 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 7838 VkDevice device, 7839 VkSwapchainKHR swapchain, 7840 uint32_t* pSwapchainImageCount, 7841 VkImage* pSwapchainImages); 7842 7843 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 7844 VkDevice device, 7845 VkSwapchainKHR swapchain, 7846 uint64_t timeout, 7847 VkSemaphore semaphore, 7848 VkFence fence, 7849 uint32_t* pImageIndex); 7850 7851 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 7852 VkQueue queue, 7853 const VkPresentInfoKHR* pPresentInfo); 7854 7855 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 7856 VkDevice device, 7857 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 7858 7859 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 7860 VkDevice device, 7861 VkSurfaceKHR surface, 7862 VkDeviceGroupPresentModeFlagsKHR* pModes); 7863 7864 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 7865 VkPhysicalDevice physicalDevice, 7866 VkSurfaceKHR surface, 7867 uint32_t* pRectCount, 7868 VkRect2D* pRects); 7869 7870 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 7871 VkDevice device, 7872 const VkAcquireNextImageInfoKHR* pAcquireInfo, 7873 uint32_t* pImageIndex); 7874 #endif 7875 7876 7877 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 7878 #define VK_KHR_display 1 7879 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7880 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 7881 #define VK_KHR_DISPLAY_SPEC_VERSION 23 7882 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 7883 typedef VkFlags VkDisplayModeCreateFlagsKHR; 7884 7885 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 7886 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 7887 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 7888 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 7889 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 7890 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7891 } VkDisplayPlaneAlphaFlagBitsKHR; 7892 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 7893 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 7894 typedef struct VkDisplayModeParametersKHR { 7895 VkExtent2D visibleRegion; 7896 uint32_t refreshRate; 7897 } VkDisplayModeParametersKHR; 7898 7899 typedef struct VkDisplayModeCreateInfoKHR { 7900 VkStructureType sType; 7901 const void* pNext; 7902 VkDisplayModeCreateFlagsKHR flags; 7903 VkDisplayModeParametersKHR parameters; 7904 } VkDisplayModeCreateInfoKHR; 7905 7906 typedef struct VkDisplayModePropertiesKHR { 7907 VkDisplayModeKHR displayMode; 7908 VkDisplayModeParametersKHR parameters; 7909 } VkDisplayModePropertiesKHR; 7910 7911 typedef struct VkDisplayPlaneCapabilitiesKHR { 7912 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 7913 VkOffset2D minSrcPosition; 7914 VkOffset2D maxSrcPosition; 7915 VkExtent2D minSrcExtent; 7916 VkExtent2D maxSrcExtent; 7917 VkOffset2D minDstPosition; 7918 VkOffset2D maxDstPosition; 7919 VkExtent2D minDstExtent; 7920 VkExtent2D maxDstExtent; 7921 } VkDisplayPlaneCapabilitiesKHR; 7922 7923 typedef struct VkDisplayPlanePropertiesKHR { 7924 VkDisplayKHR currentDisplay; 7925 uint32_t currentStackIndex; 7926 } VkDisplayPlanePropertiesKHR; 7927 7928 typedef struct VkDisplayPropertiesKHR { 7929 VkDisplayKHR display; 7930 const char* displayName; 7931 VkExtent2D physicalDimensions; 7932 VkExtent2D physicalResolution; 7933 VkSurfaceTransformFlagsKHR supportedTransforms; 7934 VkBool32 planeReorderPossible; 7935 VkBool32 persistentContent; 7936 } VkDisplayPropertiesKHR; 7937 7938 typedef struct VkDisplaySurfaceCreateInfoKHR { 7939 VkStructureType sType; 7940 const void* pNext; 7941 VkDisplaySurfaceCreateFlagsKHR flags; 7942 VkDisplayModeKHR displayMode; 7943 uint32_t planeIndex; 7944 uint32_t planeStackIndex; 7945 VkSurfaceTransformFlagBitsKHR transform; 7946 float globalAlpha; 7947 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 7948 VkExtent2D imageExtent; 7949 } VkDisplaySurfaceCreateInfoKHR; 7950 7951 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 7952 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 7953 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 7954 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 7955 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 7956 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7957 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7958 7959 #ifndef VK_NO_PROTOTYPES 7960 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 7961 VkPhysicalDevice physicalDevice, 7962 uint32_t* pPropertyCount, 7963 VkDisplayPropertiesKHR* pProperties); 7964 7965 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 7966 VkPhysicalDevice physicalDevice, 7967 uint32_t* pPropertyCount, 7968 VkDisplayPlanePropertiesKHR* pProperties); 7969 7970 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 7971 VkPhysicalDevice physicalDevice, 7972 uint32_t planeIndex, 7973 uint32_t* pDisplayCount, 7974 VkDisplayKHR* pDisplays); 7975 7976 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 7977 VkPhysicalDevice physicalDevice, 7978 VkDisplayKHR display, 7979 uint32_t* pPropertyCount, 7980 VkDisplayModePropertiesKHR* pProperties); 7981 7982 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 7983 VkPhysicalDevice physicalDevice, 7984 VkDisplayKHR display, 7985 const VkDisplayModeCreateInfoKHR* pCreateInfo, 7986 const VkAllocationCallbacks* pAllocator, 7987 VkDisplayModeKHR* pMode); 7988 7989 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 7990 VkPhysicalDevice physicalDevice, 7991 VkDisplayModeKHR mode, 7992 uint32_t planeIndex, 7993 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 7994 7995 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 7996 VkInstance instance, 7997 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 7998 const VkAllocationCallbacks* pAllocator, 7999 VkSurfaceKHR* pSurface); 8000 #endif 8001 8002 8003 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 8004 #define VK_KHR_display_swapchain 1 8005 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 8006 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 8007 typedef struct VkDisplayPresentInfoKHR { 8008 VkStructureType sType; 8009 const void* pNext; 8010 VkRect2D srcRect; 8011 VkRect2D dstRect; 8012 VkBool32 persistent; 8013 } VkDisplayPresentInfoKHR; 8014 8015 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 8016 8017 #ifndef VK_NO_PROTOTYPES 8018 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 8019 VkDevice device, 8020 uint32_t swapchainCount, 8021 const VkSwapchainCreateInfoKHR* pCreateInfos, 8022 const VkAllocationCallbacks* pAllocator, 8023 VkSwapchainKHR* pSwapchains); 8024 #endif 8025 8026 8027 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 8028 #define VK_KHR_sampler_mirror_clamp_to_edge 1 8029 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 8030 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 8031 8032 8033 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 8034 #define VK_KHR_video_queue 1 8035 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 8036 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 8037 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 8038 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 8039 8040 typedef enum VkQueryResultStatusKHR { 8041 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8042 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8043 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8044 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 8045 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8046 } VkQueryResultStatusKHR; 8047 8048 typedef enum VkVideoCodecOperationFlagBitsKHR { 8049 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8050 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 8051 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 8052 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8053 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8054 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 8055 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8056 } VkVideoCodecOperationFlagBitsKHR; 8057 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8058 8059 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8060 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8061 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8062 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8063 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8064 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8065 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8066 } VkVideoChromaSubsamplingFlagBitsKHR; 8067 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8068 8069 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8070 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8071 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8072 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8073 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8074 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8075 } VkVideoComponentBitDepthFlagBitsKHR; 8076 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8077 8078 typedef enum VkVideoCapabilityFlagBitsKHR { 8079 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8080 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8081 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8082 } VkVideoCapabilityFlagBitsKHR; 8083 typedef VkFlags VkVideoCapabilityFlagsKHR; 8084 8085 typedef enum VkVideoSessionCreateFlagBitsKHR { 8086 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8087 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8088 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8089 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8090 } VkVideoSessionCreateFlagBitsKHR; 8091 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8092 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8093 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8094 typedef VkFlags VkVideoEndCodingFlagsKHR; 8095 8096 typedef enum VkVideoCodingControlFlagBitsKHR { 8097 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8098 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8099 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8100 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8101 } VkVideoCodingControlFlagBitsKHR; 8102 typedef VkFlags VkVideoCodingControlFlagsKHR; 8103 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8104 VkStructureType sType; 8105 void* pNext; 8106 VkBool32 queryResultStatusSupport; 8107 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8108 8109 typedef struct VkQueueFamilyVideoPropertiesKHR { 8110 VkStructureType sType; 8111 void* pNext; 8112 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8113 } VkQueueFamilyVideoPropertiesKHR; 8114 8115 typedef struct VkVideoProfileInfoKHR { 8116 VkStructureType sType; 8117 const void* pNext; 8118 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8119 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8120 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8121 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8122 } VkVideoProfileInfoKHR; 8123 8124 typedef struct VkVideoProfileListInfoKHR { 8125 VkStructureType sType; 8126 const void* pNext; 8127 uint32_t profileCount; 8128 const VkVideoProfileInfoKHR* pProfiles; 8129 } VkVideoProfileListInfoKHR; 8130 8131 typedef struct VkVideoCapabilitiesKHR { 8132 VkStructureType sType; 8133 void* pNext; 8134 VkVideoCapabilityFlagsKHR flags; 8135 VkDeviceSize minBitstreamBufferOffsetAlignment; 8136 VkDeviceSize minBitstreamBufferSizeAlignment; 8137 VkExtent2D pictureAccessGranularity; 8138 VkExtent2D minCodedExtent; 8139 VkExtent2D maxCodedExtent; 8140 uint32_t maxDpbSlots; 8141 uint32_t maxActiveReferencePictures; 8142 VkExtensionProperties stdHeaderVersion; 8143 } VkVideoCapabilitiesKHR; 8144 8145 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8146 VkStructureType sType; 8147 const void* pNext; 8148 VkImageUsageFlags imageUsage; 8149 } VkPhysicalDeviceVideoFormatInfoKHR; 8150 8151 typedef struct VkVideoFormatPropertiesKHR { 8152 VkStructureType sType; 8153 void* pNext; 8154 VkFormat format; 8155 VkComponentMapping componentMapping; 8156 VkImageCreateFlags imageCreateFlags; 8157 VkImageType imageType; 8158 VkImageTiling imageTiling; 8159 VkImageUsageFlags imageUsageFlags; 8160 } VkVideoFormatPropertiesKHR; 8161 8162 typedef struct VkVideoPictureResourceInfoKHR { 8163 VkStructureType sType; 8164 const void* pNext; 8165 VkOffset2D codedOffset; 8166 VkExtent2D codedExtent; 8167 uint32_t baseArrayLayer; 8168 VkImageView imageViewBinding; 8169 } VkVideoPictureResourceInfoKHR; 8170 8171 typedef struct VkVideoReferenceSlotInfoKHR { 8172 VkStructureType sType; 8173 const void* pNext; 8174 int32_t slotIndex; 8175 const VkVideoPictureResourceInfoKHR* pPictureResource; 8176 } VkVideoReferenceSlotInfoKHR; 8177 8178 typedef struct VkVideoSessionMemoryRequirementsKHR { 8179 VkStructureType sType; 8180 void* pNext; 8181 uint32_t memoryBindIndex; 8182 VkMemoryRequirements memoryRequirements; 8183 } VkVideoSessionMemoryRequirementsKHR; 8184 8185 typedef struct VkBindVideoSessionMemoryInfoKHR { 8186 VkStructureType sType; 8187 const void* pNext; 8188 uint32_t memoryBindIndex; 8189 VkDeviceMemory memory; 8190 VkDeviceSize memoryOffset; 8191 VkDeviceSize memorySize; 8192 } VkBindVideoSessionMemoryInfoKHR; 8193 8194 typedef struct VkVideoSessionCreateInfoKHR { 8195 VkStructureType sType; 8196 const void* pNext; 8197 uint32_t queueFamilyIndex; 8198 VkVideoSessionCreateFlagsKHR flags; 8199 const VkVideoProfileInfoKHR* pVideoProfile; 8200 VkFormat pictureFormat; 8201 VkExtent2D maxCodedExtent; 8202 VkFormat referencePictureFormat; 8203 uint32_t maxDpbSlots; 8204 uint32_t maxActiveReferencePictures; 8205 const VkExtensionProperties* pStdHeaderVersion; 8206 } VkVideoSessionCreateInfoKHR; 8207 8208 typedef struct VkVideoSessionParametersCreateInfoKHR { 8209 VkStructureType sType; 8210 const void* pNext; 8211 VkVideoSessionParametersCreateFlagsKHR flags; 8212 VkVideoSessionParametersKHR videoSessionParametersTemplate; 8213 VkVideoSessionKHR videoSession; 8214 } VkVideoSessionParametersCreateInfoKHR; 8215 8216 typedef struct VkVideoSessionParametersUpdateInfoKHR { 8217 VkStructureType sType; 8218 const void* pNext; 8219 uint32_t updateSequenceCount; 8220 } VkVideoSessionParametersUpdateInfoKHR; 8221 8222 typedef struct VkVideoBeginCodingInfoKHR { 8223 VkStructureType sType; 8224 const void* pNext; 8225 VkVideoBeginCodingFlagsKHR flags; 8226 VkVideoSessionKHR videoSession; 8227 VkVideoSessionParametersKHR videoSessionParameters; 8228 uint32_t referenceSlotCount; 8229 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8230 } VkVideoBeginCodingInfoKHR; 8231 8232 typedef struct VkVideoEndCodingInfoKHR { 8233 VkStructureType sType; 8234 const void* pNext; 8235 VkVideoEndCodingFlagsKHR flags; 8236 } VkVideoEndCodingInfoKHR; 8237 8238 typedef struct VkVideoCodingControlInfoKHR { 8239 VkStructureType sType; 8240 const void* pNext; 8241 VkVideoCodingControlFlagsKHR flags; 8242 } VkVideoCodingControlInfoKHR; 8243 8244 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 8245 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8246 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 8247 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 8248 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8249 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8250 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 8251 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8252 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 8253 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 8254 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8255 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8256 8257 #ifndef VK_NO_PROTOTYPES 8258 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 8259 VkPhysicalDevice physicalDevice, 8260 const VkVideoProfileInfoKHR* pVideoProfile, 8261 VkVideoCapabilitiesKHR* pCapabilities); 8262 8263 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 8264 VkPhysicalDevice physicalDevice, 8265 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 8266 uint32_t* pVideoFormatPropertyCount, 8267 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8268 8269 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 8270 VkDevice device, 8271 const VkVideoSessionCreateInfoKHR* pCreateInfo, 8272 const VkAllocationCallbacks* pAllocator, 8273 VkVideoSessionKHR* pVideoSession); 8274 8275 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 8276 VkDevice device, 8277 VkVideoSessionKHR videoSession, 8278 const VkAllocationCallbacks* pAllocator); 8279 8280 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 8281 VkDevice device, 8282 VkVideoSessionKHR videoSession, 8283 uint32_t* pMemoryRequirementsCount, 8284 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8285 8286 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 8287 VkDevice device, 8288 VkVideoSessionKHR videoSession, 8289 uint32_t bindSessionMemoryInfoCount, 8290 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8291 8292 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 8293 VkDevice device, 8294 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 8295 const VkAllocationCallbacks* pAllocator, 8296 VkVideoSessionParametersKHR* pVideoSessionParameters); 8297 8298 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 8299 VkDevice device, 8300 VkVideoSessionParametersKHR videoSessionParameters, 8301 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8302 8303 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 8304 VkDevice device, 8305 VkVideoSessionParametersKHR videoSessionParameters, 8306 const VkAllocationCallbacks* pAllocator); 8307 8308 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 8309 VkCommandBuffer commandBuffer, 8310 const VkVideoBeginCodingInfoKHR* pBeginInfo); 8311 8312 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 8313 VkCommandBuffer commandBuffer, 8314 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8315 8316 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 8317 VkCommandBuffer commandBuffer, 8318 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8319 #endif 8320 8321 8322 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 8323 #define VK_KHR_video_decode_queue 1 8324 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 8325 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 8326 8327 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 8328 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 8329 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 8330 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8331 } VkVideoDecodeCapabilityFlagBitsKHR; 8332 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 8333 8334 typedef enum VkVideoDecodeUsageFlagBitsKHR { 8335 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 8336 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 8337 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 8338 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 8339 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8340 } VkVideoDecodeUsageFlagBitsKHR; 8341 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 8342 typedef VkFlags VkVideoDecodeFlagsKHR; 8343 typedef struct VkVideoDecodeCapabilitiesKHR { 8344 VkStructureType sType; 8345 void* pNext; 8346 VkVideoDecodeCapabilityFlagsKHR flags; 8347 } VkVideoDecodeCapabilitiesKHR; 8348 8349 typedef struct VkVideoDecodeUsageInfoKHR { 8350 VkStructureType sType; 8351 const void* pNext; 8352 VkVideoDecodeUsageFlagsKHR videoUsageHints; 8353 } VkVideoDecodeUsageInfoKHR; 8354 8355 typedef struct VkVideoDecodeInfoKHR { 8356 VkStructureType sType; 8357 const void* pNext; 8358 VkVideoDecodeFlagsKHR flags; 8359 VkBuffer srcBuffer; 8360 VkDeviceSize srcBufferOffset; 8361 VkDeviceSize srcBufferRange; 8362 VkVideoPictureResourceInfoKHR dstPictureResource; 8363 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 8364 uint32_t referenceSlotCount; 8365 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8366 } VkVideoDecodeInfoKHR; 8367 8368 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 8369 8370 #ifndef VK_NO_PROTOTYPES 8371 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 8372 VkCommandBuffer commandBuffer, 8373 const VkVideoDecodeInfoKHR* pDecodeInfo); 8374 #endif 8375 8376 8377 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 8378 #define VK_KHR_video_encode_h264 1 8379 #include "vk_video/vulkan_video_codec_h264std.h" 8380 #include "vk_video/vulkan_video_codec_h264std_encode.h" 8381 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 8382 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 8383 8384 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 8385 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8386 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8387 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 8388 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 8389 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8390 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8391 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8392 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 8393 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 8394 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8395 } VkVideoEncodeH264CapabilityFlagBitsKHR; 8396 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 8397 8398 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 8399 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8400 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 8401 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8402 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 8403 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 8404 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8405 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8406 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 8407 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 8408 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 8409 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 8410 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 8411 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 8412 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 8413 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8414 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 8415 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 8416 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 8417 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8418 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8419 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8420 } VkVideoEncodeH264StdFlagBitsKHR; 8421 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 8422 8423 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 8424 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8425 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8426 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8427 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8428 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8429 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8430 } VkVideoEncodeH264RateControlFlagBitsKHR; 8431 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 8432 typedef struct VkVideoEncodeH264CapabilitiesKHR { 8433 VkStructureType sType; 8434 void* pNext; 8435 VkVideoEncodeH264CapabilityFlagsKHR flags; 8436 StdVideoH264LevelIdc maxLevelIdc; 8437 uint32_t maxSliceCount; 8438 uint32_t maxPPictureL0ReferenceCount; 8439 uint32_t maxBPictureL0ReferenceCount; 8440 uint32_t maxL1ReferenceCount; 8441 uint32_t maxTemporalLayerCount; 8442 VkBool32 expectDyadicTemporalLayerPattern; 8443 int32_t minQp; 8444 int32_t maxQp; 8445 VkBool32 prefersGopRemainingFrames; 8446 VkBool32 requiresGopRemainingFrames; 8447 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 8448 } VkVideoEncodeH264CapabilitiesKHR; 8449 8450 typedef struct VkVideoEncodeH264QpKHR { 8451 int32_t qpI; 8452 int32_t qpP; 8453 int32_t qpB; 8454 } VkVideoEncodeH264QpKHR; 8455 8456 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 8457 VkStructureType sType; 8458 void* pNext; 8459 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 8460 uint32_t preferredGopFrameCount; 8461 uint32_t preferredIdrPeriod; 8462 uint32_t preferredConsecutiveBFrameCount; 8463 uint32_t preferredTemporalLayerCount; 8464 VkVideoEncodeH264QpKHR preferredConstantQp; 8465 uint32_t preferredMaxL0ReferenceCount; 8466 uint32_t preferredMaxL1ReferenceCount; 8467 VkBool32 preferredStdEntropyCodingModeFlag; 8468 } VkVideoEncodeH264QualityLevelPropertiesKHR; 8469 8470 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 8471 VkStructureType sType; 8472 const void* pNext; 8473 VkBool32 useMaxLevelIdc; 8474 StdVideoH264LevelIdc maxLevelIdc; 8475 } VkVideoEncodeH264SessionCreateInfoKHR; 8476 8477 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 8478 VkStructureType sType; 8479 const void* pNext; 8480 uint32_t stdSPSCount; 8481 const StdVideoH264SequenceParameterSet* pStdSPSs; 8482 uint32_t stdPPSCount; 8483 const StdVideoH264PictureParameterSet* pStdPPSs; 8484 } VkVideoEncodeH264SessionParametersAddInfoKHR; 8485 8486 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 8487 VkStructureType sType; 8488 const void* pNext; 8489 uint32_t maxStdSPSCount; 8490 uint32_t maxStdPPSCount; 8491 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8492 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 8493 8494 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 8495 VkStructureType sType; 8496 const void* pNext; 8497 VkBool32 writeStdSPS; 8498 VkBool32 writeStdPPS; 8499 uint32_t stdSPSId; 8500 uint32_t stdPPSId; 8501 } VkVideoEncodeH264SessionParametersGetInfoKHR; 8502 8503 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 8504 VkStructureType sType; 8505 void* pNext; 8506 VkBool32 hasStdSPSOverrides; 8507 VkBool32 hasStdPPSOverrides; 8508 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 8509 8510 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 8511 VkStructureType sType; 8512 const void* pNext; 8513 int32_t constantQp; 8514 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 8515 } VkVideoEncodeH264NaluSliceInfoKHR; 8516 8517 typedef struct VkVideoEncodeH264PictureInfoKHR { 8518 VkStructureType sType; 8519 const void* pNext; 8520 uint32_t naluSliceEntryCount; 8521 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 8522 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 8523 VkBool32 generatePrefixNalu; 8524 } VkVideoEncodeH264PictureInfoKHR; 8525 8526 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 8527 VkStructureType sType; 8528 const void* pNext; 8529 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8530 } VkVideoEncodeH264DpbSlotInfoKHR; 8531 8532 typedef struct VkVideoEncodeH264ProfileInfoKHR { 8533 VkStructureType sType; 8534 const void* pNext; 8535 StdVideoH264ProfileIdc stdProfileIdc; 8536 } VkVideoEncodeH264ProfileInfoKHR; 8537 8538 typedef struct VkVideoEncodeH264RateControlInfoKHR { 8539 VkStructureType sType; 8540 const void* pNext; 8541 VkVideoEncodeH264RateControlFlagsKHR flags; 8542 uint32_t gopFrameCount; 8543 uint32_t idrPeriod; 8544 uint32_t consecutiveBFrameCount; 8545 uint32_t temporalLayerCount; 8546 } VkVideoEncodeH264RateControlInfoKHR; 8547 8548 typedef struct VkVideoEncodeH264FrameSizeKHR { 8549 uint32_t frameISize; 8550 uint32_t framePSize; 8551 uint32_t frameBSize; 8552 } VkVideoEncodeH264FrameSizeKHR; 8553 8554 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 8555 VkStructureType sType; 8556 const void* pNext; 8557 VkBool32 useMinQp; 8558 VkVideoEncodeH264QpKHR minQp; 8559 VkBool32 useMaxQp; 8560 VkVideoEncodeH264QpKHR maxQp; 8561 VkBool32 useMaxFrameSize; 8562 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 8563 } VkVideoEncodeH264RateControlLayerInfoKHR; 8564 8565 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 8566 VkStructureType sType; 8567 const void* pNext; 8568 VkBool32 useGopRemainingFrames; 8569 uint32_t gopRemainingI; 8570 uint32_t gopRemainingP; 8571 uint32_t gopRemainingB; 8572 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 8573 8574 8575 8576 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 8577 #define VK_KHR_video_encode_h265 1 8578 #include "vk_video/vulkan_video_codec_h265std.h" 8579 #include "vk_video/vulkan_video_codec_h265std_encode.h" 8580 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 8581 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 8582 8583 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 8584 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8585 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8586 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 8587 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 8588 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8589 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8590 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8591 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 8592 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 8593 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 8594 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8595 } VkVideoEncodeH265CapabilityFlagBitsKHR; 8596 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 8597 8598 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 8599 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8600 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 8601 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8602 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 8603 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 8604 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8605 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8606 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 8607 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 8608 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 8609 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 8610 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 8611 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 8612 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 8613 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8614 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 8615 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 8616 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 8617 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 8618 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8619 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8620 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8621 } VkVideoEncodeH265StdFlagBitsKHR; 8622 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 8623 8624 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 8625 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 8626 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 8627 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 8628 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8629 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 8630 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 8631 8632 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 8633 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 8634 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 8635 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 8636 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 8637 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8638 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 8639 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 8640 8641 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 8642 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8643 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8644 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8645 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8646 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8647 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8648 } VkVideoEncodeH265RateControlFlagBitsKHR; 8649 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 8650 typedef struct VkVideoEncodeH265CapabilitiesKHR { 8651 VkStructureType sType; 8652 void* pNext; 8653 VkVideoEncodeH265CapabilityFlagsKHR flags; 8654 StdVideoH265LevelIdc maxLevelIdc; 8655 uint32_t maxSliceSegmentCount; 8656 VkExtent2D maxTiles; 8657 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 8658 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 8659 uint32_t maxPPictureL0ReferenceCount; 8660 uint32_t maxBPictureL0ReferenceCount; 8661 uint32_t maxL1ReferenceCount; 8662 uint32_t maxSubLayerCount; 8663 VkBool32 expectDyadicTemporalSubLayerPattern; 8664 int32_t minQp; 8665 int32_t maxQp; 8666 VkBool32 prefersGopRemainingFrames; 8667 VkBool32 requiresGopRemainingFrames; 8668 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 8669 } VkVideoEncodeH265CapabilitiesKHR; 8670 8671 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 8672 VkStructureType sType; 8673 const void* pNext; 8674 VkBool32 useMaxLevelIdc; 8675 StdVideoH265LevelIdc maxLevelIdc; 8676 } VkVideoEncodeH265SessionCreateInfoKHR; 8677 8678 typedef struct VkVideoEncodeH265QpKHR { 8679 int32_t qpI; 8680 int32_t qpP; 8681 int32_t qpB; 8682 } VkVideoEncodeH265QpKHR; 8683 8684 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 8685 VkStructureType sType; 8686 void* pNext; 8687 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 8688 uint32_t preferredGopFrameCount; 8689 uint32_t preferredIdrPeriod; 8690 uint32_t preferredConsecutiveBFrameCount; 8691 uint32_t preferredSubLayerCount; 8692 VkVideoEncodeH265QpKHR preferredConstantQp; 8693 uint32_t preferredMaxL0ReferenceCount; 8694 uint32_t preferredMaxL1ReferenceCount; 8695 } VkVideoEncodeH265QualityLevelPropertiesKHR; 8696 8697 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 8698 VkStructureType sType; 8699 const void* pNext; 8700 uint32_t stdVPSCount; 8701 const StdVideoH265VideoParameterSet* pStdVPSs; 8702 uint32_t stdSPSCount; 8703 const StdVideoH265SequenceParameterSet* pStdSPSs; 8704 uint32_t stdPPSCount; 8705 const StdVideoH265PictureParameterSet* pStdPPSs; 8706 } VkVideoEncodeH265SessionParametersAddInfoKHR; 8707 8708 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 8709 VkStructureType sType; 8710 const void* pNext; 8711 uint32_t maxStdVPSCount; 8712 uint32_t maxStdSPSCount; 8713 uint32_t maxStdPPSCount; 8714 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8715 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 8716 8717 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 8718 VkStructureType sType; 8719 const void* pNext; 8720 VkBool32 writeStdVPS; 8721 VkBool32 writeStdSPS; 8722 VkBool32 writeStdPPS; 8723 uint32_t stdVPSId; 8724 uint32_t stdSPSId; 8725 uint32_t stdPPSId; 8726 } VkVideoEncodeH265SessionParametersGetInfoKHR; 8727 8728 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 8729 VkStructureType sType; 8730 void* pNext; 8731 VkBool32 hasStdVPSOverrides; 8732 VkBool32 hasStdSPSOverrides; 8733 VkBool32 hasStdPPSOverrides; 8734 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 8735 8736 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 8737 VkStructureType sType; 8738 const void* pNext; 8739 int32_t constantQp; 8740 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 8741 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 8742 8743 typedef struct VkVideoEncodeH265PictureInfoKHR { 8744 VkStructureType sType; 8745 const void* pNext; 8746 uint32_t naluSliceSegmentEntryCount; 8747 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 8748 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 8749 } VkVideoEncodeH265PictureInfoKHR; 8750 8751 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 8752 VkStructureType sType; 8753 const void* pNext; 8754 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 8755 } VkVideoEncodeH265DpbSlotInfoKHR; 8756 8757 typedef struct VkVideoEncodeH265ProfileInfoKHR { 8758 VkStructureType sType; 8759 const void* pNext; 8760 StdVideoH265ProfileIdc stdProfileIdc; 8761 } VkVideoEncodeH265ProfileInfoKHR; 8762 8763 typedef struct VkVideoEncodeH265RateControlInfoKHR { 8764 VkStructureType sType; 8765 const void* pNext; 8766 VkVideoEncodeH265RateControlFlagsKHR flags; 8767 uint32_t gopFrameCount; 8768 uint32_t idrPeriod; 8769 uint32_t consecutiveBFrameCount; 8770 uint32_t subLayerCount; 8771 } VkVideoEncodeH265RateControlInfoKHR; 8772 8773 typedef struct VkVideoEncodeH265FrameSizeKHR { 8774 uint32_t frameISize; 8775 uint32_t framePSize; 8776 uint32_t frameBSize; 8777 } VkVideoEncodeH265FrameSizeKHR; 8778 8779 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 8780 VkStructureType sType; 8781 const void* pNext; 8782 VkBool32 useMinQp; 8783 VkVideoEncodeH265QpKHR minQp; 8784 VkBool32 useMaxQp; 8785 VkVideoEncodeH265QpKHR maxQp; 8786 VkBool32 useMaxFrameSize; 8787 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 8788 } VkVideoEncodeH265RateControlLayerInfoKHR; 8789 8790 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 8791 VkStructureType sType; 8792 const void* pNext; 8793 VkBool32 useGopRemainingFrames; 8794 uint32_t gopRemainingI; 8795 uint32_t gopRemainingP; 8796 uint32_t gopRemainingB; 8797 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 8798 8799 8800 8801 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 8802 #define VK_KHR_video_decode_h264 1 8803 #include "vk_video/vulkan_video_codec_h264std_decode.h" 8804 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 8805 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 8806 8807 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 8808 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 8809 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 8810 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 8811 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8812 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 8813 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 8814 typedef struct VkVideoDecodeH264ProfileInfoKHR { 8815 VkStructureType sType; 8816 const void* pNext; 8817 StdVideoH264ProfileIdc stdProfileIdc; 8818 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 8819 } VkVideoDecodeH264ProfileInfoKHR; 8820 8821 typedef struct VkVideoDecodeH264CapabilitiesKHR { 8822 VkStructureType sType; 8823 void* pNext; 8824 StdVideoH264LevelIdc maxLevelIdc; 8825 VkOffset2D fieldOffsetGranularity; 8826 } VkVideoDecodeH264CapabilitiesKHR; 8827 8828 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 8829 VkStructureType sType; 8830 const void* pNext; 8831 uint32_t stdSPSCount; 8832 const StdVideoH264SequenceParameterSet* pStdSPSs; 8833 uint32_t stdPPSCount; 8834 const StdVideoH264PictureParameterSet* pStdPPSs; 8835 } VkVideoDecodeH264SessionParametersAddInfoKHR; 8836 8837 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 8838 VkStructureType sType; 8839 const void* pNext; 8840 uint32_t maxStdSPSCount; 8841 uint32_t maxStdPPSCount; 8842 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8843 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 8844 8845 typedef struct VkVideoDecodeH264PictureInfoKHR { 8846 VkStructureType sType; 8847 const void* pNext; 8848 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8849 uint32_t sliceCount; 8850 const uint32_t* pSliceOffsets; 8851 } VkVideoDecodeH264PictureInfoKHR; 8852 8853 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 8854 VkStructureType sType; 8855 const void* pNext; 8856 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8857 } VkVideoDecodeH264DpbSlotInfoKHR; 8858 8859 8860 8861 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 8862 #define VK_KHR_dynamic_rendering 1 8863 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 8864 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 8865 typedef VkRenderingFlags VkRenderingFlagsKHR; 8866 8867 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 8868 8869 typedef VkRenderingInfo VkRenderingInfoKHR; 8870 8871 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 8872 8873 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 8874 8875 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 8876 8877 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 8878 8879 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 8880 VkStructureType sType; 8881 const void* pNext; 8882 VkImageView imageView; 8883 VkImageLayout imageLayout; 8884 VkExtent2D shadingRateAttachmentTexelSize; 8885 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 8886 8887 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 8888 VkStructureType sType; 8889 const void* pNext; 8890 VkImageView imageView; 8891 VkImageLayout imageLayout; 8892 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 8893 8894 typedef struct VkAttachmentSampleCountInfoAMD { 8895 VkStructureType sType; 8896 const void* pNext; 8897 uint32_t colorAttachmentCount; 8898 const VkSampleCountFlagBits* pColorAttachmentSamples; 8899 VkSampleCountFlagBits depthStencilAttachmentSamples; 8900 } VkAttachmentSampleCountInfoAMD; 8901 8902 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 8903 8904 typedef struct VkMultiviewPerViewAttributesInfoNVX { 8905 VkStructureType sType; 8906 const void* pNext; 8907 VkBool32 perViewAttributes; 8908 VkBool32 perViewAttributesPositionXOnly; 8909 } VkMultiviewPerViewAttributesInfoNVX; 8910 8911 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 8912 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 8913 8914 #ifndef VK_NO_PROTOTYPES 8915 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 8916 VkCommandBuffer commandBuffer, 8917 const VkRenderingInfo* pRenderingInfo); 8918 8919 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 8920 VkCommandBuffer commandBuffer); 8921 #endif 8922 8923 8924 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 8925 #define VK_KHR_multiview 1 8926 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 8927 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 8928 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 8929 8930 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 8931 8932 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 8933 8934 8935 8936 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 8937 #define VK_KHR_get_physical_device_properties2 1 8938 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 8939 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 8940 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 8941 8942 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 8943 8944 typedef VkFormatProperties2 VkFormatProperties2KHR; 8945 8946 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 8947 8948 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 8949 8950 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 8951 8952 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 8953 8954 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 8955 8956 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 8957 8958 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 8959 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 8960 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 8961 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 8962 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 8963 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8964 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 8965 8966 #ifndef VK_NO_PROTOTYPES 8967 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 8968 VkPhysicalDevice physicalDevice, 8969 VkPhysicalDeviceFeatures2* pFeatures); 8970 8971 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 8972 VkPhysicalDevice physicalDevice, 8973 VkPhysicalDeviceProperties2* pProperties); 8974 8975 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 8976 VkPhysicalDevice physicalDevice, 8977 VkFormat format, 8978 VkFormatProperties2* pFormatProperties); 8979 8980 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 8981 VkPhysicalDevice physicalDevice, 8982 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 8983 VkImageFormatProperties2* pImageFormatProperties); 8984 8985 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 8986 VkPhysicalDevice physicalDevice, 8987 uint32_t* pQueueFamilyPropertyCount, 8988 VkQueueFamilyProperties2* pQueueFamilyProperties); 8989 8990 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 8991 VkPhysicalDevice physicalDevice, 8992 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 8993 8994 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 8995 VkPhysicalDevice physicalDevice, 8996 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 8997 uint32_t* pPropertyCount, 8998 VkSparseImageFormatProperties2* pProperties); 8999 #endif 9000 9001 9002 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 9003 #define VK_KHR_device_group 1 9004 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 9005 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 9006 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 9007 9008 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 9009 9010 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 9011 9012 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 9013 9014 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9015 9016 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9017 9018 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9019 9020 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9021 9022 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9023 9024 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9025 9026 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9027 9028 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9029 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 9030 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); 9031 9032 #ifndef VK_NO_PROTOTYPES 9033 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 9034 VkDevice device, 9035 uint32_t heapIndex, 9036 uint32_t localDeviceIndex, 9037 uint32_t remoteDeviceIndex, 9038 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9039 9040 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 9041 VkCommandBuffer commandBuffer, 9042 uint32_t deviceMask); 9043 9044 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9045 VkCommandBuffer commandBuffer, 9046 uint32_t baseGroupX, 9047 uint32_t baseGroupY, 9048 uint32_t baseGroupZ, 9049 uint32_t groupCountX, 9050 uint32_t groupCountY, 9051 uint32_t groupCountZ); 9052 #endif 9053 9054 9055 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9056 #define VK_KHR_shader_draw_parameters 1 9057 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9058 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9059 9060 9061 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9062 #define VK_KHR_maintenance1 1 9063 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9064 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9065 // VK_KHR_MAINTENANCE1_SPEC_VERSION is a deprecated alias 9066 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9067 // VK_KHR_MAINTENANCE1_EXTENSION_NAME is a deprecated alias 9068 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9069 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9070 9071 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9072 9073 #ifndef VK_NO_PROTOTYPES 9074 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9075 VkDevice device, 9076 VkCommandPool commandPool, 9077 VkCommandPoolTrimFlags flags); 9078 #endif 9079 9080 9081 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9082 #define VK_KHR_device_group_creation 1 9083 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9084 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9085 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9086 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9087 9088 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9089 9090 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9091 9092 #ifndef VK_NO_PROTOTYPES 9093 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9094 VkInstance instance, 9095 uint32_t* pPhysicalDeviceGroupCount, 9096 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9097 #endif 9098 9099 9100 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9101 #define VK_KHR_external_memory_capabilities 1 9102 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9103 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9104 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9105 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9106 9107 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9108 9109 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9110 9111 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9112 9113 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9114 9115 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9116 9117 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9118 9119 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9120 9121 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9122 9123 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9124 9125 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9126 9127 #ifndef VK_NO_PROTOTYPES 9128 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9129 VkPhysicalDevice physicalDevice, 9130 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9131 VkExternalBufferProperties* pExternalBufferProperties); 9132 #endif 9133 9134 9135 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9136 #define VK_KHR_external_memory 1 9137 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9138 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9139 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9140 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9141 9142 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9143 9144 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9145 9146 9147 9148 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9149 #define VK_KHR_external_memory_fd 1 9150 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9151 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9152 typedef struct VkImportMemoryFdInfoKHR { 9153 VkStructureType sType; 9154 const void* pNext; 9155 VkExternalMemoryHandleTypeFlagBits handleType; 9156 int fd; 9157 } VkImportMemoryFdInfoKHR; 9158 9159 typedef struct VkMemoryFdPropertiesKHR { 9160 VkStructureType sType; 9161 void* pNext; 9162 uint32_t memoryTypeBits; 9163 } VkMemoryFdPropertiesKHR; 9164 9165 typedef struct VkMemoryGetFdInfoKHR { 9166 VkStructureType sType; 9167 const void* pNext; 9168 VkDeviceMemory memory; 9169 VkExternalMemoryHandleTypeFlagBits handleType; 9170 } VkMemoryGetFdInfoKHR; 9171 9172 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9173 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9174 9175 #ifndef VK_NO_PROTOTYPES 9176 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9177 VkDevice device, 9178 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9179 int* pFd); 9180 9181 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9182 VkDevice device, 9183 VkExternalMemoryHandleTypeFlagBits handleType, 9184 int fd, 9185 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9186 #endif 9187 9188 9189 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 9190 #define VK_KHR_external_semaphore_capabilities 1 9191 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9192 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9193 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9194 9195 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9196 9197 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9198 9199 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9200 9201 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9202 9203 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9204 9205 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9206 9207 #ifndef VK_NO_PROTOTYPES 9208 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9209 VkPhysicalDevice physicalDevice, 9210 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9211 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9212 #endif 9213 9214 9215 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 9216 #define VK_KHR_external_semaphore 1 9217 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9218 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9219 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9220 9221 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9222 9223 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9224 9225 9226 9227 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 9228 #define VK_KHR_external_semaphore_fd 1 9229 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 9230 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 9231 typedef struct VkImportSemaphoreFdInfoKHR { 9232 VkStructureType sType; 9233 const void* pNext; 9234 VkSemaphore semaphore; 9235 VkSemaphoreImportFlags flags; 9236 VkExternalSemaphoreHandleTypeFlagBits handleType; 9237 int fd; 9238 } VkImportSemaphoreFdInfoKHR; 9239 9240 typedef struct VkSemaphoreGetFdInfoKHR { 9241 VkStructureType sType; 9242 const void* pNext; 9243 VkSemaphore semaphore; 9244 VkExternalSemaphoreHandleTypeFlagBits handleType; 9245 } VkSemaphoreGetFdInfoKHR; 9246 9247 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9248 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 9249 9250 #ifndef VK_NO_PROTOTYPES 9251 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 9252 VkDevice device, 9253 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9254 9255 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 9256 VkDevice device, 9257 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 9258 int* pFd); 9259 #endif 9260 9261 9262 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 9263 #define VK_KHR_push_descriptor 1 9264 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 9265 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 9266 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 9267 VkStructureType sType; 9268 void* pNext; 9269 uint32_t maxPushDescriptors; 9270 } VkPhysicalDevicePushDescriptorPropertiesKHR; 9271 9272 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 9273 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 9274 9275 #ifndef VK_NO_PROTOTYPES 9276 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 9277 VkCommandBuffer commandBuffer, 9278 VkPipelineBindPoint pipelineBindPoint, 9279 VkPipelineLayout layout, 9280 uint32_t set, 9281 uint32_t descriptorWriteCount, 9282 const VkWriteDescriptorSet* pDescriptorWrites); 9283 9284 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 9285 VkCommandBuffer commandBuffer, 9286 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9287 VkPipelineLayout layout, 9288 uint32_t set, 9289 const void* pData); 9290 #endif 9291 9292 9293 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 9294 #define VK_KHR_shader_float16_int8 1 9295 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 9296 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 9297 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9298 9299 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9300 9301 9302 9303 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 9304 #define VK_KHR_16bit_storage 1 9305 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 9306 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 9307 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9308 9309 9310 9311 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 9312 #define VK_KHR_incremental_present 1 9313 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 9314 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 9315 typedef struct VkRectLayerKHR { 9316 VkOffset2D offset; 9317 VkExtent2D extent; 9318 uint32_t layer; 9319 } VkRectLayerKHR; 9320 9321 typedef struct VkPresentRegionKHR { 9322 uint32_t rectangleCount; 9323 const VkRectLayerKHR* pRectangles; 9324 } VkPresentRegionKHR; 9325 9326 typedef struct VkPresentRegionsKHR { 9327 VkStructureType sType; 9328 const void* pNext; 9329 uint32_t swapchainCount; 9330 const VkPresentRegionKHR* pRegions; 9331 } VkPresentRegionsKHR; 9332 9333 9334 9335 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 9336 #define VK_KHR_descriptor_update_template 1 9337 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 9338 9339 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 9340 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 9341 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 9342 9343 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 9344 9345 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9346 9347 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9348 9349 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9350 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 9351 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 9352 9353 #ifndef VK_NO_PROTOTYPES 9354 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 9355 VkDevice device, 9356 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 9357 const VkAllocationCallbacks* pAllocator, 9358 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9359 9360 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 9361 VkDevice device, 9362 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9363 const VkAllocationCallbacks* pAllocator); 9364 9365 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 9366 VkDevice device, 9367 VkDescriptorSet descriptorSet, 9368 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9369 const void* pData); 9370 #endif 9371 9372 9373 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 9374 #define VK_KHR_imageless_framebuffer 1 9375 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 9376 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 9377 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9378 9379 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9380 9381 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9382 9383 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9384 9385 9386 9387 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 9388 #define VK_KHR_create_renderpass2 1 9389 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 9390 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 9391 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9392 9393 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9394 9395 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9396 9397 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9398 9399 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9400 9401 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9402 9403 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9404 9405 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 9406 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 9407 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 9408 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 9409 9410 #ifndef VK_NO_PROTOTYPES 9411 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 9412 VkDevice device, 9413 const VkRenderPassCreateInfo2* pCreateInfo, 9414 const VkAllocationCallbacks* pAllocator, 9415 VkRenderPass* pRenderPass); 9416 9417 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 9418 VkCommandBuffer commandBuffer, 9419 const VkRenderPassBeginInfo* pRenderPassBegin, 9420 const VkSubpassBeginInfo* pSubpassBeginInfo); 9421 9422 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 9423 VkCommandBuffer commandBuffer, 9424 const VkSubpassBeginInfo* pSubpassBeginInfo, 9425 const VkSubpassEndInfo* pSubpassEndInfo); 9426 9427 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 9428 VkCommandBuffer commandBuffer, 9429 const VkSubpassEndInfo* pSubpassEndInfo); 9430 #endif 9431 9432 9433 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 9434 #define VK_KHR_shared_presentable_image 1 9435 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 9436 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 9437 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 9438 VkStructureType sType; 9439 void* pNext; 9440 VkImageUsageFlags sharedPresentSupportedUsageFlags; 9441 } VkSharedPresentSurfaceCapabilitiesKHR; 9442 9443 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 9444 9445 #ifndef VK_NO_PROTOTYPES 9446 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 9447 VkDevice device, 9448 VkSwapchainKHR swapchain); 9449 #endif 9450 9451 9452 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 9453 #define VK_KHR_external_fence_capabilities 1 9454 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 9455 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 9456 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 9457 9458 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 9459 9460 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 9461 9462 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 9463 9464 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9465 9466 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9467 9468 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 9469 9470 #ifndef VK_NO_PROTOTYPES 9471 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 9472 VkPhysicalDevice physicalDevice, 9473 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 9474 VkExternalFenceProperties* pExternalFenceProperties); 9475 #endif 9476 9477 9478 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 9479 #define VK_KHR_external_fence 1 9480 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 9481 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 9482 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 9483 9484 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 9485 9486 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9487 9488 9489 9490 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 9491 #define VK_KHR_external_fence_fd 1 9492 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 9493 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 9494 typedef struct VkImportFenceFdInfoKHR { 9495 VkStructureType sType; 9496 const void* pNext; 9497 VkFence fence; 9498 VkFenceImportFlags flags; 9499 VkExternalFenceHandleTypeFlagBits handleType; 9500 int fd; 9501 } VkImportFenceFdInfoKHR; 9502 9503 typedef struct VkFenceGetFdInfoKHR { 9504 VkStructureType sType; 9505 const void* pNext; 9506 VkFence fence; 9507 VkExternalFenceHandleTypeFlagBits handleType; 9508 } VkFenceGetFdInfoKHR; 9509 9510 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9511 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 9512 9513 #ifndef VK_NO_PROTOTYPES 9514 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 9515 VkDevice device, 9516 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9517 9518 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 9519 VkDevice device, 9520 const VkFenceGetFdInfoKHR* pGetFdInfo, 9521 int* pFd); 9522 #endif 9523 9524 9525 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 9526 #define VK_KHR_performance_query 1 9527 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 9528 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 9529 9530 typedef enum VkPerformanceCounterUnitKHR { 9531 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 9532 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 9533 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 9534 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 9535 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 9536 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 9537 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 9538 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 9539 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 9540 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 9541 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 9542 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 9543 } VkPerformanceCounterUnitKHR; 9544 9545 typedef enum VkPerformanceCounterScopeKHR { 9546 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 9547 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 9548 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 9549 // VK_QUERY_SCOPE_COMMAND_BUFFER_KHR is a deprecated alias 9550 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 9551 // VK_QUERY_SCOPE_RENDER_PASS_KHR is a deprecated alias 9552 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 9553 // VK_QUERY_SCOPE_COMMAND_KHR is a deprecated alias 9554 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 9555 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 9556 } VkPerformanceCounterScopeKHR; 9557 9558 typedef enum VkPerformanceCounterStorageKHR { 9559 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 9560 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 9561 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 9562 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 9563 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 9564 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 9565 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 9566 } VkPerformanceCounterStorageKHR; 9567 9568 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 9569 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 9570 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 9571 // VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR is a deprecated alias 9572 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 9573 // VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR is a deprecated alias 9574 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 9575 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9576 } VkPerformanceCounterDescriptionFlagBitsKHR; 9577 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 9578 9579 typedef enum VkAcquireProfilingLockFlagBitsKHR { 9580 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9581 } VkAcquireProfilingLockFlagBitsKHR; 9582 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 9583 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 9584 VkStructureType sType; 9585 void* pNext; 9586 VkBool32 performanceCounterQueryPools; 9587 VkBool32 performanceCounterMultipleQueryPools; 9588 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 9589 9590 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 9591 VkStructureType sType; 9592 void* pNext; 9593 VkBool32 allowCommandBufferQueryCopies; 9594 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 9595 9596 typedef struct VkPerformanceCounterKHR { 9597 VkStructureType sType; 9598 void* pNext; 9599 VkPerformanceCounterUnitKHR unit; 9600 VkPerformanceCounterScopeKHR scope; 9601 VkPerformanceCounterStorageKHR storage; 9602 uint8_t uuid[VK_UUID_SIZE]; 9603 } VkPerformanceCounterKHR; 9604 9605 typedef struct VkPerformanceCounterDescriptionKHR { 9606 VkStructureType sType; 9607 void* pNext; 9608 VkPerformanceCounterDescriptionFlagsKHR flags; 9609 char name[VK_MAX_DESCRIPTION_SIZE]; 9610 char category[VK_MAX_DESCRIPTION_SIZE]; 9611 char description[VK_MAX_DESCRIPTION_SIZE]; 9612 } VkPerformanceCounterDescriptionKHR; 9613 9614 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 9615 VkStructureType sType; 9616 const void* pNext; 9617 uint32_t queueFamilyIndex; 9618 uint32_t counterIndexCount; 9619 const uint32_t* pCounterIndices; 9620 } VkQueryPoolPerformanceCreateInfoKHR; 9621 9622 typedef union VkPerformanceCounterResultKHR { 9623 int32_t int32; 9624 int64_t int64; 9625 uint32_t uint32; 9626 uint64_t uint64; 9627 float float32; 9628 double float64; 9629 } VkPerformanceCounterResultKHR; 9630 9631 typedef struct VkAcquireProfilingLockInfoKHR { 9632 VkStructureType sType; 9633 const void* pNext; 9634 VkAcquireProfilingLockFlagsKHR flags; 9635 uint64_t timeout; 9636 } VkAcquireProfilingLockInfoKHR; 9637 9638 typedef struct VkPerformanceQuerySubmitInfoKHR { 9639 VkStructureType sType; 9640 const void* pNext; 9641 uint32_t counterPassIndex; 9642 } VkPerformanceQuerySubmitInfoKHR; 9643 9644 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9645 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 9646 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 9647 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 9648 9649 #ifndef VK_NO_PROTOTYPES 9650 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 9651 VkPhysicalDevice physicalDevice, 9652 uint32_t queueFamilyIndex, 9653 uint32_t* pCounterCount, 9654 VkPerformanceCounterKHR* pCounters, 9655 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 9656 9657 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 9658 VkPhysicalDevice physicalDevice, 9659 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 9660 uint32_t* pNumPasses); 9661 9662 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 9663 VkDevice device, 9664 const VkAcquireProfilingLockInfoKHR* pInfo); 9665 9666 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 9667 VkDevice device); 9668 #endif 9669 9670 9671 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 9672 #define VK_KHR_maintenance2 1 9673 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 9674 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 9675 // VK_KHR_MAINTENANCE2_SPEC_VERSION is a deprecated alias 9676 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 9677 // VK_KHR_MAINTENANCE2_EXTENSION_NAME is a deprecated alias 9678 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 9679 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 9680 9681 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 9682 9683 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 9684 9685 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 9686 9687 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 9688 9689 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 9690 9691 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 9692 9693 9694 9695 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 9696 #define VK_KHR_get_surface_capabilities2 1 9697 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 9698 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 9699 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 9700 VkStructureType sType; 9701 const void* pNext; 9702 VkSurfaceKHR surface; 9703 } VkPhysicalDeviceSurfaceInfo2KHR; 9704 9705 typedef struct VkSurfaceCapabilities2KHR { 9706 VkStructureType sType; 9707 void* pNext; 9708 VkSurfaceCapabilitiesKHR surfaceCapabilities; 9709 } VkSurfaceCapabilities2KHR; 9710 9711 typedef struct VkSurfaceFormat2KHR { 9712 VkStructureType sType; 9713 void* pNext; 9714 VkSurfaceFormatKHR surfaceFormat; 9715 } VkSurfaceFormat2KHR; 9716 9717 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9718 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 9719 9720 #ifndef VK_NO_PROTOTYPES 9721 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 9722 VkPhysicalDevice physicalDevice, 9723 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9724 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 9725 9726 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 9727 VkPhysicalDevice physicalDevice, 9728 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 9729 uint32_t* pSurfaceFormatCount, 9730 VkSurfaceFormat2KHR* pSurfaceFormats); 9731 #endif 9732 9733 9734 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 9735 #define VK_KHR_variable_pointers 1 9736 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 9737 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 9738 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 9739 9740 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 9741 9742 9743 9744 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 9745 #define VK_KHR_get_display_properties2 1 9746 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 9747 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 9748 typedef struct VkDisplayProperties2KHR { 9749 VkStructureType sType; 9750 void* pNext; 9751 VkDisplayPropertiesKHR displayProperties; 9752 } VkDisplayProperties2KHR; 9753 9754 typedef struct VkDisplayPlaneProperties2KHR { 9755 VkStructureType sType; 9756 void* pNext; 9757 VkDisplayPlanePropertiesKHR displayPlaneProperties; 9758 } VkDisplayPlaneProperties2KHR; 9759 9760 typedef struct VkDisplayModeProperties2KHR { 9761 VkStructureType sType; 9762 void* pNext; 9763 VkDisplayModePropertiesKHR displayModeProperties; 9764 } VkDisplayModeProperties2KHR; 9765 9766 typedef struct VkDisplayPlaneInfo2KHR { 9767 VkStructureType sType; 9768 const void* pNext; 9769 VkDisplayModeKHR mode; 9770 uint32_t planeIndex; 9771 } VkDisplayPlaneInfo2KHR; 9772 9773 typedef struct VkDisplayPlaneCapabilities2KHR { 9774 VkStructureType sType; 9775 void* pNext; 9776 VkDisplayPlaneCapabilitiesKHR capabilities; 9777 } VkDisplayPlaneCapabilities2KHR; 9778 9779 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 9780 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 9781 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 9782 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 9783 9784 #ifndef VK_NO_PROTOTYPES 9785 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 9786 VkPhysicalDevice physicalDevice, 9787 uint32_t* pPropertyCount, 9788 VkDisplayProperties2KHR* pProperties); 9789 9790 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 9791 VkPhysicalDevice physicalDevice, 9792 uint32_t* pPropertyCount, 9793 VkDisplayPlaneProperties2KHR* pProperties); 9794 9795 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 9796 VkPhysicalDevice physicalDevice, 9797 VkDisplayKHR display, 9798 uint32_t* pPropertyCount, 9799 VkDisplayModeProperties2KHR* pProperties); 9800 9801 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 9802 VkPhysicalDevice physicalDevice, 9803 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 9804 VkDisplayPlaneCapabilities2KHR* pCapabilities); 9805 #endif 9806 9807 9808 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 9809 #define VK_KHR_dedicated_allocation 1 9810 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 9811 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 9812 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 9813 9814 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 9815 9816 9817 9818 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 9819 #define VK_KHR_storage_buffer_storage_class 1 9820 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 9821 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 9822 9823 9824 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 9825 #define VK_KHR_relaxed_block_layout 1 9826 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 9827 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 9828 9829 9830 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 9831 #define VK_KHR_get_memory_requirements2 1 9832 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 9833 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 9834 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 9835 9836 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 9837 9838 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 9839 9840 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 9841 9842 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 9843 9844 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9845 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 9846 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9847 9848 #ifndef VK_NO_PROTOTYPES 9849 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 9850 VkDevice device, 9851 const VkImageMemoryRequirementsInfo2* pInfo, 9852 VkMemoryRequirements2* pMemoryRequirements); 9853 9854 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 9855 VkDevice device, 9856 const VkBufferMemoryRequirementsInfo2* pInfo, 9857 VkMemoryRequirements2* pMemoryRequirements); 9858 9859 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 9860 VkDevice device, 9861 const VkImageSparseMemoryRequirementsInfo2* pInfo, 9862 uint32_t* pSparseMemoryRequirementCount, 9863 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 9864 #endif 9865 9866 9867 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 9868 #define VK_KHR_image_format_list 1 9869 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 9870 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 9871 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 9872 9873 9874 9875 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 9876 #define VK_KHR_sampler_ycbcr_conversion 1 9877 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 9878 9879 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 9880 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 9881 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 9882 9883 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 9884 9885 typedef VkChromaLocation VkChromaLocationKHR; 9886 9887 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 9888 9889 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 9890 9891 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 9892 9893 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 9894 9895 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 9896 9897 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 9898 9899 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 9900 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 9901 9902 #ifndef VK_NO_PROTOTYPES 9903 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 9904 VkDevice device, 9905 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 9906 const VkAllocationCallbacks* pAllocator, 9907 VkSamplerYcbcrConversion* pYcbcrConversion); 9908 9909 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 9910 VkDevice device, 9911 VkSamplerYcbcrConversion ycbcrConversion, 9912 const VkAllocationCallbacks* pAllocator); 9913 #endif 9914 9915 9916 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 9917 #define VK_KHR_bind_memory2 1 9918 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 9919 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 9920 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 9921 9922 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 9923 9924 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 9925 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 9926 9927 #ifndef VK_NO_PROTOTYPES 9928 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 9929 VkDevice device, 9930 uint32_t bindInfoCount, 9931 const VkBindBufferMemoryInfo* pBindInfos); 9932 9933 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 9934 VkDevice device, 9935 uint32_t bindInfoCount, 9936 const VkBindImageMemoryInfo* pBindInfos); 9937 #endif 9938 9939 9940 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 9941 #define VK_KHR_maintenance3 1 9942 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 9943 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 9944 // VK_KHR_MAINTENANCE3_SPEC_VERSION is a deprecated alias 9945 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 9946 // VK_KHR_MAINTENANCE3_EXTENSION_NAME is a deprecated alias 9947 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 9948 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 9949 9950 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 9951 9952 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 9953 9954 #ifndef VK_NO_PROTOTYPES 9955 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 9956 VkDevice device, 9957 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 9958 VkDescriptorSetLayoutSupport* pSupport); 9959 #endif 9960 9961 9962 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 9963 #define VK_KHR_draw_indirect_count 1 9964 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 9965 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 9966 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9967 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9968 9969 #ifndef VK_NO_PROTOTYPES 9970 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 9971 VkCommandBuffer commandBuffer, 9972 VkBuffer buffer, 9973 VkDeviceSize offset, 9974 VkBuffer countBuffer, 9975 VkDeviceSize countBufferOffset, 9976 uint32_t maxDrawCount, 9977 uint32_t stride); 9978 9979 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 9980 VkCommandBuffer commandBuffer, 9981 VkBuffer buffer, 9982 VkDeviceSize offset, 9983 VkBuffer countBuffer, 9984 VkDeviceSize countBufferOffset, 9985 uint32_t maxDrawCount, 9986 uint32_t stride); 9987 #endif 9988 9989 9990 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 9991 #define VK_KHR_shader_subgroup_extended_types 1 9992 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 9993 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 9994 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 9995 9996 9997 9998 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 9999 #define VK_KHR_8bit_storage 1 10000 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 10001 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 10002 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 10003 10004 10005 10006 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 10007 #define VK_KHR_shader_atomic_int64 1 10008 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 10009 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 10010 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 10011 10012 10013 10014 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 10015 #define VK_KHR_shader_clock 1 10016 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 10017 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 10018 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 10019 VkStructureType sType; 10020 void* pNext; 10021 VkBool32 shaderSubgroupClock; 10022 VkBool32 shaderDeviceClock; 10023 } VkPhysicalDeviceShaderClockFeaturesKHR; 10024 10025 10026 10027 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 10028 #define VK_KHR_video_decode_h265 1 10029 #include "vk_video/vulkan_video_codec_h265std_decode.h" 10030 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 10031 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 10032 typedef struct VkVideoDecodeH265ProfileInfoKHR { 10033 VkStructureType sType; 10034 const void* pNext; 10035 StdVideoH265ProfileIdc stdProfileIdc; 10036 } VkVideoDecodeH265ProfileInfoKHR; 10037 10038 typedef struct VkVideoDecodeH265CapabilitiesKHR { 10039 VkStructureType sType; 10040 void* pNext; 10041 StdVideoH265LevelIdc maxLevelIdc; 10042 } VkVideoDecodeH265CapabilitiesKHR; 10043 10044 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 10045 VkStructureType sType; 10046 const void* pNext; 10047 uint32_t stdVPSCount; 10048 const StdVideoH265VideoParameterSet* pStdVPSs; 10049 uint32_t stdSPSCount; 10050 const StdVideoH265SequenceParameterSet* pStdSPSs; 10051 uint32_t stdPPSCount; 10052 const StdVideoH265PictureParameterSet* pStdPPSs; 10053 } VkVideoDecodeH265SessionParametersAddInfoKHR; 10054 10055 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10056 VkStructureType sType; 10057 const void* pNext; 10058 uint32_t maxStdVPSCount; 10059 uint32_t maxStdSPSCount; 10060 uint32_t maxStdPPSCount; 10061 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10062 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 10063 10064 typedef struct VkVideoDecodeH265PictureInfoKHR { 10065 VkStructureType sType; 10066 const void* pNext; 10067 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10068 uint32_t sliceSegmentCount; 10069 const uint32_t* pSliceSegmentOffsets; 10070 } VkVideoDecodeH265PictureInfoKHR; 10071 10072 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10073 VkStructureType sType; 10074 const void* pNext; 10075 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10076 } VkVideoDecodeH265DpbSlotInfoKHR; 10077 10078 10079 10080 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10081 #define VK_KHR_global_priority 1 10082 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 10083 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10084 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10085 10086 typedef enum VkQueueGlobalPriorityKHR { 10087 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 10088 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 10089 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 10090 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 10091 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 10092 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 10093 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 10094 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 10095 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 10096 } VkQueueGlobalPriorityKHR; 10097 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 10098 VkStructureType sType; 10099 const void* pNext; 10100 VkQueueGlobalPriorityKHR globalPriority; 10101 } VkDeviceQueueGlobalPriorityCreateInfoKHR; 10102 10103 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 10104 VkStructureType sType; 10105 void* pNext; 10106 VkBool32 globalPriorityQuery; 10107 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10108 10109 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 10110 VkStructureType sType; 10111 void* pNext; 10112 uint32_t priorityCount; 10113 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 10114 } VkQueueFamilyGlobalPriorityPropertiesKHR; 10115 10116 10117 10118 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10119 #define VK_KHR_driver_properties 1 10120 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10121 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10122 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10123 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10124 typedef VkDriverId VkDriverIdKHR; 10125 10126 typedef VkConformanceVersion VkConformanceVersionKHR; 10127 10128 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10129 10130 10131 10132 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10133 #define VK_KHR_shader_float_controls 1 10134 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10135 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10136 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10137 10138 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10139 10140 10141 10142 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10143 #define VK_KHR_depth_stencil_resolve 1 10144 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10145 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10146 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10147 10148 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10149 10150 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10151 10152 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10153 10154 10155 10156 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10157 #define VK_KHR_swapchain_mutable_format 1 10158 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10159 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10160 10161 10162 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10163 #define VK_KHR_timeline_semaphore 1 10164 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10165 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10166 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10167 10168 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10169 10170 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10171 10172 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10173 10174 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10175 10176 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10177 10178 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10179 10180 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10181 10182 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10183 10184 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10185 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10186 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10187 10188 #ifndef VK_NO_PROTOTYPES 10189 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10190 VkDevice device, 10191 VkSemaphore semaphore, 10192 uint64_t* pValue); 10193 10194 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10195 VkDevice device, 10196 const VkSemaphoreWaitInfo* pWaitInfo, 10197 uint64_t timeout); 10198 10199 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10200 VkDevice device, 10201 const VkSemaphoreSignalInfo* pSignalInfo); 10202 #endif 10203 10204 10205 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 10206 #define VK_KHR_vulkan_memory_model 1 10207 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10208 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10209 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10210 10211 10212 10213 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 10214 #define VK_KHR_shader_terminate_invocation 1 10215 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10216 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10217 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10218 10219 10220 10221 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 10222 #define VK_KHR_fragment_shading_rate 1 10223 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10224 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10225 10226 typedef enum VkFragmentShadingRateCombinerOpKHR { 10227 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10228 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10229 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10230 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10231 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10232 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10233 } VkFragmentShadingRateCombinerOpKHR; 10234 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10235 VkStructureType sType; 10236 const void* pNext; 10237 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10238 VkExtent2D shadingRateAttachmentTexelSize; 10239 } VkFragmentShadingRateAttachmentInfoKHR; 10240 10241 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10242 VkStructureType sType; 10243 const void* pNext; 10244 VkExtent2D fragmentSize; 10245 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10246 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 10247 10248 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10249 VkStructureType sType; 10250 void* pNext; 10251 VkBool32 pipelineFragmentShadingRate; 10252 VkBool32 primitiveFragmentShadingRate; 10253 VkBool32 attachmentFragmentShadingRate; 10254 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 10255 10256 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 10257 VkStructureType sType; 10258 void* pNext; 10259 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 10260 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 10261 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 10262 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 10263 VkBool32 layeredShadingRateAttachments; 10264 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 10265 VkExtent2D maxFragmentSize; 10266 uint32_t maxFragmentSizeAspectRatio; 10267 uint32_t maxFragmentShadingRateCoverageSamples; 10268 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 10269 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 10270 VkBool32 fragmentShadingRateWithSampleMask; 10271 VkBool32 fragmentShadingRateWithShaderSampleMask; 10272 VkBool32 fragmentShadingRateWithConservativeRasterization; 10273 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 10274 VkBool32 fragmentShadingRateWithCustomSampleLocations; 10275 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 10276 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 10277 10278 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 10279 VkStructureType sType; 10280 void* pNext; 10281 VkSampleCountFlags sampleCounts; 10282 VkExtent2D fragmentSize; 10283 } VkPhysicalDeviceFragmentShadingRateKHR; 10284 10285 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10286 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10287 10288 #ifndef VK_NO_PROTOTYPES 10289 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 10290 VkPhysicalDevice physicalDevice, 10291 uint32_t* pFragmentShadingRateCount, 10292 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10293 10294 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 10295 VkCommandBuffer commandBuffer, 10296 const VkExtent2D* pFragmentSize, 10297 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10298 #endif 10299 10300 10301 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 10302 #define VK_KHR_dynamic_rendering_local_read 1 10303 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 10304 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 10305 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR { 10306 VkStructureType sType; 10307 void* pNext; 10308 VkBool32 dynamicRenderingLocalRead; 10309 } VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 10310 10311 typedef struct VkRenderingAttachmentLocationInfoKHR { 10312 VkStructureType sType; 10313 const void* pNext; 10314 uint32_t colorAttachmentCount; 10315 const uint32_t* pColorAttachmentLocations; 10316 } VkRenderingAttachmentLocationInfoKHR; 10317 10318 typedef struct VkRenderingInputAttachmentIndexInfoKHR { 10319 VkStructureType sType; 10320 const void* pNext; 10321 uint32_t colorAttachmentCount; 10322 const uint32_t* pColorAttachmentInputIndices; 10323 const uint32_t* pDepthInputAttachmentIndex; 10324 const uint32_t* pStencilInputAttachmentIndex; 10325 } VkRenderingInputAttachmentIndexInfoKHR; 10326 10327 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10328 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pInputAttachmentIndexInfo); 10329 10330 #ifndef VK_NO_PROTOTYPES 10331 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 10332 VkCommandBuffer commandBuffer, 10333 const VkRenderingAttachmentLocationInfoKHR* pLocationInfo); 10334 10335 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 10336 VkCommandBuffer commandBuffer, 10337 const VkRenderingInputAttachmentIndexInfoKHR* pInputAttachmentIndexInfo); 10338 #endif 10339 10340 10341 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 10342 #define VK_KHR_shader_quad_control 1 10343 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 10344 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 10345 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 10346 VkStructureType sType; 10347 void* pNext; 10348 VkBool32 shaderQuadControl; 10349 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 10350 10351 10352 10353 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 10354 #define VK_KHR_spirv_1_4 1 10355 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 10356 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 10357 10358 10359 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 10360 #define VK_KHR_surface_protected_capabilities 1 10361 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 10362 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 10363 typedef struct VkSurfaceProtectedCapabilitiesKHR { 10364 VkStructureType sType; 10365 const void* pNext; 10366 VkBool32 supportsProtected; 10367 } VkSurfaceProtectedCapabilitiesKHR; 10368 10369 10370 10371 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 10372 #define VK_KHR_separate_depth_stencil_layouts 1 10373 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 10374 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 10375 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 10376 10377 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 10378 10379 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 10380 10381 10382 10383 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 10384 #define VK_KHR_present_wait 1 10385 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 10386 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 10387 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 10388 VkStructureType sType; 10389 void* pNext; 10390 VkBool32 presentWait; 10391 } VkPhysicalDevicePresentWaitFeaturesKHR; 10392 10393 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 10394 10395 #ifndef VK_NO_PROTOTYPES 10396 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 10397 VkDevice device, 10398 VkSwapchainKHR swapchain, 10399 uint64_t presentId, 10400 uint64_t timeout); 10401 #endif 10402 10403 10404 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 10405 #define VK_KHR_uniform_buffer_standard_layout 1 10406 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 10407 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 10408 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 10409 10410 10411 10412 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 10413 #define VK_KHR_buffer_device_address 1 10414 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 10415 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 10416 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 10417 10418 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 10419 10420 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 10421 10422 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 10423 10424 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 10425 10426 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10427 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10428 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10429 10430 #ifndef VK_NO_PROTOTYPES 10431 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 10432 VkDevice device, 10433 const VkBufferDeviceAddressInfo* pInfo); 10434 10435 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 10436 VkDevice device, 10437 const VkBufferDeviceAddressInfo* pInfo); 10438 10439 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 10440 VkDevice device, 10441 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10442 #endif 10443 10444 10445 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 10446 #define VK_KHR_deferred_host_operations 1 10447 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 10448 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 10449 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 10450 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 10451 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 10452 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 10453 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 10454 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 10455 10456 #ifndef VK_NO_PROTOTYPES 10457 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 10458 VkDevice device, 10459 const VkAllocationCallbacks* pAllocator, 10460 VkDeferredOperationKHR* pDeferredOperation); 10461 10462 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 10463 VkDevice device, 10464 VkDeferredOperationKHR operation, 10465 const VkAllocationCallbacks* pAllocator); 10466 10467 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 10468 VkDevice device, 10469 VkDeferredOperationKHR operation); 10470 10471 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 10472 VkDevice device, 10473 VkDeferredOperationKHR operation); 10474 10475 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 10476 VkDevice device, 10477 VkDeferredOperationKHR operation); 10478 #endif 10479 10480 10481 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 10482 #define VK_KHR_pipeline_executable_properties 1 10483 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 10484 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 10485 10486 typedef enum VkPipelineExecutableStatisticFormatKHR { 10487 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 10488 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 10489 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 10490 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 10491 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 10492 } VkPipelineExecutableStatisticFormatKHR; 10493 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 10494 VkStructureType sType; 10495 void* pNext; 10496 VkBool32 pipelineExecutableInfo; 10497 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 10498 10499 typedef struct VkPipelineInfoKHR { 10500 VkStructureType sType; 10501 const void* pNext; 10502 VkPipeline pipeline; 10503 } VkPipelineInfoKHR; 10504 10505 typedef struct VkPipelineExecutablePropertiesKHR { 10506 VkStructureType sType; 10507 void* pNext; 10508 VkShaderStageFlags stages; 10509 char name[VK_MAX_DESCRIPTION_SIZE]; 10510 char description[VK_MAX_DESCRIPTION_SIZE]; 10511 uint32_t subgroupSize; 10512 } VkPipelineExecutablePropertiesKHR; 10513 10514 typedef struct VkPipelineExecutableInfoKHR { 10515 VkStructureType sType; 10516 const void* pNext; 10517 VkPipeline pipeline; 10518 uint32_t executableIndex; 10519 } VkPipelineExecutableInfoKHR; 10520 10521 typedef union VkPipelineExecutableStatisticValueKHR { 10522 VkBool32 b32; 10523 int64_t i64; 10524 uint64_t u64; 10525 double f64; 10526 } VkPipelineExecutableStatisticValueKHR; 10527 10528 typedef struct VkPipelineExecutableStatisticKHR { 10529 VkStructureType sType; 10530 void* pNext; 10531 char name[VK_MAX_DESCRIPTION_SIZE]; 10532 char description[VK_MAX_DESCRIPTION_SIZE]; 10533 VkPipelineExecutableStatisticFormatKHR format; 10534 VkPipelineExecutableStatisticValueKHR value; 10535 } VkPipelineExecutableStatisticKHR; 10536 10537 typedef struct VkPipelineExecutableInternalRepresentationKHR { 10538 VkStructureType sType; 10539 void* pNext; 10540 char name[VK_MAX_DESCRIPTION_SIZE]; 10541 char description[VK_MAX_DESCRIPTION_SIZE]; 10542 VkBool32 isText; 10543 size_t dataSize; 10544 void* pData; 10545 } VkPipelineExecutableInternalRepresentationKHR; 10546 10547 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 10548 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 10549 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10550 10551 #ifndef VK_NO_PROTOTYPES 10552 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 10553 VkDevice device, 10554 const VkPipelineInfoKHR* pPipelineInfo, 10555 uint32_t* pExecutableCount, 10556 VkPipelineExecutablePropertiesKHR* pProperties); 10557 10558 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 10559 VkDevice device, 10560 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10561 uint32_t* pStatisticCount, 10562 VkPipelineExecutableStatisticKHR* pStatistics); 10563 10564 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 10565 VkDevice device, 10566 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10567 uint32_t* pInternalRepresentationCount, 10568 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10569 #endif 10570 10571 10572 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 10573 #define VK_KHR_map_memory2 1 10574 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 10575 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 10576 10577 typedef enum VkMemoryUnmapFlagBitsKHR { 10578 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 10579 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10580 } VkMemoryUnmapFlagBitsKHR; 10581 typedef VkFlags VkMemoryUnmapFlagsKHR; 10582 typedef struct VkMemoryMapInfoKHR { 10583 VkStructureType sType; 10584 const void* pNext; 10585 VkMemoryMapFlags flags; 10586 VkDeviceMemory memory; 10587 VkDeviceSize offset; 10588 VkDeviceSize size; 10589 } VkMemoryMapInfoKHR; 10590 10591 typedef struct VkMemoryUnmapInfoKHR { 10592 VkStructureType sType; 10593 const void* pNext; 10594 VkMemoryUnmapFlagsKHR flags; 10595 VkDeviceMemory memory; 10596 } VkMemoryUnmapInfoKHR; 10597 10598 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); 10599 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10600 10601 #ifndef VK_NO_PROTOTYPES 10602 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 10603 VkDevice device, 10604 const VkMemoryMapInfoKHR* pMemoryMapInfo, 10605 void** ppData); 10606 10607 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 10608 VkDevice device, 10609 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10610 #endif 10611 10612 10613 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 10614 #define VK_KHR_shader_integer_dot_product 1 10615 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 10616 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 10617 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 10618 10619 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 10620 10621 10622 10623 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 10624 #define VK_KHR_pipeline_library 1 10625 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 10626 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 10627 typedef struct VkPipelineLibraryCreateInfoKHR { 10628 VkStructureType sType; 10629 const void* pNext; 10630 uint32_t libraryCount; 10631 const VkPipeline* pLibraries; 10632 } VkPipelineLibraryCreateInfoKHR; 10633 10634 10635 10636 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 10637 #define VK_KHR_shader_non_semantic_info 1 10638 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 10639 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 10640 10641 10642 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 10643 #define VK_KHR_present_id 1 10644 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 10645 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 10646 typedef struct VkPresentIdKHR { 10647 VkStructureType sType; 10648 const void* pNext; 10649 uint32_t swapchainCount; 10650 const uint64_t* pPresentIds; 10651 } VkPresentIdKHR; 10652 10653 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 10654 VkStructureType sType; 10655 void* pNext; 10656 VkBool32 presentId; 10657 } VkPhysicalDevicePresentIdFeaturesKHR; 10658 10659 10660 10661 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 10662 #define VK_KHR_video_encode_queue 1 10663 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 10664 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 10665 10666 typedef enum VkVideoEncodeTuningModeKHR { 10667 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 10668 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 10669 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 10670 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 10671 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 10672 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 10673 } VkVideoEncodeTuningModeKHR; 10674 typedef VkFlags VkVideoEncodeFlagsKHR; 10675 10676 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 10677 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 10678 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 10679 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10680 } VkVideoEncodeCapabilityFlagBitsKHR; 10681 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 10682 10683 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 10684 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 10685 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 10686 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 10687 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 10688 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10689 } VkVideoEncodeRateControlModeFlagBitsKHR; 10690 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 10691 10692 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 10693 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 10694 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 10695 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 10696 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10697 } VkVideoEncodeFeedbackFlagBitsKHR; 10698 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 10699 10700 typedef enum VkVideoEncodeUsageFlagBitsKHR { 10701 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 10702 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 10703 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 10704 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 10705 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 10706 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10707 } VkVideoEncodeUsageFlagBitsKHR; 10708 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 10709 10710 typedef enum VkVideoEncodeContentFlagBitsKHR { 10711 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 10712 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 10713 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 10714 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 10715 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10716 } VkVideoEncodeContentFlagBitsKHR; 10717 typedef VkFlags VkVideoEncodeContentFlagsKHR; 10718 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 10719 typedef struct VkVideoEncodeInfoKHR { 10720 VkStructureType sType; 10721 const void* pNext; 10722 VkVideoEncodeFlagsKHR flags; 10723 VkBuffer dstBuffer; 10724 VkDeviceSize dstBufferOffset; 10725 VkDeviceSize dstBufferRange; 10726 VkVideoPictureResourceInfoKHR srcPictureResource; 10727 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 10728 uint32_t referenceSlotCount; 10729 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 10730 uint32_t precedingExternallyEncodedBytes; 10731 } VkVideoEncodeInfoKHR; 10732 10733 typedef struct VkVideoEncodeCapabilitiesKHR { 10734 VkStructureType sType; 10735 void* pNext; 10736 VkVideoEncodeCapabilityFlagsKHR flags; 10737 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 10738 uint32_t maxRateControlLayers; 10739 uint64_t maxBitrate; 10740 uint32_t maxQualityLevels; 10741 VkExtent2D encodeInputPictureGranularity; 10742 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 10743 } VkVideoEncodeCapabilitiesKHR; 10744 10745 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 10746 VkStructureType sType; 10747 const void* pNext; 10748 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 10749 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 10750 10751 typedef struct VkVideoEncodeUsageInfoKHR { 10752 VkStructureType sType; 10753 const void* pNext; 10754 VkVideoEncodeUsageFlagsKHR videoUsageHints; 10755 VkVideoEncodeContentFlagsKHR videoContentHints; 10756 VkVideoEncodeTuningModeKHR tuningMode; 10757 } VkVideoEncodeUsageInfoKHR; 10758 10759 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 10760 VkStructureType sType; 10761 const void* pNext; 10762 uint64_t averageBitrate; 10763 uint64_t maxBitrate; 10764 uint32_t frameRateNumerator; 10765 uint32_t frameRateDenominator; 10766 } VkVideoEncodeRateControlLayerInfoKHR; 10767 10768 typedef struct VkVideoEncodeRateControlInfoKHR { 10769 VkStructureType sType; 10770 const void* pNext; 10771 VkVideoEncodeRateControlFlagsKHR flags; 10772 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 10773 uint32_t layerCount; 10774 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 10775 uint32_t virtualBufferSizeInMs; 10776 uint32_t initialVirtualBufferSizeInMs; 10777 } VkVideoEncodeRateControlInfoKHR; 10778 10779 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 10780 VkStructureType sType; 10781 const void* pNext; 10782 const VkVideoProfileInfoKHR* pVideoProfile; 10783 uint32_t qualityLevel; 10784 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 10785 10786 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 10787 VkStructureType sType; 10788 void* pNext; 10789 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 10790 uint32_t preferredRateControlLayerCount; 10791 } VkVideoEncodeQualityLevelPropertiesKHR; 10792 10793 typedef struct VkVideoEncodeQualityLevelInfoKHR { 10794 VkStructureType sType; 10795 const void* pNext; 10796 uint32_t qualityLevel; 10797 } VkVideoEncodeQualityLevelInfoKHR; 10798 10799 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 10800 VkStructureType sType; 10801 const void* pNext; 10802 VkVideoSessionParametersKHR videoSessionParameters; 10803 } VkVideoEncodeSessionParametersGetInfoKHR; 10804 10805 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 10806 VkStructureType sType; 10807 void* pNext; 10808 VkBool32 hasOverrides; 10809 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 10810 10811 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10812 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 10813 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 10814 10815 #ifndef VK_NO_PROTOTYPES 10816 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 10817 VkPhysicalDevice physicalDevice, 10818 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 10819 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10820 10821 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 10822 VkDevice device, 10823 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 10824 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 10825 size_t* pDataSize, 10826 void* pData); 10827 10828 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 10829 VkCommandBuffer commandBuffer, 10830 const VkVideoEncodeInfoKHR* pEncodeInfo); 10831 #endif 10832 10833 10834 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 10835 #define VK_KHR_synchronization2 1 10836 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 10837 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 10838 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 10839 10840 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 10841 10842 typedef VkAccessFlags2 VkAccessFlags2KHR; 10843 10844 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 10845 10846 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 10847 10848 typedef VkSubmitFlags VkSubmitFlagsKHR; 10849 10850 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 10851 10852 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 10853 10854 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 10855 10856 typedef VkDependencyInfo VkDependencyInfoKHR; 10857 10858 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 10859 10860 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 10861 10862 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 10863 10864 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 10865 10866 typedef struct VkQueueFamilyCheckpointProperties2NV { 10867 VkStructureType sType; 10868 void* pNext; 10869 VkPipelineStageFlags2 checkpointExecutionStageMask; 10870 } VkQueueFamilyCheckpointProperties2NV; 10871 10872 typedef struct VkCheckpointData2NV { 10873 VkStructureType sType; 10874 void* pNext; 10875 VkPipelineStageFlags2 stage; 10876 void* pCheckpointMarker; 10877 } VkCheckpointData2NV; 10878 10879 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 10880 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 10881 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 10882 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 10883 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 10884 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 10885 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 10886 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 10887 10888 #ifndef VK_NO_PROTOTYPES 10889 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 10890 VkCommandBuffer commandBuffer, 10891 VkEvent event, 10892 const VkDependencyInfo* pDependencyInfo); 10893 10894 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 10895 VkCommandBuffer commandBuffer, 10896 VkEvent event, 10897 VkPipelineStageFlags2 stageMask); 10898 10899 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 10900 VkCommandBuffer commandBuffer, 10901 uint32_t eventCount, 10902 const VkEvent* pEvents, 10903 const VkDependencyInfo* pDependencyInfos); 10904 10905 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 10906 VkCommandBuffer commandBuffer, 10907 const VkDependencyInfo* pDependencyInfo); 10908 10909 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 10910 VkCommandBuffer commandBuffer, 10911 VkPipelineStageFlags2 stage, 10912 VkQueryPool queryPool, 10913 uint32_t query); 10914 10915 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 10916 VkQueue queue, 10917 uint32_t submitCount, 10918 const VkSubmitInfo2* pSubmits, 10919 VkFence fence); 10920 10921 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 10922 VkCommandBuffer commandBuffer, 10923 VkPipelineStageFlags2 stage, 10924 VkBuffer dstBuffer, 10925 VkDeviceSize dstOffset, 10926 uint32_t marker); 10927 10928 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 10929 VkQueue queue, 10930 uint32_t* pCheckpointDataCount, 10931 VkCheckpointData2NV* pCheckpointData); 10932 #endif 10933 10934 10935 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 10936 #define VK_KHR_fragment_shader_barycentric 1 10937 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 10938 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 10939 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 10940 VkStructureType sType; 10941 void* pNext; 10942 VkBool32 fragmentShaderBarycentric; 10943 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 10944 10945 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 10946 VkStructureType sType; 10947 void* pNext; 10948 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 10949 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 10950 10951 10952 10953 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 10954 #define VK_KHR_shader_subgroup_uniform_control_flow 1 10955 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 10956 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 10957 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 10958 VkStructureType sType; 10959 void* pNext; 10960 VkBool32 shaderSubgroupUniformControlFlow; 10961 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 10962 10963 10964 10965 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 10966 #define VK_KHR_zero_initialize_workgroup_memory 1 10967 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 10968 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 10969 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 10970 10971 10972 10973 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 10974 #define VK_KHR_workgroup_memory_explicit_layout 1 10975 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 10976 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 10977 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 10978 VkStructureType sType; 10979 void* pNext; 10980 VkBool32 workgroupMemoryExplicitLayout; 10981 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 10982 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 10983 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 10984 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 10985 10986 10987 10988 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 10989 #define VK_KHR_copy_commands2 1 10990 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 10991 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 10992 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 10993 10994 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 10995 10996 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 10997 10998 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 10999 11000 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 11001 11002 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 11003 11004 typedef VkBufferCopy2 VkBufferCopy2KHR; 11005 11006 typedef VkImageCopy2 VkImageCopy2KHR; 11007 11008 typedef VkImageBlit2 VkImageBlit2KHR; 11009 11010 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 11011 11012 typedef VkImageResolve2 VkImageResolve2KHR; 11013 11014 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 11015 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 11016 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11017 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11018 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 11019 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 11020 11021 #ifndef VK_NO_PROTOTYPES 11022 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 11023 VkCommandBuffer commandBuffer, 11024 const VkCopyBufferInfo2* pCopyBufferInfo); 11025 11026 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 11027 VkCommandBuffer commandBuffer, 11028 const VkCopyImageInfo2* pCopyImageInfo); 11029 11030 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 11031 VkCommandBuffer commandBuffer, 11032 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11033 11034 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 11035 VkCommandBuffer commandBuffer, 11036 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11037 11038 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 11039 VkCommandBuffer commandBuffer, 11040 const VkBlitImageInfo2* pBlitImageInfo); 11041 11042 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 11043 VkCommandBuffer commandBuffer, 11044 const VkResolveImageInfo2* pResolveImageInfo); 11045 #endif 11046 11047 11048 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 11049 #define VK_KHR_format_feature_flags2 1 11050 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11051 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11052 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11053 11054 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11055 11056 typedef VkFormatProperties3 VkFormatProperties3KHR; 11057 11058 11059 11060 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11061 #define VK_KHR_ray_tracing_maintenance1 1 11062 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11063 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11064 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11065 VkStructureType sType; 11066 void* pNext; 11067 VkBool32 rayTracingMaintenance1; 11068 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11069 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11070 11071 typedef struct VkTraceRaysIndirectCommand2KHR { 11072 VkDeviceAddress raygenShaderRecordAddress; 11073 VkDeviceSize raygenShaderRecordSize; 11074 VkDeviceAddress missShaderBindingTableAddress; 11075 VkDeviceSize missShaderBindingTableSize; 11076 VkDeviceSize missShaderBindingTableStride; 11077 VkDeviceAddress hitShaderBindingTableAddress; 11078 VkDeviceSize hitShaderBindingTableSize; 11079 VkDeviceSize hitShaderBindingTableStride; 11080 VkDeviceAddress callableShaderBindingTableAddress; 11081 VkDeviceSize callableShaderBindingTableSize; 11082 VkDeviceSize callableShaderBindingTableStride; 11083 uint32_t width; 11084 uint32_t height; 11085 uint32_t depth; 11086 } VkTraceRaysIndirectCommand2KHR; 11087 11088 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11089 11090 #ifndef VK_NO_PROTOTYPES 11091 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11092 VkCommandBuffer commandBuffer, 11093 VkDeviceAddress indirectDeviceAddress); 11094 #endif 11095 11096 11097 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11098 #define VK_KHR_portability_enumeration 1 11099 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11100 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11101 11102 11103 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11104 #define VK_KHR_maintenance4 1 11105 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11106 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11107 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11108 11109 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11110 11111 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11112 11113 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11114 11115 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11116 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11117 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11118 11119 #ifndef VK_NO_PROTOTYPES 11120 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11121 VkDevice device, 11122 const VkDeviceBufferMemoryRequirements* pInfo, 11123 VkMemoryRequirements2* pMemoryRequirements); 11124 11125 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11126 VkDevice device, 11127 const VkDeviceImageMemoryRequirements* pInfo, 11128 VkMemoryRequirements2* pMemoryRequirements); 11129 11130 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11131 VkDevice device, 11132 const VkDeviceImageMemoryRequirements* pInfo, 11133 uint32_t* pSparseMemoryRequirementCount, 11134 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11135 #endif 11136 11137 11138 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11139 #define VK_KHR_shader_subgroup_rotate 1 11140 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11141 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11142 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR { 11143 VkStructureType sType; 11144 void* pNext; 11145 VkBool32 shaderSubgroupRotate; 11146 VkBool32 shaderSubgroupRotateClustered; 11147 } VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11148 11149 11150 11151 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11152 #define VK_KHR_shader_maximal_reconvergence 1 11153 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11154 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11155 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11156 VkStructureType sType; 11157 void* pNext; 11158 VkBool32 shaderMaximalReconvergence; 11159 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11160 11161 11162 11163 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11164 #define VK_KHR_maintenance5 1 11165 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11166 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11167 typedef VkFlags64 VkPipelineCreateFlags2KHR; 11168 11169 // Flag bits for VkPipelineCreateFlagBits2KHR 11170 typedef VkFlags64 VkPipelineCreateFlagBits2KHR; 11171 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 11172 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 11173 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 11174 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; 11175 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 11176 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 11177 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 11178 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 11179 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 11180 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 11181 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 11182 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 11183 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 11184 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 11185 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 11186 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 11187 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 11188 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 11189 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 11190 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 11191 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 11192 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 11193 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 11194 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 11195 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 11196 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 11197 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 11198 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 11199 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 11200 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 11201 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 11202 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 11203 static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; 11204 11205 typedef VkFlags64 VkBufferUsageFlags2KHR; 11206 11207 // Flag bits for VkBufferUsageFlagBits2KHR 11208 typedef VkFlags64 VkBufferUsageFlagBits2KHR; 11209 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 11210 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 11211 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 11212 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 11213 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 11214 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 11215 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 11216 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 11217 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 11218 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 11219 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 11220 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 11221 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 11222 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 11223 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 11224 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 11225 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 11226 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 11227 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 11228 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 11229 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 11230 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 11231 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 11232 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 11233 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 11234 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 11235 static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 11236 11237 typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR { 11238 VkStructureType sType; 11239 void* pNext; 11240 VkBool32 maintenance5; 11241 } VkPhysicalDeviceMaintenance5FeaturesKHR; 11242 11243 typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR { 11244 VkStructureType sType; 11245 void* pNext; 11246 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 11247 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 11248 VkBool32 depthStencilSwizzleOneSupport; 11249 VkBool32 polygonModePointSize; 11250 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 11251 VkBool32 nonStrictWideLinesUseParallelogram; 11252 } VkPhysicalDeviceMaintenance5PropertiesKHR; 11253 11254 typedef struct VkRenderingAreaInfoKHR { 11255 VkStructureType sType; 11256 const void* pNext; 11257 uint32_t viewMask; 11258 uint32_t colorAttachmentCount; 11259 const VkFormat* pColorAttachmentFormats; 11260 VkFormat depthAttachmentFormat; 11261 VkFormat stencilAttachmentFormat; 11262 } VkRenderingAreaInfoKHR; 11263 11264 typedef struct VkImageSubresource2KHR { 11265 VkStructureType sType; 11266 void* pNext; 11267 VkImageSubresource imageSubresource; 11268 } VkImageSubresource2KHR; 11269 11270 typedef struct VkDeviceImageSubresourceInfoKHR { 11271 VkStructureType sType; 11272 const void* pNext; 11273 const VkImageCreateInfo* pCreateInfo; 11274 const VkImageSubresource2KHR* pSubresource; 11275 } VkDeviceImageSubresourceInfoKHR; 11276 11277 typedef struct VkSubresourceLayout2KHR { 11278 VkStructureType sType; 11279 void* pNext; 11280 VkSubresourceLayout subresourceLayout; 11281 } VkSubresourceLayout2KHR; 11282 11283 typedef struct VkPipelineCreateFlags2CreateInfoKHR { 11284 VkStructureType sType; 11285 const void* pNext; 11286 VkPipelineCreateFlags2KHR flags; 11287 } VkPipelineCreateFlags2CreateInfoKHR; 11288 11289 typedef struct VkBufferUsageFlags2CreateInfoKHR { 11290 VkStructureType sType; 11291 const void* pNext; 11292 VkBufferUsageFlags2KHR usage; 11293 } VkBufferUsageFlags2CreateInfoKHR; 11294 11295 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11296 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity); 11297 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout); 11298 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 11299 11300 #ifndef VK_NO_PROTOTYPES 11301 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11302 VkCommandBuffer commandBuffer, 11303 VkBuffer buffer, 11304 VkDeviceSize offset, 11305 VkDeviceSize size, 11306 VkIndexType indexType); 11307 11308 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11309 VkDevice device, 11310 const VkRenderingAreaInfoKHR* pRenderingAreaInfo, 11311 VkExtent2D* pGranularity); 11312 11313 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11314 VkDevice device, 11315 const VkDeviceImageSubresourceInfoKHR* pInfo, 11316 VkSubresourceLayout2KHR* pLayout); 11317 11318 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11319 VkDevice device, 11320 VkImage image, 11321 const VkImageSubresource2KHR* pSubresource, 11322 VkSubresourceLayout2KHR* pLayout); 11323 #endif 11324 11325 11326 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11327 #define VK_KHR_ray_tracing_position_fetch 1 11328 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11329 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11330 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11331 VkStructureType sType; 11332 void* pNext; 11333 VkBool32 rayTracingPositionFetch; 11334 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11335 11336 11337 11338 // VK_KHR_pipeline_binary is a preprocessor guard. Do not pass it to API calls. 11339 #define VK_KHR_pipeline_binary 1 11340 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) 11341 #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32U 11342 #define VK_KHR_PIPELINE_BINARY_SPEC_VERSION 1 11343 #define VK_KHR_PIPELINE_BINARY_EXTENSION_NAME "VK_KHR_pipeline_binary" 11344 typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR { 11345 VkStructureType sType; 11346 void* pNext; 11347 VkBool32 pipelineBinaries; 11348 } VkPhysicalDevicePipelineBinaryFeaturesKHR; 11349 11350 typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR { 11351 VkStructureType sType; 11352 void* pNext; 11353 VkBool32 pipelineBinaryInternalCache; 11354 VkBool32 pipelineBinaryInternalCacheControl; 11355 VkBool32 pipelineBinaryPrefersInternalCache; 11356 VkBool32 pipelineBinaryPrecompiledInternalCache; 11357 VkBool32 pipelineBinaryCompressedData; 11358 } VkPhysicalDevicePipelineBinaryPropertiesKHR; 11359 11360 typedef struct VkDevicePipelineBinaryInternalCacheControlKHR { 11361 VkStructureType sType; 11362 const void* pNext; 11363 VkBool32 disableInternalCache; 11364 } VkDevicePipelineBinaryInternalCacheControlKHR; 11365 11366 typedef struct VkPipelineBinaryKeyKHR { 11367 VkStructureType sType; 11368 void* pNext; 11369 uint32_t keySize; 11370 uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR]; 11371 } VkPipelineBinaryKeyKHR; 11372 11373 typedef struct VkPipelineBinaryDataKHR { 11374 size_t dataSize; 11375 void* pData; 11376 } VkPipelineBinaryDataKHR; 11377 11378 typedef struct VkPipelineBinaryKeysAndDataKHR { 11379 uint32_t binaryCount; 11380 const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys; 11381 const VkPipelineBinaryDataKHR* pPipelineBinaryData; 11382 } VkPipelineBinaryKeysAndDataKHR; 11383 11384 typedef struct VkPipelineCreateInfoKHR { 11385 VkStructureType sType; 11386 void* pNext; 11387 } VkPipelineCreateInfoKHR; 11388 11389 typedef struct VkPipelineBinaryCreateInfoKHR { 11390 VkStructureType sType; 11391 const void* pNext; 11392 const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo; 11393 VkPipeline pipeline; 11394 const VkPipelineCreateInfoKHR* pPipelineCreateInfo; 11395 } VkPipelineBinaryCreateInfoKHR; 11396 11397 typedef struct VkPipelineBinaryInfoKHR { 11398 VkStructureType sType; 11399 const void* pNext; 11400 uint32_t binaryCount; 11401 const VkPipelineBinaryKHR* pPipelineBinaries; 11402 } VkPipelineBinaryInfoKHR; 11403 11404 typedef struct VkReleaseCapturedPipelineDataInfoKHR { 11405 VkStructureType sType; 11406 void* pNext; 11407 VkPipeline pipeline; 11408 } VkReleaseCapturedPipelineDataInfoKHR; 11409 11410 typedef struct VkPipelineBinaryDataInfoKHR { 11411 VkStructureType sType; 11412 void* pNext; 11413 VkPipelineBinaryKHR pipelineBinary; 11414 } VkPipelineBinaryDataInfoKHR; 11415 11416 typedef struct VkPipelineBinaryHandlesInfoKHR { 11417 VkStructureType sType; 11418 const void* pNext; 11419 uint32_t pipelineBinaryCount; 11420 VkPipelineBinaryKHR* pPipelineBinaries; 11421 } VkPipelineBinaryHandlesInfoKHR; 11422 11423 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineBinariesKHR)(VkDevice device, const VkPipelineBinaryCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineBinaryHandlesInfoKHR* pBinaries); 11424 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineBinaryKHR)(VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks* pAllocator); 11425 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineKeyKHR)(VkDevice device, const VkPipelineCreateInfoKHR* pPipelineCreateInfo, VkPipelineBinaryKeyKHR* pPipelineKey); 11426 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineBinaryDataKHR)(VkDevice device, const VkPipelineBinaryDataInfoKHR* pInfo, VkPipelineBinaryKeyKHR* pPipelineBinaryKey, size_t* pPipelineBinaryDataSize, void* pPipelineBinaryData); 11427 typedef VkResult (VKAPI_PTR *PFN_vkReleaseCapturedPipelineDataKHR)(VkDevice device, const VkReleaseCapturedPipelineDataInfoKHR* pInfo, const VkAllocationCallbacks* pAllocator); 11428 11429 #ifndef VK_NO_PROTOTYPES 11430 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineBinariesKHR( 11431 VkDevice device, 11432 const VkPipelineBinaryCreateInfoKHR* pCreateInfo, 11433 const VkAllocationCallbacks* pAllocator, 11434 VkPipelineBinaryHandlesInfoKHR* pBinaries); 11435 11436 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineBinaryKHR( 11437 VkDevice device, 11438 VkPipelineBinaryKHR pipelineBinary, 11439 const VkAllocationCallbacks* pAllocator); 11440 11441 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineKeyKHR( 11442 VkDevice device, 11443 const VkPipelineCreateInfoKHR* pPipelineCreateInfo, 11444 VkPipelineBinaryKeyKHR* pPipelineKey); 11445 11446 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineBinaryDataKHR( 11447 VkDevice device, 11448 const VkPipelineBinaryDataInfoKHR* pInfo, 11449 VkPipelineBinaryKeyKHR* pPipelineBinaryKey, 11450 size_t* pPipelineBinaryDataSize, 11451 void* pPipelineBinaryData); 11452 11453 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseCapturedPipelineDataKHR( 11454 VkDevice device, 11455 const VkReleaseCapturedPipelineDataInfoKHR* pInfo, 11456 const VkAllocationCallbacks* pAllocator); 11457 #endif 11458 11459 11460 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 11461 #define VK_KHR_cooperative_matrix 1 11462 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 11463 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 11464 11465 typedef enum VkComponentTypeKHR { 11466 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 11467 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 11468 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 11469 VK_COMPONENT_TYPE_SINT8_KHR = 3, 11470 VK_COMPONENT_TYPE_SINT16_KHR = 4, 11471 VK_COMPONENT_TYPE_SINT32_KHR = 5, 11472 VK_COMPONENT_TYPE_SINT64_KHR = 6, 11473 VK_COMPONENT_TYPE_UINT8_KHR = 7, 11474 VK_COMPONENT_TYPE_UINT16_KHR = 8, 11475 VK_COMPONENT_TYPE_UINT32_KHR = 9, 11476 VK_COMPONENT_TYPE_UINT64_KHR = 10, 11477 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 11478 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 11479 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 11480 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 11481 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 11482 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 11483 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 11484 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 11485 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 11486 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 11487 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 11488 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11489 } VkComponentTypeKHR; 11490 11491 typedef enum VkScopeKHR { 11492 VK_SCOPE_DEVICE_KHR = 1, 11493 VK_SCOPE_WORKGROUP_KHR = 2, 11494 VK_SCOPE_SUBGROUP_KHR = 3, 11495 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 11496 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 11497 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 11498 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 11499 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 11500 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 11501 } VkScopeKHR; 11502 typedef struct VkCooperativeMatrixPropertiesKHR { 11503 VkStructureType sType; 11504 void* pNext; 11505 uint32_t MSize; 11506 uint32_t NSize; 11507 uint32_t KSize; 11508 VkComponentTypeKHR AType; 11509 VkComponentTypeKHR BType; 11510 VkComponentTypeKHR CType; 11511 VkComponentTypeKHR ResultType; 11512 VkBool32 saturatingAccumulation; 11513 VkScopeKHR scope; 11514 } VkCooperativeMatrixPropertiesKHR; 11515 11516 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 11517 VkStructureType sType; 11518 void* pNext; 11519 VkBool32 cooperativeMatrix; 11520 VkBool32 cooperativeMatrixRobustBufferAccess; 11521 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 11522 11523 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 11524 VkStructureType sType; 11525 void* pNext; 11526 VkShaderStageFlags cooperativeMatrixSupportedStages; 11527 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 11528 11529 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 11530 11531 #ifndef VK_NO_PROTOTYPES 11532 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 11533 VkPhysicalDevice physicalDevice, 11534 uint32_t* pPropertyCount, 11535 VkCooperativeMatrixPropertiesKHR* pProperties); 11536 #endif 11537 11538 11539 // VK_KHR_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 11540 #define VK_KHR_compute_shader_derivatives 1 11541 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 11542 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_KHR_compute_shader_derivatives" 11543 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR { 11544 VkStructureType sType; 11545 void* pNext; 11546 VkBool32 computeDerivativeGroupQuads; 11547 VkBool32 computeDerivativeGroupLinear; 11548 } VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR; 11549 11550 typedef struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR { 11551 VkStructureType sType; 11552 void* pNext; 11553 VkBool32 meshAndTaskShaderDerivatives; 11554 } VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR; 11555 11556 11557 11558 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 11559 #define VK_KHR_video_decode_av1 1 11560 #include "vk_video/vulkan_video_codec_av1std.h" 11561 #include "vk_video/vulkan_video_codec_av1std_decode.h" 11562 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 11563 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 11564 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 11565 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 11566 VkStructureType sType; 11567 const void* pNext; 11568 StdVideoAV1Profile stdProfile; 11569 VkBool32 filmGrainSupport; 11570 } VkVideoDecodeAV1ProfileInfoKHR; 11571 11572 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 11573 VkStructureType sType; 11574 void* pNext; 11575 StdVideoAV1Level maxLevel; 11576 } VkVideoDecodeAV1CapabilitiesKHR; 11577 11578 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 11579 VkStructureType sType; 11580 const void* pNext; 11581 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 11582 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 11583 11584 typedef struct VkVideoDecodeAV1PictureInfoKHR { 11585 VkStructureType sType; 11586 const void* pNext; 11587 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 11588 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 11589 uint32_t frameHeaderOffset; 11590 uint32_t tileCount; 11591 const uint32_t* pTileOffsets; 11592 const uint32_t* pTileSizes; 11593 } VkVideoDecodeAV1PictureInfoKHR; 11594 11595 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 11596 VkStructureType sType; 11597 const void* pNext; 11598 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 11599 } VkVideoDecodeAV1DpbSlotInfoKHR; 11600 11601 11602 11603 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11604 #define VK_KHR_video_maintenance1 1 11605 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 11606 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 11607 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 11608 VkStructureType sType; 11609 void* pNext; 11610 VkBool32 videoMaintenance1; 11611 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 11612 11613 typedef struct VkVideoInlineQueryInfoKHR { 11614 VkStructureType sType; 11615 const void* pNext; 11616 VkQueryPool queryPool; 11617 uint32_t firstQuery; 11618 uint32_t queryCount; 11619 } VkVideoInlineQueryInfoKHR; 11620 11621 11622 11623 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11624 #define VK_KHR_vertex_attribute_divisor 1 11625 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 11626 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 11627 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR { 11628 VkStructureType sType; 11629 void* pNext; 11630 uint32_t maxVertexAttribDivisor; 11631 VkBool32 supportsNonZeroFirstInstance; 11632 } VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 11633 11634 typedef struct VkVertexInputBindingDivisorDescriptionKHR { 11635 uint32_t binding; 11636 uint32_t divisor; 11637 } VkVertexInputBindingDivisorDescriptionKHR; 11638 11639 typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR { 11640 VkStructureType sType; 11641 const void* pNext; 11642 uint32_t vertexBindingDivisorCount; 11643 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors; 11644 } VkPipelineVertexInputDivisorStateCreateInfoKHR; 11645 11646 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { 11647 VkStructureType sType; 11648 void* pNext; 11649 VkBool32 vertexAttributeInstanceRateDivisor; 11650 VkBool32 vertexAttributeInstanceRateZeroDivisor; 11651 } VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 11652 11653 11654 11655 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 11656 #define VK_KHR_load_store_op_none 1 11657 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 11658 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 11659 11660 11661 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 11662 #define VK_KHR_shader_float_controls2 1 11663 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 11664 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 11665 typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR { 11666 VkStructureType sType; 11667 void* pNext; 11668 VkBool32 shaderFloatControls2; 11669 } VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 11670 11671 11672 11673 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 11674 #define VK_KHR_index_type_uint8 1 11675 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 11676 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 11677 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR { 11678 VkStructureType sType; 11679 void* pNext; 11680 VkBool32 indexTypeUint8; 11681 } VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 11682 11683 11684 11685 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 11686 #define VK_KHR_line_rasterization 1 11687 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 11688 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 11689 11690 typedef enum VkLineRasterizationModeKHR { 11691 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0, 11692 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1, 11693 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2, 11694 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3, 11695 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, 11696 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, 11697 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, 11698 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, 11699 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11700 } VkLineRasterizationModeKHR; 11701 typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR { 11702 VkStructureType sType; 11703 void* pNext; 11704 VkBool32 rectangularLines; 11705 VkBool32 bresenhamLines; 11706 VkBool32 smoothLines; 11707 VkBool32 stippledRectangularLines; 11708 VkBool32 stippledBresenhamLines; 11709 VkBool32 stippledSmoothLines; 11710 } VkPhysicalDeviceLineRasterizationFeaturesKHR; 11711 11712 typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR { 11713 VkStructureType sType; 11714 void* pNext; 11715 uint32_t lineSubPixelPrecisionBits; 11716 } VkPhysicalDeviceLineRasterizationPropertiesKHR; 11717 11718 typedef struct VkPipelineRasterizationLineStateCreateInfoKHR { 11719 VkStructureType sType; 11720 const void* pNext; 11721 VkLineRasterizationModeKHR lineRasterizationMode; 11722 VkBool32 stippledLineEnable; 11723 uint32_t lineStippleFactor; 11724 uint16_t lineStipplePattern; 11725 } VkPipelineRasterizationLineStateCreateInfoKHR; 11726 11727 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 11728 11729 #ifndef VK_NO_PROTOTYPES 11730 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 11731 VkCommandBuffer commandBuffer, 11732 uint32_t lineStippleFactor, 11733 uint16_t lineStipplePattern); 11734 #endif 11735 11736 11737 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11738 #define VK_KHR_calibrated_timestamps 1 11739 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 11740 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 11741 11742 typedef enum VkTimeDomainKHR { 11743 VK_TIME_DOMAIN_DEVICE_KHR = 0, 11744 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 11745 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 11746 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 11747 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 11748 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 11749 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 11750 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 11751 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 11752 } VkTimeDomainKHR; 11753 typedef struct VkCalibratedTimestampInfoKHR { 11754 VkStructureType sType; 11755 const void* pNext; 11756 VkTimeDomainKHR timeDomain; 11757 } VkCalibratedTimestampInfoKHR; 11758 11759 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 11760 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11761 11762 #ifndef VK_NO_PROTOTYPES 11763 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 11764 VkPhysicalDevice physicalDevice, 11765 uint32_t* pTimeDomainCount, 11766 VkTimeDomainKHR* pTimeDomains); 11767 11768 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 11769 VkDevice device, 11770 uint32_t timestampCount, 11771 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11772 uint64_t* pTimestamps, 11773 uint64_t* pMaxDeviation); 11774 #endif 11775 11776 11777 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 11778 #define VK_KHR_shader_expect_assume 1 11779 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 11780 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 11781 typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR { 11782 VkStructureType sType; 11783 void* pNext; 11784 VkBool32 shaderExpectAssume; 11785 } VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 11786 11787 11788 11789 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 11790 #define VK_KHR_maintenance6 1 11791 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 11792 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 11793 typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR { 11794 VkStructureType sType; 11795 void* pNext; 11796 VkBool32 maintenance6; 11797 } VkPhysicalDeviceMaintenance6FeaturesKHR; 11798 11799 typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR { 11800 VkStructureType sType; 11801 void* pNext; 11802 VkBool32 blockTexelViewCompatibleMultipleLayers; 11803 uint32_t maxCombinedImageSamplerDescriptorCount; 11804 VkBool32 fragmentShadingRateClampCombinerInputs; 11805 } VkPhysicalDeviceMaintenance6PropertiesKHR; 11806 11807 typedef struct VkBindMemoryStatusKHR { 11808 VkStructureType sType; 11809 const void* pNext; 11810 VkResult* pResult; 11811 } VkBindMemoryStatusKHR; 11812 11813 typedef struct VkBindDescriptorSetsInfoKHR { 11814 VkStructureType sType; 11815 const void* pNext; 11816 VkShaderStageFlags stageFlags; 11817 VkPipelineLayout layout; 11818 uint32_t firstSet; 11819 uint32_t descriptorSetCount; 11820 const VkDescriptorSet* pDescriptorSets; 11821 uint32_t dynamicOffsetCount; 11822 const uint32_t* pDynamicOffsets; 11823 } VkBindDescriptorSetsInfoKHR; 11824 11825 typedef struct VkPushConstantsInfoKHR { 11826 VkStructureType sType; 11827 const void* pNext; 11828 VkPipelineLayout layout; 11829 VkShaderStageFlags stageFlags; 11830 uint32_t offset; 11831 uint32_t size; 11832 const void* pValues; 11833 } VkPushConstantsInfoKHR; 11834 11835 typedef struct VkPushDescriptorSetInfoKHR { 11836 VkStructureType sType; 11837 const void* pNext; 11838 VkShaderStageFlags stageFlags; 11839 VkPipelineLayout layout; 11840 uint32_t set; 11841 uint32_t descriptorWriteCount; 11842 const VkWriteDescriptorSet* pDescriptorWrites; 11843 } VkPushDescriptorSetInfoKHR; 11844 11845 typedef struct VkPushDescriptorSetWithTemplateInfoKHR { 11846 VkStructureType sType; 11847 const void* pNext; 11848 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 11849 VkPipelineLayout layout; 11850 uint32_t set; 11851 const void* pData; 11852 } VkPushDescriptorSetWithTemplateInfoKHR; 11853 11854 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 11855 VkStructureType sType; 11856 const void* pNext; 11857 VkShaderStageFlags stageFlags; 11858 VkPipelineLayout layout; 11859 uint32_t firstSet; 11860 uint32_t setCount; 11861 const uint32_t* pBufferIndices; 11862 const VkDeviceSize* pOffsets; 11863 } VkSetDescriptorBufferOffsetsInfoEXT; 11864 11865 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 11866 VkStructureType sType; 11867 const void* pNext; 11868 VkShaderStageFlags stageFlags; 11869 VkPipelineLayout layout; 11870 uint32_t set; 11871 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 11872 11873 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11874 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo); 11875 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11876 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11877 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11878 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11879 11880 #ifndef VK_NO_PROTOTYPES 11881 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 11882 VkCommandBuffer commandBuffer, 11883 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11884 11885 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 11886 VkCommandBuffer commandBuffer, 11887 const VkPushConstantsInfoKHR* pPushConstantsInfo); 11888 11889 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 11890 VkCommandBuffer commandBuffer, 11891 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11892 11893 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 11894 VkCommandBuffer commandBuffer, 11895 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11896 11897 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 11898 VkCommandBuffer commandBuffer, 11899 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11900 11901 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 11902 VkCommandBuffer commandBuffer, 11903 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11904 #endif 11905 11906 11907 // VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls. 11908 #define VK_KHR_shader_relaxed_extended_instruction 1 11909 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1 11910 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME "VK_KHR_shader_relaxed_extended_instruction" 11911 typedef struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR { 11912 VkStructureType sType; 11913 void* pNext; 11914 VkBool32 shaderRelaxedExtendedInstruction; 11915 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR; 11916 11917 11918 11919 // VK_KHR_maintenance7 is a preprocessor guard. Do not pass it to API calls. 11920 #define VK_KHR_maintenance7 1 11921 #define VK_KHR_MAINTENANCE_7_SPEC_VERSION 1 11922 #define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7" 11923 11924 typedef enum VkPhysicalDeviceLayeredApiKHR { 11925 VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0, 11926 VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1, 11927 VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2, 11928 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3, 11929 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4, 11930 VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR = 0x7FFFFFFF 11931 } VkPhysicalDeviceLayeredApiKHR; 11932 typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR { 11933 VkStructureType sType; 11934 void* pNext; 11935 VkBool32 maintenance7; 11936 } VkPhysicalDeviceMaintenance7FeaturesKHR; 11937 11938 typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR { 11939 VkStructureType sType; 11940 void* pNext; 11941 VkBool32 robustFragmentShadingRateAttachmentAccess; 11942 VkBool32 separateDepthStencilAttachmentAccess; 11943 uint32_t maxDescriptorSetTotalUniformBuffersDynamic; 11944 uint32_t maxDescriptorSetTotalStorageBuffersDynamic; 11945 uint32_t maxDescriptorSetTotalBuffersDynamic; 11946 uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic; 11947 uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic; 11948 uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic; 11949 } VkPhysicalDeviceMaintenance7PropertiesKHR; 11950 11951 typedef struct VkPhysicalDeviceLayeredApiPropertiesKHR { 11952 VkStructureType sType; 11953 void* pNext; 11954 uint32_t vendorID; 11955 uint32_t deviceID; 11956 VkPhysicalDeviceLayeredApiKHR layeredAPI; 11957 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 11958 } VkPhysicalDeviceLayeredApiPropertiesKHR; 11959 11960 typedef struct VkPhysicalDeviceLayeredApiPropertiesListKHR { 11961 VkStructureType sType; 11962 void* pNext; 11963 uint32_t layeredApiCount; 11964 VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis; 11965 } VkPhysicalDeviceLayeredApiPropertiesListKHR; 11966 11967 typedef struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR { 11968 VkStructureType sType; 11969 void* pNext; 11970 VkPhysicalDeviceProperties2 properties; 11971 } VkPhysicalDeviceLayeredApiVulkanPropertiesKHR; 11972 11973 11974 11975 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 11976 #define VK_EXT_debug_report 1 11977 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 11978 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 11979 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 11980 11981 typedef enum VkDebugReportObjectTypeEXT { 11982 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 11983 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 11984 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 11985 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 11986 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 11987 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 11988 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 11989 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 11990 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 11991 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 11992 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 11993 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 11994 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 11995 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 11996 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 11997 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 11998 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 11999 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 12000 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 12001 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 12002 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 12003 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 12004 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 12005 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 12006 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 12007 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 12008 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 12009 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 12010 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 12011 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 12012 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 12013 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 12014 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 12015 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 12016 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 12017 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 12018 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 12019 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 12020 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 12021 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 12022 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 12023 // VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a deprecated alias 12024 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 12025 // VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT is a deprecated alias 12026 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 12027 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 12028 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 12029 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12030 } VkDebugReportObjectTypeEXT; 12031 12032 typedef enum VkDebugReportFlagBitsEXT { 12033 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 12034 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 12035 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 12036 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 12037 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 12038 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12039 } VkDebugReportFlagBitsEXT; 12040 typedef VkFlags VkDebugReportFlagsEXT; 12041 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 12042 VkDebugReportFlagsEXT flags, 12043 VkDebugReportObjectTypeEXT objectType, 12044 uint64_t object, 12045 size_t location, 12046 int32_t messageCode, 12047 const char* pLayerPrefix, 12048 const char* pMessage, 12049 void* pUserData); 12050 12051 typedef struct VkDebugReportCallbackCreateInfoEXT { 12052 VkStructureType sType; 12053 const void* pNext; 12054 VkDebugReportFlagsEXT flags; 12055 PFN_vkDebugReportCallbackEXT pfnCallback; 12056 void* pUserData; 12057 } VkDebugReportCallbackCreateInfoEXT; 12058 12059 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 12060 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 12061 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); 12062 12063 #ifndef VK_NO_PROTOTYPES 12064 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 12065 VkInstance instance, 12066 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 12067 const VkAllocationCallbacks* pAllocator, 12068 VkDebugReportCallbackEXT* pCallback); 12069 12070 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 12071 VkInstance instance, 12072 VkDebugReportCallbackEXT callback, 12073 const VkAllocationCallbacks* pAllocator); 12074 12075 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 12076 VkInstance instance, 12077 VkDebugReportFlagsEXT flags, 12078 VkDebugReportObjectTypeEXT objectType, 12079 uint64_t object, 12080 size_t location, 12081 int32_t messageCode, 12082 const char* pLayerPrefix, 12083 const char* pMessage); 12084 #endif 12085 12086 12087 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 12088 #define VK_NV_glsl_shader 1 12089 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 12090 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 12091 12092 12093 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 12094 #define VK_EXT_depth_range_unrestricted 1 12095 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 12096 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 12097 12098 12099 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 12100 #define VK_IMG_filter_cubic 1 12101 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 12102 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 12103 12104 12105 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 12106 #define VK_AMD_rasterization_order 1 12107 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 12108 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 12109 12110 typedef enum VkRasterizationOrderAMD { 12111 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 12112 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 12113 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 12114 } VkRasterizationOrderAMD; 12115 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 12116 VkStructureType sType; 12117 const void* pNext; 12118 VkRasterizationOrderAMD rasterizationOrder; 12119 } VkPipelineRasterizationStateRasterizationOrderAMD; 12120 12121 12122 12123 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 12124 #define VK_AMD_shader_trinary_minmax 1 12125 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 12126 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 12127 12128 12129 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 12130 #define VK_AMD_shader_explicit_vertex_parameter 1 12131 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 12132 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 12133 12134 12135 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 12136 #define VK_EXT_debug_marker 1 12137 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 12138 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 12139 typedef struct VkDebugMarkerObjectNameInfoEXT { 12140 VkStructureType sType; 12141 const void* pNext; 12142 VkDebugReportObjectTypeEXT objectType; 12143 uint64_t object; 12144 const char* pObjectName; 12145 } VkDebugMarkerObjectNameInfoEXT; 12146 12147 typedef struct VkDebugMarkerObjectTagInfoEXT { 12148 VkStructureType sType; 12149 const void* pNext; 12150 VkDebugReportObjectTypeEXT objectType; 12151 uint64_t object; 12152 uint64_t tagName; 12153 size_t tagSize; 12154 const void* pTag; 12155 } VkDebugMarkerObjectTagInfoEXT; 12156 12157 typedef struct VkDebugMarkerMarkerInfoEXT { 12158 VkStructureType sType; 12159 const void* pNext; 12160 const char* pMarkerName; 12161 float color[4]; 12162 } VkDebugMarkerMarkerInfoEXT; 12163 12164 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12165 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12166 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12167 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 12168 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12169 12170 #ifndef VK_NO_PROTOTYPES 12171 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 12172 VkDevice device, 12173 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12174 12175 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 12176 VkDevice device, 12177 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12178 12179 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 12180 VkCommandBuffer commandBuffer, 12181 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12182 12183 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 12184 VkCommandBuffer commandBuffer); 12185 12186 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 12187 VkCommandBuffer commandBuffer, 12188 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12189 #endif 12190 12191 12192 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 12193 #define VK_AMD_gcn_shader 1 12194 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 12195 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 12196 12197 12198 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 12199 #define VK_NV_dedicated_allocation 1 12200 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 12201 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 12202 typedef struct VkDedicatedAllocationImageCreateInfoNV { 12203 VkStructureType sType; 12204 const void* pNext; 12205 VkBool32 dedicatedAllocation; 12206 } VkDedicatedAllocationImageCreateInfoNV; 12207 12208 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 12209 VkStructureType sType; 12210 const void* pNext; 12211 VkBool32 dedicatedAllocation; 12212 } VkDedicatedAllocationBufferCreateInfoNV; 12213 12214 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 12215 VkStructureType sType; 12216 const void* pNext; 12217 VkImage image; 12218 VkBuffer buffer; 12219 } VkDedicatedAllocationMemoryAllocateInfoNV; 12220 12221 12222 12223 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 12224 #define VK_EXT_transform_feedback 1 12225 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 12226 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 12227 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 12228 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 12229 VkStructureType sType; 12230 void* pNext; 12231 VkBool32 transformFeedback; 12232 VkBool32 geometryStreams; 12233 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 12234 12235 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 12236 VkStructureType sType; 12237 void* pNext; 12238 uint32_t maxTransformFeedbackStreams; 12239 uint32_t maxTransformFeedbackBuffers; 12240 VkDeviceSize maxTransformFeedbackBufferSize; 12241 uint32_t maxTransformFeedbackStreamDataSize; 12242 uint32_t maxTransformFeedbackBufferDataSize; 12243 uint32_t maxTransformFeedbackBufferDataStride; 12244 VkBool32 transformFeedbackQueries; 12245 VkBool32 transformFeedbackStreamsLinesTriangles; 12246 VkBool32 transformFeedbackRasterizationStreamSelect; 12247 VkBool32 transformFeedbackDraw; 12248 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 12249 12250 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 12251 VkStructureType sType; 12252 const void* pNext; 12253 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 12254 uint32_t rasterizationStream; 12255 } VkPipelineRasterizationStateStreamCreateInfoEXT; 12256 12257 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 12258 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 12259 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 12260 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 12261 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 12262 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 12263 12264 #ifndef VK_NO_PROTOTYPES 12265 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 12266 VkCommandBuffer commandBuffer, 12267 uint32_t firstBinding, 12268 uint32_t bindingCount, 12269 const VkBuffer* pBuffers, 12270 const VkDeviceSize* pOffsets, 12271 const VkDeviceSize* pSizes); 12272 12273 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 12274 VkCommandBuffer commandBuffer, 12275 uint32_t firstCounterBuffer, 12276 uint32_t counterBufferCount, 12277 const VkBuffer* pCounterBuffers, 12278 const VkDeviceSize* pCounterBufferOffsets); 12279 12280 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 12281 VkCommandBuffer commandBuffer, 12282 uint32_t firstCounterBuffer, 12283 uint32_t counterBufferCount, 12284 const VkBuffer* pCounterBuffers, 12285 const VkDeviceSize* pCounterBufferOffsets); 12286 12287 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 12288 VkCommandBuffer commandBuffer, 12289 VkQueryPool queryPool, 12290 uint32_t query, 12291 VkQueryControlFlags flags, 12292 uint32_t index); 12293 12294 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 12295 VkCommandBuffer commandBuffer, 12296 VkQueryPool queryPool, 12297 uint32_t query, 12298 uint32_t index); 12299 12300 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 12301 VkCommandBuffer commandBuffer, 12302 uint32_t instanceCount, 12303 uint32_t firstInstance, 12304 VkBuffer counterBuffer, 12305 VkDeviceSize counterBufferOffset, 12306 uint32_t counterOffset, 12307 uint32_t vertexStride); 12308 #endif 12309 12310 12311 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 12312 #define VK_NVX_binary_import 1 12313 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 12314 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 12315 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 12316 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 12317 typedef struct VkCuModuleCreateInfoNVX { 12318 VkStructureType sType; 12319 const void* pNext; 12320 size_t dataSize; 12321 const void* pData; 12322 } VkCuModuleCreateInfoNVX; 12323 12324 typedef struct VkCuFunctionCreateInfoNVX { 12325 VkStructureType sType; 12326 const void* pNext; 12327 VkCuModuleNVX module; 12328 const char* pName; 12329 } VkCuFunctionCreateInfoNVX; 12330 12331 typedef struct VkCuLaunchInfoNVX { 12332 VkStructureType sType; 12333 const void* pNext; 12334 VkCuFunctionNVX function; 12335 uint32_t gridDimX; 12336 uint32_t gridDimY; 12337 uint32_t gridDimZ; 12338 uint32_t blockDimX; 12339 uint32_t blockDimY; 12340 uint32_t blockDimZ; 12341 uint32_t sharedMemBytes; 12342 size_t paramCount; 12343 const void* const * pParams; 12344 size_t extraCount; 12345 const void* const * pExtras; 12346 } VkCuLaunchInfoNVX; 12347 12348 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 12349 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 12350 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 12351 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 12352 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 12353 12354 #ifndef VK_NO_PROTOTYPES 12355 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 12356 VkDevice device, 12357 const VkCuModuleCreateInfoNVX* pCreateInfo, 12358 const VkAllocationCallbacks* pAllocator, 12359 VkCuModuleNVX* pModule); 12360 12361 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 12362 VkDevice device, 12363 const VkCuFunctionCreateInfoNVX* pCreateInfo, 12364 const VkAllocationCallbacks* pAllocator, 12365 VkCuFunctionNVX* pFunction); 12366 12367 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 12368 VkDevice device, 12369 VkCuModuleNVX module, 12370 const VkAllocationCallbacks* pAllocator); 12371 12372 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 12373 VkDevice device, 12374 VkCuFunctionNVX function, 12375 const VkAllocationCallbacks* pAllocator); 12376 12377 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 12378 VkCommandBuffer commandBuffer, 12379 const VkCuLaunchInfoNVX* pLaunchInfo); 12380 #endif 12381 12382 12383 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 12384 #define VK_NVX_image_view_handle 1 12385 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 12386 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 12387 typedef struct VkImageViewHandleInfoNVX { 12388 VkStructureType sType; 12389 const void* pNext; 12390 VkImageView imageView; 12391 VkDescriptorType descriptorType; 12392 VkSampler sampler; 12393 } VkImageViewHandleInfoNVX; 12394 12395 typedef struct VkImageViewAddressPropertiesNVX { 12396 VkStructureType sType; 12397 void* pNext; 12398 VkDeviceAddress deviceAddress; 12399 VkDeviceSize size; 12400 } VkImageViewAddressPropertiesNVX; 12401 12402 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 12403 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 12404 12405 #ifndef VK_NO_PROTOTYPES 12406 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 12407 VkDevice device, 12408 const VkImageViewHandleInfoNVX* pInfo); 12409 12410 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 12411 VkDevice device, 12412 VkImageView imageView, 12413 VkImageViewAddressPropertiesNVX* pProperties); 12414 #endif 12415 12416 12417 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 12418 #define VK_AMD_draw_indirect_count 1 12419 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 12420 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 12421 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12422 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12423 12424 #ifndef VK_NO_PROTOTYPES 12425 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 12426 VkCommandBuffer commandBuffer, 12427 VkBuffer buffer, 12428 VkDeviceSize offset, 12429 VkBuffer countBuffer, 12430 VkDeviceSize countBufferOffset, 12431 uint32_t maxDrawCount, 12432 uint32_t stride); 12433 12434 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 12435 VkCommandBuffer commandBuffer, 12436 VkBuffer buffer, 12437 VkDeviceSize offset, 12438 VkBuffer countBuffer, 12439 VkDeviceSize countBufferOffset, 12440 uint32_t maxDrawCount, 12441 uint32_t stride); 12442 #endif 12443 12444 12445 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 12446 #define VK_AMD_negative_viewport_height 1 12447 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 12448 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 12449 12450 12451 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 12452 #define VK_AMD_gpu_shader_half_float 1 12453 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 12454 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 12455 12456 12457 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 12458 #define VK_AMD_shader_ballot 1 12459 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 12460 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 12461 12462 12463 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 12464 #define VK_AMD_texture_gather_bias_lod 1 12465 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 12466 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 12467 typedef struct VkTextureLODGatherFormatPropertiesAMD { 12468 VkStructureType sType; 12469 void* pNext; 12470 VkBool32 supportsTextureGatherLODBiasAMD; 12471 } VkTextureLODGatherFormatPropertiesAMD; 12472 12473 12474 12475 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 12476 #define VK_AMD_shader_info 1 12477 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 12478 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 12479 12480 typedef enum VkShaderInfoTypeAMD { 12481 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 12482 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 12483 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 12484 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 12485 } VkShaderInfoTypeAMD; 12486 typedef struct VkShaderResourceUsageAMD { 12487 uint32_t numUsedVgprs; 12488 uint32_t numUsedSgprs; 12489 uint32_t ldsSizePerLocalWorkGroup; 12490 size_t ldsUsageSizeInBytes; 12491 size_t scratchMemUsageInBytes; 12492 } VkShaderResourceUsageAMD; 12493 12494 typedef struct VkShaderStatisticsInfoAMD { 12495 VkShaderStageFlags shaderStageMask; 12496 VkShaderResourceUsageAMD resourceUsage; 12497 uint32_t numPhysicalVgprs; 12498 uint32_t numPhysicalSgprs; 12499 uint32_t numAvailableVgprs; 12500 uint32_t numAvailableSgprs; 12501 uint32_t computeWorkGroupSize[3]; 12502 } VkShaderStatisticsInfoAMD; 12503 12504 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 12505 12506 #ifndef VK_NO_PROTOTYPES 12507 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 12508 VkDevice device, 12509 VkPipeline pipeline, 12510 VkShaderStageFlagBits shaderStage, 12511 VkShaderInfoTypeAMD infoType, 12512 size_t* pInfoSize, 12513 void* pInfo); 12514 #endif 12515 12516 12517 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 12518 #define VK_AMD_shader_image_load_store_lod 1 12519 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 12520 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 12521 12522 12523 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 12524 #define VK_NV_corner_sampled_image 1 12525 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 12526 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 12527 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 12528 VkStructureType sType; 12529 void* pNext; 12530 VkBool32 cornerSampledImage; 12531 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 12532 12533 12534 12535 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 12536 #define VK_IMG_format_pvrtc 1 12537 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 12538 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 12539 12540 12541 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 12542 #define VK_NV_external_memory_capabilities 1 12543 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 12544 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 12545 12546 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 12547 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 12548 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 12549 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 12550 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 12551 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12552 } VkExternalMemoryHandleTypeFlagBitsNV; 12553 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 12554 12555 typedef enum VkExternalMemoryFeatureFlagBitsNV { 12556 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 12557 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 12558 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 12559 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 12560 } VkExternalMemoryFeatureFlagBitsNV; 12561 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 12562 typedef struct VkExternalImageFormatPropertiesNV { 12563 VkImageFormatProperties imageFormatProperties; 12564 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 12565 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 12566 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 12567 } VkExternalImageFormatPropertiesNV; 12568 12569 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12570 12571 #ifndef VK_NO_PROTOTYPES 12572 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 12573 VkPhysicalDevice physicalDevice, 12574 VkFormat format, 12575 VkImageType type, 12576 VkImageTiling tiling, 12577 VkImageUsageFlags usage, 12578 VkImageCreateFlags flags, 12579 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 12580 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 12581 #endif 12582 12583 12584 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 12585 #define VK_NV_external_memory 1 12586 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 12587 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 12588 typedef struct VkExternalMemoryImageCreateInfoNV { 12589 VkStructureType sType; 12590 const void* pNext; 12591 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12592 } VkExternalMemoryImageCreateInfoNV; 12593 12594 typedef struct VkExportMemoryAllocateInfoNV { 12595 VkStructureType sType; 12596 const void* pNext; 12597 VkExternalMemoryHandleTypeFlagsNV handleTypes; 12598 } VkExportMemoryAllocateInfoNV; 12599 12600 12601 12602 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 12603 #define VK_EXT_validation_flags 1 12604 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 12605 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 12606 12607 typedef enum VkValidationCheckEXT { 12608 VK_VALIDATION_CHECK_ALL_EXT = 0, 12609 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 12610 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 12611 } VkValidationCheckEXT; 12612 typedef struct VkValidationFlagsEXT { 12613 VkStructureType sType; 12614 const void* pNext; 12615 uint32_t disabledValidationCheckCount; 12616 const VkValidationCheckEXT* pDisabledValidationChecks; 12617 } VkValidationFlagsEXT; 12618 12619 12620 12621 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 12622 #define VK_EXT_shader_subgroup_ballot 1 12623 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 12624 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 12625 12626 12627 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 12628 #define VK_EXT_shader_subgroup_vote 1 12629 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 12630 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 12631 12632 12633 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 12634 #define VK_EXT_texture_compression_astc_hdr 1 12635 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 12636 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 12637 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 12638 12639 12640 12641 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 12642 #define VK_EXT_astc_decode_mode 1 12643 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 12644 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 12645 typedef struct VkImageViewASTCDecodeModeEXT { 12646 VkStructureType sType; 12647 const void* pNext; 12648 VkFormat decodeMode; 12649 } VkImageViewASTCDecodeModeEXT; 12650 12651 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 12652 VkStructureType sType; 12653 void* pNext; 12654 VkBool32 decodeModeSharedExponent; 12655 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 12656 12657 12658 12659 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 12660 #define VK_EXT_pipeline_robustness 1 12661 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 12662 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 12663 12664 typedef enum VkPipelineRobustnessBufferBehaviorEXT { 12665 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12666 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 12667 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 12668 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 12669 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12670 } VkPipelineRobustnessBufferBehaviorEXT; 12671 12672 typedef enum VkPipelineRobustnessImageBehaviorEXT { 12673 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 12674 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 12675 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 12676 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 12677 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 12678 } VkPipelineRobustnessImageBehaviorEXT; 12679 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 12680 VkStructureType sType; 12681 void* pNext; 12682 VkBool32 pipelineRobustness; 12683 } VkPhysicalDevicePipelineRobustnessFeaturesEXT; 12684 12685 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 12686 VkStructureType sType; 12687 void* pNext; 12688 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 12689 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 12690 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 12691 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 12692 } VkPhysicalDevicePipelineRobustnessPropertiesEXT; 12693 12694 typedef struct VkPipelineRobustnessCreateInfoEXT { 12695 VkStructureType sType; 12696 const void* pNext; 12697 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 12698 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 12699 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 12700 VkPipelineRobustnessImageBehaviorEXT images; 12701 } VkPipelineRobustnessCreateInfoEXT; 12702 12703 12704 12705 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 12706 #define VK_EXT_conditional_rendering 1 12707 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 12708 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 12709 12710 typedef enum VkConditionalRenderingFlagBitsEXT { 12711 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 12712 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12713 } VkConditionalRenderingFlagBitsEXT; 12714 typedef VkFlags VkConditionalRenderingFlagsEXT; 12715 typedef struct VkConditionalRenderingBeginInfoEXT { 12716 VkStructureType sType; 12717 const void* pNext; 12718 VkBuffer buffer; 12719 VkDeviceSize offset; 12720 VkConditionalRenderingFlagsEXT flags; 12721 } VkConditionalRenderingBeginInfoEXT; 12722 12723 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 12724 VkStructureType sType; 12725 void* pNext; 12726 VkBool32 conditionalRendering; 12727 VkBool32 inheritedConditionalRendering; 12728 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 12729 12730 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 12731 VkStructureType sType; 12732 const void* pNext; 12733 VkBool32 conditionalRenderingEnable; 12734 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 12735 12736 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12737 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 12738 12739 #ifndef VK_NO_PROTOTYPES 12740 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 12741 VkCommandBuffer commandBuffer, 12742 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 12743 12744 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 12745 VkCommandBuffer commandBuffer); 12746 #endif 12747 12748 12749 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 12750 #define VK_NV_clip_space_w_scaling 1 12751 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 12752 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 12753 typedef struct VkViewportWScalingNV { 12754 float xcoeff; 12755 float ycoeff; 12756 } VkViewportWScalingNV; 12757 12758 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 12759 VkStructureType sType; 12760 const void* pNext; 12761 VkBool32 viewportWScalingEnable; 12762 uint32_t viewportCount; 12763 const VkViewportWScalingNV* pViewportWScalings; 12764 } VkPipelineViewportWScalingStateCreateInfoNV; 12765 12766 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 12767 12768 #ifndef VK_NO_PROTOTYPES 12769 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 12770 VkCommandBuffer commandBuffer, 12771 uint32_t firstViewport, 12772 uint32_t viewportCount, 12773 const VkViewportWScalingNV* pViewportWScalings); 12774 #endif 12775 12776 12777 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 12778 #define VK_EXT_direct_mode_display 1 12779 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 12780 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 12781 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 12782 12783 #ifndef VK_NO_PROTOTYPES 12784 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 12785 VkPhysicalDevice physicalDevice, 12786 VkDisplayKHR display); 12787 #endif 12788 12789 12790 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 12791 #define VK_EXT_display_surface_counter 1 12792 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 12793 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 12794 12795 typedef enum VkSurfaceCounterFlagBitsEXT { 12796 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 12797 // VK_SURFACE_COUNTER_VBLANK_EXT is a deprecated alias 12798 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 12799 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12800 } VkSurfaceCounterFlagBitsEXT; 12801 typedef VkFlags VkSurfaceCounterFlagsEXT; 12802 typedef struct VkSurfaceCapabilities2EXT { 12803 VkStructureType sType; 12804 void* pNext; 12805 uint32_t minImageCount; 12806 uint32_t maxImageCount; 12807 VkExtent2D currentExtent; 12808 VkExtent2D minImageExtent; 12809 VkExtent2D maxImageExtent; 12810 uint32_t maxImageArrayLayers; 12811 VkSurfaceTransformFlagsKHR supportedTransforms; 12812 VkSurfaceTransformFlagBitsKHR currentTransform; 12813 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 12814 VkImageUsageFlags supportedUsageFlags; 12815 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 12816 } VkSurfaceCapabilities2EXT; 12817 12818 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12819 12820 #ifndef VK_NO_PROTOTYPES 12821 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12822 VkPhysicalDevice physicalDevice, 12823 VkSurfaceKHR surface, 12824 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12825 #endif 12826 12827 12828 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 12829 #define VK_EXT_display_control 1 12830 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 12831 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 12832 12833 typedef enum VkDisplayPowerStateEXT { 12834 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 12835 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 12836 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 12837 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 12838 } VkDisplayPowerStateEXT; 12839 12840 typedef enum VkDeviceEventTypeEXT { 12841 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 12842 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12843 } VkDeviceEventTypeEXT; 12844 12845 typedef enum VkDisplayEventTypeEXT { 12846 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 12847 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12848 } VkDisplayEventTypeEXT; 12849 typedef struct VkDisplayPowerInfoEXT { 12850 VkStructureType sType; 12851 const void* pNext; 12852 VkDisplayPowerStateEXT powerState; 12853 } VkDisplayPowerInfoEXT; 12854 12855 typedef struct VkDeviceEventInfoEXT { 12856 VkStructureType sType; 12857 const void* pNext; 12858 VkDeviceEventTypeEXT deviceEvent; 12859 } VkDeviceEventInfoEXT; 12860 12861 typedef struct VkDisplayEventInfoEXT { 12862 VkStructureType sType; 12863 const void* pNext; 12864 VkDisplayEventTypeEXT displayEvent; 12865 } VkDisplayEventInfoEXT; 12866 12867 typedef struct VkSwapchainCounterCreateInfoEXT { 12868 VkStructureType sType; 12869 const void* pNext; 12870 VkSurfaceCounterFlagsEXT surfaceCounters; 12871 } VkSwapchainCounterCreateInfoEXT; 12872 12873 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12874 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12875 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12876 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 12877 12878 #ifndef VK_NO_PROTOTYPES 12879 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 12880 VkDevice device, 12881 VkDisplayKHR display, 12882 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12883 12884 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 12885 VkDevice device, 12886 const VkDeviceEventInfoEXT* pDeviceEventInfo, 12887 const VkAllocationCallbacks* pAllocator, 12888 VkFence* pFence); 12889 12890 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 12891 VkDevice device, 12892 VkDisplayKHR display, 12893 const VkDisplayEventInfoEXT* pDisplayEventInfo, 12894 const VkAllocationCallbacks* pAllocator, 12895 VkFence* pFence); 12896 12897 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 12898 VkDevice device, 12899 VkSwapchainKHR swapchain, 12900 VkSurfaceCounterFlagBitsEXT counter, 12901 uint64_t* pCounterValue); 12902 #endif 12903 12904 12905 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 12906 #define VK_GOOGLE_display_timing 1 12907 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 12908 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 12909 typedef struct VkRefreshCycleDurationGOOGLE { 12910 uint64_t refreshDuration; 12911 } VkRefreshCycleDurationGOOGLE; 12912 12913 typedef struct VkPastPresentationTimingGOOGLE { 12914 uint32_t presentID; 12915 uint64_t desiredPresentTime; 12916 uint64_t actualPresentTime; 12917 uint64_t earliestPresentTime; 12918 uint64_t presentMargin; 12919 } VkPastPresentationTimingGOOGLE; 12920 12921 typedef struct VkPresentTimeGOOGLE { 12922 uint32_t presentID; 12923 uint64_t desiredPresentTime; 12924 } VkPresentTimeGOOGLE; 12925 12926 typedef struct VkPresentTimesInfoGOOGLE { 12927 VkStructureType sType; 12928 const void* pNext; 12929 uint32_t swapchainCount; 12930 const VkPresentTimeGOOGLE* pTimes; 12931 } VkPresentTimesInfoGOOGLE; 12932 12933 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12934 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 12935 12936 #ifndef VK_NO_PROTOTYPES 12937 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 12938 VkDevice device, 12939 VkSwapchainKHR swapchain, 12940 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12941 12942 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 12943 VkDevice device, 12944 VkSwapchainKHR swapchain, 12945 uint32_t* pPresentationTimingCount, 12946 VkPastPresentationTimingGOOGLE* pPresentationTimings); 12947 #endif 12948 12949 12950 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 12951 #define VK_NV_sample_mask_override_coverage 1 12952 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 12953 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 12954 12955 12956 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 12957 #define VK_NV_geometry_shader_passthrough 1 12958 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 12959 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 12960 12961 12962 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 12963 #define VK_NV_viewport_array2 1 12964 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 12965 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 12966 // VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION is a deprecated alias 12967 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 12968 // VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME is a deprecated alias 12969 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 12970 12971 12972 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 12973 #define VK_NVX_multiview_per_view_attributes 1 12974 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 12975 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 12976 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 12977 VkStructureType sType; 12978 void* pNext; 12979 VkBool32 perViewPositionAllComponents; 12980 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 12981 12982 12983 12984 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 12985 #define VK_NV_viewport_swizzle 1 12986 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 12987 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 12988 12989 typedef enum VkViewportCoordinateSwizzleNV { 12990 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 12991 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 12992 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 12993 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 12994 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 12995 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 12996 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 12997 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 12998 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 12999 } VkViewportCoordinateSwizzleNV; 13000 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 13001 typedef struct VkViewportSwizzleNV { 13002 VkViewportCoordinateSwizzleNV x; 13003 VkViewportCoordinateSwizzleNV y; 13004 VkViewportCoordinateSwizzleNV z; 13005 VkViewportCoordinateSwizzleNV w; 13006 } VkViewportSwizzleNV; 13007 13008 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 13009 VkStructureType sType; 13010 const void* pNext; 13011 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 13012 uint32_t viewportCount; 13013 const VkViewportSwizzleNV* pViewportSwizzles; 13014 } VkPipelineViewportSwizzleStateCreateInfoNV; 13015 13016 13017 13018 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 13019 #define VK_EXT_discard_rectangles 1 13020 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 13021 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 13022 13023 typedef enum VkDiscardRectangleModeEXT { 13024 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 13025 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 13026 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13027 } VkDiscardRectangleModeEXT; 13028 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 13029 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 13030 VkStructureType sType; 13031 void* pNext; 13032 uint32_t maxDiscardRectangles; 13033 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 13034 13035 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 13036 VkStructureType sType; 13037 const void* pNext; 13038 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 13039 VkDiscardRectangleModeEXT discardRectangleMode; 13040 uint32_t discardRectangleCount; 13041 const VkRect2D* pDiscardRectangles; 13042 } VkPipelineDiscardRectangleStateCreateInfoEXT; 13043 13044 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 13045 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 13046 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 13047 13048 #ifndef VK_NO_PROTOTYPES 13049 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 13050 VkCommandBuffer commandBuffer, 13051 uint32_t firstDiscardRectangle, 13052 uint32_t discardRectangleCount, 13053 const VkRect2D* pDiscardRectangles); 13054 13055 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 13056 VkCommandBuffer commandBuffer, 13057 VkBool32 discardRectangleEnable); 13058 13059 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 13060 VkCommandBuffer commandBuffer, 13061 VkDiscardRectangleModeEXT discardRectangleMode); 13062 #endif 13063 13064 13065 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 13066 #define VK_EXT_conservative_rasterization 1 13067 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 13068 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 13069 13070 typedef enum VkConservativeRasterizationModeEXT { 13071 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 13072 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 13073 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 13074 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13075 } VkConservativeRasterizationModeEXT; 13076 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 13077 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 13078 VkStructureType sType; 13079 void* pNext; 13080 float primitiveOverestimationSize; 13081 float maxExtraPrimitiveOverestimationSize; 13082 float extraPrimitiveOverestimationSizeGranularity; 13083 VkBool32 primitiveUnderestimation; 13084 VkBool32 conservativePointAndLineRasterization; 13085 VkBool32 degenerateTrianglesRasterized; 13086 VkBool32 degenerateLinesRasterized; 13087 VkBool32 fullyCoveredFragmentShaderInputVariable; 13088 VkBool32 conservativeRasterizationPostDepthCoverage; 13089 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 13090 13091 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 13092 VkStructureType sType; 13093 const void* pNext; 13094 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 13095 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 13096 float extraPrimitiveOverestimationSize; 13097 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 13098 13099 13100 13101 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 13102 #define VK_EXT_depth_clip_enable 1 13103 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 13104 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 13105 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 13106 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 13107 VkStructureType sType; 13108 void* pNext; 13109 VkBool32 depthClipEnable; 13110 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 13111 13112 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 13113 VkStructureType sType; 13114 const void* pNext; 13115 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 13116 VkBool32 depthClipEnable; 13117 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 13118 13119 13120 13121 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 13122 #define VK_EXT_swapchain_colorspace 1 13123 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 5 13124 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 13125 13126 13127 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 13128 #define VK_EXT_hdr_metadata 1 13129 #define VK_EXT_HDR_METADATA_SPEC_VERSION 3 13130 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 13131 typedef struct VkXYColorEXT { 13132 float x; 13133 float y; 13134 } VkXYColorEXT; 13135 13136 typedef struct VkHdrMetadataEXT { 13137 VkStructureType sType; 13138 const void* pNext; 13139 VkXYColorEXT displayPrimaryRed; 13140 VkXYColorEXT displayPrimaryGreen; 13141 VkXYColorEXT displayPrimaryBlue; 13142 VkXYColorEXT whitePoint; 13143 float maxLuminance; 13144 float minLuminance; 13145 float maxContentLightLevel; 13146 float maxFrameAverageLightLevel; 13147 } VkHdrMetadataEXT; 13148 13149 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 13150 13151 #ifndef VK_NO_PROTOTYPES 13152 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 13153 VkDevice device, 13154 uint32_t swapchainCount, 13155 const VkSwapchainKHR* pSwapchains, 13156 const VkHdrMetadataEXT* pMetadata); 13157 #endif 13158 13159 13160 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 13161 #define VK_IMG_relaxed_line_rasterization 1 13162 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 13163 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 13164 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 13165 VkStructureType sType; 13166 void* pNext; 13167 VkBool32 relaxedLineRasterization; 13168 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 13169 13170 13171 13172 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 13173 #define VK_EXT_external_memory_dma_buf 1 13174 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 13175 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 13176 13177 13178 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 13179 #define VK_EXT_queue_family_foreign 1 13180 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 13181 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 13182 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 13183 13184 13185 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 13186 #define VK_EXT_debug_utils 1 13187 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 13188 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 13189 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 13190 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 13191 13192 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 13193 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 13194 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 13195 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 13196 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 13197 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13198 } VkDebugUtilsMessageSeverityFlagBitsEXT; 13199 13200 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 13201 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 13202 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 13203 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 13204 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 13205 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13206 } VkDebugUtilsMessageTypeFlagBitsEXT; 13207 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 13208 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 13209 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 13210 typedef struct VkDebugUtilsLabelEXT { 13211 VkStructureType sType; 13212 const void* pNext; 13213 const char* pLabelName; 13214 float color[4]; 13215 } VkDebugUtilsLabelEXT; 13216 13217 typedef struct VkDebugUtilsObjectNameInfoEXT { 13218 VkStructureType sType; 13219 const void* pNext; 13220 VkObjectType objectType; 13221 uint64_t objectHandle; 13222 const char* pObjectName; 13223 } VkDebugUtilsObjectNameInfoEXT; 13224 13225 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 13226 VkStructureType sType; 13227 const void* pNext; 13228 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 13229 const char* pMessageIdName; 13230 int32_t messageIdNumber; 13231 const char* pMessage; 13232 uint32_t queueLabelCount; 13233 const VkDebugUtilsLabelEXT* pQueueLabels; 13234 uint32_t cmdBufLabelCount; 13235 const VkDebugUtilsLabelEXT* pCmdBufLabels; 13236 uint32_t objectCount; 13237 const VkDebugUtilsObjectNameInfoEXT* pObjects; 13238 } VkDebugUtilsMessengerCallbackDataEXT; 13239 13240 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 13241 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13242 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13243 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 13244 void* pUserData); 13245 13246 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 13247 VkStructureType sType; 13248 const void* pNext; 13249 VkDebugUtilsMessengerCreateFlagsEXT flags; 13250 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 13251 VkDebugUtilsMessageTypeFlagsEXT messageType; 13252 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 13253 void* pUserData; 13254 } VkDebugUtilsMessengerCreateInfoEXT; 13255 13256 typedef struct VkDebugUtilsObjectTagInfoEXT { 13257 VkStructureType sType; 13258 const void* pNext; 13259 VkObjectType objectType; 13260 uint64_t objectHandle; 13261 uint64_t tagName; 13262 size_t tagSize; 13263 const void* pTag; 13264 } VkDebugUtilsObjectTagInfoEXT; 13265 13266 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13267 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13268 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13269 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 13270 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13271 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13272 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 13273 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13274 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 13275 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 13276 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13277 13278 #ifndef VK_NO_PROTOTYPES 13279 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 13280 VkDevice device, 13281 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13282 13283 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 13284 VkDevice device, 13285 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13286 13287 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 13288 VkQueue queue, 13289 const VkDebugUtilsLabelEXT* pLabelInfo); 13290 13291 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 13292 VkQueue queue); 13293 13294 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 13295 VkQueue queue, 13296 const VkDebugUtilsLabelEXT* pLabelInfo); 13297 13298 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 13299 VkCommandBuffer commandBuffer, 13300 const VkDebugUtilsLabelEXT* pLabelInfo); 13301 13302 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 13303 VkCommandBuffer commandBuffer); 13304 13305 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 13306 VkCommandBuffer commandBuffer, 13307 const VkDebugUtilsLabelEXT* pLabelInfo); 13308 13309 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 13310 VkInstance instance, 13311 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 13312 const VkAllocationCallbacks* pAllocator, 13313 VkDebugUtilsMessengerEXT* pMessenger); 13314 13315 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 13316 VkInstance instance, 13317 VkDebugUtilsMessengerEXT messenger, 13318 const VkAllocationCallbacks* pAllocator); 13319 13320 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 13321 VkInstance instance, 13322 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13323 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13324 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13325 #endif 13326 13327 13328 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 13329 #define VK_EXT_sampler_filter_minmax 1 13330 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 13331 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 13332 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 13333 13334 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 13335 13336 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 13337 13338 13339 13340 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 13341 #define VK_AMD_gpu_shader_int16 1 13342 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 13343 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 13344 13345 13346 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 13347 #define VK_AMD_mixed_attachment_samples 1 13348 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 13349 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 13350 13351 13352 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 13353 #define VK_AMD_shader_fragment_mask 1 13354 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 13355 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 13356 13357 13358 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 13359 #define VK_EXT_inline_uniform_block 1 13360 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 13361 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 13362 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 13363 13364 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 13365 13366 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 13367 13368 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 13369 13370 13371 13372 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 13373 #define VK_EXT_shader_stencil_export 1 13374 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 13375 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 13376 13377 13378 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 13379 #define VK_EXT_sample_locations 1 13380 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 13381 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 13382 typedef struct VkSampleLocationEXT { 13383 float x; 13384 float y; 13385 } VkSampleLocationEXT; 13386 13387 typedef struct VkSampleLocationsInfoEXT { 13388 VkStructureType sType; 13389 const void* pNext; 13390 VkSampleCountFlagBits sampleLocationsPerPixel; 13391 VkExtent2D sampleLocationGridSize; 13392 uint32_t sampleLocationsCount; 13393 const VkSampleLocationEXT* pSampleLocations; 13394 } VkSampleLocationsInfoEXT; 13395 13396 typedef struct VkAttachmentSampleLocationsEXT { 13397 uint32_t attachmentIndex; 13398 VkSampleLocationsInfoEXT sampleLocationsInfo; 13399 } VkAttachmentSampleLocationsEXT; 13400 13401 typedef struct VkSubpassSampleLocationsEXT { 13402 uint32_t subpassIndex; 13403 VkSampleLocationsInfoEXT sampleLocationsInfo; 13404 } VkSubpassSampleLocationsEXT; 13405 13406 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 13407 VkStructureType sType; 13408 const void* pNext; 13409 uint32_t attachmentInitialSampleLocationsCount; 13410 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 13411 uint32_t postSubpassSampleLocationsCount; 13412 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 13413 } VkRenderPassSampleLocationsBeginInfoEXT; 13414 13415 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 13416 VkStructureType sType; 13417 const void* pNext; 13418 VkBool32 sampleLocationsEnable; 13419 VkSampleLocationsInfoEXT sampleLocationsInfo; 13420 } VkPipelineSampleLocationsStateCreateInfoEXT; 13421 13422 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 13423 VkStructureType sType; 13424 void* pNext; 13425 VkSampleCountFlags sampleLocationSampleCounts; 13426 VkExtent2D maxSampleLocationGridSize; 13427 float sampleLocationCoordinateRange[2]; 13428 uint32_t sampleLocationSubPixelBits; 13429 VkBool32 variableSampleLocations; 13430 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 13431 13432 typedef struct VkMultisamplePropertiesEXT { 13433 VkStructureType sType; 13434 void* pNext; 13435 VkExtent2D maxSampleLocationGridSize; 13436 } VkMultisamplePropertiesEXT; 13437 13438 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13439 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 13440 13441 #ifndef VK_NO_PROTOTYPES 13442 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 13443 VkCommandBuffer commandBuffer, 13444 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13445 13446 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 13447 VkPhysicalDevice physicalDevice, 13448 VkSampleCountFlagBits samples, 13449 VkMultisamplePropertiesEXT* pMultisampleProperties); 13450 #endif 13451 13452 13453 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 13454 #define VK_EXT_blend_operation_advanced 1 13455 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 13456 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 13457 13458 typedef enum VkBlendOverlapEXT { 13459 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 13460 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 13461 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 13462 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 13463 } VkBlendOverlapEXT; 13464 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 13465 VkStructureType sType; 13466 void* pNext; 13467 VkBool32 advancedBlendCoherentOperations; 13468 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 13469 13470 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 13471 VkStructureType sType; 13472 void* pNext; 13473 uint32_t advancedBlendMaxColorAttachments; 13474 VkBool32 advancedBlendIndependentBlend; 13475 VkBool32 advancedBlendNonPremultipliedSrcColor; 13476 VkBool32 advancedBlendNonPremultipliedDstColor; 13477 VkBool32 advancedBlendCorrelatedOverlap; 13478 VkBool32 advancedBlendAllOperations; 13479 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 13480 13481 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 13482 VkStructureType sType; 13483 const void* pNext; 13484 VkBool32 srcPremultiplied; 13485 VkBool32 dstPremultiplied; 13486 VkBlendOverlapEXT blendOverlap; 13487 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 13488 13489 13490 13491 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 13492 #define VK_NV_fragment_coverage_to_color 1 13493 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 13494 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 13495 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 13496 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 13497 VkStructureType sType; 13498 const void* pNext; 13499 VkPipelineCoverageToColorStateCreateFlagsNV flags; 13500 VkBool32 coverageToColorEnable; 13501 uint32_t coverageToColorLocation; 13502 } VkPipelineCoverageToColorStateCreateInfoNV; 13503 13504 13505 13506 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 13507 #define VK_NV_framebuffer_mixed_samples 1 13508 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 13509 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 13510 13511 typedef enum VkCoverageModulationModeNV { 13512 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 13513 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 13514 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 13515 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 13516 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 13517 } VkCoverageModulationModeNV; 13518 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 13519 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 13520 VkStructureType sType; 13521 const void* pNext; 13522 VkPipelineCoverageModulationStateCreateFlagsNV flags; 13523 VkCoverageModulationModeNV coverageModulationMode; 13524 VkBool32 coverageModulationTableEnable; 13525 uint32_t coverageModulationTableCount; 13526 const float* pCoverageModulationTable; 13527 } VkPipelineCoverageModulationStateCreateInfoNV; 13528 13529 13530 13531 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 13532 #define VK_NV_fill_rectangle 1 13533 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 13534 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 13535 13536 13537 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 13538 #define VK_NV_shader_sm_builtins 1 13539 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 13540 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 13541 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 13542 VkStructureType sType; 13543 void* pNext; 13544 uint32_t shaderSMCount; 13545 uint32_t shaderWarpsPerSM; 13546 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 13547 13548 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 13549 VkStructureType sType; 13550 void* pNext; 13551 VkBool32 shaderSMBuiltins; 13552 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 13553 13554 13555 13556 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 13557 #define VK_EXT_post_depth_coverage 1 13558 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 13559 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 13560 13561 13562 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 13563 #define VK_EXT_image_drm_format_modifier 1 13564 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 13565 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 13566 typedef struct VkDrmFormatModifierPropertiesEXT { 13567 uint64_t drmFormatModifier; 13568 uint32_t drmFormatModifierPlaneCount; 13569 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 13570 } VkDrmFormatModifierPropertiesEXT; 13571 13572 typedef struct VkDrmFormatModifierPropertiesListEXT { 13573 VkStructureType sType; 13574 void* pNext; 13575 uint32_t drmFormatModifierCount; 13576 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 13577 } VkDrmFormatModifierPropertiesListEXT; 13578 13579 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 13580 VkStructureType sType; 13581 const void* pNext; 13582 uint64_t drmFormatModifier; 13583 VkSharingMode sharingMode; 13584 uint32_t queueFamilyIndexCount; 13585 const uint32_t* pQueueFamilyIndices; 13586 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 13587 13588 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 13589 VkStructureType sType; 13590 const void* pNext; 13591 uint32_t drmFormatModifierCount; 13592 const uint64_t* pDrmFormatModifiers; 13593 } VkImageDrmFormatModifierListCreateInfoEXT; 13594 13595 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 13596 VkStructureType sType; 13597 const void* pNext; 13598 uint64_t drmFormatModifier; 13599 uint32_t drmFormatModifierPlaneCount; 13600 const VkSubresourceLayout* pPlaneLayouts; 13601 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 13602 13603 typedef struct VkImageDrmFormatModifierPropertiesEXT { 13604 VkStructureType sType; 13605 void* pNext; 13606 uint64_t drmFormatModifier; 13607 } VkImageDrmFormatModifierPropertiesEXT; 13608 13609 typedef struct VkDrmFormatModifierProperties2EXT { 13610 uint64_t drmFormatModifier; 13611 uint32_t drmFormatModifierPlaneCount; 13612 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 13613 } VkDrmFormatModifierProperties2EXT; 13614 13615 typedef struct VkDrmFormatModifierPropertiesList2EXT { 13616 VkStructureType sType; 13617 void* pNext; 13618 uint32_t drmFormatModifierCount; 13619 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 13620 } VkDrmFormatModifierPropertiesList2EXT; 13621 13622 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 13623 13624 #ifndef VK_NO_PROTOTYPES 13625 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 13626 VkDevice device, 13627 VkImage image, 13628 VkImageDrmFormatModifierPropertiesEXT* pProperties); 13629 #endif 13630 13631 13632 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 13633 #define VK_EXT_validation_cache 1 13634 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 13635 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 13636 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 13637 13638 typedef enum VkValidationCacheHeaderVersionEXT { 13639 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 13640 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 13641 } VkValidationCacheHeaderVersionEXT; 13642 typedef VkFlags VkValidationCacheCreateFlagsEXT; 13643 typedef struct VkValidationCacheCreateInfoEXT { 13644 VkStructureType sType; 13645 const void* pNext; 13646 VkValidationCacheCreateFlagsEXT flags; 13647 size_t initialDataSize; 13648 const void* pInitialData; 13649 } VkValidationCacheCreateInfoEXT; 13650 13651 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 13652 VkStructureType sType; 13653 const void* pNext; 13654 VkValidationCacheEXT validationCache; 13655 } VkShaderModuleValidationCacheCreateInfoEXT; 13656 13657 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 13658 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 13659 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 13660 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 13661 13662 #ifndef VK_NO_PROTOTYPES 13663 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 13664 VkDevice device, 13665 const VkValidationCacheCreateInfoEXT* pCreateInfo, 13666 const VkAllocationCallbacks* pAllocator, 13667 VkValidationCacheEXT* pValidationCache); 13668 13669 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 13670 VkDevice device, 13671 VkValidationCacheEXT validationCache, 13672 const VkAllocationCallbacks* pAllocator); 13673 13674 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 13675 VkDevice device, 13676 VkValidationCacheEXT dstCache, 13677 uint32_t srcCacheCount, 13678 const VkValidationCacheEXT* pSrcCaches); 13679 13680 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 13681 VkDevice device, 13682 VkValidationCacheEXT validationCache, 13683 size_t* pDataSize, 13684 void* pData); 13685 #endif 13686 13687 13688 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 13689 #define VK_EXT_descriptor_indexing 1 13690 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 13691 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 13692 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 13693 13694 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 13695 13696 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 13697 13698 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 13699 13700 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 13701 13702 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 13703 13704 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 13705 13706 13707 13708 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 13709 #define VK_EXT_shader_viewport_index_layer 1 13710 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 13711 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 13712 13713 13714 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 13715 #define VK_NV_shading_rate_image 1 13716 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 13717 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 13718 13719 typedef enum VkShadingRatePaletteEntryNV { 13720 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 13721 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 13722 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 13723 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 13724 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 13725 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 13726 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 13727 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 13728 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 13729 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 13730 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 13731 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 13732 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 13733 } VkShadingRatePaletteEntryNV; 13734 13735 typedef enum VkCoarseSampleOrderTypeNV { 13736 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 13737 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 13738 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 13739 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 13740 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13741 } VkCoarseSampleOrderTypeNV; 13742 typedef struct VkShadingRatePaletteNV { 13743 uint32_t shadingRatePaletteEntryCount; 13744 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 13745 } VkShadingRatePaletteNV; 13746 13747 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 13748 VkStructureType sType; 13749 const void* pNext; 13750 VkBool32 shadingRateImageEnable; 13751 uint32_t viewportCount; 13752 const VkShadingRatePaletteNV* pShadingRatePalettes; 13753 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 13754 13755 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 13756 VkStructureType sType; 13757 void* pNext; 13758 VkBool32 shadingRateImage; 13759 VkBool32 shadingRateCoarseSampleOrder; 13760 } VkPhysicalDeviceShadingRateImageFeaturesNV; 13761 13762 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 13763 VkStructureType sType; 13764 void* pNext; 13765 VkExtent2D shadingRateTexelSize; 13766 uint32_t shadingRatePaletteSize; 13767 uint32_t shadingRateMaxCoarseSamples; 13768 } VkPhysicalDeviceShadingRateImagePropertiesNV; 13769 13770 typedef struct VkCoarseSampleLocationNV { 13771 uint32_t pixelX; 13772 uint32_t pixelY; 13773 uint32_t sample; 13774 } VkCoarseSampleLocationNV; 13775 13776 typedef struct VkCoarseSampleOrderCustomNV { 13777 VkShadingRatePaletteEntryNV shadingRate; 13778 uint32_t sampleCount; 13779 uint32_t sampleLocationCount; 13780 const VkCoarseSampleLocationNV* pSampleLocations; 13781 } VkCoarseSampleOrderCustomNV; 13782 13783 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 13784 VkStructureType sType; 13785 const void* pNext; 13786 VkCoarseSampleOrderTypeNV sampleOrderType; 13787 uint32_t customSampleOrderCount; 13788 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 13789 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 13790 13791 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 13792 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 13793 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13794 13795 #ifndef VK_NO_PROTOTYPES 13796 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 13797 VkCommandBuffer commandBuffer, 13798 VkImageView imageView, 13799 VkImageLayout imageLayout); 13800 13801 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 13802 VkCommandBuffer commandBuffer, 13803 uint32_t firstViewport, 13804 uint32_t viewportCount, 13805 const VkShadingRatePaletteNV* pShadingRatePalettes); 13806 13807 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 13808 VkCommandBuffer commandBuffer, 13809 VkCoarseSampleOrderTypeNV sampleOrderType, 13810 uint32_t customSampleOrderCount, 13811 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 13812 #endif 13813 13814 13815 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 13816 #define VK_NV_ray_tracing 1 13817 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 13818 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 13819 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 13820 #define VK_SHADER_UNUSED_KHR (~0U) 13821 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 13822 13823 typedef enum VkRayTracingShaderGroupTypeKHR { 13824 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 13825 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 13826 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 13827 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 13828 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 13829 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 13830 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13831 } VkRayTracingShaderGroupTypeKHR; 13832 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 13833 13834 13835 typedef enum VkGeometryTypeKHR { 13836 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 13837 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 13838 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 13839 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 13840 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 13841 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13842 } VkGeometryTypeKHR; 13843 typedef VkGeometryTypeKHR VkGeometryTypeNV; 13844 13845 13846 typedef enum VkAccelerationStructureTypeKHR { 13847 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 13848 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 13849 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 13850 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 13851 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 13852 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13853 } VkAccelerationStructureTypeKHR; 13854 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 13855 13856 13857 typedef enum VkCopyAccelerationStructureModeKHR { 13858 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 13859 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 13860 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 13861 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 13862 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 13863 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 13864 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 13865 } VkCopyAccelerationStructureModeKHR; 13866 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 13867 13868 13869 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 13870 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 13871 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 13872 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 13873 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13874 } VkAccelerationStructureMemoryRequirementsTypeNV; 13875 13876 typedef enum VkGeometryFlagBitsKHR { 13877 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 13878 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 13879 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 13880 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 13881 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13882 } VkGeometryFlagBitsKHR; 13883 typedef VkFlags VkGeometryFlagsKHR; 13884 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 13885 13886 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 13887 13888 13889 typedef enum VkGeometryInstanceFlagBitsKHR { 13890 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 13891 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 13892 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 13893 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13894 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13895 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 13896 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 13897 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 13898 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 13899 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 13900 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 13901 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13902 } VkGeometryInstanceFlagBitsKHR; 13903 typedef VkFlags VkGeometryInstanceFlagsKHR; 13904 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 13905 13906 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 13907 13908 13909 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 13910 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 13911 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 13912 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 13913 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 13914 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 13915 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13916 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13917 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13918 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13919 #ifdef VK_ENABLE_BETA_EXTENSIONS 13920 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 13921 #endif 13922 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 13923 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 13924 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 13925 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 13926 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 13927 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 13928 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13929 } VkBuildAccelerationStructureFlagBitsKHR; 13930 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 13931 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 13932 13933 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 13934 13935 typedef struct VkRayTracingShaderGroupCreateInfoNV { 13936 VkStructureType sType; 13937 const void* pNext; 13938 VkRayTracingShaderGroupTypeKHR type; 13939 uint32_t generalShader; 13940 uint32_t closestHitShader; 13941 uint32_t anyHitShader; 13942 uint32_t intersectionShader; 13943 } VkRayTracingShaderGroupCreateInfoNV; 13944 13945 typedef struct VkRayTracingPipelineCreateInfoNV { 13946 VkStructureType sType; 13947 const void* pNext; 13948 VkPipelineCreateFlags flags; 13949 uint32_t stageCount; 13950 const VkPipelineShaderStageCreateInfo* pStages; 13951 uint32_t groupCount; 13952 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 13953 uint32_t maxRecursionDepth; 13954 VkPipelineLayout layout; 13955 VkPipeline basePipelineHandle; 13956 int32_t basePipelineIndex; 13957 } VkRayTracingPipelineCreateInfoNV; 13958 13959 typedef struct VkGeometryTrianglesNV { 13960 VkStructureType sType; 13961 const void* pNext; 13962 VkBuffer vertexData; 13963 VkDeviceSize vertexOffset; 13964 uint32_t vertexCount; 13965 VkDeviceSize vertexStride; 13966 VkFormat vertexFormat; 13967 VkBuffer indexData; 13968 VkDeviceSize indexOffset; 13969 uint32_t indexCount; 13970 VkIndexType indexType; 13971 VkBuffer transformData; 13972 VkDeviceSize transformOffset; 13973 } VkGeometryTrianglesNV; 13974 13975 typedef struct VkGeometryAABBNV { 13976 VkStructureType sType; 13977 const void* pNext; 13978 VkBuffer aabbData; 13979 uint32_t numAABBs; 13980 uint32_t stride; 13981 VkDeviceSize offset; 13982 } VkGeometryAABBNV; 13983 13984 typedef struct VkGeometryDataNV { 13985 VkGeometryTrianglesNV triangles; 13986 VkGeometryAABBNV aabbs; 13987 } VkGeometryDataNV; 13988 13989 typedef struct VkGeometryNV { 13990 VkStructureType sType; 13991 const void* pNext; 13992 VkGeometryTypeKHR geometryType; 13993 VkGeometryDataNV geometry; 13994 VkGeometryFlagsKHR flags; 13995 } VkGeometryNV; 13996 13997 typedef struct VkAccelerationStructureInfoNV { 13998 VkStructureType sType; 13999 const void* pNext; 14000 VkAccelerationStructureTypeNV type; 14001 VkBuildAccelerationStructureFlagsNV flags; 14002 uint32_t instanceCount; 14003 uint32_t geometryCount; 14004 const VkGeometryNV* pGeometries; 14005 } VkAccelerationStructureInfoNV; 14006 14007 typedef struct VkAccelerationStructureCreateInfoNV { 14008 VkStructureType sType; 14009 const void* pNext; 14010 VkDeviceSize compactedSize; 14011 VkAccelerationStructureInfoNV info; 14012 } VkAccelerationStructureCreateInfoNV; 14013 14014 typedef struct VkBindAccelerationStructureMemoryInfoNV { 14015 VkStructureType sType; 14016 const void* pNext; 14017 VkAccelerationStructureNV accelerationStructure; 14018 VkDeviceMemory memory; 14019 VkDeviceSize memoryOffset; 14020 uint32_t deviceIndexCount; 14021 const uint32_t* pDeviceIndices; 14022 } VkBindAccelerationStructureMemoryInfoNV; 14023 14024 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 14025 VkStructureType sType; 14026 const void* pNext; 14027 uint32_t accelerationStructureCount; 14028 const VkAccelerationStructureNV* pAccelerationStructures; 14029 } VkWriteDescriptorSetAccelerationStructureNV; 14030 14031 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 14032 VkStructureType sType; 14033 const void* pNext; 14034 VkAccelerationStructureMemoryRequirementsTypeNV type; 14035 VkAccelerationStructureNV accelerationStructure; 14036 } VkAccelerationStructureMemoryRequirementsInfoNV; 14037 14038 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 14039 VkStructureType sType; 14040 void* pNext; 14041 uint32_t shaderGroupHandleSize; 14042 uint32_t maxRecursionDepth; 14043 uint32_t maxShaderGroupStride; 14044 uint32_t shaderGroupBaseAlignment; 14045 uint64_t maxGeometryCount; 14046 uint64_t maxInstanceCount; 14047 uint64_t maxTriangleCount; 14048 uint32_t maxDescriptorSetAccelerationStructures; 14049 } VkPhysicalDeviceRayTracingPropertiesNV; 14050 14051 typedef struct VkTransformMatrixKHR { 14052 float matrix[3][4]; 14053 } VkTransformMatrixKHR; 14054 14055 typedef VkTransformMatrixKHR VkTransformMatrixNV; 14056 14057 typedef struct VkAabbPositionsKHR { 14058 float minX; 14059 float minY; 14060 float minZ; 14061 float maxX; 14062 float maxY; 14063 float maxZ; 14064 } VkAabbPositionsKHR; 14065 14066 typedef VkAabbPositionsKHR VkAabbPositionsNV; 14067 14068 typedef struct VkAccelerationStructureInstanceKHR { 14069 VkTransformMatrixKHR transform; 14070 uint32_t instanceCustomIndex:24; 14071 uint32_t mask:8; 14072 uint32_t instanceShaderBindingTableRecordOffset:24; 14073 VkGeometryInstanceFlagsKHR flags:8; 14074 uint64_t accelerationStructureReference; 14075 } VkAccelerationStructureInstanceKHR; 14076 14077 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 14078 14079 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 14080 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 14081 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 14082 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14083 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); 14084 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 14085 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); 14086 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 14087 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14088 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14089 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 14090 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 14091 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 14092 14093 #ifndef VK_NO_PROTOTYPES 14094 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 14095 VkDevice device, 14096 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 14097 const VkAllocationCallbacks* pAllocator, 14098 VkAccelerationStructureNV* pAccelerationStructure); 14099 14100 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 14101 VkDevice device, 14102 VkAccelerationStructureNV accelerationStructure, 14103 const VkAllocationCallbacks* pAllocator); 14104 14105 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 14106 VkDevice device, 14107 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 14108 VkMemoryRequirements2KHR* pMemoryRequirements); 14109 14110 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 14111 VkDevice device, 14112 uint32_t bindInfoCount, 14113 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14114 14115 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 14116 VkCommandBuffer commandBuffer, 14117 const VkAccelerationStructureInfoNV* pInfo, 14118 VkBuffer instanceData, 14119 VkDeviceSize instanceOffset, 14120 VkBool32 update, 14121 VkAccelerationStructureNV dst, 14122 VkAccelerationStructureNV src, 14123 VkBuffer scratch, 14124 VkDeviceSize scratchOffset); 14125 14126 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 14127 VkCommandBuffer commandBuffer, 14128 VkAccelerationStructureNV dst, 14129 VkAccelerationStructureNV src, 14130 VkCopyAccelerationStructureModeKHR mode); 14131 14132 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 14133 VkCommandBuffer commandBuffer, 14134 VkBuffer raygenShaderBindingTableBuffer, 14135 VkDeviceSize raygenShaderBindingOffset, 14136 VkBuffer missShaderBindingTableBuffer, 14137 VkDeviceSize missShaderBindingOffset, 14138 VkDeviceSize missShaderBindingStride, 14139 VkBuffer hitShaderBindingTableBuffer, 14140 VkDeviceSize hitShaderBindingOffset, 14141 VkDeviceSize hitShaderBindingStride, 14142 VkBuffer callableShaderBindingTableBuffer, 14143 VkDeviceSize callableShaderBindingOffset, 14144 VkDeviceSize callableShaderBindingStride, 14145 uint32_t width, 14146 uint32_t height, 14147 uint32_t depth); 14148 14149 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 14150 VkDevice device, 14151 VkPipelineCache pipelineCache, 14152 uint32_t createInfoCount, 14153 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 14154 const VkAllocationCallbacks* pAllocator, 14155 VkPipeline* pPipelines); 14156 14157 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 14158 VkDevice device, 14159 VkPipeline pipeline, 14160 uint32_t firstGroup, 14161 uint32_t groupCount, 14162 size_t dataSize, 14163 void* pData); 14164 14165 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 14166 VkDevice device, 14167 VkPipeline pipeline, 14168 uint32_t firstGroup, 14169 uint32_t groupCount, 14170 size_t dataSize, 14171 void* pData); 14172 14173 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 14174 VkDevice device, 14175 VkAccelerationStructureNV accelerationStructure, 14176 size_t dataSize, 14177 void* pData); 14178 14179 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 14180 VkCommandBuffer commandBuffer, 14181 uint32_t accelerationStructureCount, 14182 const VkAccelerationStructureNV* pAccelerationStructures, 14183 VkQueryType queryType, 14184 VkQueryPool queryPool, 14185 uint32_t firstQuery); 14186 14187 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 14188 VkDevice device, 14189 VkPipeline pipeline, 14190 uint32_t shader); 14191 #endif 14192 14193 14194 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 14195 #define VK_NV_representative_fragment_test 1 14196 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 14197 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 14198 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 14199 VkStructureType sType; 14200 void* pNext; 14201 VkBool32 representativeFragmentTest; 14202 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 14203 14204 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 14205 VkStructureType sType; 14206 const void* pNext; 14207 VkBool32 representativeFragmentTestEnable; 14208 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 14209 14210 14211 14212 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 14213 #define VK_EXT_filter_cubic 1 14214 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 14215 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 14216 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 14217 VkStructureType sType; 14218 void* pNext; 14219 VkImageViewType imageViewType; 14220 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 14221 14222 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 14223 VkStructureType sType; 14224 void* pNext; 14225 VkBool32 filterCubic; 14226 VkBool32 filterCubicMinmax; 14227 } VkFilterCubicImageViewImageFormatPropertiesEXT; 14228 14229 14230 14231 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 14232 #define VK_QCOM_render_pass_shader_resolve 1 14233 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 14234 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 14235 14236 14237 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 14238 #define VK_EXT_global_priority 1 14239 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 14240 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 14241 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 14242 14243 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 14244 14245 14246 14247 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 14248 #define VK_EXT_external_memory_host 1 14249 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 14250 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 14251 typedef struct VkImportMemoryHostPointerInfoEXT { 14252 VkStructureType sType; 14253 const void* pNext; 14254 VkExternalMemoryHandleTypeFlagBits handleType; 14255 void* pHostPointer; 14256 } VkImportMemoryHostPointerInfoEXT; 14257 14258 typedef struct VkMemoryHostPointerPropertiesEXT { 14259 VkStructureType sType; 14260 void* pNext; 14261 uint32_t memoryTypeBits; 14262 } VkMemoryHostPointerPropertiesEXT; 14263 14264 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 14265 VkStructureType sType; 14266 void* pNext; 14267 VkDeviceSize minImportedHostPointerAlignment; 14268 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 14269 14270 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14271 14272 #ifndef VK_NO_PROTOTYPES 14273 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 14274 VkDevice device, 14275 VkExternalMemoryHandleTypeFlagBits handleType, 14276 const void* pHostPointer, 14277 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14278 #endif 14279 14280 14281 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 14282 #define VK_AMD_buffer_marker 1 14283 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 14284 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 14285 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 14286 14287 #ifndef VK_NO_PROTOTYPES 14288 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 14289 VkCommandBuffer commandBuffer, 14290 VkPipelineStageFlagBits pipelineStage, 14291 VkBuffer dstBuffer, 14292 VkDeviceSize dstOffset, 14293 uint32_t marker); 14294 #endif 14295 14296 14297 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 14298 #define VK_AMD_pipeline_compiler_control 1 14299 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 14300 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 14301 14302 typedef enum VkPipelineCompilerControlFlagBitsAMD { 14303 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14304 } VkPipelineCompilerControlFlagBitsAMD; 14305 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 14306 typedef struct VkPipelineCompilerControlCreateInfoAMD { 14307 VkStructureType sType; 14308 const void* pNext; 14309 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 14310 } VkPipelineCompilerControlCreateInfoAMD; 14311 14312 14313 14314 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 14315 #define VK_EXT_calibrated_timestamps 1 14316 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 14317 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 14318 typedef VkTimeDomainKHR VkTimeDomainEXT; 14319 14320 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 14321 14322 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 14323 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 14324 14325 #ifndef VK_NO_PROTOTYPES 14326 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14327 VkPhysicalDevice physicalDevice, 14328 uint32_t* pTimeDomainCount, 14329 VkTimeDomainKHR* pTimeDomains); 14330 14331 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 14332 VkDevice device, 14333 uint32_t timestampCount, 14334 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 14335 uint64_t* pTimestamps, 14336 uint64_t* pMaxDeviation); 14337 #endif 14338 14339 14340 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 14341 #define VK_AMD_shader_core_properties 1 14342 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 14343 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 14344 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 14345 VkStructureType sType; 14346 void* pNext; 14347 uint32_t shaderEngineCount; 14348 uint32_t shaderArraysPerEngineCount; 14349 uint32_t computeUnitsPerShaderArray; 14350 uint32_t simdPerComputeUnit; 14351 uint32_t wavefrontsPerSimd; 14352 uint32_t wavefrontSize; 14353 uint32_t sgprsPerSimd; 14354 uint32_t minSgprAllocation; 14355 uint32_t maxSgprAllocation; 14356 uint32_t sgprAllocationGranularity; 14357 uint32_t vgprsPerSimd; 14358 uint32_t minVgprAllocation; 14359 uint32_t maxVgprAllocation; 14360 uint32_t vgprAllocationGranularity; 14361 } VkPhysicalDeviceShaderCorePropertiesAMD; 14362 14363 14364 14365 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 14366 #define VK_AMD_memory_overallocation_behavior 1 14367 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 14368 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 14369 14370 typedef enum VkMemoryOverallocationBehaviorAMD { 14371 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 14372 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 14373 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 14374 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 14375 } VkMemoryOverallocationBehaviorAMD; 14376 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 14377 VkStructureType sType; 14378 const void* pNext; 14379 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 14380 } VkDeviceMemoryOverallocationCreateInfoAMD; 14381 14382 14383 14384 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 14385 #define VK_EXT_vertex_attribute_divisor 1 14386 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 14387 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 14388 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 14389 VkStructureType sType; 14390 void* pNext; 14391 uint32_t maxVertexAttribDivisor; 14392 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 14393 14394 typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT; 14395 14396 typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT; 14397 14398 typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 14399 14400 14401 14402 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 14403 #define VK_EXT_pipeline_creation_feedback 1 14404 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 14405 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 14406 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 14407 14408 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 14409 14410 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 14411 14412 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 14413 14414 14415 14416 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 14417 #define VK_NV_shader_subgroup_partitioned 1 14418 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 14419 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 14420 14421 14422 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 14423 #define VK_NV_compute_shader_derivatives 1 14424 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 14425 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 14426 typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 14427 14428 14429 14430 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 14431 #define VK_NV_mesh_shader 1 14432 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 14433 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 14434 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 14435 VkStructureType sType; 14436 void* pNext; 14437 VkBool32 taskShader; 14438 VkBool32 meshShader; 14439 } VkPhysicalDeviceMeshShaderFeaturesNV; 14440 14441 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 14442 VkStructureType sType; 14443 void* pNext; 14444 uint32_t maxDrawMeshTasksCount; 14445 uint32_t maxTaskWorkGroupInvocations; 14446 uint32_t maxTaskWorkGroupSize[3]; 14447 uint32_t maxTaskTotalMemorySize; 14448 uint32_t maxTaskOutputCount; 14449 uint32_t maxMeshWorkGroupInvocations; 14450 uint32_t maxMeshWorkGroupSize[3]; 14451 uint32_t maxMeshTotalMemorySize; 14452 uint32_t maxMeshOutputVertices; 14453 uint32_t maxMeshOutputPrimitives; 14454 uint32_t maxMeshMultiviewViewCount; 14455 uint32_t meshOutputPerVertexGranularity; 14456 uint32_t meshOutputPerPrimitiveGranularity; 14457 } VkPhysicalDeviceMeshShaderPropertiesNV; 14458 14459 typedef struct VkDrawMeshTasksIndirectCommandNV { 14460 uint32_t taskCount; 14461 uint32_t firstTask; 14462 } VkDrawMeshTasksIndirectCommandNV; 14463 14464 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 14465 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 14466 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 14467 14468 #ifndef VK_NO_PROTOTYPES 14469 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 14470 VkCommandBuffer commandBuffer, 14471 uint32_t taskCount, 14472 uint32_t firstTask); 14473 14474 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 14475 VkCommandBuffer commandBuffer, 14476 VkBuffer buffer, 14477 VkDeviceSize offset, 14478 uint32_t drawCount, 14479 uint32_t stride); 14480 14481 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 14482 VkCommandBuffer commandBuffer, 14483 VkBuffer buffer, 14484 VkDeviceSize offset, 14485 VkBuffer countBuffer, 14486 VkDeviceSize countBufferOffset, 14487 uint32_t maxDrawCount, 14488 uint32_t stride); 14489 #endif 14490 14491 14492 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 14493 #define VK_NV_fragment_shader_barycentric 1 14494 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 14495 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 14496 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 14497 14498 14499 14500 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 14501 #define VK_NV_shader_image_footprint 1 14502 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 14503 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 14504 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 14505 VkStructureType sType; 14506 void* pNext; 14507 VkBool32 imageFootprint; 14508 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 14509 14510 14511 14512 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 14513 #define VK_NV_scissor_exclusive 1 14514 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 14515 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 14516 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 14517 VkStructureType sType; 14518 const void* pNext; 14519 uint32_t exclusiveScissorCount; 14520 const VkRect2D* pExclusiveScissors; 14521 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 14522 14523 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 14524 VkStructureType sType; 14525 void* pNext; 14526 VkBool32 exclusiveScissor; 14527 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 14528 14529 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 14530 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 14531 14532 #ifndef VK_NO_PROTOTYPES 14533 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14534 VkCommandBuffer commandBuffer, 14535 uint32_t firstExclusiveScissor, 14536 uint32_t exclusiveScissorCount, 14537 const VkBool32* pExclusiveScissorEnables); 14538 14539 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 14540 VkCommandBuffer commandBuffer, 14541 uint32_t firstExclusiveScissor, 14542 uint32_t exclusiveScissorCount, 14543 const VkRect2D* pExclusiveScissors); 14544 #endif 14545 14546 14547 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 14548 #define VK_NV_device_diagnostic_checkpoints 1 14549 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 14550 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 14551 typedef struct VkQueueFamilyCheckpointPropertiesNV { 14552 VkStructureType sType; 14553 void* pNext; 14554 VkPipelineStageFlags checkpointExecutionStageMask; 14555 } VkQueueFamilyCheckpointPropertiesNV; 14556 14557 typedef struct VkCheckpointDataNV { 14558 VkStructureType sType; 14559 void* pNext; 14560 VkPipelineStageFlagBits stage; 14561 void* pCheckpointMarker; 14562 } VkCheckpointDataNV; 14563 14564 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 14565 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 14566 14567 #ifndef VK_NO_PROTOTYPES 14568 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 14569 VkCommandBuffer commandBuffer, 14570 const void* pCheckpointMarker); 14571 14572 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 14573 VkQueue queue, 14574 uint32_t* pCheckpointDataCount, 14575 VkCheckpointDataNV* pCheckpointData); 14576 #endif 14577 14578 14579 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 14580 #define VK_INTEL_shader_integer_functions2 1 14581 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 14582 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 14583 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 14584 VkStructureType sType; 14585 void* pNext; 14586 VkBool32 shaderIntegerFunctions2; 14587 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 14588 14589 14590 14591 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 14592 #define VK_INTEL_performance_query 1 14593 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 14594 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 14595 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 14596 14597 typedef enum VkPerformanceConfigurationTypeINTEL { 14598 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 14599 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14600 } VkPerformanceConfigurationTypeINTEL; 14601 14602 typedef enum VkQueryPoolSamplingModeINTEL { 14603 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 14604 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 14605 } VkQueryPoolSamplingModeINTEL; 14606 14607 typedef enum VkPerformanceOverrideTypeINTEL { 14608 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 14609 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 14610 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14611 } VkPerformanceOverrideTypeINTEL; 14612 14613 typedef enum VkPerformanceParameterTypeINTEL { 14614 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 14615 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 14616 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14617 } VkPerformanceParameterTypeINTEL; 14618 14619 typedef enum VkPerformanceValueTypeINTEL { 14620 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 14621 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 14622 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 14623 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 14624 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 14625 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 14626 } VkPerformanceValueTypeINTEL; 14627 typedef union VkPerformanceValueDataINTEL { 14628 uint32_t value32; 14629 uint64_t value64; 14630 float valueFloat; 14631 VkBool32 valueBool; 14632 const char* valueString; 14633 } VkPerformanceValueDataINTEL; 14634 14635 typedef struct VkPerformanceValueINTEL { 14636 VkPerformanceValueTypeINTEL type; 14637 VkPerformanceValueDataINTEL data; 14638 } VkPerformanceValueINTEL; 14639 14640 typedef struct VkInitializePerformanceApiInfoINTEL { 14641 VkStructureType sType; 14642 const void* pNext; 14643 void* pUserData; 14644 } VkInitializePerformanceApiInfoINTEL; 14645 14646 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 14647 VkStructureType sType; 14648 const void* pNext; 14649 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 14650 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 14651 14652 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 14653 14654 typedef struct VkPerformanceMarkerInfoINTEL { 14655 VkStructureType sType; 14656 const void* pNext; 14657 uint64_t marker; 14658 } VkPerformanceMarkerInfoINTEL; 14659 14660 typedef struct VkPerformanceStreamMarkerInfoINTEL { 14661 VkStructureType sType; 14662 const void* pNext; 14663 uint32_t marker; 14664 } VkPerformanceStreamMarkerInfoINTEL; 14665 14666 typedef struct VkPerformanceOverrideInfoINTEL { 14667 VkStructureType sType; 14668 const void* pNext; 14669 VkPerformanceOverrideTypeINTEL type; 14670 VkBool32 enable; 14671 uint64_t parameter; 14672 } VkPerformanceOverrideInfoINTEL; 14673 14674 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 14675 VkStructureType sType; 14676 const void* pNext; 14677 VkPerformanceConfigurationTypeINTEL type; 14678 } VkPerformanceConfigurationAcquireInfoINTEL; 14679 14680 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14681 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 14682 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14683 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14684 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14685 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 14686 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 14687 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 14688 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 14689 14690 #ifndef VK_NO_PROTOTYPES 14691 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 14692 VkDevice device, 14693 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 14694 14695 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 14696 VkDevice device); 14697 14698 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 14699 VkCommandBuffer commandBuffer, 14700 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 14701 14702 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 14703 VkCommandBuffer commandBuffer, 14704 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 14705 14706 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 14707 VkCommandBuffer commandBuffer, 14708 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 14709 14710 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 14711 VkDevice device, 14712 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 14713 VkPerformanceConfigurationINTEL* pConfiguration); 14714 14715 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 14716 VkDevice device, 14717 VkPerformanceConfigurationINTEL configuration); 14718 14719 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 14720 VkQueue queue, 14721 VkPerformanceConfigurationINTEL configuration); 14722 14723 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 14724 VkDevice device, 14725 VkPerformanceParameterTypeINTEL parameter, 14726 VkPerformanceValueINTEL* pValue); 14727 #endif 14728 14729 14730 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 14731 #define VK_EXT_pci_bus_info 1 14732 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 14733 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 14734 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 14735 VkStructureType sType; 14736 void* pNext; 14737 uint32_t pciDomain; 14738 uint32_t pciBus; 14739 uint32_t pciDevice; 14740 uint32_t pciFunction; 14741 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 14742 14743 14744 14745 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 14746 #define VK_AMD_display_native_hdr 1 14747 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 14748 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 14749 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 14750 VkStructureType sType; 14751 void* pNext; 14752 VkBool32 localDimmingSupport; 14753 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 14754 14755 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 14756 VkStructureType sType; 14757 const void* pNext; 14758 VkBool32 localDimmingEnable; 14759 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 14760 14761 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 14762 14763 #ifndef VK_NO_PROTOTYPES 14764 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 14765 VkDevice device, 14766 VkSwapchainKHR swapChain, 14767 VkBool32 localDimmingEnable); 14768 #endif 14769 14770 14771 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 14772 #define VK_EXT_fragment_density_map 1 14773 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 14774 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 14775 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 14776 VkStructureType sType; 14777 void* pNext; 14778 VkBool32 fragmentDensityMap; 14779 VkBool32 fragmentDensityMapDynamic; 14780 VkBool32 fragmentDensityMapNonSubsampledImages; 14781 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 14782 14783 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 14784 VkStructureType sType; 14785 void* pNext; 14786 VkExtent2D minFragmentDensityTexelSize; 14787 VkExtent2D maxFragmentDensityTexelSize; 14788 VkBool32 fragmentDensityInvocations; 14789 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 14790 14791 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 14792 VkStructureType sType; 14793 const void* pNext; 14794 VkAttachmentReference fragmentDensityMapAttachment; 14795 } VkRenderPassFragmentDensityMapCreateInfoEXT; 14796 14797 14798 14799 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 14800 #define VK_EXT_scalar_block_layout 1 14801 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 14802 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 14803 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 14804 14805 14806 14807 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 14808 #define VK_GOOGLE_hlsl_functionality1 1 14809 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 14810 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 14811 // VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION is a deprecated alias 14812 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 14813 // VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME is a deprecated alias 14814 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 14815 14816 14817 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 14818 #define VK_GOOGLE_decorate_string 1 14819 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 14820 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 14821 14822 14823 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 14824 #define VK_EXT_subgroup_size_control 1 14825 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 14826 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 14827 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 14828 14829 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 14830 14831 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 14832 14833 14834 14835 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 14836 #define VK_AMD_shader_core_properties2 1 14837 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 14838 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 14839 14840 typedef enum VkShaderCorePropertiesFlagBitsAMD { 14841 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14842 } VkShaderCorePropertiesFlagBitsAMD; 14843 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 14844 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 14845 VkStructureType sType; 14846 void* pNext; 14847 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 14848 uint32_t activeComputeUnitCount; 14849 } VkPhysicalDeviceShaderCoreProperties2AMD; 14850 14851 14852 14853 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 14854 #define VK_AMD_device_coherent_memory 1 14855 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 14856 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 14857 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 14858 VkStructureType sType; 14859 void* pNext; 14860 VkBool32 deviceCoherentMemory; 14861 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 14862 14863 14864 14865 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 14866 #define VK_EXT_shader_image_atomic_int64 1 14867 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 14868 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 14869 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 14870 VkStructureType sType; 14871 void* pNext; 14872 VkBool32 shaderImageInt64Atomics; 14873 VkBool32 sparseImageInt64Atomics; 14874 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 14875 14876 14877 14878 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 14879 #define VK_EXT_memory_budget 1 14880 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 14881 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 14882 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 14883 VkStructureType sType; 14884 void* pNext; 14885 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 14886 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 14887 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 14888 14889 14890 14891 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 14892 #define VK_EXT_memory_priority 1 14893 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 14894 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 14895 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 14896 VkStructureType sType; 14897 void* pNext; 14898 VkBool32 memoryPriority; 14899 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 14900 14901 typedef struct VkMemoryPriorityAllocateInfoEXT { 14902 VkStructureType sType; 14903 const void* pNext; 14904 float priority; 14905 } VkMemoryPriorityAllocateInfoEXT; 14906 14907 14908 14909 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 14910 #define VK_NV_dedicated_allocation_image_aliasing 1 14911 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 14912 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 14913 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 14914 VkStructureType sType; 14915 void* pNext; 14916 VkBool32 dedicatedAllocationImageAliasing; 14917 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 14918 14919 14920 14921 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 14922 #define VK_EXT_buffer_device_address 1 14923 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 14924 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 14925 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 14926 VkStructureType sType; 14927 void* pNext; 14928 VkBool32 bufferDeviceAddress; 14929 VkBool32 bufferDeviceAddressCaptureReplay; 14930 VkBool32 bufferDeviceAddressMultiDevice; 14931 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 14932 14933 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 14934 14935 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 14936 14937 typedef struct VkBufferDeviceAddressCreateInfoEXT { 14938 VkStructureType sType; 14939 const void* pNext; 14940 VkDeviceAddress deviceAddress; 14941 } VkBufferDeviceAddressCreateInfoEXT; 14942 14943 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 14944 14945 #ifndef VK_NO_PROTOTYPES 14946 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 14947 VkDevice device, 14948 const VkBufferDeviceAddressInfo* pInfo); 14949 #endif 14950 14951 14952 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 14953 #define VK_EXT_tooling_info 1 14954 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 14955 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 14956 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 14957 14958 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 14959 14960 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 14961 14962 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 14963 14964 #ifndef VK_NO_PROTOTYPES 14965 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 14966 VkPhysicalDevice physicalDevice, 14967 uint32_t* pToolCount, 14968 VkPhysicalDeviceToolProperties* pToolProperties); 14969 #endif 14970 14971 14972 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 14973 #define VK_EXT_separate_stencil_usage 1 14974 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 14975 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 14976 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 14977 14978 14979 14980 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 14981 #define VK_EXT_validation_features 1 14982 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 14983 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 14984 14985 typedef enum VkValidationFeatureEnableEXT { 14986 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 14987 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 14988 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 14989 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 14990 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 14991 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14992 } VkValidationFeatureEnableEXT; 14993 14994 typedef enum VkValidationFeatureDisableEXT { 14995 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 14996 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 14997 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 14998 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 14999 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 15000 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 15001 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 15002 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 15003 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15004 } VkValidationFeatureDisableEXT; 15005 typedef struct VkValidationFeaturesEXT { 15006 VkStructureType sType; 15007 const void* pNext; 15008 uint32_t enabledValidationFeatureCount; 15009 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 15010 uint32_t disabledValidationFeatureCount; 15011 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 15012 } VkValidationFeaturesEXT; 15013 15014 15015 15016 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 15017 #define VK_NV_cooperative_matrix 1 15018 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 15019 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 15020 typedef VkComponentTypeKHR VkComponentTypeNV; 15021 15022 typedef VkScopeKHR VkScopeNV; 15023 15024 typedef struct VkCooperativeMatrixPropertiesNV { 15025 VkStructureType sType; 15026 void* pNext; 15027 uint32_t MSize; 15028 uint32_t NSize; 15029 uint32_t KSize; 15030 VkComponentTypeNV AType; 15031 VkComponentTypeNV BType; 15032 VkComponentTypeNV CType; 15033 VkComponentTypeNV DType; 15034 VkScopeNV scope; 15035 } VkCooperativeMatrixPropertiesNV; 15036 15037 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 15038 VkStructureType sType; 15039 void* pNext; 15040 VkBool32 cooperativeMatrix; 15041 VkBool32 cooperativeMatrixRobustBufferAccess; 15042 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 15043 15044 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 15045 VkStructureType sType; 15046 void* pNext; 15047 VkShaderStageFlags cooperativeMatrixSupportedStages; 15048 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 15049 15050 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 15051 15052 #ifndef VK_NO_PROTOTYPES 15053 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 15054 VkPhysicalDevice physicalDevice, 15055 uint32_t* pPropertyCount, 15056 VkCooperativeMatrixPropertiesNV* pProperties); 15057 #endif 15058 15059 15060 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 15061 #define VK_NV_coverage_reduction_mode 1 15062 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 15063 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 15064 15065 typedef enum VkCoverageReductionModeNV { 15066 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 15067 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 15068 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 15069 } VkCoverageReductionModeNV; 15070 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 15071 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 15072 VkStructureType sType; 15073 void* pNext; 15074 VkBool32 coverageReductionMode; 15075 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 15076 15077 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 15078 VkStructureType sType; 15079 const void* pNext; 15080 VkPipelineCoverageReductionStateCreateFlagsNV flags; 15081 VkCoverageReductionModeNV coverageReductionMode; 15082 } VkPipelineCoverageReductionStateCreateInfoNV; 15083 15084 typedef struct VkFramebufferMixedSamplesCombinationNV { 15085 VkStructureType sType; 15086 void* pNext; 15087 VkCoverageReductionModeNV coverageReductionMode; 15088 VkSampleCountFlagBits rasterizationSamples; 15089 VkSampleCountFlags depthStencilSamples; 15090 VkSampleCountFlags colorSamples; 15091 } VkFramebufferMixedSamplesCombinationNV; 15092 15093 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 15094 15095 #ifndef VK_NO_PROTOTYPES 15096 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 15097 VkPhysicalDevice physicalDevice, 15098 uint32_t* pCombinationCount, 15099 VkFramebufferMixedSamplesCombinationNV* pCombinations); 15100 #endif 15101 15102 15103 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 15104 #define VK_EXT_fragment_shader_interlock 1 15105 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 15106 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 15107 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 15108 VkStructureType sType; 15109 void* pNext; 15110 VkBool32 fragmentShaderSampleInterlock; 15111 VkBool32 fragmentShaderPixelInterlock; 15112 VkBool32 fragmentShaderShadingRateInterlock; 15113 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 15114 15115 15116 15117 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 15118 #define VK_EXT_ycbcr_image_arrays 1 15119 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 15120 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 15121 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 15122 VkStructureType sType; 15123 void* pNext; 15124 VkBool32 ycbcrImageArrays; 15125 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 15126 15127 15128 15129 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 15130 #define VK_EXT_provoking_vertex 1 15131 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 15132 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 15133 15134 typedef enum VkProvokingVertexModeEXT { 15135 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 15136 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 15137 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 15138 } VkProvokingVertexModeEXT; 15139 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 15140 VkStructureType sType; 15141 void* pNext; 15142 VkBool32 provokingVertexLast; 15143 VkBool32 transformFeedbackPreservesProvokingVertex; 15144 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 15145 15146 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 15147 VkStructureType sType; 15148 void* pNext; 15149 VkBool32 provokingVertexModePerPipeline; 15150 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 15151 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 15152 15153 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 15154 VkStructureType sType; 15155 const void* pNext; 15156 VkProvokingVertexModeEXT provokingVertexMode; 15157 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 15158 15159 15160 15161 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 15162 #define VK_EXT_headless_surface 1 15163 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 15164 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 15165 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 15166 typedef struct VkHeadlessSurfaceCreateInfoEXT { 15167 VkStructureType sType; 15168 const void* pNext; 15169 VkHeadlessSurfaceCreateFlagsEXT flags; 15170 } VkHeadlessSurfaceCreateInfoEXT; 15171 15172 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 15173 15174 #ifndef VK_NO_PROTOTYPES 15175 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 15176 VkInstance instance, 15177 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 15178 const VkAllocationCallbacks* pAllocator, 15179 VkSurfaceKHR* pSurface); 15180 #endif 15181 15182 15183 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 15184 #define VK_EXT_line_rasterization 1 15185 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 15186 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 15187 typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT; 15188 15189 typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT; 15190 15191 typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT; 15192 15193 typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT; 15194 15195 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 15196 15197 #ifndef VK_NO_PROTOTYPES 15198 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 15199 VkCommandBuffer commandBuffer, 15200 uint32_t lineStippleFactor, 15201 uint16_t lineStipplePattern); 15202 #endif 15203 15204 15205 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 15206 #define VK_EXT_shader_atomic_float 1 15207 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 15208 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 15209 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 15210 VkStructureType sType; 15211 void* pNext; 15212 VkBool32 shaderBufferFloat32Atomics; 15213 VkBool32 shaderBufferFloat32AtomicAdd; 15214 VkBool32 shaderBufferFloat64Atomics; 15215 VkBool32 shaderBufferFloat64AtomicAdd; 15216 VkBool32 shaderSharedFloat32Atomics; 15217 VkBool32 shaderSharedFloat32AtomicAdd; 15218 VkBool32 shaderSharedFloat64Atomics; 15219 VkBool32 shaderSharedFloat64AtomicAdd; 15220 VkBool32 shaderImageFloat32Atomics; 15221 VkBool32 shaderImageFloat32AtomicAdd; 15222 VkBool32 sparseImageFloat32Atomics; 15223 VkBool32 sparseImageFloat32AtomicAdd; 15224 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 15225 15226 15227 15228 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 15229 #define VK_EXT_host_query_reset 1 15230 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 15231 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 15232 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 15233 15234 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 15235 15236 #ifndef VK_NO_PROTOTYPES 15237 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 15238 VkDevice device, 15239 VkQueryPool queryPool, 15240 uint32_t firstQuery, 15241 uint32_t queryCount); 15242 #endif 15243 15244 15245 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 15246 #define VK_EXT_index_type_uint8 1 15247 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 15248 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 15249 typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 15250 15251 15252 15253 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 15254 #define VK_EXT_extended_dynamic_state 1 15255 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 15256 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 15257 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 15258 VkStructureType sType; 15259 void* pNext; 15260 VkBool32 extendedDynamicState; 15261 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 15262 15263 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 15264 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 15265 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 15266 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 15267 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 15268 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); 15269 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 15270 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 15271 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 15272 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 15273 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 15274 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 15275 15276 #ifndef VK_NO_PROTOTYPES 15277 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 15278 VkCommandBuffer commandBuffer, 15279 VkCullModeFlags cullMode); 15280 15281 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 15282 VkCommandBuffer commandBuffer, 15283 VkFrontFace frontFace); 15284 15285 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 15286 VkCommandBuffer commandBuffer, 15287 VkPrimitiveTopology primitiveTopology); 15288 15289 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 15290 VkCommandBuffer commandBuffer, 15291 uint32_t viewportCount, 15292 const VkViewport* pViewports); 15293 15294 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 15295 VkCommandBuffer commandBuffer, 15296 uint32_t scissorCount, 15297 const VkRect2D* pScissors); 15298 15299 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 15300 VkCommandBuffer commandBuffer, 15301 uint32_t firstBinding, 15302 uint32_t bindingCount, 15303 const VkBuffer* pBuffers, 15304 const VkDeviceSize* pOffsets, 15305 const VkDeviceSize* pSizes, 15306 const VkDeviceSize* pStrides); 15307 15308 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 15309 VkCommandBuffer commandBuffer, 15310 VkBool32 depthTestEnable); 15311 15312 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 15313 VkCommandBuffer commandBuffer, 15314 VkBool32 depthWriteEnable); 15315 15316 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 15317 VkCommandBuffer commandBuffer, 15318 VkCompareOp depthCompareOp); 15319 15320 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 15321 VkCommandBuffer commandBuffer, 15322 VkBool32 depthBoundsTestEnable); 15323 15324 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 15325 VkCommandBuffer commandBuffer, 15326 VkBool32 stencilTestEnable); 15327 15328 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 15329 VkCommandBuffer commandBuffer, 15330 VkStencilFaceFlags faceMask, 15331 VkStencilOp failOp, 15332 VkStencilOp passOp, 15333 VkStencilOp depthFailOp, 15334 VkCompareOp compareOp); 15335 #endif 15336 15337 15338 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 15339 #define VK_EXT_host_image_copy 1 15340 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 15341 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 15342 15343 typedef enum VkHostImageCopyFlagBitsEXT { 15344 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001, 15345 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15346 } VkHostImageCopyFlagBitsEXT; 15347 typedef VkFlags VkHostImageCopyFlagsEXT; 15348 typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT { 15349 VkStructureType sType; 15350 void* pNext; 15351 VkBool32 hostImageCopy; 15352 } VkPhysicalDeviceHostImageCopyFeaturesEXT; 15353 15354 typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT { 15355 VkStructureType sType; 15356 void* pNext; 15357 uint32_t copySrcLayoutCount; 15358 VkImageLayout* pCopySrcLayouts; 15359 uint32_t copyDstLayoutCount; 15360 VkImageLayout* pCopyDstLayouts; 15361 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 15362 VkBool32 identicalMemoryTypeRequirements; 15363 } VkPhysicalDeviceHostImageCopyPropertiesEXT; 15364 15365 typedef struct VkMemoryToImageCopyEXT { 15366 VkStructureType sType; 15367 const void* pNext; 15368 const void* pHostPointer; 15369 uint32_t memoryRowLength; 15370 uint32_t memoryImageHeight; 15371 VkImageSubresourceLayers imageSubresource; 15372 VkOffset3D imageOffset; 15373 VkExtent3D imageExtent; 15374 } VkMemoryToImageCopyEXT; 15375 15376 typedef struct VkImageToMemoryCopyEXT { 15377 VkStructureType sType; 15378 const void* pNext; 15379 void* pHostPointer; 15380 uint32_t memoryRowLength; 15381 uint32_t memoryImageHeight; 15382 VkImageSubresourceLayers imageSubresource; 15383 VkOffset3D imageOffset; 15384 VkExtent3D imageExtent; 15385 } VkImageToMemoryCopyEXT; 15386 15387 typedef struct VkCopyMemoryToImageInfoEXT { 15388 VkStructureType sType; 15389 const void* pNext; 15390 VkHostImageCopyFlagsEXT flags; 15391 VkImage dstImage; 15392 VkImageLayout dstImageLayout; 15393 uint32_t regionCount; 15394 const VkMemoryToImageCopyEXT* pRegions; 15395 } VkCopyMemoryToImageInfoEXT; 15396 15397 typedef struct VkCopyImageToMemoryInfoEXT { 15398 VkStructureType sType; 15399 const void* pNext; 15400 VkHostImageCopyFlagsEXT flags; 15401 VkImage srcImage; 15402 VkImageLayout srcImageLayout; 15403 uint32_t regionCount; 15404 const VkImageToMemoryCopyEXT* pRegions; 15405 } VkCopyImageToMemoryInfoEXT; 15406 15407 typedef struct VkCopyImageToImageInfoEXT { 15408 VkStructureType sType; 15409 const void* pNext; 15410 VkHostImageCopyFlagsEXT flags; 15411 VkImage srcImage; 15412 VkImageLayout srcImageLayout; 15413 VkImage dstImage; 15414 VkImageLayout dstImageLayout; 15415 uint32_t regionCount; 15416 const VkImageCopy2* pRegions; 15417 } VkCopyImageToImageInfoEXT; 15418 15419 typedef struct VkHostImageLayoutTransitionInfoEXT { 15420 VkStructureType sType; 15421 const void* pNext; 15422 VkImage image; 15423 VkImageLayout oldLayout; 15424 VkImageLayout newLayout; 15425 VkImageSubresourceRange subresourceRange; 15426 } VkHostImageLayoutTransitionInfoEXT; 15427 15428 typedef struct VkSubresourceHostMemcpySizeEXT { 15429 VkStructureType sType; 15430 void* pNext; 15431 VkDeviceSize size; 15432 } VkSubresourceHostMemcpySizeEXT; 15433 15434 typedef struct VkHostImageCopyDevicePerformanceQueryEXT { 15435 VkStructureType sType; 15436 void* pNext; 15437 VkBool32 optimalDeviceAccess; 15438 VkBool32 identicalMemoryLayout; 15439 } VkHostImageCopyDevicePerformanceQueryEXT; 15440 15441 typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT; 15442 15443 typedef VkImageSubresource2KHR VkImageSubresource2EXT; 15444 15445 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15446 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15447 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15448 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15449 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 15450 15451 #ifndef VK_NO_PROTOTYPES 15452 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 15453 VkDevice device, 15454 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 15455 15456 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 15457 VkDevice device, 15458 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 15459 15460 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 15461 VkDevice device, 15462 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 15463 15464 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 15465 VkDevice device, 15466 uint32_t transitionCount, 15467 const VkHostImageLayoutTransitionInfoEXT* pTransitions); 15468 15469 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15470 VkDevice device, 15471 VkImage image, 15472 const VkImageSubresource2KHR* pSubresource, 15473 VkSubresourceLayout2KHR* pLayout); 15474 #endif 15475 15476 15477 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 15478 #define VK_EXT_map_memory_placed 1 15479 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 15480 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 15481 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 15482 VkStructureType sType; 15483 void* pNext; 15484 VkBool32 memoryMapPlaced; 15485 VkBool32 memoryMapRangePlaced; 15486 VkBool32 memoryUnmapReserve; 15487 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 15488 15489 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 15490 VkStructureType sType; 15491 void* pNext; 15492 VkDeviceSize minPlacedMemoryMapAlignment; 15493 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 15494 15495 typedef struct VkMemoryMapPlacedInfoEXT { 15496 VkStructureType sType; 15497 const void* pNext; 15498 void* pPlacedAddress; 15499 } VkMemoryMapPlacedInfoEXT; 15500 15501 15502 15503 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 15504 #define VK_EXT_shader_atomic_float2 1 15505 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 15506 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 15507 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 15508 VkStructureType sType; 15509 void* pNext; 15510 VkBool32 shaderBufferFloat16Atomics; 15511 VkBool32 shaderBufferFloat16AtomicAdd; 15512 VkBool32 shaderBufferFloat16AtomicMinMax; 15513 VkBool32 shaderBufferFloat32AtomicMinMax; 15514 VkBool32 shaderBufferFloat64AtomicMinMax; 15515 VkBool32 shaderSharedFloat16Atomics; 15516 VkBool32 shaderSharedFloat16AtomicAdd; 15517 VkBool32 shaderSharedFloat16AtomicMinMax; 15518 VkBool32 shaderSharedFloat32AtomicMinMax; 15519 VkBool32 shaderSharedFloat64AtomicMinMax; 15520 VkBool32 shaderImageFloat32AtomicMinMax; 15521 VkBool32 sparseImageFloat32AtomicMinMax; 15522 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 15523 15524 15525 15526 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15527 #define VK_EXT_surface_maintenance1 1 15528 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15529 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15530 15531 typedef enum VkPresentScalingFlagBitsEXT { 15532 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15533 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15534 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15535 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15536 } VkPresentScalingFlagBitsEXT; 15537 typedef VkFlags VkPresentScalingFlagsEXT; 15538 15539 typedef enum VkPresentGravityFlagBitsEXT { 15540 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15541 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15542 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15543 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15544 } VkPresentGravityFlagBitsEXT; 15545 typedef VkFlags VkPresentGravityFlagsEXT; 15546 typedef struct VkSurfacePresentModeEXT { 15547 VkStructureType sType; 15548 void* pNext; 15549 VkPresentModeKHR presentMode; 15550 } VkSurfacePresentModeEXT; 15551 15552 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15553 VkStructureType sType; 15554 void* pNext; 15555 VkPresentScalingFlagsEXT supportedPresentScaling; 15556 VkPresentGravityFlagsEXT supportedPresentGravityX; 15557 VkPresentGravityFlagsEXT supportedPresentGravityY; 15558 VkExtent2D minScaledImageExtent; 15559 VkExtent2D maxScaledImageExtent; 15560 } VkSurfacePresentScalingCapabilitiesEXT; 15561 15562 typedef struct VkSurfacePresentModeCompatibilityEXT { 15563 VkStructureType sType; 15564 void* pNext; 15565 uint32_t presentModeCount; 15566 VkPresentModeKHR* pPresentModes; 15567 } VkSurfacePresentModeCompatibilityEXT; 15568 15569 15570 15571 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15572 #define VK_EXT_swapchain_maintenance1 1 15573 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15574 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15575 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15576 VkStructureType sType; 15577 void* pNext; 15578 VkBool32 swapchainMaintenance1; 15579 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15580 15581 typedef struct VkSwapchainPresentFenceInfoEXT { 15582 VkStructureType sType; 15583 const void* pNext; 15584 uint32_t swapchainCount; 15585 const VkFence* pFences; 15586 } VkSwapchainPresentFenceInfoEXT; 15587 15588 typedef struct VkSwapchainPresentModesCreateInfoEXT { 15589 VkStructureType sType; 15590 const void* pNext; 15591 uint32_t presentModeCount; 15592 const VkPresentModeKHR* pPresentModes; 15593 } VkSwapchainPresentModesCreateInfoEXT; 15594 15595 typedef struct VkSwapchainPresentModeInfoEXT { 15596 VkStructureType sType; 15597 const void* pNext; 15598 uint32_t swapchainCount; 15599 const VkPresentModeKHR* pPresentModes; 15600 } VkSwapchainPresentModeInfoEXT; 15601 15602 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15603 VkStructureType sType; 15604 const void* pNext; 15605 VkPresentScalingFlagsEXT scalingBehavior; 15606 VkPresentGravityFlagsEXT presentGravityX; 15607 VkPresentGravityFlagsEXT presentGravityY; 15608 } VkSwapchainPresentScalingCreateInfoEXT; 15609 15610 typedef struct VkReleaseSwapchainImagesInfoEXT { 15611 VkStructureType sType; 15612 const void* pNext; 15613 VkSwapchainKHR swapchain; 15614 uint32_t imageIndexCount; 15615 const uint32_t* pImageIndices; 15616 } VkReleaseSwapchainImagesInfoEXT; 15617 15618 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15619 15620 #ifndef VK_NO_PROTOTYPES 15621 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 15622 VkDevice device, 15623 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15624 #endif 15625 15626 15627 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 15628 #define VK_EXT_shader_demote_to_helper_invocation 1 15629 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 15630 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 15631 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 15632 15633 15634 15635 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 15636 #define VK_NV_device_generated_commands 1 15637 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 15638 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 15639 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 15640 15641 typedef enum VkIndirectCommandsTokenTypeNV { 15642 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 15643 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 15644 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 15645 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 15646 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 15647 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 15648 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 15649 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 15650 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 15651 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 15652 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 15653 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15654 } VkIndirectCommandsTokenTypeNV; 15655 15656 typedef enum VkIndirectStateFlagBitsNV { 15657 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 15658 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15659 } VkIndirectStateFlagBitsNV; 15660 typedef VkFlags VkIndirectStateFlagsNV; 15661 15662 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 15663 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 15664 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 15665 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 15666 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15667 } VkIndirectCommandsLayoutUsageFlagBitsNV; 15668 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 15669 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 15670 VkStructureType sType; 15671 void* pNext; 15672 uint32_t maxGraphicsShaderGroupCount; 15673 uint32_t maxIndirectSequenceCount; 15674 uint32_t maxIndirectCommandsTokenCount; 15675 uint32_t maxIndirectCommandsStreamCount; 15676 uint32_t maxIndirectCommandsTokenOffset; 15677 uint32_t maxIndirectCommandsStreamStride; 15678 uint32_t minSequencesCountBufferOffsetAlignment; 15679 uint32_t minSequencesIndexBufferOffsetAlignment; 15680 uint32_t minIndirectCommandsBufferOffsetAlignment; 15681 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 15682 15683 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 15684 VkStructureType sType; 15685 void* pNext; 15686 VkBool32 deviceGeneratedCommands; 15687 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 15688 15689 typedef struct VkGraphicsShaderGroupCreateInfoNV { 15690 VkStructureType sType; 15691 const void* pNext; 15692 uint32_t stageCount; 15693 const VkPipelineShaderStageCreateInfo* pStages; 15694 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 15695 const VkPipelineTessellationStateCreateInfo* pTessellationState; 15696 } VkGraphicsShaderGroupCreateInfoNV; 15697 15698 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 15699 VkStructureType sType; 15700 const void* pNext; 15701 uint32_t groupCount; 15702 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 15703 uint32_t pipelineCount; 15704 const VkPipeline* pPipelines; 15705 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 15706 15707 typedef struct VkBindShaderGroupIndirectCommandNV { 15708 uint32_t groupIndex; 15709 } VkBindShaderGroupIndirectCommandNV; 15710 15711 typedef struct VkBindIndexBufferIndirectCommandNV { 15712 VkDeviceAddress bufferAddress; 15713 uint32_t size; 15714 VkIndexType indexType; 15715 } VkBindIndexBufferIndirectCommandNV; 15716 15717 typedef struct VkBindVertexBufferIndirectCommandNV { 15718 VkDeviceAddress bufferAddress; 15719 uint32_t size; 15720 uint32_t stride; 15721 } VkBindVertexBufferIndirectCommandNV; 15722 15723 typedef struct VkSetStateFlagsIndirectCommandNV { 15724 uint32_t data; 15725 } VkSetStateFlagsIndirectCommandNV; 15726 15727 typedef struct VkIndirectCommandsStreamNV { 15728 VkBuffer buffer; 15729 VkDeviceSize offset; 15730 } VkIndirectCommandsStreamNV; 15731 15732 typedef struct VkIndirectCommandsLayoutTokenNV { 15733 VkStructureType sType; 15734 const void* pNext; 15735 VkIndirectCommandsTokenTypeNV tokenType; 15736 uint32_t stream; 15737 uint32_t offset; 15738 uint32_t vertexBindingUnit; 15739 VkBool32 vertexDynamicStride; 15740 VkPipelineLayout pushconstantPipelineLayout; 15741 VkShaderStageFlags pushconstantShaderStageFlags; 15742 uint32_t pushconstantOffset; 15743 uint32_t pushconstantSize; 15744 VkIndirectStateFlagsNV indirectStateFlags; 15745 uint32_t indexTypeCount; 15746 const VkIndexType* pIndexTypes; 15747 const uint32_t* pIndexTypeValues; 15748 } VkIndirectCommandsLayoutTokenNV; 15749 15750 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 15751 VkStructureType sType; 15752 const void* pNext; 15753 VkIndirectCommandsLayoutUsageFlagsNV flags; 15754 VkPipelineBindPoint pipelineBindPoint; 15755 uint32_t tokenCount; 15756 const VkIndirectCommandsLayoutTokenNV* pTokens; 15757 uint32_t streamCount; 15758 const uint32_t* pStreamStrides; 15759 } VkIndirectCommandsLayoutCreateInfoNV; 15760 15761 typedef struct VkGeneratedCommandsInfoNV { 15762 VkStructureType sType; 15763 const void* pNext; 15764 VkPipelineBindPoint pipelineBindPoint; 15765 VkPipeline pipeline; 15766 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15767 uint32_t streamCount; 15768 const VkIndirectCommandsStreamNV* pStreams; 15769 uint32_t sequencesCount; 15770 VkBuffer preprocessBuffer; 15771 VkDeviceSize preprocessOffset; 15772 VkDeviceSize preprocessSize; 15773 VkBuffer sequencesCountBuffer; 15774 VkDeviceSize sequencesCountOffset; 15775 VkBuffer sequencesIndexBuffer; 15776 VkDeviceSize sequencesIndexOffset; 15777 } VkGeneratedCommandsInfoNV; 15778 15779 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 15780 VkStructureType sType; 15781 const void* pNext; 15782 VkPipelineBindPoint pipelineBindPoint; 15783 VkPipeline pipeline; 15784 VkIndirectCommandsLayoutNV indirectCommandsLayout; 15785 uint32_t maxSequencesCount; 15786 } VkGeneratedCommandsMemoryRequirementsInfoNV; 15787 15788 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 15789 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15790 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15791 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 15792 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15793 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 15794 15795 #ifndef VK_NO_PROTOTYPES 15796 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 15797 VkDevice device, 15798 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 15799 VkMemoryRequirements2* pMemoryRequirements); 15800 15801 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 15802 VkCommandBuffer commandBuffer, 15803 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15804 15805 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 15806 VkCommandBuffer commandBuffer, 15807 VkBool32 isPreprocessed, 15808 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 15809 15810 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 15811 VkCommandBuffer commandBuffer, 15812 VkPipelineBindPoint pipelineBindPoint, 15813 VkPipeline pipeline, 15814 uint32_t groupIndex); 15815 15816 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 15817 VkDevice device, 15818 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 15819 const VkAllocationCallbacks* pAllocator, 15820 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 15821 15822 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 15823 VkDevice device, 15824 VkIndirectCommandsLayoutNV indirectCommandsLayout, 15825 const VkAllocationCallbacks* pAllocator); 15826 #endif 15827 15828 15829 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 15830 #define VK_NV_inherited_viewport_scissor 1 15831 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 15832 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 15833 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 15834 VkStructureType sType; 15835 void* pNext; 15836 VkBool32 inheritedViewportScissor2D; 15837 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 15838 15839 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 15840 VkStructureType sType; 15841 const void* pNext; 15842 VkBool32 viewportScissor2D; 15843 uint32_t viewportDepthCount; 15844 const VkViewport* pViewportDepths; 15845 } VkCommandBufferInheritanceViewportScissorInfoNV; 15846 15847 15848 15849 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 15850 #define VK_EXT_texel_buffer_alignment 1 15851 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 15852 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 15853 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 15854 VkStructureType sType; 15855 void* pNext; 15856 VkBool32 texelBufferAlignment; 15857 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 15858 15859 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 15860 15861 15862 15863 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 15864 #define VK_QCOM_render_pass_transform 1 15865 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 15866 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 15867 typedef struct VkRenderPassTransformBeginInfoQCOM { 15868 VkStructureType sType; 15869 void* pNext; 15870 VkSurfaceTransformFlagBitsKHR transform; 15871 } VkRenderPassTransformBeginInfoQCOM; 15872 15873 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 15874 VkStructureType sType; 15875 void* pNext; 15876 VkSurfaceTransformFlagBitsKHR transform; 15877 VkRect2D renderArea; 15878 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 15879 15880 15881 15882 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 15883 #define VK_EXT_depth_bias_control 1 15884 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 15885 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 15886 15887 typedef enum VkDepthBiasRepresentationEXT { 15888 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 15889 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 15890 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 15891 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 15892 } VkDepthBiasRepresentationEXT; 15893 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 15894 VkStructureType sType; 15895 void* pNext; 15896 VkBool32 depthBiasControl; 15897 VkBool32 leastRepresentableValueForceUnormRepresentation; 15898 VkBool32 floatRepresentation; 15899 VkBool32 depthBiasExact; 15900 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 15901 15902 typedef struct VkDepthBiasInfoEXT { 15903 VkStructureType sType; 15904 const void* pNext; 15905 float depthBiasConstantFactor; 15906 float depthBiasClamp; 15907 float depthBiasSlopeFactor; 15908 } VkDepthBiasInfoEXT; 15909 15910 typedef struct VkDepthBiasRepresentationInfoEXT { 15911 VkStructureType sType; 15912 const void* pNext; 15913 VkDepthBiasRepresentationEXT depthBiasRepresentation; 15914 VkBool32 depthBiasExact; 15915 } VkDepthBiasRepresentationInfoEXT; 15916 15917 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 15918 15919 #ifndef VK_NO_PROTOTYPES 15920 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 15921 VkCommandBuffer commandBuffer, 15922 const VkDepthBiasInfoEXT* pDepthBiasInfo); 15923 #endif 15924 15925 15926 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 15927 #define VK_EXT_device_memory_report 1 15928 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 15929 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 15930 15931 typedef enum VkDeviceMemoryReportEventTypeEXT { 15932 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 15933 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 15934 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 15935 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 15936 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 15937 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15938 } VkDeviceMemoryReportEventTypeEXT; 15939 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 15940 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 15941 VkStructureType sType; 15942 void* pNext; 15943 VkBool32 deviceMemoryReport; 15944 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 15945 15946 typedef struct VkDeviceMemoryReportCallbackDataEXT { 15947 VkStructureType sType; 15948 void* pNext; 15949 VkDeviceMemoryReportFlagsEXT flags; 15950 VkDeviceMemoryReportEventTypeEXT type; 15951 uint64_t memoryObjectId; 15952 VkDeviceSize size; 15953 VkObjectType objectType; 15954 uint64_t objectHandle; 15955 uint32_t heapIndex; 15956 } VkDeviceMemoryReportCallbackDataEXT; 15957 15958 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 15959 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 15960 void* pUserData); 15961 15962 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 15963 VkStructureType sType; 15964 const void* pNext; 15965 VkDeviceMemoryReportFlagsEXT flags; 15966 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 15967 void* pUserData; 15968 } VkDeviceDeviceMemoryReportCreateInfoEXT; 15969 15970 15971 15972 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 15973 #define VK_EXT_acquire_drm_display 1 15974 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 15975 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 15976 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 15977 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 15978 15979 #ifndef VK_NO_PROTOTYPES 15980 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 15981 VkPhysicalDevice physicalDevice, 15982 int32_t drmFd, 15983 VkDisplayKHR display); 15984 15985 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 15986 VkPhysicalDevice physicalDevice, 15987 int32_t drmFd, 15988 uint32_t connectorId, 15989 VkDisplayKHR* display); 15990 #endif 15991 15992 15993 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 15994 #define VK_EXT_robustness2 1 15995 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 15996 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 15997 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 15998 VkStructureType sType; 15999 void* pNext; 16000 VkBool32 robustBufferAccess2; 16001 VkBool32 robustImageAccess2; 16002 VkBool32 nullDescriptor; 16003 } VkPhysicalDeviceRobustness2FeaturesEXT; 16004 16005 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 16006 VkStructureType sType; 16007 void* pNext; 16008 VkDeviceSize robustStorageBufferAccessSizeAlignment; 16009 VkDeviceSize robustUniformBufferAccessSizeAlignment; 16010 } VkPhysicalDeviceRobustness2PropertiesEXT; 16011 16012 16013 16014 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 16015 #define VK_EXT_custom_border_color 1 16016 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 16017 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 16018 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 16019 VkStructureType sType; 16020 const void* pNext; 16021 VkClearColorValue customBorderColor; 16022 VkFormat format; 16023 } VkSamplerCustomBorderColorCreateInfoEXT; 16024 16025 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 16026 VkStructureType sType; 16027 void* pNext; 16028 uint32_t maxCustomBorderColorSamplers; 16029 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 16030 16031 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 16032 VkStructureType sType; 16033 void* pNext; 16034 VkBool32 customBorderColors; 16035 VkBool32 customBorderColorWithoutFormat; 16036 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 16037 16038 16039 16040 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 16041 #define VK_GOOGLE_user_type 1 16042 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 16043 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 16044 16045 16046 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 16047 #define VK_NV_present_barrier 1 16048 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 16049 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 16050 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 16051 VkStructureType sType; 16052 void* pNext; 16053 VkBool32 presentBarrier; 16054 } VkPhysicalDevicePresentBarrierFeaturesNV; 16055 16056 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 16057 VkStructureType sType; 16058 void* pNext; 16059 VkBool32 presentBarrierSupported; 16060 } VkSurfaceCapabilitiesPresentBarrierNV; 16061 16062 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 16063 VkStructureType sType; 16064 void* pNext; 16065 VkBool32 presentBarrierEnable; 16066 } VkSwapchainPresentBarrierCreateInfoNV; 16067 16068 16069 16070 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 16071 #define VK_EXT_private_data 1 16072 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 16073 16074 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 16075 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 16076 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 16077 16078 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 16079 16080 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 16081 16082 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 16083 16084 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 16085 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 16086 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 16087 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 16088 16089 #ifndef VK_NO_PROTOTYPES 16090 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 16091 VkDevice device, 16092 const VkPrivateDataSlotCreateInfo* pCreateInfo, 16093 const VkAllocationCallbacks* pAllocator, 16094 VkPrivateDataSlot* pPrivateDataSlot); 16095 16096 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 16097 VkDevice device, 16098 VkPrivateDataSlot privateDataSlot, 16099 const VkAllocationCallbacks* pAllocator); 16100 16101 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 16102 VkDevice device, 16103 VkObjectType objectType, 16104 uint64_t objectHandle, 16105 VkPrivateDataSlot privateDataSlot, 16106 uint64_t data); 16107 16108 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 16109 VkDevice device, 16110 VkObjectType objectType, 16111 uint64_t objectHandle, 16112 VkPrivateDataSlot privateDataSlot, 16113 uint64_t* pData); 16114 #endif 16115 16116 16117 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 16118 #define VK_EXT_pipeline_creation_cache_control 1 16119 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 16120 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 16121 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 16122 16123 16124 16125 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 16126 #define VK_NV_device_diagnostics_config 1 16127 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 16128 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 16129 16130 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 16131 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 16132 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 16133 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 16134 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 16135 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16136 } VkDeviceDiagnosticsConfigFlagBitsNV; 16137 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 16138 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 16139 VkStructureType sType; 16140 void* pNext; 16141 VkBool32 diagnosticsConfig; 16142 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 16143 16144 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 16145 VkStructureType sType; 16146 const void* pNext; 16147 VkDeviceDiagnosticsConfigFlagsNV flags; 16148 } VkDeviceDiagnosticsConfigCreateInfoNV; 16149 16150 16151 16152 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 16153 #define VK_QCOM_render_pass_store_ops 1 16154 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 16155 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 16156 16157 16158 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 16159 #define VK_NV_cuda_kernel_launch 1 16160 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 16161 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 16162 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 16163 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 16164 typedef struct VkCudaModuleCreateInfoNV { 16165 VkStructureType sType; 16166 const void* pNext; 16167 size_t dataSize; 16168 const void* pData; 16169 } VkCudaModuleCreateInfoNV; 16170 16171 typedef struct VkCudaFunctionCreateInfoNV { 16172 VkStructureType sType; 16173 const void* pNext; 16174 VkCudaModuleNV module; 16175 const char* pName; 16176 } VkCudaFunctionCreateInfoNV; 16177 16178 typedef struct VkCudaLaunchInfoNV { 16179 VkStructureType sType; 16180 const void* pNext; 16181 VkCudaFunctionNV function; 16182 uint32_t gridDimX; 16183 uint32_t gridDimY; 16184 uint32_t gridDimZ; 16185 uint32_t blockDimX; 16186 uint32_t blockDimY; 16187 uint32_t blockDimZ; 16188 uint32_t sharedMemBytes; 16189 size_t paramCount; 16190 const void* const * pParams; 16191 size_t extraCount; 16192 const void* const * pExtras; 16193 } VkCudaLaunchInfoNV; 16194 16195 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 16196 VkStructureType sType; 16197 void* pNext; 16198 VkBool32 cudaKernelLaunchFeatures; 16199 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 16200 16201 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 16202 VkStructureType sType; 16203 void* pNext; 16204 uint32_t computeCapabilityMinor; 16205 uint32_t computeCapabilityMajor; 16206 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 16207 16208 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 16209 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 16210 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 16211 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 16212 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 16213 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 16214 16215 #ifndef VK_NO_PROTOTYPES 16216 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 16217 VkDevice device, 16218 const VkCudaModuleCreateInfoNV* pCreateInfo, 16219 const VkAllocationCallbacks* pAllocator, 16220 VkCudaModuleNV* pModule); 16221 16222 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 16223 VkDevice device, 16224 VkCudaModuleNV module, 16225 size_t* pCacheSize, 16226 void* pCacheData); 16227 16228 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 16229 VkDevice device, 16230 const VkCudaFunctionCreateInfoNV* pCreateInfo, 16231 const VkAllocationCallbacks* pAllocator, 16232 VkCudaFunctionNV* pFunction); 16233 16234 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 16235 VkDevice device, 16236 VkCudaModuleNV module, 16237 const VkAllocationCallbacks* pAllocator); 16238 16239 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 16240 VkDevice device, 16241 VkCudaFunctionNV function, 16242 const VkAllocationCallbacks* pAllocator); 16243 16244 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 16245 VkCommandBuffer commandBuffer, 16246 const VkCudaLaunchInfoNV* pLaunchInfo); 16247 #endif 16248 16249 16250 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 16251 #define VK_NV_low_latency 1 16252 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 16253 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 16254 typedef struct VkQueryLowLatencySupportNV { 16255 VkStructureType sType; 16256 const void* pNext; 16257 void* pQueriedLowLatencyData; 16258 } VkQueryLowLatencySupportNV; 16259 16260 16261 16262 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 16263 #define VK_EXT_descriptor_buffer 1 16264 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 16265 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 16266 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 16267 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 16268 VkStructureType sType; 16269 void* pNext; 16270 VkBool32 combinedImageSamplerDescriptorSingleArray; 16271 VkBool32 bufferlessPushDescriptors; 16272 VkBool32 allowSamplerImageViewPostSubmitCreation; 16273 VkDeviceSize descriptorBufferOffsetAlignment; 16274 uint32_t maxDescriptorBufferBindings; 16275 uint32_t maxResourceDescriptorBufferBindings; 16276 uint32_t maxSamplerDescriptorBufferBindings; 16277 uint32_t maxEmbeddedImmutableSamplerBindings; 16278 uint32_t maxEmbeddedImmutableSamplers; 16279 size_t bufferCaptureReplayDescriptorDataSize; 16280 size_t imageCaptureReplayDescriptorDataSize; 16281 size_t imageViewCaptureReplayDescriptorDataSize; 16282 size_t samplerCaptureReplayDescriptorDataSize; 16283 size_t accelerationStructureCaptureReplayDescriptorDataSize; 16284 size_t samplerDescriptorSize; 16285 size_t combinedImageSamplerDescriptorSize; 16286 size_t sampledImageDescriptorSize; 16287 size_t storageImageDescriptorSize; 16288 size_t uniformTexelBufferDescriptorSize; 16289 size_t robustUniformTexelBufferDescriptorSize; 16290 size_t storageTexelBufferDescriptorSize; 16291 size_t robustStorageTexelBufferDescriptorSize; 16292 size_t uniformBufferDescriptorSize; 16293 size_t robustUniformBufferDescriptorSize; 16294 size_t storageBufferDescriptorSize; 16295 size_t robustStorageBufferDescriptorSize; 16296 size_t inputAttachmentDescriptorSize; 16297 size_t accelerationStructureDescriptorSize; 16298 VkDeviceSize maxSamplerDescriptorBufferRange; 16299 VkDeviceSize maxResourceDescriptorBufferRange; 16300 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 16301 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 16302 VkDeviceSize descriptorBufferAddressSpaceSize; 16303 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 16304 16305 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 16306 VkStructureType sType; 16307 void* pNext; 16308 size_t combinedImageSamplerDensityMapDescriptorSize; 16309 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 16310 16311 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 16312 VkStructureType sType; 16313 void* pNext; 16314 VkBool32 descriptorBuffer; 16315 VkBool32 descriptorBufferCaptureReplay; 16316 VkBool32 descriptorBufferImageLayoutIgnored; 16317 VkBool32 descriptorBufferPushDescriptors; 16318 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 16319 16320 typedef struct VkDescriptorAddressInfoEXT { 16321 VkStructureType sType; 16322 void* pNext; 16323 VkDeviceAddress address; 16324 VkDeviceSize range; 16325 VkFormat format; 16326 } VkDescriptorAddressInfoEXT; 16327 16328 typedef struct VkDescriptorBufferBindingInfoEXT { 16329 VkStructureType sType; 16330 const void* pNext; 16331 VkDeviceAddress address; 16332 VkBufferUsageFlags usage; 16333 } VkDescriptorBufferBindingInfoEXT; 16334 16335 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 16336 VkStructureType sType; 16337 const void* pNext; 16338 VkBuffer buffer; 16339 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 16340 16341 typedef union VkDescriptorDataEXT { 16342 const VkSampler* pSampler; 16343 const VkDescriptorImageInfo* pCombinedImageSampler; 16344 const VkDescriptorImageInfo* pInputAttachmentImage; 16345 const VkDescriptorImageInfo* pSampledImage; 16346 const VkDescriptorImageInfo* pStorageImage; 16347 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 16348 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 16349 const VkDescriptorAddressInfoEXT* pUniformBuffer; 16350 const VkDescriptorAddressInfoEXT* pStorageBuffer; 16351 VkDeviceAddress accelerationStructure; 16352 } VkDescriptorDataEXT; 16353 16354 typedef struct VkDescriptorGetInfoEXT { 16355 VkStructureType sType; 16356 const void* pNext; 16357 VkDescriptorType type; 16358 VkDescriptorDataEXT data; 16359 } VkDescriptorGetInfoEXT; 16360 16361 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 16362 VkStructureType sType; 16363 const void* pNext; 16364 VkBuffer buffer; 16365 } VkBufferCaptureDescriptorDataInfoEXT; 16366 16367 typedef struct VkImageCaptureDescriptorDataInfoEXT { 16368 VkStructureType sType; 16369 const void* pNext; 16370 VkImage image; 16371 } VkImageCaptureDescriptorDataInfoEXT; 16372 16373 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 16374 VkStructureType sType; 16375 const void* pNext; 16376 VkImageView imageView; 16377 } VkImageViewCaptureDescriptorDataInfoEXT; 16378 16379 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 16380 VkStructureType sType; 16381 const void* pNext; 16382 VkSampler sampler; 16383 } VkSamplerCaptureDescriptorDataInfoEXT; 16384 16385 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 16386 VkStructureType sType; 16387 const void* pNext; 16388 const void* opaqueCaptureDescriptorData; 16389 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 16390 16391 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 16392 VkStructureType sType; 16393 const void* pNext; 16394 VkAccelerationStructureKHR accelerationStructure; 16395 VkAccelerationStructureNV accelerationStructureNV; 16396 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 16397 16398 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 16399 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 16400 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 16401 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16402 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); 16403 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 16404 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16405 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16406 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16407 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16408 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16409 16410 #ifndef VK_NO_PROTOTYPES 16411 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 16412 VkDevice device, 16413 VkDescriptorSetLayout layout, 16414 VkDeviceSize* pLayoutSizeInBytes); 16415 16416 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 16417 VkDevice device, 16418 VkDescriptorSetLayout layout, 16419 uint32_t binding, 16420 VkDeviceSize* pOffset); 16421 16422 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 16423 VkDevice device, 16424 const VkDescriptorGetInfoEXT* pDescriptorInfo, 16425 size_t dataSize, 16426 void* pDescriptor); 16427 16428 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 16429 VkCommandBuffer commandBuffer, 16430 uint32_t bufferCount, 16431 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16432 16433 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 16434 VkCommandBuffer commandBuffer, 16435 VkPipelineBindPoint pipelineBindPoint, 16436 VkPipelineLayout layout, 16437 uint32_t firstSet, 16438 uint32_t setCount, 16439 const uint32_t* pBufferIndices, 16440 const VkDeviceSize* pOffsets); 16441 16442 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 16443 VkCommandBuffer commandBuffer, 16444 VkPipelineBindPoint pipelineBindPoint, 16445 VkPipelineLayout layout, 16446 uint32_t set); 16447 16448 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 16449 VkDevice device, 16450 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 16451 void* pData); 16452 16453 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 16454 VkDevice device, 16455 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 16456 void* pData); 16457 16458 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 16459 VkDevice device, 16460 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 16461 void* pData); 16462 16463 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 16464 VkDevice device, 16465 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 16466 void* pData); 16467 16468 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 16469 VkDevice device, 16470 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 16471 void* pData); 16472 #endif 16473 16474 16475 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 16476 #define VK_EXT_graphics_pipeline_library 1 16477 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 16478 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 16479 16480 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 16481 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 16482 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 16483 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 16484 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 16485 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16486 } VkGraphicsPipelineLibraryFlagBitsEXT; 16487 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 16488 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 16489 VkStructureType sType; 16490 void* pNext; 16491 VkBool32 graphicsPipelineLibrary; 16492 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 16493 16494 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 16495 VkStructureType sType; 16496 void* pNext; 16497 VkBool32 graphicsPipelineLibraryFastLinking; 16498 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 16499 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 16500 16501 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 16502 VkStructureType sType; 16503 const void* pNext; 16504 VkGraphicsPipelineLibraryFlagsEXT flags; 16505 } VkGraphicsPipelineLibraryCreateInfoEXT; 16506 16507 16508 16509 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 16510 #define VK_AMD_shader_early_and_late_fragment_tests 1 16511 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 16512 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 16513 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 16514 VkStructureType sType; 16515 void* pNext; 16516 VkBool32 shaderEarlyAndLateFragmentTests; 16517 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 16518 16519 16520 16521 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 16522 #define VK_NV_fragment_shading_rate_enums 1 16523 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 16524 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 16525 16526 typedef enum VkFragmentShadingRateTypeNV { 16527 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 16528 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 16529 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16530 } VkFragmentShadingRateTypeNV; 16531 16532 typedef enum VkFragmentShadingRateNV { 16533 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 16534 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 16535 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 16536 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 16537 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 16538 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 16539 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 16540 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 16541 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 16542 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 16543 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 16544 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 16545 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 16546 } VkFragmentShadingRateNV; 16547 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 16548 VkStructureType sType; 16549 void* pNext; 16550 VkBool32 fragmentShadingRateEnums; 16551 VkBool32 supersampleFragmentShadingRates; 16552 VkBool32 noInvocationFragmentShadingRates; 16553 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 16554 16555 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 16556 VkStructureType sType; 16557 void* pNext; 16558 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 16559 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 16560 16561 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 16562 VkStructureType sType; 16563 const void* pNext; 16564 VkFragmentShadingRateTypeNV shadingRateType; 16565 VkFragmentShadingRateNV shadingRate; 16566 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 16567 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 16568 16569 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16570 16571 #ifndef VK_NO_PROTOTYPES 16572 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 16573 VkCommandBuffer commandBuffer, 16574 VkFragmentShadingRateNV shadingRate, 16575 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16576 #endif 16577 16578 16579 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 16580 #define VK_NV_ray_tracing_motion_blur 1 16581 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 16582 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 16583 16584 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 16585 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 16586 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 16587 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 16588 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16589 } VkAccelerationStructureMotionInstanceTypeNV; 16590 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 16591 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 16592 typedef union VkDeviceOrHostAddressConstKHR { 16593 VkDeviceAddress deviceAddress; 16594 const void* hostAddress; 16595 } VkDeviceOrHostAddressConstKHR; 16596 16597 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 16598 VkStructureType sType; 16599 const void* pNext; 16600 VkDeviceOrHostAddressConstKHR vertexData; 16601 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 16602 16603 typedef struct VkAccelerationStructureMotionInfoNV { 16604 VkStructureType sType; 16605 const void* pNext; 16606 uint32_t maxInstances; 16607 VkAccelerationStructureMotionInfoFlagsNV flags; 16608 } VkAccelerationStructureMotionInfoNV; 16609 16610 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 16611 VkTransformMatrixKHR transformT0; 16612 VkTransformMatrixKHR transformT1; 16613 uint32_t instanceCustomIndex:24; 16614 uint32_t mask:8; 16615 uint32_t instanceShaderBindingTableRecordOffset:24; 16616 VkGeometryInstanceFlagsKHR flags:8; 16617 uint64_t accelerationStructureReference; 16618 } VkAccelerationStructureMatrixMotionInstanceNV; 16619 16620 typedef struct VkSRTDataNV { 16621 float sx; 16622 float a; 16623 float b; 16624 float pvx; 16625 float sy; 16626 float c; 16627 float pvy; 16628 float sz; 16629 float pvz; 16630 float qx; 16631 float qy; 16632 float qz; 16633 float qw; 16634 float tx; 16635 float ty; 16636 float tz; 16637 } VkSRTDataNV; 16638 16639 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 16640 VkSRTDataNV transformT0; 16641 VkSRTDataNV transformT1; 16642 uint32_t instanceCustomIndex:24; 16643 uint32_t mask:8; 16644 uint32_t instanceShaderBindingTableRecordOffset:24; 16645 VkGeometryInstanceFlagsKHR flags:8; 16646 uint64_t accelerationStructureReference; 16647 } VkAccelerationStructureSRTMotionInstanceNV; 16648 16649 typedef union VkAccelerationStructureMotionInstanceDataNV { 16650 VkAccelerationStructureInstanceKHR staticInstance; 16651 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 16652 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 16653 } VkAccelerationStructureMotionInstanceDataNV; 16654 16655 typedef struct VkAccelerationStructureMotionInstanceNV { 16656 VkAccelerationStructureMotionInstanceTypeNV type; 16657 VkAccelerationStructureMotionInstanceFlagsNV flags; 16658 VkAccelerationStructureMotionInstanceDataNV data; 16659 } VkAccelerationStructureMotionInstanceNV; 16660 16661 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 16662 VkStructureType sType; 16663 void* pNext; 16664 VkBool32 rayTracingMotionBlur; 16665 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 16666 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 16667 16668 16669 16670 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 16671 #define VK_EXT_ycbcr_2plane_444_formats 1 16672 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 16673 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 16674 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 16675 VkStructureType sType; 16676 void* pNext; 16677 VkBool32 ycbcr2plane444Formats; 16678 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 16679 16680 16681 16682 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 16683 #define VK_EXT_fragment_density_map2 1 16684 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 16685 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 16686 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 16687 VkStructureType sType; 16688 void* pNext; 16689 VkBool32 fragmentDensityMapDeferred; 16690 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 16691 16692 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 16693 VkStructureType sType; 16694 void* pNext; 16695 VkBool32 subsampledLoads; 16696 VkBool32 subsampledCoarseReconstructionEarlyAccess; 16697 uint32_t maxSubsampledArrayLayers; 16698 uint32_t maxDescriptorSetSubsampledSamplers; 16699 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 16700 16701 16702 16703 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 16704 #define VK_QCOM_rotated_copy_commands 1 16705 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 16706 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 16707 typedef struct VkCopyCommandTransformInfoQCOM { 16708 VkStructureType sType; 16709 const void* pNext; 16710 VkSurfaceTransformFlagBitsKHR transform; 16711 } VkCopyCommandTransformInfoQCOM; 16712 16713 16714 16715 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 16716 #define VK_EXT_image_robustness 1 16717 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 16718 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 16719 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 16720 16721 16722 16723 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 16724 #define VK_EXT_image_compression_control 1 16725 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 16726 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 16727 16728 typedef enum VkImageCompressionFlagBitsEXT { 16729 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 16730 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 16731 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 16732 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 16733 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16734 } VkImageCompressionFlagBitsEXT; 16735 typedef VkFlags VkImageCompressionFlagsEXT; 16736 16737 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 16738 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 16739 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 16740 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 16741 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 16742 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 16743 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 16744 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 16745 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 16746 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 16747 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 16748 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 16749 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 16750 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 16751 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 16752 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 16753 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 16754 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 16755 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 16756 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 16757 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 16758 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 16759 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 16760 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 16761 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 16762 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 16763 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16764 } VkImageCompressionFixedRateFlagBitsEXT; 16765 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 16766 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 16767 VkStructureType sType; 16768 void* pNext; 16769 VkBool32 imageCompressionControl; 16770 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 16771 16772 typedef struct VkImageCompressionControlEXT { 16773 VkStructureType sType; 16774 const void* pNext; 16775 VkImageCompressionFlagsEXT flags; 16776 uint32_t compressionControlPlaneCount; 16777 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 16778 } VkImageCompressionControlEXT; 16779 16780 typedef struct VkImageCompressionPropertiesEXT { 16781 VkStructureType sType; 16782 void* pNext; 16783 VkImageCompressionFlagsEXT imageCompressionFlags; 16784 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 16785 } VkImageCompressionPropertiesEXT; 16786 16787 16788 16789 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 16790 #define VK_EXT_attachment_feedback_loop_layout 1 16791 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 16792 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 16793 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 16794 VkStructureType sType; 16795 void* pNext; 16796 VkBool32 attachmentFeedbackLoopLayout; 16797 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 16798 16799 16800 16801 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 16802 #define VK_EXT_4444_formats 1 16803 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 16804 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 16805 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 16806 VkStructureType sType; 16807 void* pNext; 16808 VkBool32 formatA4R4G4B4; 16809 VkBool32 formatA4B4G4R4; 16810 } VkPhysicalDevice4444FormatsFeaturesEXT; 16811 16812 16813 16814 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 16815 #define VK_EXT_device_fault 1 16816 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 16817 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 16818 16819 typedef enum VkDeviceFaultAddressTypeEXT { 16820 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 16821 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 16822 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 16823 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 16824 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 16825 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 16826 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 16827 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16828 } VkDeviceFaultAddressTypeEXT; 16829 16830 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 16831 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 16832 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 16833 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 16834 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 16835 VkStructureType sType; 16836 void* pNext; 16837 VkBool32 deviceFault; 16838 VkBool32 deviceFaultVendorBinary; 16839 } VkPhysicalDeviceFaultFeaturesEXT; 16840 16841 typedef struct VkDeviceFaultCountsEXT { 16842 VkStructureType sType; 16843 void* pNext; 16844 uint32_t addressInfoCount; 16845 uint32_t vendorInfoCount; 16846 VkDeviceSize vendorBinarySize; 16847 } VkDeviceFaultCountsEXT; 16848 16849 typedef struct VkDeviceFaultAddressInfoEXT { 16850 VkDeviceFaultAddressTypeEXT addressType; 16851 VkDeviceAddress reportedAddress; 16852 VkDeviceSize addressPrecision; 16853 } VkDeviceFaultAddressInfoEXT; 16854 16855 typedef struct VkDeviceFaultVendorInfoEXT { 16856 char description[VK_MAX_DESCRIPTION_SIZE]; 16857 uint64_t vendorFaultCode; 16858 uint64_t vendorFaultData; 16859 } VkDeviceFaultVendorInfoEXT; 16860 16861 typedef struct VkDeviceFaultInfoEXT { 16862 VkStructureType sType; 16863 void* pNext; 16864 char description[VK_MAX_DESCRIPTION_SIZE]; 16865 VkDeviceFaultAddressInfoEXT* pAddressInfos; 16866 VkDeviceFaultVendorInfoEXT* pVendorInfos; 16867 void* pVendorBinaryData; 16868 } VkDeviceFaultInfoEXT; 16869 16870 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 16871 uint32_t headerSize; 16872 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 16873 uint32_t vendorID; 16874 uint32_t deviceID; 16875 uint32_t driverVersion; 16876 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 16877 uint32_t applicationNameOffset; 16878 uint32_t applicationVersion; 16879 uint32_t engineNameOffset; 16880 uint32_t engineVersion; 16881 uint32_t apiVersion; 16882 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 16883 16884 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 16885 16886 #ifndef VK_NO_PROTOTYPES 16887 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 16888 VkDevice device, 16889 VkDeviceFaultCountsEXT* pFaultCounts, 16890 VkDeviceFaultInfoEXT* pFaultInfo); 16891 #endif 16892 16893 16894 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 16895 #define VK_ARM_rasterization_order_attachment_access 1 16896 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 16897 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 16898 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 16899 VkStructureType sType; 16900 void* pNext; 16901 VkBool32 rasterizationOrderColorAttachmentAccess; 16902 VkBool32 rasterizationOrderDepthAttachmentAccess; 16903 VkBool32 rasterizationOrderStencilAttachmentAccess; 16904 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 16905 16906 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 16907 16908 16909 16910 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 16911 #define VK_EXT_rgba10x6_formats 1 16912 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 16913 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 16914 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 16915 VkStructureType sType; 16916 void* pNext; 16917 VkBool32 formatRgba10x6WithoutYCbCrSampler; 16918 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 16919 16920 16921 16922 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 16923 #define VK_VALVE_mutable_descriptor_type 1 16924 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 16925 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 16926 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 16927 VkStructureType sType; 16928 void* pNext; 16929 VkBool32 mutableDescriptorType; 16930 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 16931 16932 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 16933 16934 typedef struct VkMutableDescriptorTypeListEXT { 16935 uint32_t descriptorTypeCount; 16936 const VkDescriptorType* pDescriptorTypes; 16937 } VkMutableDescriptorTypeListEXT; 16938 16939 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 16940 16941 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 16942 VkStructureType sType; 16943 const void* pNext; 16944 uint32_t mutableDescriptorTypeListCount; 16945 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 16946 } VkMutableDescriptorTypeCreateInfoEXT; 16947 16948 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 16949 16950 16951 16952 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 16953 #define VK_EXT_vertex_input_dynamic_state 1 16954 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 16955 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 16956 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 16957 VkStructureType sType; 16958 void* pNext; 16959 VkBool32 vertexInputDynamicState; 16960 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 16961 16962 typedef struct VkVertexInputBindingDescription2EXT { 16963 VkStructureType sType; 16964 void* pNext; 16965 uint32_t binding; 16966 uint32_t stride; 16967 VkVertexInputRate inputRate; 16968 uint32_t divisor; 16969 } VkVertexInputBindingDescription2EXT; 16970 16971 typedef struct VkVertexInputAttributeDescription2EXT { 16972 VkStructureType sType; 16973 void* pNext; 16974 uint32_t location; 16975 uint32_t binding; 16976 VkFormat format; 16977 uint32_t offset; 16978 } VkVertexInputAttributeDescription2EXT; 16979 16980 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16981 16982 #ifndef VK_NO_PROTOTYPES 16983 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 16984 VkCommandBuffer commandBuffer, 16985 uint32_t vertexBindingDescriptionCount, 16986 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 16987 uint32_t vertexAttributeDescriptionCount, 16988 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 16989 #endif 16990 16991 16992 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 16993 #define VK_EXT_physical_device_drm 1 16994 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 16995 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 16996 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 16997 VkStructureType sType; 16998 void* pNext; 16999 VkBool32 hasPrimary; 17000 VkBool32 hasRender; 17001 int64_t primaryMajor; 17002 int64_t primaryMinor; 17003 int64_t renderMajor; 17004 int64_t renderMinor; 17005 } VkPhysicalDeviceDrmPropertiesEXT; 17006 17007 17008 17009 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 17010 #define VK_EXT_device_address_binding_report 1 17011 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 17012 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 17013 17014 typedef enum VkDeviceAddressBindingTypeEXT { 17015 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 17016 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 17017 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17018 } VkDeviceAddressBindingTypeEXT; 17019 17020 typedef enum VkDeviceAddressBindingFlagBitsEXT { 17021 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 17022 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17023 } VkDeviceAddressBindingFlagBitsEXT; 17024 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 17025 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 17026 VkStructureType sType; 17027 void* pNext; 17028 VkBool32 reportAddressBinding; 17029 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 17030 17031 typedef struct VkDeviceAddressBindingCallbackDataEXT { 17032 VkStructureType sType; 17033 void* pNext; 17034 VkDeviceAddressBindingFlagsEXT flags; 17035 VkDeviceAddress baseAddress; 17036 VkDeviceSize size; 17037 VkDeviceAddressBindingTypeEXT bindingType; 17038 } VkDeviceAddressBindingCallbackDataEXT; 17039 17040 17041 17042 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 17043 #define VK_EXT_depth_clip_control 1 17044 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 17045 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 17046 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 17047 VkStructureType sType; 17048 void* pNext; 17049 VkBool32 depthClipControl; 17050 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 17051 17052 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 17053 VkStructureType sType; 17054 const void* pNext; 17055 VkBool32 negativeOneToOne; 17056 } VkPipelineViewportDepthClipControlCreateInfoEXT; 17057 17058 17059 17060 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 17061 #define VK_EXT_primitive_topology_list_restart 1 17062 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 17063 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 17064 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 17065 VkStructureType sType; 17066 void* pNext; 17067 VkBool32 primitiveTopologyListRestart; 17068 VkBool32 primitiveTopologyPatchListRestart; 17069 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 17070 17071 17072 17073 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 17074 #define VK_HUAWEI_subpass_shading 1 17075 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 17076 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 17077 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 17078 VkStructureType sType; 17079 void* pNext; 17080 VkRenderPass renderPass; 17081 uint32_t subpass; 17082 } VkSubpassShadingPipelineCreateInfoHUAWEI; 17083 17084 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 17085 VkStructureType sType; 17086 void* pNext; 17087 VkBool32 subpassShading; 17088 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 17089 17090 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 17091 VkStructureType sType; 17092 void* pNext; 17093 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 17094 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 17095 17096 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 17097 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 17098 17099 #ifndef VK_NO_PROTOTYPES 17100 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 17101 VkDevice device, 17102 VkRenderPass renderpass, 17103 VkExtent2D* pMaxWorkgroupSize); 17104 17105 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 17106 VkCommandBuffer commandBuffer); 17107 #endif 17108 17109 17110 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 17111 #define VK_HUAWEI_invocation_mask 1 17112 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 17113 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 17114 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 17115 VkStructureType sType; 17116 void* pNext; 17117 VkBool32 invocationMask; 17118 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 17119 17120 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 17121 17122 #ifndef VK_NO_PROTOTYPES 17123 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 17124 VkCommandBuffer commandBuffer, 17125 VkImageView imageView, 17126 VkImageLayout imageLayout); 17127 #endif 17128 17129 17130 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 17131 #define VK_NV_external_memory_rdma 1 17132 typedef void* VkRemoteAddressNV; 17133 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 17134 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 17135 typedef struct VkMemoryGetRemoteAddressInfoNV { 17136 VkStructureType sType; 17137 const void* pNext; 17138 VkDeviceMemory memory; 17139 VkExternalMemoryHandleTypeFlagBits handleType; 17140 } VkMemoryGetRemoteAddressInfoNV; 17141 17142 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 17143 VkStructureType sType; 17144 void* pNext; 17145 VkBool32 externalMemoryRDMA; 17146 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 17147 17148 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 17149 17150 #ifndef VK_NO_PROTOTYPES 17151 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 17152 VkDevice device, 17153 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 17154 VkRemoteAddressNV* pAddress); 17155 #endif 17156 17157 17158 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 17159 #define VK_EXT_pipeline_properties 1 17160 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 17161 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 17162 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 17163 17164 typedef struct VkPipelinePropertiesIdentifierEXT { 17165 VkStructureType sType; 17166 void* pNext; 17167 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 17168 } VkPipelinePropertiesIdentifierEXT; 17169 17170 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 17171 VkStructureType sType; 17172 void* pNext; 17173 VkBool32 pipelinePropertiesIdentifier; 17174 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 17175 17176 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 17177 17178 #ifndef VK_NO_PROTOTYPES 17179 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 17180 VkDevice device, 17181 const VkPipelineInfoEXT* pPipelineInfo, 17182 VkBaseOutStructure* pPipelineProperties); 17183 #endif 17184 17185 17186 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 17187 #define VK_EXT_frame_boundary 1 17188 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 17189 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 17190 17191 typedef enum VkFrameBoundaryFlagBitsEXT { 17192 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 17193 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17194 } VkFrameBoundaryFlagBitsEXT; 17195 typedef VkFlags VkFrameBoundaryFlagsEXT; 17196 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 17197 VkStructureType sType; 17198 void* pNext; 17199 VkBool32 frameBoundary; 17200 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 17201 17202 typedef struct VkFrameBoundaryEXT { 17203 VkStructureType sType; 17204 const void* pNext; 17205 VkFrameBoundaryFlagsEXT flags; 17206 uint64_t frameID; 17207 uint32_t imageCount; 17208 const VkImage* pImages; 17209 uint32_t bufferCount; 17210 const VkBuffer* pBuffers; 17211 uint64_t tagName; 17212 size_t tagSize; 17213 const void* pTag; 17214 } VkFrameBoundaryEXT; 17215 17216 17217 17218 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 17219 #define VK_EXT_multisampled_render_to_single_sampled 1 17220 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 17221 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 17222 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 17223 VkStructureType sType; 17224 void* pNext; 17225 VkBool32 multisampledRenderToSingleSampled; 17226 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 17227 17228 typedef struct VkSubpassResolvePerformanceQueryEXT { 17229 VkStructureType sType; 17230 void* pNext; 17231 VkBool32 optimal; 17232 } VkSubpassResolvePerformanceQueryEXT; 17233 17234 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 17235 VkStructureType sType; 17236 const void* pNext; 17237 VkBool32 multisampledRenderToSingleSampledEnable; 17238 VkSampleCountFlagBits rasterizationSamples; 17239 } VkMultisampledRenderToSingleSampledInfoEXT; 17240 17241 17242 17243 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 17244 #define VK_EXT_extended_dynamic_state2 1 17245 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 17246 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 17247 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 17248 VkStructureType sType; 17249 void* pNext; 17250 VkBool32 extendedDynamicState2; 17251 VkBool32 extendedDynamicState2LogicOp; 17252 VkBool32 extendedDynamicState2PatchControlPoints; 17253 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 17254 17255 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 17256 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 17257 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 17258 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 17259 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 17260 17261 #ifndef VK_NO_PROTOTYPES 17262 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 17263 VkCommandBuffer commandBuffer, 17264 uint32_t patchControlPoints); 17265 17266 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 17267 VkCommandBuffer commandBuffer, 17268 VkBool32 rasterizerDiscardEnable); 17269 17270 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 17271 VkCommandBuffer commandBuffer, 17272 VkBool32 depthBiasEnable); 17273 17274 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 17275 VkCommandBuffer commandBuffer, 17276 VkLogicOp logicOp); 17277 17278 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 17279 VkCommandBuffer commandBuffer, 17280 VkBool32 primitiveRestartEnable); 17281 #endif 17282 17283 17284 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 17285 #define VK_EXT_color_write_enable 1 17286 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 17287 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 17288 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 17289 VkStructureType sType; 17290 void* pNext; 17291 VkBool32 colorWriteEnable; 17292 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 17293 17294 typedef struct VkPipelineColorWriteCreateInfoEXT { 17295 VkStructureType sType; 17296 const void* pNext; 17297 uint32_t attachmentCount; 17298 const VkBool32* pColorWriteEnables; 17299 } VkPipelineColorWriteCreateInfoEXT; 17300 17301 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 17302 17303 #ifndef VK_NO_PROTOTYPES 17304 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 17305 VkCommandBuffer commandBuffer, 17306 uint32_t attachmentCount, 17307 const VkBool32* pColorWriteEnables); 17308 #endif 17309 17310 17311 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 17312 #define VK_EXT_primitives_generated_query 1 17313 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 17314 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 17315 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 17316 VkStructureType sType; 17317 void* pNext; 17318 VkBool32 primitivesGeneratedQuery; 17319 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 17320 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 17321 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 17322 17323 17324 17325 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 17326 #define VK_EXT_global_priority_query 1 17327 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 17328 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 17329 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 17330 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 17331 17332 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 17333 17334 17335 17336 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 17337 #define VK_EXT_image_view_min_lod 1 17338 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 17339 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 17340 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 17341 VkStructureType sType; 17342 void* pNext; 17343 VkBool32 minLod; 17344 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 17345 17346 typedef struct VkImageViewMinLodCreateInfoEXT { 17347 VkStructureType sType; 17348 const void* pNext; 17349 float minLod; 17350 } VkImageViewMinLodCreateInfoEXT; 17351 17352 17353 17354 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 17355 #define VK_EXT_multi_draw 1 17356 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 17357 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 17358 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 17359 VkStructureType sType; 17360 void* pNext; 17361 VkBool32 multiDraw; 17362 } VkPhysicalDeviceMultiDrawFeaturesEXT; 17363 17364 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 17365 VkStructureType sType; 17366 void* pNext; 17367 uint32_t maxMultiDrawCount; 17368 } VkPhysicalDeviceMultiDrawPropertiesEXT; 17369 17370 typedef struct VkMultiDrawInfoEXT { 17371 uint32_t firstVertex; 17372 uint32_t vertexCount; 17373 } VkMultiDrawInfoEXT; 17374 17375 typedef struct VkMultiDrawIndexedInfoEXT { 17376 uint32_t firstIndex; 17377 uint32_t indexCount; 17378 int32_t vertexOffset; 17379 } VkMultiDrawIndexedInfoEXT; 17380 17381 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 17382 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); 17383 17384 #ifndef VK_NO_PROTOTYPES 17385 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 17386 VkCommandBuffer commandBuffer, 17387 uint32_t drawCount, 17388 const VkMultiDrawInfoEXT* pVertexInfo, 17389 uint32_t instanceCount, 17390 uint32_t firstInstance, 17391 uint32_t stride); 17392 17393 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 17394 VkCommandBuffer commandBuffer, 17395 uint32_t drawCount, 17396 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 17397 uint32_t instanceCount, 17398 uint32_t firstInstance, 17399 uint32_t stride, 17400 const int32_t* pVertexOffset); 17401 #endif 17402 17403 17404 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17405 #define VK_EXT_image_2d_view_of_3d 1 17406 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 17407 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 17408 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 17409 VkStructureType sType; 17410 void* pNext; 17411 VkBool32 image2DViewOf3D; 17412 VkBool32 sampler2DViewOf3D; 17413 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 17414 17415 17416 17417 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 17418 #define VK_EXT_shader_tile_image 1 17419 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 17420 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 17421 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 17422 VkStructureType sType; 17423 void* pNext; 17424 VkBool32 shaderTileImageColorReadAccess; 17425 VkBool32 shaderTileImageDepthReadAccess; 17426 VkBool32 shaderTileImageStencilReadAccess; 17427 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 17428 17429 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 17430 VkStructureType sType; 17431 void* pNext; 17432 VkBool32 shaderTileImageCoherentReadAccelerated; 17433 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 17434 VkBool32 shaderTileImageReadFromHelperInvocation; 17435 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 17436 17437 17438 17439 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 17440 #define VK_EXT_opacity_micromap 1 17441 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 17442 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 17443 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 17444 17445 typedef enum VkMicromapTypeEXT { 17446 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 17447 #ifdef VK_ENABLE_BETA_EXTENSIONS 17448 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 17449 #endif 17450 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17451 } VkMicromapTypeEXT; 17452 17453 typedef enum VkBuildMicromapModeEXT { 17454 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 17455 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17456 } VkBuildMicromapModeEXT; 17457 17458 typedef enum VkCopyMicromapModeEXT { 17459 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 17460 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 17461 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 17462 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 17463 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17464 } VkCopyMicromapModeEXT; 17465 17466 typedef enum VkOpacityMicromapFormatEXT { 17467 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 17468 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 17469 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 17470 } VkOpacityMicromapFormatEXT; 17471 17472 typedef enum VkOpacityMicromapSpecialIndexEXT { 17473 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 17474 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 17475 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 17476 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 17477 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 17478 } VkOpacityMicromapSpecialIndexEXT; 17479 17480 typedef enum VkAccelerationStructureCompatibilityKHR { 17481 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 17482 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 17483 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 17484 } VkAccelerationStructureCompatibilityKHR; 17485 17486 typedef enum VkAccelerationStructureBuildTypeKHR { 17487 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 17488 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 17489 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 17490 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 17491 } VkAccelerationStructureBuildTypeKHR; 17492 17493 typedef enum VkBuildMicromapFlagBitsEXT { 17494 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 17495 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 17496 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 17497 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17498 } VkBuildMicromapFlagBitsEXT; 17499 typedef VkFlags VkBuildMicromapFlagsEXT; 17500 17501 typedef enum VkMicromapCreateFlagBitsEXT { 17502 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 17503 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17504 } VkMicromapCreateFlagBitsEXT; 17505 typedef VkFlags VkMicromapCreateFlagsEXT; 17506 typedef struct VkMicromapUsageEXT { 17507 uint32_t count; 17508 uint32_t subdivisionLevel; 17509 uint32_t format; 17510 } VkMicromapUsageEXT; 17511 17512 typedef union VkDeviceOrHostAddressKHR { 17513 VkDeviceAddress deviceAddress; 17514 void* hostAddress; 17515 } VkDeviceOrHostAddressKHR; 17516 17517 typedef struct VkMicromapBuildInfoEXT { 17518 VkStructureType sType; 17519 const void* pNext; 17520 VkMicromapTypeEXT type; 17521 VkBuildMicromapFlagsEXT flags; 17522 VkBuildMicromapModeEXT mode; 17523 VkMicromapEXT dstMicromap; 17524 uint32_t usageCountsCount; 17525 const VkMicromapUsageEXT* pUsageCounts; 17526 const VkMicromapUsageEXT* const* ppUsageCounts; 17527 VkDeviceOrHostAddressConstKHR data; 17528 VkDeviceOrHostAddressKHR scratchData; 17529 VkDeviceOrHostAddressConstKHR triangleArray; 17530 VkDeviceSize triangleArrayStride; 17531 } VkMicromapBuildInfoEXT; 17532 17533 typedef struct VkMicromapCreateInfoEXT { 17534 VkStructureType sType; 17535 const void* pNext; 17536 VkMicromapCreateFlagsEXT createFlags; 17537 VkBuffer buffer; 17538 VkDeviceSize offset; 17539 VkDeviceSize size; 17540 VkMicromapTypeEXT type; 17541 VkDeviceAddress deviceAddress; 17542 } VkMicromapCreateInfoEXT; 17543 17544 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17545 VkStructureType sType; 17546 void* pNext; 17547 VkBool32 micromap; 17548 VkBool32 micromapCaptureReplay; 17549 VkBool32 micromapHostCommands; 17550 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17551 17552 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17553 VkStructureType sType; 17554 void* pNext; 17555 uint32_t maxOpacity2StateSubdivisionLevel; 17556 uint32_t maxOpacity4StateSubdivisionLevel; 17557 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17558 17559 typedef struct VkMicromapVersionInfoEXT { 17560 VkStructureType sType; 17561 const void* pNext; 17562 const uint8_t* pVersionData; 17563 } VkMicromapVersionInfoEXT; 17564 17565 typedef struct VkCopyMicromapToMemoryInfoEXT { 17566 VkStructureType sType; 17567 const void* pNext; 17568 VkMicromapEXT src; 17569 VkDeviceOrHostAddressKHR dst; 17570 VkCopyMicromapModeEXT mode; 17571 } VkCopyMicromapToMemoryInfoEXT; 17572 17573 typedef struct VkCopyMemoryToMicromapInfoEXT { 17574 VkStructureType sType; 17575 const void* pNext; 17576 VkDeviceOrHostAddressConstKHR src; 17577 VkMicromapEXT dst; 17578 VkCopyMicromapModeEXT mode; 17579 } VkCopyMemoryToMicromapInfoEXT; 17580 17581 typedef struct VkCopyMicromapInfoEXT { 17582 VkStructureType sType; 17583 const void* pNext; 17584 VkMicromapEXT src; 17585 VkMicromapEXT dst; 17586 VkCopyMicromapModeEXT mode; 17587 } VkCopyMicromapInfoEXT; 17588 17589 typedef struct VkMicromapBuildSizesInfoEXT { 17590 VkStructureType sType; 17591 const void* pNext; 17592 VkDeviceSize micromapSize; 17593 VkDeviceSize buildScratchSize; 17594 VkBool32 discardable; 17595 } VkMicromapBuildSizesInfoEXT; 17596 17597 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17598 VkStructureType sType; 17599 void* pNext; 17600 VkIndexType indexType; 17601 VkDeviceOrHostAddressConstKHR indexBuffer; 17602 VkDeviceSize indexStride; 17603 uint32_t baseTriangle; 17604 uint32_t usageCountsCount; 17605 const VkMicromapUsageEXT* pUsageCounts; 17606 const VkMicromapUsageEXT* const* ppUsageCounts; 17607 VkMicromapEXT micromap; 17608 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17609 17610 typedef struct VkMicromapTriangleEXT { 17611 uint32_t dataOffset; 17612 uint16_t subdivisionLevel; 17613 uint16_t format; 17614 } VkMicromapTriangleEXT; 17615 17616 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 17617 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 17618 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17619 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17620 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 17621 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17622 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17623 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 17624 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 17625 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17626 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17627 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 17628 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17629 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 17630 17631 #ifndef VK_NO_PROTOTYPES 17632 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 17633 VkDevice device, 17634 const VkMicromapCreateInfoEXT* pCreateInfo, 17635 const VkAllocationCallbacks* pAllocator, 17636 VkMicromapEXT* pMicromap); 17637 17638 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 17639 VkDevice device, 17640 VkMicromapEXT micromap, 17641 const VkAllocationCallbacks* pAllocator); 17642 17643 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 17644 VkCommandBuffer commandBuffer, 17645 uint32_t infoCount, 17646 const VkMicromapBuildInfoEXT* pInfos); 17647 17648 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 17649 VkDevice device, 17650 VkDeferredOperationKHR deferredOperation, 17651 uint32_t infoCount, 17652 const VkMicromapBuildInfoEXT* pInfos); 17653 17654 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 17655 VkDevice device, 17656 VkDeferredOperationKHR deferredOperation, 17657 const VkCopyMicromapInfoEXT* pInfo); 17658 17659 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 17660 VkDevice device, 17661 VkDeferredOperationKHR deferredOperation, 17662 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17663 17664 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 17665 VkDevice device, 17666 VkDeferredOperationKHR deferredOperation, 17667 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17668 17669 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 17670 VkDevice device, 17671 uint32_t micromapCount, 17672 const VkMicromapEXT* pMicromaps, 17673 VkQueryType queryType, 17674 size_t dataSize, 17675 void* pData, 17676 size_t stride); 17677 17678 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 17679 VkCommandBuffer commandBuffer, 17680 const VkCopyMicromapInfoEXT* pInfo); 17681 17682 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 17683 VkCommandBuffer commandBuffer, 17684 const VkCopyMicromapToMemoryInfoEXT* pInfo); 17685 17686 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 17687 VkCommandBuffer commandBuffer, 17688 const VkCopyMemoryToMicromapInfoEXT* pInfo); 17689 17690 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 17691 VkCommandBuffer commandBuffer, 17692 uint32_t micromapCount, 17693 const VkMicromapEXT* pMicromaps, 17694 VkQueryType queryType, 17695 VkQueryPool queryPool, 17696 uint32_t firstQuery); 17697 17698 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 17699 VkDevice device, 17700 const VkMicromapVersionInfoEXT* pVersionInfo, 17701 VkAccelerationStructureCompatibilityKHR* pCompatibility); 17702 17703 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 17704 VkDevice device, 17705 VkAccelerationStructureBuildTypeKHR buildType, 17706 const VkMicromapBuildInfoEXT* pBuildInfo, 17707 VkMicromapBuildSizesInfoEXT* pSizeInfo); 17708 #endif 17709 17710 17711 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 17712 #define VK_EXT_load_store_op_none 1 17713 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 17714 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 17715 17716 17717 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 17718 #define VK_HUAWEI_cluster_culling_shader 1 17719 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 17720 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 17721 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 17722 VkStructureType sType; 17723 void* pNext; 17724 VkBool32 clustercullingShader; 17725 VkBool32 multiviewClusterCullingShader; 17726 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 17727 17728 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 17729 VkStructureType sType; 17730 void* pNext; 17731 uint32_t maxWorkGroupCount[3]; 17732 uint32_t maxWorkGroupSize[3]; 17733 uint32_t maxOutputClusterCount; 17734 VkDeviceSize indirectBufferOffsetAlignment; 17735 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 17736 17737 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 17738 VkStructureType sType; 17739 void* pNext; 17740 VkBool32 clusterShadingRate; 17741 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 17742 17743 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 17744 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 17745 17746 #ifndef VK_NO_PROTOTYPES 17747 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 17748 VkCommandBuffer commandBuffer, 17749 uint32_t groupCountX, 17750 uint32_t groupCountY, 17751 uint32_t groupCountZ); 17752 17753 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 17754 VkCommandBuffer commandBuffer, 17755 VkBuffer buffer, 17756 VkDeviceSize offset); 17757 #endif 17758 17759 17760 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 17761 #define VK_EXT_border_color_swizzle 1 17762 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 17763 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 17764 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 17765 VkStructureType sType; 17766 void* pNext; 17767 VkBool32 borderColorSwizzle; 17768 VkBool32 borderColorSwizzleFromImage; 17769 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 17770 17771 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 17772 VkStructureType sType; 17773 const void* pNext; 17774 VkComponentMapping components; 17775 VkBool32 srgb; 17776 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 17777 17778 17779 17780 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 17781 #define VK_EXT_pageable_device_local_memory 1 17782 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 17783 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 17784 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 17785 VkStructureType sType; 17786 void* pNext; 17787 VkBool32 pageableDeviceLocalMemory; 17788 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 17789 17790 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 17791 17792 #ifndef VK_NO_PROTOTYPES 17793 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 17794 VkDevice device, 17795 VkDeviceMemory memory, 17796 float priority); 17797 #endif 17798 17799 17800 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 17801 #define VK_ARM_shader_core_properties 1 17802 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 17803 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 17804 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 17805 VkStructureType sType; 17806 void* pNext; 17807 uint32_t pixelRate; 17808 uint32_t texelRate; 17809 uint32_t fmaRate; 17810 } VkPhysicalDeviceShaderCorePropertiesARM; 17811 17812 17813 17814 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 17815 #define VK_ARM_scheduling_controls 1 17816 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 17817 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 17818 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 17819 17820 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 17821 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 17822 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 17823 17824 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 17825 VkStructureType sType; 17826 void* pNext; 17827 uint32_t shaderCoreCount; 17828 } VkDeviceQueueShaderCoreControlCreateInfoARM; 17829 17830 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 17831 VkStructureType sType; 17832 void* pNext; 17833 VkBool32 schedulingControls; 17834 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 17835 17836 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 17837 VkStructureType sType; 17838 void* pNext; 17839 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 17840 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 17841 17842 17843 17844 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17845 #define VK_EXT_image_sliced_view_of_3d 1 17846 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 17847 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 17848 #define VK_REMAINING_3D_SLICES_EXT (~0U) 17849 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 17850 VkStructureType sType; 17851 void* pNext; 17852 VkBool32 imageSlicedViewOf3D; 17853 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 17854 17855 typedef struct VkImageViewSlicedCreateInfoEXT { 17856 VkStructureType sType; 17857 const void* pNext; 17858 uint32_t sliceOffset; 17859 uint32_t sliceCount; 17860 } VkImageViewSlicedCreateInfoEXT; 17861 17862 17863 17864 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 17865 #define VK_VALVE_descriptor_set_host_mapping 1 17866 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 17867 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 17868 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 17869 VkStructureType sType; 17870 void* pNext; 17871 VkBool32 descriptorSetHostMapping; 17872 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 17873 17874 typedef struct VkDescriptorSetBindingReferenceVALVE { 17875 VkStructureType sType; 17876 const void* pNext; 17877 VkDescriptorSetLayout descriptorSetLayout; 17878 uint32_t binding; 17879 } VkDescriptorSetBindingReferenceVALVE; 17880 17881 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 17882 VkStructureType sType; 17883 void* pNext; 17884 size_t descriptorOffset; 17885 uint32_t descriptorSize; 17886 } VkDescriptorSetLayoutHostMappingInfoVALVE; 17887 17888 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17889 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 17890 17891 #ifndef VK_NO_PROTOTYPES 17892 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 17893 VkDevice device, 17894 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 17895 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 17896 17897 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 17898 VkDevice device, 17899 VkDescriptorSet descriptorSet, 17900 void** ppData); 17901 #endif 17902 17903 17904 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 17905 #define VK_EXT_depth_clamp_zero_one 1 17906 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 17907 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 17908 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 17909 VkStructureType sType; 17910 void* pNext; 17911 VkBool32 depthClampZeroOne; 17912 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 17913 17914 17915 17916 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 17917 #define VK_EXT_non_seamless_cube_map 1 17918 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 17919 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 17920 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 17921 VkStructureType sType; 17922 void* pNext; 17923 VkBool32 nonSeamlessCubeMap; 17924 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 17925 17926 17927 17928 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 17929 #define VK_ARM_render_pass_striped 1 17930 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 17931 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 17932 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 17933 VkStructureType sType; 17934 void* pNext; 17935 VkBool32 renderPassStriped; 17936 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 17937 17938 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 17939 VkStructureType sType; 17940 void* pNext; 17941 VkExtent2D renderPassStripeGranularity; 17942 uint32_t maxRenderPassStripes; 17943 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 17944 17945 typedef struct VkRenderPassStripeInfoARM { 17946 VkStructureType sType; 17947 const void* pNext; 17948 VkRect2D stripeArea; 17949 } VkRenderPassStripeInfoARM; 17950 17951 typedef struct VkRenderPassStripeBeginInfoARM { 17952 VkStructureType sType; 17953 const void* pNext; 17954 uint32_t stripeInfoCount; 17955 const VkRenderPassStripeInfoARM* pStripeInfos; 17956 } VkRenderPassStripeBeginInfoARM; 17957 17958 typedef struct VkRenderPassStripeSubmitInfoARM { 17959 VkStructureType sType; 17960 const void* pNext; 17961 uint32_t stripeSemaphoreInfoCount; 17962 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 17963 } VkRenderPassStripeSubmitInfoARM; 17964 17965 17966 17967 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 17968 #define VK_QCOM_fragment_density_map_offset 1 17969 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 2 17970 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 17971 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 17972 VkStructureType sType; 17973 void* pNext; 17974 VkBool32 fragmentDensityMapOffset; 17975 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 17976 17977 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 17978 VkStructureType sType; 17979 void* pNext; 17980 VkExtent2D fragmentDensityOffsetGranularity; 17981 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 17982 17983 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 17984 VkStructureType sType; 17985 const void* pNext; 17986 uint32_t fragmentDensityOffsetCount; 17987 const VkOffset2D* pFragmentDensityOffsets; 17988 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 17989 17990 17991 17992 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 17993 #define VK_NV_copy_memory_indirect 1 17994 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 17995 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 17996 typedef struct VkCopyMemoryIndirectCommandNV { 17997 VkDeviceAddress srcAddress; 17998 VkDeviceAddress dstAddress; 17999 VkDeviceSize size; 18000 } VkCopyMemoryIndirectCommandNV; 18001 18002 typedef struct VkCopyMemoryToImageIndirectCommandNV { 18003 VkDeviceAddress srcAddress; 18004 uint32_t bufferRowLength; 18005 uint32_t bufferImageHeight; 18006 VkImageSubresourceLayers imageSubresource; 18007 VkOffset3D imageOffset; 18008 VkExtent3D imageExtent; 18009 } VkCopyMemoryToImageIndirectCommandNV; 18010 18011 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 18012 VkStructureType sType; 18013 void* pNext; 18014 VkBool32 indirectCopy; 18015 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 18016 18017 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 18018 VkStructureType sType; 18019 void* pNext; 18020 VkQueueFlags supportedQueues; 18021 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 18022 18023 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 18024 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 18025 18026 #ifndef VK_NO_PROTOTYPES 18027 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 18028 VkCommandBuffer commandBuffer, 18029 VkDeviceAddress copyBufferAddress, 18030 uint32_t copyCount, 18031 uint32_t stride); 18032 18033 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 18034 VkCommandBuffer commandBuffer, 18035 VkDeviceAddress copyBufferAddress, 18036 uint32_t copyCount, 18037 uint32_t stride, 18038 VkImage dstImage, 18039 VkImageLayout dstImageLayout, 18040 const VkImageSubresourceLayers* pImageSubresources); 18041 #endif 18042 18043 18044 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 18045 #define VK_NV_memory_decompression 1 18046 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 18047 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 18048 18049 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 18050 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 18051 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 18052 18053 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 18054 typedef struct VkDecompressMemoryRegionNV { 18055 VkDeviceAddress srcAddress; 18056 VkDeviceAddress dstAddress; 18057 VkDeviceSize compressedSize; 18058 VkDeviceSize decompressedSize; 18059 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 18060 } VkDecompressMemoryRegionNV; 18061 18062 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 18063 VkStructureType sType; 18064 void* pNext; 18065 VkBool32 memoryDecompression; 18066 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 18067 18068 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 18069 VkStructureType sType; 18070 void* pNext; 18071 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 18072 uint64_t maxDecompressionIndirectCount; 18073 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 18074 18075 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18076 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 18077 18078 #ifndef VK_NO_PROTOTYPES 18079 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 18080 VkCommandBuffer commandBuffer, 18081 uint32_t decompressRegionCount, 18082 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18083 18084 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 18085 VkCommandBuffer commandBuffer, 18086 VkDeviceAddress indirectCommandsAddress, 18087 VkDeviceAddress indirectCommandsCountAddress, 18088 uint32_t stride); 18089 #endif 18090 18091 18092 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 18093 #define VK_NV_device_generated_commands_compute 1 18094 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 18095 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 18096 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 18097 VkStructureType sType; 18098 void* pNext; 18099 VkBool32 deviceGeneratedCompute; 18100 VkBool32 deviceGeneratedComputePipelines; 18101 VkBool32 deviceGeneratedComputeCaptureReplay; 18102 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 18103 18104 typedef struct VkComputePipelineIndirectBufferInfoNV { 18105 VkStructureType sType; 18106 const void* pNext; 18107 VkDeviceAddress deviceAddress; 18108 VkDeviceSize size; 18109 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 18110 } VkComputePipelineIndirectBufferInfoNV; 18111 18112 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 18113 VkStructureType sType; 18114 const void* pNext; 18115 VkPipelineBindPoint pipelineBindPoint; 18116 VkPipeline pipeline; 18117 } VkPipelineIndirectDeviceAddressInfoNV; 18118 18119 typedef struct VkBindPipelineIndirectCommandNV { 18120 VkDeviceAddress pipelineAddress; 18121 } VkBindPipelineIndirectCommandNV; 18122 18123 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 18124 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 18125 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18126 18127 #ifndef VK_NO_PROTOTYPES 18128 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 18129 VkDevice device, 18130 const VkComputePipelineCreateInfo* pCreateInfo, 18131 VkMemoryRequirements2* pMemoryRequirements); 18132 18133 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 18134 VkCommandBuffer commandBuffer, 18135 VkPipelineBindPoint pipelineBindPoint, 18136 VkPipeline pipeline); 18137 18138 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 18139 VkDevice device, 18140 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18141 #endif 18142 18143 18144 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 18145 #define VK_NV_linear_color_attachment 1 18146 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 18147 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 18148 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 18149 VkStructureType sType; 18150 void* pNext; 18151 VkBool32 linearColorAttachment; 18152 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 18153 18154 18155 18156 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 18157 #define VK_GOOGLE_surfaceless_query 1 18158 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 18159 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 18160 18161 18162 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 18163 #define VK_EXT_image_compression_control_swapchain 1 18164 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 18165 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 18166 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 18167 VkStructureType sType; 18168 void* pNext; 18169 VkBool32 imageCompressionControlSwapchain; 18170 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 18171 18172 18173 18174 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 18175 #define VK_QCOM_image_processing 1 18176 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 18177 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 18178 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 18179 VkStructureType sType; 18180 const void* pNext; 18181 VkOffset2D filterCenter; 18182 VkExtent2D filterSize; 18183 uint32_t numPhases; 18184 } VkImageViewSampleWeightCreateInfoQCOM; 18185 18186 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 18187 VkStructureType sType; 18188 void* pNext; 18189 VkBool32 textureSampleWeighted; 18190 VkBool32 textureBoxFilter; 18191 VkBool32 textureBlockMatch; 18192 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 18193 18194 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 18195 VkStructureType sType; 18196 void* pNext; 18197 uint32_t maxWeightFilterPhases; 18198 VkExtent2D maxWeightFilterDimension; 18199 VkExtent2D maxBlockMatchRegion; 18200 VkExtent2D maxBoxFilterBlockSize; 18201 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 18202 18203 18204 18205 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 18206 #define VK_EXT_nested_command_buffer 1 18207 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 18208 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 18209 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 18210 VkStructureType sType; 18211 void* pNext; 18212 VkBool32 nestedCommandBuffer; 18213 VkBool32 nestedCommandBufferRendering; 18214 VkBool32 nestedCommandBufferSimultaneousUse; 18215 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 18216 18217 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 18218 VkStructureType sType; 18219 void* pNext; 18220 uint32_t maxCommandBufferNestingLevel; 18221 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 18222 18223 18224 18225 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 18226 #define VK_EXT_external_memory_acquire_unmodified 1 18227 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 18228 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 18229 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 18230 VkStructureType sType; 18231 const void* pNext; 18232 VkBool32 acquireUnmodifiedMemory; 18233 } VkExternalMemoryAcquireUnmodifiedEXT; 18234 18235 18236 18237 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 18238 #define VK_EXT_extended_dynamic_state3 1 18239 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 18240 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 18241 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 18242 VkStructureType sType; 18243 void* pNext; 18244 VkBool32 extendedDynamicState3TessellationDomainOrigin; 18245 VkBool32 extendedDynamicState3DepthClampEnable; 18246 VkBool32 extendedDynamicState3PolygonMode; 18247 VkBool32 extendedDynamicState3RasterizationSamples; 18248 VkBool32 extendedDynamicState3SampleMask; 18249 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 18250 VkBool32 extendedDynamicState3AlphaToOneEnable; 18251 VkBool32 extendedDynamicState3LogicOpEnable; 18252 VkBool32 extendedDynamicState3ColorBlendEnable; 18253 VkBool32 extendedDynamicState3ColorBlendEquation; 18254 VkBool32 extendedDynamicState3ColorWriteMask; 18255 VkBool32 extendedDynamicState3RasterizationStream; 18256 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 18257 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 18258 VkBool32 extendedDynamicState3DepthClipEnable; 18259 VkBool32 extendedDynamicState3SampleLocationsEnable; 18260 VkBool32 extendedDynamicState3ColorBlendAdvanced; 18261 VkBool32 extendedDynamicState3ProvokingVertexMode; 18262 VkBool32 extendedDynamicState3LineRasterizationMode; 18263 VkBool32 extendedDynamicState3LineStippleEnable; 18264 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 18265 VkBool32 extendedDynamicState3ViewportWScalingEnable; 18266 VkBool32 extendedDynamicState3ViewportSwizzle; 18267 VkBool32 extendedDynamicState3CoverageToColorEnable; 18268 VkBool32 extendedDynamicState3CoverageToColorLocation; 18269 VkBool32 extendedDynamicState3CoverageModulationMode; 18270 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 18271 VkBool32 extendedDynamicState3CoverageModulationTable; 18272 VkBool32 extendedDynamicState3CoverageReductionMode; 18273 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 18274 VkBool32 extendedDynamicState3ShadingRateImageEnable; 18275 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 18276 18277 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 18278 VkStructureType sType; 18279 void* pNext; 18280 VkBool32 dynamicPrimitiveTopologyUnrestricted; 18281 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 18282 18283 typedef struct VkColorBlendEquationEXT { 18284 VkBlendFactor srcColorBlendFactor; 18285 VkBlendFactor dstColorBlendFactor; 18286 VkBlendOp colorBlendOp; 18287 VkBlendFactor srcAlphaBlendFactor; 18288 VkBlendFactor dstAlphaBlendFactor; 18289 VkBlendOp alphaBlendOp; 18290 } VkColorBlendEquationEXT; 18291 18292 typedef struct VkColorBlendAdvancedEXT { 18293 VkBlendOp advancedBlendOp; 18294 VkBool32 srcPremultiplied; 18295 VkBool32 dstPremultiplied; 18296 VkBlendOverlapEXT blendOverlap; 18297 VkBool32 clampResults; 18298 } VkColorBlendAdvancedEXT; 18299 18300 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 18301 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 18302 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 18303 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 18304 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 18305 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 18306 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 18307 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 18308 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 18309 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 18310 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 18311 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 18312 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18313 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 18314 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 18315 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 18316 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18317 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 18318 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 18319 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 18320 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 18321 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 18322 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 18323 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 18324 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 18325 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 18326 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 18327 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 18328 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 18329 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 18330 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 18331 18332 #ifndef VK_NO_PROTOTYPES 18333 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 18334 VkCommandBuffer commandBuffer, 18335 VkBool32 depthClampEnable); 18336 18337 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 18338 VkCommandBuffer commandBuffer, 18339 VkPolygonMode polygonMode); 18340 18341 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 18342 VkCommandBuffer commandBuffer, 18343 VkSampleCountFlagBits rasterizationSamples); 18344 18345 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 18346 VkCommandBuffer commandBuffer, 18347 VkSampleCountFlagBits samples, 18348 const VkSampleMask* pSampleMask); 18349 18350 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 18351 VkCommandBuffer commandBuffer, 18352 VkBool32 alphaToCoverageEnable); 18353 18354 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 18355 VkCommandBuffer commandBuffer, 18356 VkBool32 alphaToOneEnable); 18357 18358 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 18359 VkCommandBuffer commandBuffer, 18360 VkBool32 logicOpEnable); 18361 18362 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 18363 VkCommandBuffer commandBuffer, 18364 uint32_t firstAttachment, 18365 uint32_t attachmentCount, 18366 const VkBool32* pColorBlendEnables); 18367 18368 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 18369 VkCommandBuffer commandBuffer, 18370 uint32_t firstAttachment, 18371 uint32_t attachmentCount, 18372 const VkColorBlendEquationEXT* pColorBlendEquations); 18373 18374 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 18375 VkCommandBuffer commandBuffer, 18376 uint32_t firstAttachment, 18377 uint32_t attachmentCount, 18378 const VkColorComponentFlags* pColorWriteMasks); 18379 18380 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 18381 VkCommandBuffer commandBuffer, 18382 VkTessellationDomainOrigin domainOrigin); 18383 18384 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 18385 VkCommandBuffer commandBuffer, 18386 uint32_t rasterizationStream); 18387 18388 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 18389 VkCommandBuffer commandBuffer, 18390 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18391 18392 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 18393 VkCommandBuffer commandBuffer, 18394 float extraPrimitiveOverestimationSize); 18395 18396 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 18397 VkCommandBuffer commandBuffer, 18398 VkBool32 depthClipEnable); 18399 18400 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 18401 VkCommandBuffer commandBuffer, 18402 VkBool32 sampleLocationsEnable); 18403 18404 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 18405 VkCommandBuffer commandBuffer, 18406 uint32_t firstAttachment, 18407 uint32_t attachmentCount, 18408 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18409 18410 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 18411 VkCommandBuffer commandBuffer, 18412 VkProvokingVertexModeEXT provokingVertexMode); 18413 18414 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 18415 VkCommandBuffer commandBuffer, 18416 VkLineRasterizationModeEXT lineRasterizationMode); 18417 18418 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 18419 VkCommandBuffer commandBuffer, 18420 VkBool32 stippledLineEnable); 18421 18422 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 18423 VkCommandBuffer commandBuffer, 18424 VkBool32 negativeOneToOne); 18425 18426 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 18427 VkCommandBuffer commandBuffer, 18428 VkBool32 viewportWScalingEnable); 18429 18430 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 18431 VkCommandBuffer commandBuffer, 18432 uint32_t firstViewport, 18433 uint32_t viewportCount, 18434 const VkViewportSwizzleNV* pViewportSwizzles); 18435 18436 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 18437 VkCommandBuffer commandBuffer, 18438 VkBool32 coverageToColorEnable); 18439 18440 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 18441 VkCommandBuffer commandBuffer, 18442 uint32_t coverageToColorLocation); 18443 18444 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 18445 VkCommandBuffer commandBuffer, 18446 VkCoverageModulationModeNV coverageModulationMode); 18447 18448 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 18449 VkCommandBuffer commandBuffer, 18450 VkBool32 coverageModulationTableEnable); 18451 18452 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 18453 VkCommandBuffer commandBuffer, 18454 uint32_t coverageModulationTableCount, 18455 const float* pCoverageModulationTable); 18456 18457 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 18458 VkCommandBuffer commandBuffer, 18459 VkBool32 shadingRateImageEnable); 18460 18461 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 18462 VkCommandBuffer commandBuffer, 18463 VkBool32 representativeFragmentTestEnable); 18464 18465 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 18466 VkCommandBuffer commandBuffer, 18467 VkCoverageReductionModeNV coverageReductionMode); 18468 #endif 18469 18470 18471 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 18472 #define VK_EXT_subpass_merge_feedback 1 18473 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 18474 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 18475 18476 typedef enum VkSubpassMergeStatusEXT { 18477 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 18478 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 18479 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 18480 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 18481 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 18482 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 18483 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 18484 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 18485 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 18486 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 18487 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 18488 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 18489 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 18490 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 18491 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 18492 } VkSubpassMergeStatusEXT; 18493 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 18494 VkStructureType sType; 18495 void* pNext; 18496 VkBool32 subpassMergeFeedback; 18497 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 18498 18499 typedef struct VkRenderPassCreationControlEXT { 18500 VkStructureType sType; 18501 const void* pNext; 18502 VkBool32 disallowMerging; 18503 } VkRenderPassCreationControlEXT; 18504 18505 typedef struct VkRenderPassCreationFeedbackInfoEXT { 18506 uint32_t postMergeSubpassCount; 18507 } VkRenderPassCreationFeedbackInfoEXT; 18508 18509 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 18510 VkStructureType sType; 18511 const void* pNext; 18512 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 18513 } VkRenderPassCreationFeedbackCreateInfoEXT; 18514 18515 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 18516 VkSubpassMergeStatusEXT subpassMergeStatus; 18517 char description[VK_MAX_DESCRIPTION_SIZE]; 18518 uint32_t postMergeIndex; 18519 } VkRenderPassSubpassFeedbackInfoEXT; 18520 18521 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 18522 VkStructureType sType; 18523 const void* pNext; 18524 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 18525 } VkRenderPassSubpassFeedbackCreateInfoEXT; 18526 18527 18528 18529 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18530 #define VK_LUNARG_direct_driver_loading 1 18531 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18532 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18533 18534 typedef enum VkDirectDriverLoadingModeLUNARG { 18535 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18536 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18537 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18538 } VkDirectDriverLoadingModeLUNARG; 18539 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18540 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18541 VkInstance instance, const char* pName); 18542 18543 typedef struct VkDirectDriverLoadingInfoLUNARG { 18544 VkStructureType sType; 18545 void* pNext; 18546 VkDirectDriverLoadingFlagsLUNARG flags; 18547 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18548 } VkDirectDriverLoadingInfoLUNARG; 18549 18550 typedef struct VkDirectDriverLoadingListLUNARG { 18551 VkStructureType sType; 18552 const void* pNext; 18553 VkDirectDriverLoadingModeLUNARG mode; 18554 uint32_t driverCount; 18555 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18556 } VkDirectDriverLoadingListLUNARG; 18557 18558 18559 18560 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 18561 #define VK_EXT_shader_module_identifier 1 18562 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 18563 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 18564 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 18565 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 18566 VkStructureType sType; 18567 void* pNext; 18568 VkBool32 shaderModuleIdentifier; 18569 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 18570 18571 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 18572 VkStructureType sType; 18573 void* pNext; 18574 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 18575 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 18576 18577 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 18578 VkStructureType sType; 18579 const void* pNext; 18580 uint32_t identifierSize; 18581 const uint8_t* pIdentifier; 18582 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 18583 18584 typedef struct VkShaderModuleIdentifierEXT { 18585 VkStructureType sType; 18586 void* pNext; 18587 uint32_t identifierSize; 18588 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 18589 } VkShaderModuleIdentifierEXT; 18590 18591 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 18592 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 18593 18594 #ifndef VK_NO_PROTOTYPES 18595 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 18596 VkDevice device, 18597 VkShaderModule shaderModule, 18598 VkShaderModuleIdentifierEXT* pIdentifier); 18599 18600 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 18601 VkDevice device, 18602 const VkShaderModuleCreateInfo* pCreateInfo, 18603 VkShaderModuleIdentifierEXT* pIdentifier); 18604 #endif 18605 18606 18607 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 18608 #define VK_EXT_rasterization_order_attachment_access 1 18609 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 18610 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 18611 18612 18613 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18614 #define VK_NV_optical_flow 1 18615 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 18616 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 18617 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 18618 18619 typedef enum VkOpticalFlowPerformanceLevelNV { 18620 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 18621 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 18622 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 18623 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 18624 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 18625 } VkOpticalFlowPerformanceLevelNV; 18626 18627 typedef enum VkOpticalFlowSessionBindingPointNV { 18628 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 18629 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 18630 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 18631 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 18632 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 18633 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 18634 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 18635 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 18636 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 18637 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 18638 } VkOpticalFlowSessionBindingPointNV; 18639 18640 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 18641 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 18642 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 18643 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 18644 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 18645 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 18646 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18647 } VkOpticalFlowGridSizeFlagBitsNV; 18648 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 18649 18650 typedef enum VkOpticalFlowUsageFlagBitsNV { 18651 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 18652 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 18653 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 18654 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 18655 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 18656 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 18657 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18658 } VkOpticalFlowUsageFlagBitsNV; 18659 typedef VkFlags VkOpticalFlowUsageFlagsNV; 18660 18661 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 18662 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 18663 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 18664 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 18665 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 18666 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 18667 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18668 } VkOpticalFlowSessionCreateFlagBitsNV; 18669 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 18670 18671 typedef enum VkOpticalFlowExecuteFlagBitsNV { 18672 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 18673 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18674 } VkOpticalFlowExecuteFlagBitsNV; 18675 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 18676 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 18677 VkStructureType sType; 18678 void* pNext; 18679 VkBool32 opticalFlow; 18680 } VkPhysicalDeviceOpticalFlowFeaturesNV; 18681 18682 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 18683 VkStructureType sType; 18684 void* pNext; 18685 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 18686 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 18687 VkBool32 hintSupported; 18688 VkBool32 costSupported; 18689 VkBool32 bidirectionalFlowSupported; 18690 VkBool32 globalFlowSupported; 18691 uint32_t minWidth; 18692 uint32_t minHeight; 18693 uint32_t maxWidth; 18694 uint32_t maxHeight; 18695 uint32_t maxNumRegionsOfInterest; 18696 } VkPhysicalDeviceOpticalFlowPropertiesNV; 18697 18698 typedef struct VkOpticalFlowImageFormatInfoNV { 18699 VkStructureType sType; 18700 const void* pNext; 18701 VkOpticalFlowUsageFlagsNV usage; 18702 } VkOpticalFlowImageFormatInfoNV; 18703 18704 typedef struct VkOpticalFlowImageFormatPropertiesNV { 18705 VkStructureType sType; 18706 const void* pNext; 18707 VkFormat format; 18708 } VkOpticalFlowImageFormatPropertiesNV; 18709 18710 typedef struct VkOpticalFlowSessionCreateInfoNV { 18711 VkStructureType sType; 18712 void* pNext; 18713 uint32_t width; 18714 uint32_t height; 18715 VkFormat imageFormat; 18716 VkFormat flowVectorFormat; 18717 VkFormat costFormat; 18718 VkOpticalFlowGridSizeFlagsNV outputGridSize; 18719 VkOpticalFlowGridSizeFlagsNV hintGridSize; 18720 VkOpticalFlowPerformanceLevelNV performanceLevel; 18721 VkOpticalFlowSessionCreateFlagsNV flags; 18722 } VkOpticalFlowSessionCreateInfoNV; 18723 18724 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 18725 VkStructureType sType; 18726 void* pNext; 18727 uint32_t id; 18728 uint32_t size; 18729 const void* pPrivateData; 18730 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 18731 18732 typedef struct VkOpticalFlowExecuteInfoNV { 18733 VkStructureType sType; 18734 void* pNext; 18735 VkOpticalFlowExecuteFlagsNV flags; 18736 uint32_t regionCount; 18737 const VkRect2D* pRegions; 18738 } VkOpticalFlowExecuteInfoNV; 18739 18740 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18741 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 18742 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 18743 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 18744 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18745 18746 #ifndef VK_NO_PROTOTYPES 18747 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 18748 VkPhysicalDevice physicalDevice, 18749 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 18750 uint32_t* pFormatCount, 18751 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18752 18753 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 18754 VkDevice device, 18755 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 18756 const VkAllocationCallbacks* pAllocator, 18757 VkOpticalFlowSessionNV* pSession); 18758 18759 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 18760 VkDevice device, 18761 VkOpticalFlowSessionNV session, 18762 const VkAllocationCallbacks* pAllocator); 18763 18764 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 18765 VkDevice device, 18766 VkOpticalFlowSessionNV session, 18767 VkOpticalFlowSessionBindingPointNV bindingPoint, 18768 VkImageView view, 18769 VkImageLayout layout); 18770 18771 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 18772 VkCommandBuffer commandBuffer, 18773 VkOpticalFlowSessionNV session, 18774 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18775 #endif 18776 18777 18778 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 18779 #define VK_EXT_legacy_dithering 1 18780 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2 18781 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 18782 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 18783 VkStructureType sType; 18784 void* pNext; 18785 VkBool32 legacyDithering; 18786 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 18787 18788 18789 18790 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 18791 #define VK_EXT_pipeline_protected_access 1 18792 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 18793 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 18794 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 18795 VkStructureType sType; 18796 void* pNext; 18797 VkBool32 pipelineProtectedAccess; 18798 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 18799 18800 18801 18802 // VK_AMD_anti_lag is a preprocessor guard. Do not pass it to API calls. 18803 #define VK_AMD_anti_lag 1 18804 #define VK_AMD_ANTI_LAG_SPEC_VERSION 1 18805 #define VK_AMD_ANTI_LAG_EXTENSION_NAME "VK_AMD_anti_lag" 18806 18807 typedef enum VkAntiLagModeAMD { 18808 VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0, 18809 VK_ANTI_LAG_MODE_ON_AMD = 1, 18810 VK_ANTI_LAG_MODE_OFF_AMD = 2, 18811 VK_ANTI_LAG_MODE_MAX_ENUM_AMD = 0x7FFFFFFF 18812 } VkAntiLagModeAMD; 18813 18814 typedef enum VkAntiLagStageAMD { 18815 VK_ANTI_LAG_STAGE_INPUT_AMD = 0, 18816 VK_ANTI_LAG_STAGE_PRESENT_AMD = 1, 18817 VK_ANTI_LAG_STAGE_MAX_ENUM_AMD = 0x7FFFFFFF 18818 } VkAntiLagStageAMD; 18819 typedef struct VkPhysicalDeviceAntiLagFeaturesAMD { 18820 VkStructureType sType; 18821 void* pNext; 18822 VkBool32 antiLag; 18823 } VkPhysicalDeviceAntiLagFeaturesAMD; 18824 18825 typedef struct VkAntiLagPresentationInfoAMD { 18826 VkStructureType sType; 18827 void* pNext; 18828 VkAntiLagStageAMD stage; 18829 uint64_t frameIndex; 18830 } VkAntiLagPresentationInfoAMD; 18831 18832 typedef struct VkAntiLagDataAMD { 18833 VkStructureType sType; 18834 const void* pNext; 18835 VkAntiLagModeAMD mode; 18836 uint32_t maxFPS; 18837 const VkAntiLagPresentationInfoAMD* pPresentationInfo; 18838 } VkAntiLagDataAMD; 18839 18840 typedef void (VKAPI_PTR *PFN_vkAntiLagUpdateAMD)(VkDevice device, const VkAntiLagDataAMD* pData); 18841 18842 #ifndef VK_NO_PROTOTYPES 18843 VKAPI_ATTR void VKAPI_CALL vkAntiLagUpdateAMD( 18844 VkDevice device, 18845 const VkAntiLagDataAMD* pData); 18846 #endif 18847 18848 18849 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 18850 #define VK_EXT_shader_object 1 18851 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 18852 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 18853 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 18854 18855 typedef enum VkShaderCodeTypeEXT { 18856 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 18857 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 18858 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18859 } VkShaderCodeTypeEXT; 18860 18861 typedef enum VkShaderCreateFlagBitsEXT { 18862 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 18863 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 18864 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 18865 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 18866 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 18867 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 18868 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 18869 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18870 } VkShaderCreateFlagBitsEXT; 18871 typedef VkFlags VkShaderCreateFlagsEXT; 18872 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 18873 VkStructureType sType; 18874 void* pNext; 18875 VkBool32 shaderObject; 18876 } VkPhysicalDeviceShaderObjectFeaturesEXT; 18877 18878 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 18879 VkStructureType sType; 18880 void* pNext; 18881 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 18882 uint32_t shaderBinaryVersion; 18883 } VkPhysicalDeviceShaderObjectPropertiesEXT; 18884 18885 typedef struct VkShaderCreateInfoEXT { 18886 VkStructureType sType; 18887 const void* pNext; 18888 VkShaderCreateFlagsEXT flags; 18889 VkShaderStageFlagBits stage; 18890 VkShaderStageFlags nextStage; 18891 VkShaderCodeTypeEXT codeType; 18892 size_t codeSize; 18893 const void* pCode; 18894 const char* pName; 18895 uint32_t setLayoutCount; 18896 const VkDescriptorSetLayout* pSetLayouts; 18897 uint32_t pushConstantRangeCount; 18898 const VkPushConstantRange* pPushConstantRanges; 18899 const VkSpecializationInfo* pSpecializationInfo; 18900 } VkShaderCreateInfoEXT; 18901 18902 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 18903 18904 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 18905 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 18906 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 18907 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 18908 18909 #ifndef VK_NO_PROTOTYPES 18910 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 18911 VkDevice device, 18912 uint32_t createInfoCount, 18913 const VkShaderCreateInfoEXT* pCreateInfos, 18914 const VkAllocationCallbacks* pAllocator, 18915 VkShaderEXT* pShaders); 18916 18917 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 18918 VkDevice device, 18919 VkShaderEXT shader, 18920 const VkAllocationCallbacks* pAllocator); 18921 18922 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 18923 VkDevice device, 18924 VkShaderEXT shader, 18925 size_t* pDataSize, 18926 void* pData); 18927 18928 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 18929 VkCommandBuffer commandBuffer, 18930 uint32_t stageCount, 18931 const VkShaderStageFlagBits* pStages, 18932 const VkShaderEXT* pShaders); 18933 #endif 18934 18935 18936 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 18937 #define VK_QCOM_tile_properties 1 18938 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 18939 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 18940 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 18941 VkStructureType sType; 18942 void* pNext; 18943 VkBool32 tileProperties; 18944 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 18945 18946 typedef struct VkTilePropertiesQCOM { 18947 VkStructureType sType; 18948 void* pNext; 18949 VkExtent3D tileSize; 18950 VkExtent2D apronSize; 18951 VkOffset2D origin; 18952 } VkTilePropertiesQCOM; 18953 18954 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 18955 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 18956 18957 #ifndef VK_NO_PROTOTYPES 18958 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 18959 VkDevice device, 18960 VkFramebuffer framebuffer, 18961 uint32_t* pPropertiesCount, 18962 VkTilePropertiesQCOM* pProperties); 18963 18964 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 18965 VkDevice device, 18966 const VkRenderingInfo* pRenderingInfo, 18967 VkTilePropertiesQCOM* pProperties); 18968 #endif 18969 18970 18971 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 18972 #define VK_SEC_amigo_profiling 1 18973 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 18974 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 18975 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 18976 VkStructureType sType; 18977 void* pNext; 18978 VkBool32 amigoProfiling; 18979 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 18980 18981 typedef struct VkAmigoProfilingSubmitInfoSEC { 18982 VkStructureType sType; 18983 const void* pNext; 18984 uint64_t firstDrawTimestamp; 18985 uint64_t swapBufferTimestamp; 18986 } VkAmigoProfilingSubmitInfoSEC; 18987 18988 18989 18990 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 18991 #define VK_QCOM_multiview_per_view_viewports 1 18992 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 18993 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 18994 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 18995 VkStructureType sType; 18996 void* pNext; 18997 VkBool32 multiviewPerViewViewports; 18998 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 18999 19000 19001 19002 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 19003 #define VK_NV_ray_tracing_invocation_reorder 1 19004 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 19005 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 19006 19007 typedef enum VkRayTracingInvocationReorderModeNV { 19008 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 19009 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 19010 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19011 } VkRayTracingInvocationReorderModeNV; 19012 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 19013 VkStructureType sType; 19014 void* pNext; 19015 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 19016 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 19017 19018 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 19019 VkStructureType sType; 19020 void* pNext; 19021 VkBool32 rayTracingInvocationReorder; 19022 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 19023 19024 19025 19026 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 19027 #define VK_NV_extended_sparse_address_space 1 19028 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 19029 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 19030 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 19031 VkStructureType sType; 19032 void* pNext; 19033 VkBool32 extendedSparseAddressSpace; 19034 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 19035 19036 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 19037 VkStructureType sType; 19038 void* pNext; 19039 VkDeviceSize extendedSparseAddressSpaceSize; 19040 VkImageUsageFlags extendedSparseImageUsageFlags; 19041 VkBufferUsageFlags extendedSparseBufferUsageFlags; 19042 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 19043 19044 19045 19046 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 19047 #define VK_EXT_mutable_descriptor_type 1 19048 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 19049 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 19050 19051 19052 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls. 19053 #define VK_EXT_legacy_vertex_attributes 1 19054 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1 19055 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes" 19056 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT { 19057 VkStructureType sType; 19058 void* pNext; 19059 VkBool32 legacyVertexAttributes; 19060 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT; 19061 19062 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT { 19063 VkStructureType sType; 19064 void* pNext; 19065 VkBool32 nativeUnalignedPerformance; 19066 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT; 19067 19068 19069 19070 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 19071 #define VK_EXT_layer_settings 1 19072 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 19073 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 19074 19075 typedef enum VkLayerSettingTypeEXT { 19076 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 19077 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 19078 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 19079 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 19080 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 19081 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 19082 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 19083 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 19084 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19085 } VkLayerSettingTypeEXT; 19086 typedef struct VkLayerSettingEXT { 19087 const char* pLayerName; 19088 const char* pSettingName; 19089 VkLayerSettingTypeEXT type; 19090 uint32_t valueCount; 19091 const void* pValues; 19092 } VkLayerSettingEXT; 19093 19094 typedef struct VkLayerSettingsCreateInfoEXT { 19095 VkStructureType sType; 19096 const void* pNext; 19097 uint32_t settingCount; 19098 const VkLayerSettingEXT* pSettings; 19099 } VkLayerSettingsCreateInfoEXT; 19100 19101 19102 19103 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 19104 #define VK_ARM_shader_core_builtins 1 19105 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 19106 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 19107 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 19108 VkStructureType sType; 19109 void* pNext; 19110 VkBool32 shaderCoreBuiltins; 19111 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 19112 19113 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 19114 VkStructureType sType; 19115 void* pNext; 19116 uint64_t shaderCoreMask; 19117 uint32_t shaderCoreCount; 19118 uint32_t shaderWarpsPerCore; 19119 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 19120 19121 19122 19123 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 19124 #define VK_EXT_pipeline_library_group_handles 1 19125 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 19126 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 19127 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 19128 VkStructureType sType; 19129 void* pNext; 19130 VkBool32 pipelineLibraryGroupHandles; 19131 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 19132 19133 19134 19135 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 19136 #define VK_EXT_dynamic_rendering_unused_attachments 1 19137 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 19138 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 19139 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 19140 VkStructureType sType; 19141 void* pNext; 19142 VkBool32 dynamicRenderingUnusedAttachments; 19143 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 19144 19145 19146 19147 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 19148 #define VK_NV_low_latency2 1 19149 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 19150 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 19151 19152 typedef enum VkLatencyMarkerNV { 19153 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 19154 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 19155 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 19156 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 19157 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 19158 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 19159 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 19160 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 19161 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 19162 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 19163 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 19164 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 19165 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 19166 } VkLatencyMarkerNV; 19167 19168 typedef enum VkOutOfBandQueueTypeNV { 19169 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 19170 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 19171 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 19172 } VkOutOfBandQueueTypeNV; 19173 typedef struct VkLatencySleepModeInfoNV { 19174 VkStructureType sType; 19175 const void* pNext; 19176 VkBool32 lowLatencyMode; 19177 VkBool32 lowLatencyBoost; 19178 uint32_t minimumIntervalUs; 19179 } VkLatencySleepModeInfoNV; 19180 19181 typedef struct VkLatencySleepInfoNV { 19182 VkStructureType sType; 19183 const void* pNext; 19184 VkSemaphore signalSemaphore; 19185 uint64_t value; 19186 } VkLatencySleepInfoNV; 19187 19188 typedef struct VkSetLatencyMarkerInfoNV { 19189 VkStructureType sType; 19190 const void* pNext; 19191 uint64_t presentID; 19192 VkLatencyMarkerNV marker; 19193 } VkSetLatencyMarkerInfoNV; 19194 19195 typedef struct VkLatencyTimingsFrameReportNV { 19196 VkStructureType sType; 19197 const void* pNext; 19198 uint64_t presentID; 19199 uint64_t inputSampleTimeUs; 19200 uint64_t simStartTimeUs; 19201 uint64_t simEndTimeUs; 19202 uint64_t renderSubmitStartTimeUs; 19203 uint64_t renderSubmitEndTimeUs; 19204 uint64_t presentStartTimeUs; 19205 uint64_t presentEndTimeUs; 19206 uint64_t driverStartTimeUs; 19207 uint64_t driverEndTimeUs; 19208 uint64_t osRenderQueueStartTimeUs; 19209 uint64_t osRenderQueueEndTimeUs; 19210 uint64_t gpuRenderStartTimeUs; 19211 uint64_t gpuRenderEndTimeUs; 19212 } VkLatencyTimingsFrameReportNV; 19213 19214 typedef struct VkGetLatencyMarkerInfoNV { 19215 VkStructureType sType; 19216 const void* pNext; 19217 uint32_t timingCount; 19218 VkLatencyTimingsFrameReportNV* pTimings; 19219 } VkGetLatencyMarkerInfoNV; 19220 19221 typedef struct VkLatencySubmissionPresentIdNV { 19222 VkStructureType sType; 19223 const void* pNext; 19224 uint64_t presentID; 19225 } VkLatencySubmissionPresentIdNV; 19226 19227 typedef struct VkSwapchainLatencyCreateInfoNV { 19228 VkStructureType sType; 19229 const void* pNext; 19230 VkBool32 latencyModeEnable; 19231 } VkSwapchainLatencyCreateInfoNV; 19232 19233 typedef struct VkOutOfBandQueueTypeInfoNV { 19234 VkStructureType sType; 19235 const void* pNext; 19236 VkOutOfBandQueueTypeNV queueType; 19237 } VkOutOfBandQueueTypeInfoNV; 19238 19239 typedef struct VkLatencySurfaceCapabilitiesNV { 19240 VkStructureType sType; 19241 const void* pNext; 19242 uint32_t presentModeCount; 19243 VkPresentModeKHR* pPresentModes; 19244 } VkLatencySurfaceCapabilitiesNV; 19245 19246 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 19247 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 19248 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19249 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19250 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 19251 19252 #ifndef VK_NO_PROTOTYPES 19253 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 19254 VkDevice device, 19255 VkSwapchainKHR swapchain, 19256 const VkLatencySleepModeInfoNV* pSleepModeInfo); 19257 19258 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 19259 VkDevice device, 19260 VkSwapchainKHR swapchain, 19261 const VkLatencySleepInfoNV* pSleepInfo); 19262 19263 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 19264 VkDevice device, 19265 VkSwapchainKHR swapchain, 19266 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19267 19268 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 19269 VkDevice device, 19270 VkSwapchainKHR swapchain, 19271 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19272 19273 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 19274 VkQueue queue, 19275 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 19276 #endif 19277 19278 19279 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 19280 #define VK_QCOM_multiview_per_view_render_areas 1 19281 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 19282 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 19283 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 19284 VkStructureType sType; 19285 void* pNext; 19286 VkBool32 multiviewPerViewRenderAreas; 19287 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 19288 19289 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 19290 VkStructureType sType; 19291 const void* pNext; 19292 uint32_t perViewRenderAreaCount; 19293 const VkRect2D* pPerViewRenderAreas; 19294 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 19295 19296 19297 19298 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 19299 #define VK_NV_per_stage_descriptor_set 1 19300 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 19301 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 19302 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 19303 VkStructureType sType; 19304 void* pNext; 19305 VkBool32 perStageDescriptorSet; 19306 VkBool32 dynamicPipelineLayout; 19307 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 19308 19309 19310 19311 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 19312 #define VK_QCOM_image_processing2 1 19313 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 19314 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 19315 19316 typedef enum VkBlockMatchWindowCompareModeQCOM { 19317 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 19318 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 19319 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 19320 } VkBlockMatchWindowCompareModeQCOM; 19321 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 19322 VkStructureType sType; 19323 void* pNext; 19324 VkBool32 textureBlockMatch2; 19325 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 19326 19327 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 19328 VkStructureType sType; 19329 void* pNext; 19330 VkExtent2D maxBlockMatchWindow; 19331 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 19332 19333 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 19334 VkStructureType sType; 19335 const void* pNext; 19336 VkExtent2D windowExtent; 19337 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 19338 } VkSamplerBlockMatchWindowCreateInfoQCOM; 19339 19340 19341 19342 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 19343 #define VK_QCOM_filter_cubic_weights 1 19344 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 19345 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 19346 19347 typedef enum VkCubicFilterWeightsQCOM { 19348 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 19349 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 19350 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 19351 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 19352 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 19353 } VkCubicFilterWeightsQCOM; 19354 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 19355 VkStructureType sType; 19356 void* pNext; 19357 VkBool32 selectableCubicWeights; 19358 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 19359 19360 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 19361 VkStructureType sType; 19362 const void* pNext; 19363 VkCubicFilterWeightsQCOM cubicWeights; 19364 } VkSamplerCubicWeightsCreateInfoQCOM; 19365 19366 typedef struct VkBlitImageCubicWeightsInfoQCOM { 19367 VkStructureType sType; 19368 const void* pNext; 19369 VkCubicFilterWeightsQCOM cubicWeights; 19370 } VkBlitImageCubicWeightsInfoQCOM; 19371 19372 19373 19374 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 19375 #define VK_QCOM_ycbcr_degamma 1 19376 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 19377 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 19378 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 19379 VkStructureType sType; 19380 void* pNext; 19381 VkBool32 ycbcrDegamma; 19382 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 19383 19384 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 19385 VkStructureType sType; 19386 void* pNext; 19387 VkBool32 enableYDegamma; 19388 VkBool32 enableCbCrDegamma; 19389 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 19390 19391 19392 19393 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 19394 #define VK_QCOM_filter_cubic_clamp 1 19395 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 19396 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 19397 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 19398 VkStructureType sType; 19399 void* pNext; 19400 VkBool32 cubicRangeClamp; 19401 } VkPhysicalDeviceCubicClampFeaturesQCOM; 19402 19403 19404 19405 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 19406 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 19407 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 19408 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 19409 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 19410 VkStructureType sType; 19411 void* pNext; 19412 VkBool32 attachmentFeedbackLoopDynamicState; 19413 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 19414 19415 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 19416 19417 #ifndef VK_NO_PROTOTYPES 19418 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 19419 VkCommandBuffer commandBuffer, 19420 VkImageAspectFlags aspectMask); 19421 #endif 19422 19423 19424 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 19425 #define VK_MSFT_layered_driver 1 19426 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 19427 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 19428 19429 typedef enum VkLayeredDriverUnderlyingApiMSFT { 19430 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 19431 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 19432 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 19433 } VkLayeredDriverUnderlyingApiMSFT; 19434 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 19435 VkStructureType sType; 19436 void* pNext; 19437 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 19438 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 19439 19440 19441 19442 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 19443 #define VK_NV_descriptor_pool_overallocation 1 19444 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 19445 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 19446 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 19447 VkStructureType sType; 19448 void* pNext; 19449 VkBool32 descriptorPoolOverallocation; 19450 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 19451 19452 19453 19454 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 19455 #define VK_NV_raw_access_chains 1 19456 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 19457 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 19458 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 19459 VkStructureType sType; 19460 void* pNext; 19461 VkBool32 shaderRawAccessChains; 19462 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 19463 19464 19465 19466 // VK_NV_command_buffer_inheritance is a preprocessor guard. Do not pass it to API calls. 19467 #define VK_NV_command_buffer_inheritance 1 19468 #define VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION 1 19469 #define VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME "VK_NV_command_buffer_inheritance" 19470 typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV { 19471 VkStructureType sType; 19472 void* pNext; 19473 VkBool32 commandBufferInheritance; 19474 } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV; 19475 19476 19477 19478 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 19479 #define VK_NV_shader_atomic_float16_vector 1 19480 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 19481 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 19482 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 19483 VkStructureType sType; 19484 void* pNext; 19485 VkBool32 shaderFloat16VectorAtomics; 19486 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 19487 19488 19489 19490 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls. 19491 #define VK_EXT_shader_replicated_composites 1 19492 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1 19493 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" 19494 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT { 19495 VkStructureType sType; 19496 void* pNext; 19497 VkBool32 shaderReplicatedComposites; 19498 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT; 19499 19500 19501 19502 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. 19503 #define VK_NV_ray_tracing_validation 1 19504 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 19505 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" 19506 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { 19507 VkStructureType sType; 19508 void* pNext; 19509 VkBool32 rayTracingValidation; 19510 } VkPhysicalDeviceRayTracingValidationFeaturesNV; 19511 19512 19513 19514 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls. 19515 #define VK_MESA_image_alignment_control 1 19516 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 19517 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" 19518 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA { 19519 VkStructureType sType; 19520 void* pNext; 19521 VkBool32 imageAlignmentControl; 19522 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA; 19523 19524 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA { 19525 VkStructureType sType; 19526 void* pNext; 19527 uint32_t supportedImageAlignmentMask; 19528 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA; 19529 19530 typedef struct VkImageAlignmentControlCreateInfoMESA { 19531 VkStructureType sType; 19532 const void* pNext; 19533 uint32_t maximumRequestedAlignment; 19534 } VkImageAlignmentControlCreateInfoMESA; 19535 19536 19537 19538 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 19539 #define VK_KHR_acceleration_structure 1 19540 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 19541 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 19542 19543 typedef enum VkBuildAccelerationStructureModeKHR { 19544 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 19545 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 19546 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 19547 } VkBuildAccelerationStructureModeKHR; 19548 19549 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 19550 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 19551 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 19552 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 19553 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 19554 } VkAccelerationStructureCreateFlagBitsKHR; 19555 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 19556 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 19557 uint32_t primitiveCount; 19558 uint32_t primitiveOffset; 19559 uint32_t firstVertex; 19560 uint32_t transformOffset; 19561 } VkAccelerationStructureBuildRangeInfoKHR; 19562 19563 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 19564 VkStructureType sType; 19565 const void* pNext; 19566 VkFormat vertexFormat; 19567 VkDeviceOrHostAddressConstKHR vertexData; 19568 VkDeviceSize vertexStride; 19569 uint32_t maxVertex; 19570 VkIndexType indexType; 19571 VkDeviceOrHostAddressConstKHR indexData; 19572 VkDeviceOrHostAddressConstKHR transformData; 19573 } VkAccelerationStructureGeometryTrianglesDataKHR; 19574 19575 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 19576 VkStructureType sType; 19577 const void* pNext; 19578 VkDeviceOrHostAddressConstKHR data; 19579 VkDeviceSize stride; 19580 } VkAccelerationStructureGeometryAabbsDataKHR; 19581 19582 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 19583 VkStructureType sType; 19584 const void* pNext; 19585 VkBool32 arrayOfPointers; 19586 VkDeviceOrHostAddressConstKHR data; 19587 } VkAccelerationStructureGeometryInstancesDataKHR; 19588 19589 typedef union VkAccelerationStructureGeometryDataKHR { 19590 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 19591 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 19592 VkAccelerationStructureGeometryInstancesDataKHR instances; 19593 } VkAccelerationStructureGeometryDataKHR; 19594 19595 typedef struct VkAccelerationStructureGeometryKHR { 19596 VkStructureType sType; 19597 const void* pNext; 19598 VkGeometryTypeKHR geometryType; 19599 VkAccelerationStructureGeometryDataKHR geometry; 19600 VkGeometryFlagsKHR flags; 19601 } VkAccelerationStructureGeometryKHR; 19602 19603 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 19604 VkStructureType sType; 19605 const void* pNext; 19606 VkAccelerationStructureTypeKHR type; 19607 VkBuildAccelerationStructureFlagsKHR flags; 19608 VkBuildAccelerationStructureModeKHR mode; 19609 VkAccelerationStructureKHR srcAccelerationStructure; 19610 VkAccelerationStructureKHR dstAccelerationStructure; 19611 uint32_t geometryCount; 19612 const VkAccelerationStructureGeometryKHR* pGeometries; 19613 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 19614 VkDeviceOrHostAddressKHR scratchData; 19615 } VkAccelerationStructureBuildGeometryInfoKHR; 19616 19617 typedef struct VkAccelerationStructureCreateInfoKHR { 19618 VkStructureType sType; 19619 const void* pNext; 19620 VkAccelerationStructureCreateFlagsKHR createFlags; 19621 VkBuffer buffer; 19622 VkDeviceSize offset; 19623 VkDeviceSize size; 19624 VkAccelerationStructureTypeKHR type; 19625 VkDeviceAddress deviceAddress; 19626 } VkAccelerationStructureCreateInfoKHR; 19627 19628 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 19629 VkStructureType sType; 19630 const void* pNext; 19631 uint32_t accelerationStructureCount; 19632 const VkAccelerationStructureKHR* pAccelerationStructures; 19633 } VkWriteDescriptorSetAccelerationStructureKHR; 19634 19635 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 19636 VkStructureType sType; 19637 void* pNext; 19638 VkBool32 accelerationStructure; 19639 VkBool32 accelerationStructureCaptureReplay; 19640 VkBool32 accelerationStructureIndirectBuild; 19641 VkBool32 accelerationStructureHostCommands; 19642 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 19643 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 19644 19645 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 19646 VkStructureType sType; 19647 void* pNext; 19648 uint64_t maxGeometryCount; 19649 uint64_t maxInstanceCount; 19650 uint64_t maxPrimitiveCount; 19651 uint32_t maxPerStageDescriptorAccelerationStructures; 19652 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 19653 uint32_t maxDescriptorSetAccelerationStructures; 19654 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 19655 uint32_t minAccelerationStructureScratchOffsetAlignment; 19656 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 19657 19658 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 19659 VkStructureType sType; 19660 const void* pNext; 19661 VkAccelerationStructureKHR accelerationStructure; 19662 } VkAccelerationStructureDeviceAddressInfoKHR; 19663 19664 typedef struct VkAccelerationStructureVersionInfoKHR { 19665 VkStructureType sType; 19666 const void* pNext; 19667 const uint8_t* pVersionData; 19668 } VkAccelerationStructureVersionInfoKHR; 19669 19670 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 19671 VkStructureType sType; 19672 const void* pNext; 19673 VkAccelerationStructureKHR src; 19674 VkDeviceOrHostAddressKHR dst; 19675 VkCopyAccelerationStructureModeKHR mode; 19676 } VkCopyAccelerationStructureToMemoryInfoKHR; 19677 19678 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 19679 VkStructureType sType; 19680 const void* pNext; 19681 VkDeviceOrHostAddressConstKHR src; 19682 VkAccelerationStructureKHR dst; 19683 VkCopyAccelerationStructureModeKHR mode; 19684 } VkCopyMemoryToAccelerationStructureInfoKHR; 19685 19686 typedef struct VkCopyAccelerationStructureInfoKHR { 19687 VkStructureType sType; 19688 const void* pNext; 19689 VkAccelerationStructureKHR src; 19690 VkAccelerationStructureKHR dst; 19691 VkCopyAccelerationStructureModeKHR mode; 19692 } VkCopyAccelerationStructureInfoKHR; 19693 19694 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 19695 VkStructureType sType; 19696 const void* pNext; 19697 VkDeviceSize accelerationStructureSize; 19698 VkDeviceSize updateScratchSize; 19699 VkDeviceSize buildScratchSize; 19700 } VkAccelerationStructureBuildSizesInfoKHR; 19701 19702 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 19703 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 19704 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19705 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); 19706 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19707 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 19708 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19709 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19710 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 19711 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 19712 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19713 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19714 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19715 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 19716 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 19717 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19718 19719 #ifndef VK_NO_PROTOTYPES 19720 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 19721 VkDevice device, 19722 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 19723 const VkAllocationCallbacks* pAllocator, 19724 VkAccelerationStructureKHR* pAccelerationStructure); 19725 19726 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 19727 VkDevice device, 19728 VkAccelerationStructureKHR accelerationStructure, 19729 const VkAllocationCallbacks* pAllocator); 19730 19731 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 19732 VkCommandBuffer commandBuffer, 19733 uint32_t infoCount, 19734 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19735 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19736 19737 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 19738 VkCommandBuffer commandBuffer, 19739 uint32_t infoCount, 19740 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19741 const VkDeviceAddress* pIndirectDeviceAddresses, 19742 const uint32_t* pIndirectStrides, 19743 const uint32_t* const* ppMaxPrimitiveCounts); 19744 19745 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 19746 VkDevice device, 19747 VkDeferredOperationKHR deferredOperation, 19748 uint32_t infoCount, 19749 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 19750 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 19751 19752 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 19753 VkDevice device, 19754 VkDeferredOperationKHR deferredOperation, 19755 const VkCopyAccelerationStructureInfoKHR* pInfo); 19756 19757 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 19758 VkDevice device, 19759 VkDeferredOperationKHR deferredOperation, 19760 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19761 19762 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 19763 VkDevice device, 19764 VkDeferredOperationKHR deferredOperation, 19765 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19766 19767 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 19768 VkDevice device, 19769 uint32_t accelerationStructureCount, 19770 const VkAccelerationStructureKHR* pAccelerationStructures, 19771 VkQueryType queryType, 19772 size_t dataSize, 19773 void* pData, 19774 size_t stride); 19775 19776 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 19777 VkCommandBuffer commandBuffer, 19778 const VkCopyAccelerationStructureInfoKHR* pInfo); 19779 19780 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 19781 VkCommandBuffer commandBuffer, 19782 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 19783 19784 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 19785 VkCommandBuffer commandBuffer, 19786 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 19787 19788 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 19789 VkDevice device, 19790 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 19791 19792 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 19793 VkCommandBuffer commandBuffer, 19794 uint32_t accelerationStructureCount, 19795 const VkAccelerationStructureKHR* pAccelerationStructures, 19796 VkQueryType queryType, 19797 VkQueryPool queryPool, 19798 uint32_t firstQuery); 19799 19800 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 19801 VkDevice device, 19802 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 19803 VkAccelerationStructureCompatibilityKHR* pCompatibility); 19804 19805 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 19806 VkDevice device, 19807 VkAccelerationStructureBuildTypeKHR buildType, 19808 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 19809 const uint32_t* pMaxPrimitiveCounts, 19810 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 19811 #endif 19812 19813 19814 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 19815 #define VK_KHR_ray_tracing_pipeline 1 19816 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 19817 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 19818 19819 typedef enum VkShaderGroupShaderKHR { 19820 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 19821 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 19822 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 19823 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 19824 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 19825 } VkShaderGroupShaderKHR; 19826 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 19827 VkStructureType sType; 19828 const void* pNext; 19829 VkRayTracingShaderGroupTypeKHR type; 19830 uint32_t generalShader; 19831 uint32_t closestHitShader; 19832 uint32_t anyHitShader; 19833 uint32_t intersectionShader; 19834 const void* pShaderGroupCaptureReplayHandle; 19835 } VkRayTracingShaderGroupCreateInfoKHR; 19836 19837 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 19838 VkStructureType sType; 19839 const void* pNext; 19840 uint32_t maxPipelineRayPayloadSize; 19841 uint32_t maxPipelineRayHitAttributeSize; 19842 } VkRayTracingPipelineInterfaceCreateInfoKHR; 19843 19844 typedef struct VkRayTracingPipelineCreateInfoKHR { 19845 VkStructureType sType; 19846 const void* pNext; 19847 VkPipelineCreateFlags flags; 19848 uint32_t stageCount; 19849 const VkPipelineShaderStageCreateInfo* pStages; 19850 uint32_t groupCount; 19851 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 19852 uint32_t maxPipelineRayRecursionDepth; 19853 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 19854 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 19855 const VkPipelineDynamicStateCreateInfo* pDynamicState; 19856 VkPipelineLayout layout; 19857 VkPipeline basePipelineHandle; 19858 int32_t basePipelineIndex; 19859 } VkRayTracingPipelineCreateInfoKHR; 19860 19861 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 19862 VkStructureType sType; 19863 void* pNext; 19864 VkBool32 rayTracingPipeline; 19865 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 19866 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 19867 VkBool32 rayTracingPipelineTraceRaysIndirect; 19868 VkBool32 rayTraversalPrimitiveCulling; 19869 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 19870 19871 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 19872 VkStructureType sType; 19873 void* pNext; 19874 uint32_t shaderGroupHandleSize; 19875 uint32_t maxRayRecursionDepth; 19876 uint32_t maxShaderGroupStride; 19877 uint32_t shaderGroupBaseAlignment; 19878 uint32_t shaderGroupHandleCaptureReplaySize; 19879 uint32_t maxRayDispatchInvocationCount; 19880 uint32_t shaderGroupHandleAlignment; 19881 uint32_t maxRayHitAttributeSize; 19882 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 19883 19884 typedef struct VkStridedDeviceAddressRegionKHR { 19885 VkDeviceAddress deviceAddress; 19886 VkDeviceSize stride; 19887 VkDeviceSize size; 19888 } VkStridedDeviceAddressRegionKHR; 19889 19890 typedef struct VkTraceRaysIndirectCommandKHR { 19891 uint32_t width; 19892 uint32_t height; 19893 uint32_t depth; 19894 } VkTraceRaysIndirectCommandKHR; 19895 19896 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); 19897 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 19898 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 19899 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 19900 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 19901 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 19902 19903 #ifndef VK_NO_PROTOTYPES 19904 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 19905 VkCommandBuffer commandBuffer, 19906 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19907 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19908 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19909 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19910 uint32_t width, 19911 uint32_t height, 19912 uint32_t depth); 19913 19914 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 19915 VkDevice device, 19916 VkDeferredOperationKHR deferredOperation, 19917 VkPipelineCache pipelineCache, 19918 uint32_t createInfoCount, 19919 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 19920 const VkAllocationCallbacks* pAllocator, 19921 VkPipeline* pPipelines); 19922 19923 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 19924 VkDevice device, 19925 VkPipeline pipeline, 19926 uint32_t firstGroup, 19927 uint32_t groupCount, 19928 size_t dataSize, 19929 void* pData); 19930 19931 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 19932 VkCommandBuffer commandBuffer, 19933 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 19934 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 19935 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 19936 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 19937 VkDeviceAddress indirectDeviceAddress); 19938 19939 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 19940 VkDevice device, 19941 VkPipeline pipeline, 19942 uint32_t group, 19943 VkShaderGroupShaderKHR groupShader); 19944 19945 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 19946 VkCommandBuffer commandBuffer, 19947 uint32_t pipelineStackSize); 19948 #endif 19949 19950 19951 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 19952 #define VK_KHR_ray_query 1 19953 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 19954 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 19955 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 19956 VkStructureType sType; 19957 void* pNext; 19958 VkBool32 rayQuery; 19959 } VkPhysicalDeviceRayQueryFeaturesKHR; 19960 19961 19962 19963 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 19964 #define VK_EXT_mesh_shader 1 19965 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 19966 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 19967 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 19968 VkStructureType sType; 19969 void* pNext; 19970 VkBool32 taskShader; 19971 VkBool32 meshShader; 19972 VkBool32 multiviewMeshShader; 19973 VkBool32 primitiveFragmentShadingRateMeshShader; 19974 VkBool32 meshShaderQueries; 19975 } VkPhysicalDeviceMeshShaderFeaturesEXT; 19976 19977 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 19978 VkStructureType sType; 19979 void* pNext; 19980 uint32_t maxTaskWorkGroupTotalCount; 19981 uint32_t maxTaskWorkGroupCount[3]; 19982 uint32_t maxTaskWorkGroupInvocations; 19983 uint32_t maxTaskWorkGroupSize[3]; 19984 uint32_t maxTaskPayloadSize; 19985 uint32_t maxTaskSharedMemorySize; 19986 uint32_t maxTaskPayloadAndSharedMemorySize; 19987 uint32_t maxMeshWorkGroupTotalCount; 19988 uint32_t maxMeshWorkGroupCount[3]; 19989 uint32_t maxMeshWorkGroupInvocations; 19990 uint32_t maxMeshWorkGroupSize[3]; 19991 uint32_t maxMeshSharedMemorySize; 19992 uint32_t maxMeshPayloadAndSharedMemorySize; 19993 uint32_t maxMeshOutputMemorySize; 19994 uint32_t maxMeshPayloadAndOutputMemorySize; 19995 uint32_t maxMeshOutputComponents; 19996 uint32_t maxMeshOutputVertices; 19997 uint32_t maxMeshOutputPrimitives; 19998 uint32_t maxMeshOutputLayers; 19999 uint32_t maxMeshMultiviewViewCount; 20000 uint32_t meshOutputPerVertexGranularity; 20001 uint32_t meshOutputPerPrimitiveGranularity; 20002 uint32_t maxPreferredTaskWorkGroupInvocations; 20003 uint32_t maxPreferredMeshWorkGroupInvocations; 20004 VkBool32 prefersLocalInvocationVertexOutput; 20005 VkBool32 prefersLocalInvocationPrimitiveOutput; 20006 VkBool32 prefersCompactVertexOutput; 20007 VkBool32 prefersCompactPrimitiveOutput; 20008 } VkPhysicalDeviceMeshShaderPropertiesEXT; 20009 20010 typedef struct VkDrawMeshTasksIndirectCommandEXT { 20011 uint32_t groupCountX; 20012 uint32_t groupCountY; 20013 uint32_t groupCountZ; 20014 } VkDrawMeshTasksIndirectCommandEXT; 20015 20016 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 20017 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 20018 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 20019 20020 #ifndef VK_NO_PROTOTYPES 20021 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 20022 VkCommandBuffer commandBuffer, 20023 uint32_t groupCountX, 20024 uint32_t groupCountY, 20025 uint32_t groupCountZ); 20026 20027 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 20028 VkCommandBuffer commandBuffer, 20029 VkBuffer buffer, 20030 VkDeviceSize offset, 20031 uint32_t drawCount, 20032 uint32_t stride); 20033 20034 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 20035 VkCommandBuffer commandBuffer, 20036 VkBuffer buffer, 20037 VkDeviceSize offset, 20038 VkBuffer countBuffer, 20039 VkDeviceSize countBufferOffset, 20040 uint32_t maxDrawCount, 20041 uint32_t stride); 20042 #endif 20043 20044 #ifdef __cplusplus 20045 } 20046 #endif 20047 20048 #endif 20049