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