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