1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright 2015-2024 The Khronos Group Inc. 6 ** 7 ** SPDX-License-Identifier: Apache-2.0 8 */ 9 10 /* 11 ** This header is generated from the Khronos Vulkan XML API Registry. 12 ** 13 */ 14 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 22 // VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls. 23 #define VK_VERSION_1_0 1 24 #include "vk_platform.h" 25 26 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 27 28 29 #ifndef VK_USE_64_BIT_PTR_DEFINES 30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) 31 #define VK_USE_64_BIT_PTR_DEFINES 1 32 #else 33 #define VK_USE_64_BIT_PTR_DEFINES 0 34 #endif 35 #endif 36 37 38 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 39 #if (VK_USE_64_BIT_PTR_DEFINES==1) 40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 41 #define VK_NULL_HANDLE nullptr 42 #else 43 #define VK_NULL_HANDLE ((void*)0) 44 #endif 45 #else 46 #define VK_NULL_HANDLE 0ULL 47 #endif 48 #endif 49 #ifndef VK_NULL_HANDLE 50 #define VK_NULL_HANDLE 0 51 #endif 52 53 54 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 55 #if (VK_USE_64_BIT_PTR_DEFINES==1) 56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 57 #else 58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 59 #endif 60 #endif 61 62 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 64 65 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 66 //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 67 68 // Vulkan 1.0 version number 69 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 70 71 // Version of this file 72 #define VK_HEADER_VERSION 294 73 74 // Complete version of this file 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) 76 77 // VK_MAKE_VERSION is deprecated, but no reason was given in the API XML 78 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 79 #define VK_MAKE_VERSION(major, minor, patch) \ 80 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 81 82 // VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML 83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 84 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 85 86 // VK_VERSION_MINOR is deprecated, but no reason was given in the API XML 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 88 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 89 90 // VK_VERSION_PATCH is deprecated, but no reason was given in the API XML 91 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 92 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 94 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 95 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 96 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 97 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 98 typedef uint32_t VkBool32; 99 typedef uint64_t VkDeviceAddress; 100 typedef uint64_t VkDeviceSize; 101 typedef uint32_t VkFlags; 102 typedef uint32_t VkSampleMask; 103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 105 VK_DEFINE_HANDLE(VkInstance) 106 VK_DEFINE_HANDLE(VkPhysicalDevice) 107 VK_DEFINE_HANDLE(VkDevice) 108 VK_DEFINE_HANDLE(VkQueue) 109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 110 VK_DEFINE_HANDLE(VkCommandBuffer) 111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 127 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 128 #define VK_ATTACHMENT_UNUSED (~0U) 129 #define VK_FALSE 0U 130 #define VK_LOD_CLAMP_NONE 1000.0F 131 #define VK_QUEUE_FAMILY_IGNORED (~0U) 132 #define VK_REMAINING_ARRAY_LAYERS (~0U) 133 #define VK_REMAINING_MIP_LEVELS (~0U) 134 #define VK_SUBPASS_EXTERNAL (~0U) 135 #define VK_TRUE 1U 136 #define VK_WHOLE_SIZE (~0ULL) 137 #define VK_MAX_MEMORY_TYPES 32U 138 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 139 #define VK_UUID_SIZE 16U 140 #define VK_MAX_EXTENSION_NAME_SIZE 256U 141 #define VK_MAX_DESCRIPTION_SIZE 256U 142 #define VK_MAX_MEMORY_HEAPS 16U 143 144 typedef enum VkResult { 145 VK_SUCCESS = 0, 146 VK_NOT_READY = 1, 147 VK_TIMEOUT = 2, 148 VK_EVENT_SET = 3, 149 VK_EVENT_RESET = 4, 150 VK_INCOMPLETE = 5, 151 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 152 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 153 VK_ERROR_INITIALIZATION_FAILED = -3, 154 VK_ERROR_DEVICE_LOST = -4, 155 VK_ERROR_MEMORY_MAP_FAILED = -5, 156 VK_ERROR_LAYER_NOT_PRESENT = -6, 157 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 158 VK_ERROR_FEATURE_NOT_PRESENT = -8, 159 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 160 VK_ERROR_TOO_MANY_OBJECTS = -10, 161 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 162 VK_ERROR_FRAGMENTED_POOL = -12, 163 VK_ERROR_UNKNOWN = -13, 164 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 165 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 166 VK_ERROR_FRAGMENTATION = -1000161000, 167 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 168 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 169 VK_ERROR_NOT_PERMITTED = -1000174001, 170 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 171 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 172 VK_SUBOPTIMAL_KHR = 1000001003, 173 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 174 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 175 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 176 VK_ERROR_INVALID_SHADER_NV = -1000012000, 177 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 178 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 179 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 180 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 181 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 182 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 183 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 184 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 185 VK_THREAD_IDLE_KHR = 1000268000, 186 VK_THREAD_DONE_KHR = 1000268001, 187 VK_OPERATION_DEFERRED_KHR = 1000268002, 188 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 189 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 190 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 191 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 192 VK_PIPELINE_BINARY_MISSING_KHR = 1000483000, 193 VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000, 194 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 195 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 196 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 197 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED, 198 VK_ERROR_NOT_PERMITTED_KHR = VK_ERROR_NOT_PERMITTED, 199 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 200 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 201 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 202 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 203 // VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT is a deprecated alias 204 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, 205 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 206 } VkResult; 207 208 typedef enum VkStructureType { 209 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 210 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 211 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 212 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 213 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 214 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 215 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 216 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 217 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 218 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 219 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 220 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 221 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 222 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 223 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 224 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 225 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 226 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 227 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 228 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 229 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 230 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 231 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 232 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 233 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 234 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 235 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 236 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 237 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 238 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 239 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 240 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 241 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 242 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 243 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 244 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 245 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 246 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 247 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 248 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 251 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 252 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 253 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 254 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 255 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 256 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 257 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 259 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 263 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 264 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 265 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 266 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 267 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 268 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 269 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 270 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 272 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 273 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 274 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 275 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 276 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 280 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 281 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 283 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 285 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 288 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 289 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 290 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 291 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 295 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 298 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 300 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 301 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 302 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 304 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 305 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 307 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 309 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 312 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 313 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 315 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 316 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 317 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 319 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 327 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 328 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 329 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 330 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 331 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 332 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 333 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 334 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 340 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 344 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 346 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 348 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 350 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 354 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 355 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 359 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 360 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 364 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 365 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 366 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 367 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 369 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 370 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 371 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 372 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 375 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 380 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 381 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 383 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 384 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 385 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 386 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 387 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 388 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 389 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 393 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 394 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 395 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 396 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 397 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 398 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 399 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 400 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 401 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 402 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 403 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 405 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 409 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 410 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 412 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 413 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 414 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 416 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 420 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 423 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 424 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES = 55, 426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES = 56, 427 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO = 1000174000, 428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES = 1000388000, 429 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES = 1000388001, 430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES = 1000416000, 431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES = 1000528000, 432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES = 1000544000, 433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES = 1000259000, 434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO = 1000259001, 435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES = 1000259002, 436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES = 1000525000, 437 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO = 1000190001, 438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES = 1000190002, 439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES = 1000265000, 440 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO = 1000271000, 441 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO = 1000271001, 442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES = 1000470000, 443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES = 1000470001, 444 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO = 1000470003, 445 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO = 1000470004, 446 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 = 1000338002, 447 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 = 1000338003, 448 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO = 1000470005, 449 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO = 1000470006, 450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES = 1000080000, 451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES = 1000232000, 452 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO = 1000232001, 453 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO = 1000232002, 454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES = 1000545000, 455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES = 1000545001, 456 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS = 1000545002, 457 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO = 1000545003, 458 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO = 1000545004, 459 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO = 1000545005, 460 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO = 1000545006, 461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES = 1000466000, 462 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO = 1000068000, 463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES = 1000068001, 464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES = 1000068002, 465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES = 1000270000, 466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES = 1000270001, 467 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY = 1000270002, 468 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY = 1000270003, 469 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO = 1000270004, 470 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO = 1000270005, 471 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO = 1000270006, 472 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO = 1000270007, 473 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE = 1000270008, 474 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY = 1000270009, 475 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 476 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 477 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 478 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 479 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 480 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 481 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 482 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 483 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 484 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 485 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 486 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 487 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 488 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 489 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 490 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 491 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 492 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 493 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 494 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 495 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 496 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 497 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 498 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 499 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 500 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 501 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 502 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 503 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 504 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 505 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 506 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 507 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 508 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 509 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 511 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 512 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 513 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 514 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 515 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 516 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 517 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 518 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 521 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 522 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 523 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 524 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 525 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 526 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 527 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 555 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 557 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 558 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 560 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 561 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 562 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 563 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 564 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 565 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 566 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 567 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 568 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 569 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 570 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 571 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 572 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 573 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 574 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 575 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 577 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 578 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 579 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 580 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 581 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 582 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 583 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 584 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 585 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 586 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 587 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 588 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 589 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 590 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 591 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 593 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 594 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 595 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 596 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 597 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 598 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 599 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 600 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 601 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 603 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 605 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 607 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 609 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 610 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 612 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 613 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 614 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 615 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 616 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 617 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 620 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 621 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 622 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 623 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 624 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 626 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 627 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 628 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 629 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 630 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 631 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 632 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 633 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 634 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 635 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 636 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 637 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 638 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 639 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 640 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 641 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 642 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 643 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 644 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 645 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 646 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 647 #ifdef VK_ENABLE_BETA_EXTENSIONS 648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 649 #endif 650 #ifdef VK_ENABLE_BETA_EXTENSIONS 651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 652 #endif 653 #ifdef VK_ENABLE_BETA_EXTENSIONS 654 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 655 #endif 656 #ifdef VK_ENABLE_BETA_EXTENSIONS 657 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 658 #endif 659 #ifdef VK_ENABLE_BETA_EXTENSIONS 660 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 661 #endif 662 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 663 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 664 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 666 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 669 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 670 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 671 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 672 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 673 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 674 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 675 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 676 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 677 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 678 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 679 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 680 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 681 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 683 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 684 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 685 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 688 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 689 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 690 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 692 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 695 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 697 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 698 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 699 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 700 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 701 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 702 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 703 #ifdef VK_ENABLE_BETA_EXTENSIONS 704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 705 #endif 706 #ifdef VK_ENABLE_BETA_EXTENSIONS 707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 708 #endif 709 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 712 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 713 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 714 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 715 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 716 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 717 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 718 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 719 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 720 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 722 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 723 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 725 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 727 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 728 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 729 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 732 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 734 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 735 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 736 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 737 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 738 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 739 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 740 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 742 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 747 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 749 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 750 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 752 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 753 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 754 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 755 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 756 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 757 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 759 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 760 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 761 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 762 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 765 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 766 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 767 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000, 775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 777 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 778 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 781 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 782 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 783 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 785 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 788 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 789 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 793 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 795 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 796 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 797 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 798 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 802 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 803 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 804 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 805 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 806 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000, 808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001, 809 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002, 810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 811 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 812 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 813 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 815 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 816 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 817 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 818 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 819 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 821 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 822 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 823 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 824 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 825 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 826 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 829 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 831 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 832 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 834 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 835 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 837 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 838 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 841 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 844 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 846 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 847 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 848 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 850 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 851 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 852 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 853 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 854 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 855 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 857 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 858 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 859 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 860 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 862 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 863 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 864 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 865 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 868 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 869 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 870 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 871 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 872 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 873 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 874 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 875 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 876 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 877 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 878 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 879 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 880 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 881 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 882 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 886 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 887 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 888 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 889 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 890 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 891 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 892 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 893 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 894 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 895 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 898 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 905 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 906 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 907 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 908 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 914 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 917 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 918 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 922 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 923 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 925 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 927 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 928 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 931 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 933 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 935 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 936 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 937 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 938 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 939 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 940 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 941 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 942 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 943 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 944 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 945 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 946 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 947 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 948 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 949 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 950 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 954 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 956 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 959 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 961 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 962 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 963 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 964 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 966 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 970 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 976 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 977 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 978 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 979 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 980 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 983 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 984 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 985 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 986 #ifdef VK_ENABLE_BETA_EXTENSIONS 987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 988 #endif 989 #ifdef VK_ENABLE_BETA_EXTENSIONS 990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 991 #endif 992 #ifdef VK_ENABLE_BETA_EXTENSIONS 993 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 994 #endif 995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 999 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 1000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 1002 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 1006 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 1007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 1008 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 1009 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 1014 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 1015 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 1016 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 1017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 1018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 1019 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 1025 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 1026 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, 1029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1032 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 1033 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 1035 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1039 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1040 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1041 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1042 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1043 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1046 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1047 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1048 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1049 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1051 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1052 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1053 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1054 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1055 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1056 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1059 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1060 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD = 1000476000, 1061 VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD = 1000476001, 1062 VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002, 1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1064 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1066 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1067 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR = 1000483000, 1068 VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR = 1000483001, 1069 VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR = 1000483002, 1070 VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR = 1000483003, 1071 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR = 1000483004, 1072 VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR = 1000483005, 1073 VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR = 1000483006, 1074 VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR = 1000483007, 1075 VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR = 1000483008, 1076 VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR = 1000483009, 1077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1078 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1080 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1081 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1087 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, 1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001, 1090 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1095 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1096 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1097 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1098 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1099 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1100 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1101 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1102 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1103 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1105 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1106 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1108 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1109 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000, 1110 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001, 1111 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003, 1112 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004, 1113 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005, 1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1115 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1118 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1119 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1120 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1121 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1122 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1124 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1127 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1128 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1129 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1130 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1131 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1132 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1133 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1134 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1135 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1136 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000, 1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000, 1139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000, 1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000, 1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001, 1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002, 1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003, 1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004, 1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, 1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, 1147 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, 1148 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, 1149 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, 1150 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, 1151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1152 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1153 // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a deprecated alias 1154 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 1155 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 1156 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 1157 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 1158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 1159 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 1160 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 1161 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 1164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 1166 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 1167 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 1168 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 1169 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 1171 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 1173 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 1174 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 1175 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 1176 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 1177 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 1178 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 1179 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 1181 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO, 1182 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES, 1183 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES, 1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 1185 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 1187 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 1189 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 1190 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 1191 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 1192 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 1193 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 1195 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 1196 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES, 1198 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 1200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 1201 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 1202 // VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT is a deprecated alias 1203 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 1204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 1205 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 1206 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 1207 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 1208 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 1209 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 1210 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 1211 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 1212 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 1213 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 1214 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 1215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 1216 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 1217 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 1219 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 1220 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 1221 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 1224 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 1225 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 1226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 1227 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 1229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 1230 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 1231 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 1232 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 1233 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 1234 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 1235 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 1236 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 1237 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 1238 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 1239 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 1240 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 1241 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 1243 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 1244 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 1245 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 1246 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 1247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 1248 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 1249 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 1250 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 1252 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 1253 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1257 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1258 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO, 1259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1260 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1261 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1263 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 1266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 1267 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 1268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 1271 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 1272 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 1273 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 1274 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 1275 // VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL is a deprecated alias 1276 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 1277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 1279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 1280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 1281 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 1283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES, 1284 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO, 1285 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO, 1286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 1287 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 1288 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 1289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 1290 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 1292 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 1294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 1295 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 1296 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 1297 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 1298 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 1299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1300 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 1303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES, 1305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES, 1306 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY, 1307 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY, 1308 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO, 1309 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO, 1310 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO, 1311 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO, 1312 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE, 1313 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY, 1314 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO, 1315 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO, 1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 1317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 1318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 1319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 1321 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 1322 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 1323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 1324 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 1325 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 1326 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 1327 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 1328 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 1329 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 1330 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 1333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 1334 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 1335 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 1336 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 1337 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 1338 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 1339 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 1340 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 1341 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 1342 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1343 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1344 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1345 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1346 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1349 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1350 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1351 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, 1353 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, 1354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1356 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1357 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES, 1359 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES, 1360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES, 1361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES, 1362 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO, 1363 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO, 1364 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, 1365 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, 1366 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO, 1367 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO, 1368 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES, 1370 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, 1371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, 1372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES, 1373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES, 1374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, 1375 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, 1376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, 1377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES, 1378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES, 1379 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES, 1380 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS, 1381 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO, 1382 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO, 1383 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO, 1384 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO, 1385 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1386 } VkStructureType; 1387 1388 typedef enum VkPipelineCacheHeaderVersion { 1389 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 1390 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 1391 } VkPipelineCacheHeaderVersion; 1392 1393 typedef enum VkImageLayout { 1394 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1395 VK_IMAGE_LAYOUT_GENERAL = 1, 1396 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1397 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1398 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1399 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1400 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1401 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1402 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1403 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1404 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1405 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1406 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1407 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1408 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1409 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1410 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1411 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000, 1412 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1413 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1414 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1415 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1416 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1417 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1418 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1419 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1420 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1421 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1422 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1423 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1424 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 1425 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 1426 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ, 1427 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 1428 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 1429 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 1430 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 1431 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 1432 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 1433 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1434 } VkImageLayout; 1435 1436 typedef enum VkObjectType { 1437 VK_OBJECT_TYPE_UNKNOWN = 0, 1438 VK_OBJECT_TYPE_INSTANCE = 1, 1439 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 1440 VK_OBJECT_TYPE_DEVICE = 3, 1441 VK_OBJECT_TYPE_QUEUE = 4, 1442 VK_OBJECT_TYPE_SEMAPHORE = 5, 1443 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 1444 VK_OBJECT_TYPE_FENCE = 7, 1445 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 1446 VK_OBJECT_TYPE_BUFFER = 9, 1447 VK_OBJECT_TYPE_IMAGE = 10, 1448 VK_OBJECT_TYPE_EVENT = 11, 1449 VK_OBJECT_TYPE_QUERY_POOL = 12, 1450 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 1451 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 1452 VK_OBJECT_TYPE_SHADER_MODULE = 15, 1453 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 1454 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 1455 VK_OBJECT_TYPE_RENDER_PASS = 18, 1456 VK_OBJECT_TYPE_PIPELINE = 19, 1457 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 1458 VK_OBJECT_TYPE_SAMPLER = 21, 1459 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 1460 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 1461 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 1462 VK_OBJECT_TYPE_COMMAND_POOL = 25, 1463 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 1464 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 1465 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 1466 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 1467 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 1468 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1469 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1470 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1471 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1472 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1473 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1474 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1475 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 1476 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1477 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 1478 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1479 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1480 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1481 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1482 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1483 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1484 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1485 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1486 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1487 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1488 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000, 1489 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1490 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1491 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 1492 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 1493 } VkObjectType; 1494 1495 typedef enum VkVendorId { 1496 VK_VENDOR_ID_KHRONOS = 0x10000, 1497 VK_VENDOR_ID_VIV = 0x10001, 1498 VK_VENDOR_ID_VSI = 0x10002, 1499 VK_VENDOR_ID_KAZAN = 0x10003, 1500 VK_VENDOR_ID_CODEPLAY = 0x10004, 1501 VK_VENDOR_ID_MESA = 0x10005, 1502 VK_VENDOR_ID_POCL = 0x10006, 1503 VK_VENDOR_ID_MOBILEYE = 0x10007, 1504 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1505 } VkVendorId; 1506 1507 typedef enum VkSystemAllocationScope { 1508 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 1509 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 1510 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 1511 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 1512 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 1513 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 1514 } VkSystemAllocationScope; 1515 1516 typedef enum VkInternalAllocationType { 1517 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 1518 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 1519 } VkInternalAllocationType; 1520 1521 typedef enum VkFormat { 1522 VK_FORMAT_UNDEFINED = 0, 1523 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 1524 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 1525 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 1526 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 1527 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 1528 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 1529 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 1530 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 1531 VK_FORMAT_R8_UNORM = 9, 1532 VK_FORMAT_R8_SNORM = 10, 1533 VK_FORMAT_R8_USCALED = 11, 1534 VK_FORMAT_R8_SSCALED = 12, 1535 VK_FORMAT_R8_UINT = 13, 1536 VK_FORMAT_R8_SINT = 14, 1537 VK_FORMAT_R8_SRGB = 15, 1538 VK_FORMAT_R8G8_UNORM = 16, 1539 VK_FORMAT_R8G8_SNORM = 17, 1540 VK_FORMAT_R8G8_USCALED = 18, 1541 VK_FORMAT_R8G8_SSCALED = 19, 1542 VK_FORMAT_R8G8_UINT = 20, 1543 VK_FORMAT_R8G8_SINT = 21, 1544 VK_FORMAT_R8G8_SRGB = 22, 1545 VK_FORMAT_R8G8B8_UNORM = 23, 1546 VK_FORMAT_R8G8B8_SNORM = 24, 1547 VK_FORMAT_R8G8B8_USCALED = 25, 1548 VK_FORMAT_R8G8B8_SSCALED = 26, 1549 VK_FORMAT_R8G8B8_UINT = 27, 1550 VK_FORMAT_R8G8B8_SINT = 28, 1551 VK_FORMAT_R8G8B8_SRGB = 29, 1552 VK_FORMAT_B8G8R8_UNORM = 30, 1553 VK_FORMAT_B8G8R8_SNORM = 31, 1554 VK_FORMAT_B8G8R8_USCALED = 32, 1555 VK_FORMAT_B8G8R8_SSCALED = 33, 1556 VK_FORMAT_B8G8R8_UINT = 34, 1557 VK_FORMAT_B8G8R8_SINT = 35, 1558 VK_FORMAT_B8G8R8_SRGB = 36, 1559 VK_FORMAT_R8G8B8A8_UNORM = 37, 1560 VK_FORMAT_R8G8B8A8_SNORM = 38, 1561 VK_FORMAT_R8G8B8A8_USCALED = 39, 1562 VK_FORMAT_R8G8B8A8_SSCALED = 40, 1563 VK_FORMAT_R8G8B8A8_UINT = 41, 1564 VK_FORMAT_R8G8B8A8_SINT = 42, 1565 VK_FORMAT_R8G8B8A8_SRGB = 43, 1566 VK_FORMAT_B8G8R8A8_UNORM = 44, 1567 VK_FORMAT_B8G8R8A8_SNORM = 45, 1568 VK_FORMAT_B8G8R8A8_USCALED = 46, 1569 VK_FORMAT_B8G8R8A8_SSCALED = 47, 1570 VK_FORMAT_B8G8R8A8_UINT = 48, 1571 VK_FORMAT_B8G8R8A8_SINT = 49, 1572 VK_FORMAT_B8G8R8A8_SRGB = 50, 1573 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 1574 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 1575 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 1576 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 1577 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 1578 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 1579 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 1580 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 1581 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 1582 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 1583 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 1584 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 1585 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 1586 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 1587 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 1588 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 1589 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 1590 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 1591 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 1592 VK_FORMAT_R16_UNORM = 70, 1593 VK_FORMAT_R16_SNORM = 71, 1594 VK_FORMAT_R16_USCALED = 72, 1595 VK_FORMAT_R16_SSCALED = 73, 1596 VK_FORMAT_R16_UINT = 74, 1597 VK_FORMAT_R16_SINT = 75, 1598 VK_FORMAT_R16_SFLOAT = 76, 1599 VK_FORMAT_R16G16_UNORM = 77, 1600 VK_FORMAT_R16G16_SNORM = 78, 1601 VK_FORMAT_R16G16_USCALED = 79, 1602 VK_FORMAT_R16G16_SSCALED = 80, 1603 VK_FORMAT_R16G16_UINT = 81, 1604 VK_FORMAT_R16G16_SINT = 82, 1605 VK_FORMAT_R16G16_SFLOAT = 83, 1606 VK_FORMAT_R16G16B16_UNORM = 84, 1607 VK_FORMAT_R16G16B16_SNORM = 85, 1608 VK_FORMAT_R16G16B16_USCALED = 86, 1609 VK_FORMAT_R16G16B16_SSCALED = 87, 1610 VK_FORMAT_R16G16B16_UINT = 88, 1611 VK_FORMAT_R16G16B16_SINT = 89, 1612 VK_FORMAT_R16G16B16_SFLOAT = 90, 1613 VK_FORMAT_R16G16B16A16_UNORM = 91, 1614 VK_FORMAT_R16G16B16A16_SNORM = 92, 1615 VK_FORMAT_R16G16B16A16_USCALED = 93, 1616 VK_FORMAT_R16G16B16A16_SSCALED = 94, 1617 VK_FORMAT_R16G16B16A16_UINT = 95, 1618 VK_FORMAT_R16G16B16A16_SINT = 96, 1619 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 1620 VK_FORMAT_R32_UINT = 98, 1621 VK_FORMAT_R32_SINT = 99, 1622 VK_FORMAT_R32_SFLOAT = 100, 1623 VK_FORMAT_R32G32_UINT = 101, 1624 VK_FORMAT_R32G32_SINT = 102, 1625 VK_FORMAT_R32G32_SFLOAT = 103, 1626 VK_FORMAT_R32G32B32_UINT = 104, 1627 VK_FORMAT_R32G32B32_SINT = 105, 1628 VK_FORMAT_R32G32B32_SFLOAT = 106, 1629 VK_FORMAT_R32G32B32A32_UINT = 107, 1630 VK_FORMAT_R32G32B32A32_SINT = 108, 1631 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 1632 VK_FORMAT_R64_UINT = 110, 1633 VK_FORMAT_R64_SINT = 111, 1634 VK_FORMAT_R64_SFLOAT = 112, 1635 VK_FORMAT_R64G64_UINT = 113, 1636 VK_FORMAT_R64G64_SINT = 114, 1637 VK_FORMAT_R64G64_SFLOAT = 115, 1638 VK_FORMAT_R64G64B64_UINT = 116, 1639 VK_FORMAT_R64G64B64_SINT = 117, 1640 VK_FORMAT_R64G64B64_SFLOAT = 118, 1641 VK_FORMAT_R64G64B64A64_UINT = 119, 1642 VK_FORMAT_R64G64B64A64_SINT = 120, 1643 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1644 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1645 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1646 VK_FORMAT_D16_UNORM = 124, 1647 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1648 VK_FORMAT_D32_SFLOAT = 126, 1649 VK_FORMAT_S8_UINT = 127, 1650 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1651 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1652 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1653 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1654 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1655 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1656 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1657 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1658 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1659 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1660 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1661 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1662 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1663 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1664 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1665 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1666 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1667 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1668 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1669 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1670 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1671 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1672 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1673 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1674 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1675 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1676 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1677 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1678 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1679 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1680 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1681 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1682 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1683 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1684 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1685 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1686 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1687 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1688 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1689 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1690 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1691 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1692 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1693 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1694 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1695 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1696 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1697 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1698 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1699 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1700 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1701 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1702 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1703 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1704 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1705 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1706 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1707 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1708 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1709 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1710 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1711 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1712 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1713 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1714 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1715 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1716 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1717 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1718 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1719 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1720 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1721 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1722 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1723 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1724 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1725 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1726 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1727 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1728 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1729 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1730 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1731 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1732 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1733 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1734 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1735 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1736 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1737 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1738 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1739 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1740 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1741 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1742 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1743 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1744 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1745 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1746 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1747 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1748 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1749 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1750 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1751 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1752 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1753 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1754 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1755 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1756 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1757 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1758 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1759 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1760 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1761 VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000, 1762 VK_FORMAT_A8_UNORM = 1000470001, 1763 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1764 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1765 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1766 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1767 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1768 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1769 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1770 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1771 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1772 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1773 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1774 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1775 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1776 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1777 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1778 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1779 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1780 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1781 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1782 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1783 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1784 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1785 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1786 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1787 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1788 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1789 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1790 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1791 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1792 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1793 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1794 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1795 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1796 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1797 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1798 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1799 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1800 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1801 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1802 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1803 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1804 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1805 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1806 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1807 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1808 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1809 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1810 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1811 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1812 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1813 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1814 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1815 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1816 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1817 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1818 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1819 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1820 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1821 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1822 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1823 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1824 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1825 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1826 // VK_FORMAT_R16G16_S10_5_NV is a deprecated alias 1827 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV, 1828 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16, 1829 VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM, 1830 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1831 } VkFormat; 1832 1833 typedef enum VkImageTiling { 1834 VK_IMAGE_TILING_OPTIMAL = 0, 1835 VK_IMAGE_TILING_LINEAR = 1, 1836 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1837 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1838 } VkImageTiling; 1839 1840 typedef enum VkImageType { 1841 VK_IMAGE_TYPE_1D = 0, 1842 VK_IMAGE_TYPE_2D = 1, 1843 VK_IMAGE_TYPE_3D = 2, 1844 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1845 } VkImageType; 1846 1847 typedef enum VkPhysicalDeviceType { 1848 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1849 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1850 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1851 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1852 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1853 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1854 } VkPhysicalDeviceType; 1855 1856 typedef enum VkQueryType { 1857 VK_QUERY_TYPE_OCCLUSION = 0, 1858 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1859 VK_QUERY_TYPE_TIMESTAMP = 2, 1860 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1861 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1862 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1863 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1864 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1865 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1866 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1867 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1868 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1869 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1870 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1871 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1872 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1873 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1874 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1875 } VkQueryType; 1876 1877 typedef enum VkSharingMode { 1878 VK_SHARING_MODE_EXCLUSIVE = 0, 1879 VK_SHARING_MODE_CONCURRENT = 1, 1880 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1881 } VkSharingMode; 1882 1883 typedef enum VkComponentSwizzle { 1884 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1885 VK_COMPONENT_SWIZZLE_ZERO = 1, 1886 VK_COMPONENT_SWIZZLE_ONE = 2, 1887 VK_COMPONENT_SWIZZLE_R = 3, 1888 VK_COMPONENT_SWIZZLE_G = 4, 1889 VK_COMPONENT_SWIZZLE_B = 5, 1890 VK_COMPONENT_SWIZZLE_A = 6, 1891 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1892 } VkComponentSwizzle; 1893 1894 typedef enum VkImageViewType { 1895 VK_IMAGE_VIEW_TYPE_1D = 0, 1896 VK_IMAGE_VIEW_TYPE_2D = 1, 1897 VK_IMAGE_VIEW_TYPE_3D = 2, 1898 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1899 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1900 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1901 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1902 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1903 } VkImageViewType; 1904 1905 typedef enum VkBlendFactor { 1906 VK_BLEND_FACTOR_ZERO = 0, 1907 VK_BLEND_FACTOR_ONE = 1, 1908 VK_BLEND_FACTOR_SRC_COLOR = 2, 1909 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1910 VK_BLEND_FACTOR_DST_COLOR = 4, 1911 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1912 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1913 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1914 VK_BLEND_FACTOR_DST_ALPHA = 8, 1915 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1916 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1917 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1918 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1919 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1920 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1921 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1922 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1923 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1924 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1925 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1926 } VkBlendFactor; 1927 1928 typedef enum VkBlendOp { 1929 VK_BLEND_OP_ADD = 0, 1930 VK_BLEND_OP_SUBTRACT = 1, 1931 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1932 VK_BLEND_OP_MIN = 3, 1933 VK_BLEND_OP_MAX = 4, 1934 VK_BLEND_OP_ZERO_EXT = 1000148000, 1935 VK_BLEND_OP_SRC_EXT = 1000148001, 1936 VK_BLEND_OP_DST_EXT = 1000148002, 1937 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1938 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1939 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1940 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1941 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1942 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1943 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1944 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1945 VK_BLEND_OP_XOR_EXT = 1000148011, 1946 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1947 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1948 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1949 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1950 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1951 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1952 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1953 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1954 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1955 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1956 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1957 VK_BLEND_OP_INVERT_EXT = 1000148023, 1958 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1959 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1960 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1961 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1962 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1963 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1964 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1965 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1966 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1967 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1968 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1969 VK_BLEND_OP_PLUS_EXT = 1000148035, 1970 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1971 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1972 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1973 VK_BLEND_OP_MINUS_EXT = 1000148039, 1974 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1975 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1976 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1977 VK_BLEND_OP_RED_EXT = 1000148043, 1978 VK_BLEND_OP_GREEN_EXT = 1000148044, 1979 VK_BLEND_OP_BLUE_EXT = 1000148045, 1980 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1981 } VkBlendOp; 1982 1983 typedef enum VkCompareOp { 1984 VK_COMPARE_OP_NEVER = 0, 1985 VK_COMPARE_OP_LESS = 1, 1986 VK_COMPARE_OP_EQUAL = 2, 1987 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1988 VK_COMPARE_OP_GREATER = 4, 1989 VK_COMPARE_OP_NOT_EQUAL = 5, 1990 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1991 VK_COMPARE_OP_ALWAYS = 7, 1992 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1993 } VkCompareOp; 1994 1995 typedef enum VkDynamicState { 1996 VK_DYNAMIC_STATE_VIEWPORT = 0, 1997 VK_DYNAMIC_STATE_SCISSOR = 1, 1998 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1999 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 2000 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 2001 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 2002 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 2003 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 2004 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 2005 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 2006 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 2007 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 2008 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 2009 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 2010 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 2011 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 2012 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 2013 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 2014 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 2015 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 2016 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 2017 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 2018 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 2019 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 2020 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, 2021 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 2022 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 2023 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 2024 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 2025 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 2026 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 2027 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 2028 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 2029 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 2030 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 2031 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 2032 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 2033 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 2034 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 2035 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 2036 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 2037 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 2038 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 2039 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 2040 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 2041 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 2042 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 2043 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 2044 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 2045 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 2046 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 2047 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 2048 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 2049 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 2050 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 2051 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 2052 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 2053 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 2054 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 2055 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 2056 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 2057 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 2058 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 2059 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 2060 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 2061 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 2062 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 2063 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 2064 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 2065 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 2066 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 2067 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 2068 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE, 2069 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 2070 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 2071 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2072 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2073 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2074 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2075 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2076 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2077 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2078 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2079 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2080 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 2081 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2082 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2083 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2084 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE, 2085 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2086 } VkDynamicState; 2087 2088 typedef enum VkFrontFace { 2089 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2090 VK_FRONT_FACE_CLOCKWISE = 1, 2091 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2092 } VkFrontFace; 2093 2094 typedef enum VkVertexInputRate { 2095 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2096 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2097 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2098 } VkVertexInputRate; 2099 2100 typedef enum VkPrimitiveTopology { 2101 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2102 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2103 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2104 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2105 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2106 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2107 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2108 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2109 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2110 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2111 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2112 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2113 } VkPrimitiveTopology; 2114 2115 typedef enum VkPolygonMode { 2116 VK_POLYGON_MODE_FILL = 0, 2117 VK_POLYGON_MODE_LINE = 1, 2118 VK_POLYGON_MODE_POINT = 2, 2119 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2120 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2121 } VkPolygonMode; 2122 2123 typedef enum VkStencilOp { 2124 VK_STENCIL_OP_KEEP = 0, 2125 VK_STENCIL_OP_ZERO = 1, 2126 VK_STENCIL_OP_REPLACE = 2, 2127 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2128 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2129 VK_STENCIL_OP_INVERT = 5, 2130 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2131 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2132 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2133 } VkStencilOp; 2134 2135 typedef enum VkLogicOp { 2136 VK_LOGIC_OP_CLEAR = 0, 2137 VK_LOGIC_OP_AND = 1, 2138 VK_LOGIC_OP_AND_REVERSE = 2, 2139 VK_LOGIC_OP_COPY = 3, 2140 VK_LOGIC_OP_AND_INVERTED = 4, 2141 VK_LOGIC_OP_NO_OP = 5, 2142 VK_LOGIC_OP_XOR = 6, 2143 VK_LOGIC_OP_OR = 7, 2144 VK_LOGIC_OP_NOR = 8, 2145 VK_LOGIC_OP_EQUIVALENT = 9, 2146 VK_LOGIC_OP_INVERT = 10, 2147 VK_LOGIC_OP_OR_REVERSE = 11, 2148 VK_LOGIC_OP_COPY_INVERTED = 12, 2149 VK_LOGIC_OP_OR_INVERTED = 13, 2150 VK_LOGIC_OP_NAND = 14, 2151 VK_LOGIC_OP_SET = 15, 2152 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 2153 } VkLogicOp; 2154 2155 typedef enum VkBorderColor { 2156 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 2157 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 2158 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 2159 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 2160 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 2161 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 2162 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 2163 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 2164 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 2165 } VkBorderColor; 2166 2167 typedef enum VkFilter { 2168 VK_FILTER_NEAREST = 0, 2169 VK_FILTER_LINEAR = 1, 2170 VK_FILTER_CUBIC_EXT = 1000015000, 2171 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 2172 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 2173 } VkFilter; 2174 2175 typedef enum VkSamplerAddressMode { 2176 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 2177 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 2178 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 2179 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 2180 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 2181 // VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR is a deprecated alias 2182 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 2183 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 2184 } VkSamplerAddressMode; 2185 2186 typedef enum VkSamplerMipmapMode { 2187 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 2188 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 2189 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 2190 } VkSamplerMipmapMode; 2191 2192 typedef enum VkDescriptorType { 2193 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 2194 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 2195 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 2196 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 2197 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 2198 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 2199 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 2200 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 2201 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 2202 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 2203 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 2204 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 2205 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2206 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2207 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 2208 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2209 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 2210 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2211 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 2212 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 2213 } VkDescriptorType; 2214 2215 typedef enum VkAttachmentLoadOp { 2216 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 2217 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 2218 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 2219 VK_ATTACHMENT_LOAD_OP_NONE = 1000400000, 2220 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE, 2221 VK_ATTACHMENT_LOAD_OP_NONE_KHR = VK_ATTACHMENT_LOAD_OP_NONE, 2222 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 2223 } VkAttachmentLoadOp; 2224 2225 typedef enum VkAttachmentStoreOp { 2226 VK_ATTACHMENT_STORE_OP_STORE = 0, 2227 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 2228 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 2229 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 2230 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 2231 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 2232 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 2233 } VkAttachmentStoreOp; 2234 2235 typedef enum VkPipelineBindPoint { 2236 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2237 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2238 #ifdef VK_ENABLE_BETA_EXTENSIONS 2239 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2240 #endif 2241 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2242 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2243 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 2244 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 2245 } VkPipelineBindPoint; 2246 2247 typedef enum VkCommandBufferLevel { 2248 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 2249 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 2250 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 2251 } VkCommandBufferLevel; 2252 2253 typedef enum VkIndexType { 2254 VK_INDEX_TYPE_UINT16 = 0, 2255 VK_INDEX_TYPE_UINT32 = 1, 2256 VK_INDEX_TYPE_UINT8 = 1000265000, 2257 VK_INDEX_TYPE_NONE_KHR = 1000165000, 2258 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 2259 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8, 2260 VK_INDEX_TYPE_UINT8_KHR = VK_INDEX_TYPE_UINT8, 2261 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 2262 } VkIndexType; 2263 2264 typedef enum VkSubpassContents { 2265 VK_SUBPASS_CONTENTS_INLINE = 0, 2266 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2267 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000, 2268 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR, 2269 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2270 } VkSubpassContents; 2271 2272 typedef enum VkAccessFlagBits { 2273 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 2274 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 2275 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 2276 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 2277 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 2278 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 2279 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 2280 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 2281 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 2282 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 2283 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 2284 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 2285 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 2286 VK_ACCESS_HOST_READ_BIT = 0x00002000, 2287 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 2288 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 2289 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 2290 VK_ACCESS_NONE = 0, 2291 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 2292 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 2293 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 2294 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 2295 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 2296 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 2297 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 2298 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 2299 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 2300 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 2301 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 2302 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 2303 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 2304 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 2305 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 2306 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2307 } VkAccessFlagBits; 2308 typedef VkFlags VkAccessFlags; 2309 2310 typedef enum VkImageAspectFlagBits { 2311 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 2312 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 2313 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 2314 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 2315 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 2316 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 2317 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 2318 VK_IMAGE_ASPECT_NONE = 0, 2319 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 2320 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 2321 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 2322 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 2323 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 2324 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 2325 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 2326 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 2327 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2328 } VkImageAspectFlagBits; 2329 typedef VkFlags VkImageAspectFlags; 2330 2331 typedef enum VkFormatFeatureFlagBits { 2332 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 2333 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 2334 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 2335 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 2336 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 2337 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 2338 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 2339 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 2340 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 2341 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 2342 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 2343 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 2344 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 2345 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 2346 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 2347 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 2348 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 2349 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 2350 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 2351 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 2352 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2353 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2354 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2355 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2356 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2357 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2358 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2359 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2360 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2361 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2362 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2363 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2364 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2365 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 2366 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 2367 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 2368 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 2369 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 2370 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 2371 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, 2372 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 2373 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 2374 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2375 } VkFormatFeatureFlagBits; 2376 typedef VkFlags VkFormatFeatureFlags; 2377 2378 typedef enum VkImageCreateFlagBits { 2379 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2380 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2381 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2382 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 2383 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 2384 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 2385 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 2386 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 2387 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 2388 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 2389 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 2390 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 2391 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2392 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2393 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2394 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2395 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2396 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2397 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2398 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2399 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2400 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2401 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 2402 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 2403 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 2404 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 2405 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2406 } VkImageCreateFlagBits; 2407 typedef VkFlags VkImageCreateFlags; 2408 2409 typedef enum VkSampleCountFlagBits { 2410 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 2411 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 2412 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 2413 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 2414 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 2415 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 2416 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 2417 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2418 } VkSampleCountFlagBits; 2419 typedef VkFlags VkSampleCountFlags; 2420 2421 typedef enum VkImageUsageFlagBits { 2422 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2423 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 2424 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 2425 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 2426 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 2427 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2428 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2429 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2430 VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 0x00400000, 2431 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2432 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2433 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2434 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2435 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2436 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2437 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2438 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2439 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2440 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2441 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 2442 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 2443 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2444 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT, 2445 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2446 } VkImageUsageFlagBits; 2447 typedef VkFlags VkImageUsageFlags; 2448 2449 typedef enum VkInstanceCreateFlagBits { 2450 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 2451 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2452 } VkInstanceCreateFlagBits; 2453 typedef VkFlags VkInstanceCreateFlags; 2454 2455 typedef enum VkMemoryHeapFlagBits { 2456 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 2457 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 2458 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 2459 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2460 } VkMemoryHeapFlagBits; 2461 typedef VkFlags VkMemoryHeapFlags; 2462 2463 typedef enum VkMemoryPropertyFlagBits { 2464 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 2465 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 2466 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 2467 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 2468 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 2469 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 2470 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 2471 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 2472 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 2473 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2474 } VkMemoryPropertyFlagBits; 2475 typedef VkFlags VkMemoryPropertyFlags; 2476 2477 typedef enum VkQueueFlagBits { 2478 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 2479 VK_QUEUE_COMPUTE_BIT = 0x00000002, 2480 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2481 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2482 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2483 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2484 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2485 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2486 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2487 } VkQueueFlagBits; 2488 typedef VkFlags VkQueueFlags; 2489 typedef VkFlags VkDeviceCreateFlags; 2490 2491 typedef enum VkDeviceQueueCreateFlagBits { 2492 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 2493 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2494 } VkDeviceQueueCreateFlagBits; 2495 typedef VkFlags VkDeviceQueueCreateFlags; 2496 2497 typedef enum VkPipelineStageFlagBits { 2498 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 2499 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 2500 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 2501 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 2502 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 2503 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 2504 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 2505 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 2506 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 2507 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 2508 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 2509 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 2510 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 2511 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 2512 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 2513 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 2514 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 2515 VK_PIPELINE_STAGE_NONE = 0, 2516 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 2517 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 2518 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 2519 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 2520 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 2521 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 2522 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 2523 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 2524 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 2525 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2526 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 2527 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 2528 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 2529 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 2530 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 2531 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2532 } VkPipelineStageFlagBits; 2533 typedef VkFlags VkPipelineStageFlags; 2534 2535 typedef enum VkMemoryMapFlagBits { 2536 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 2537 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2538 } VkMemoryMapFlagBits; 2539 typedef VkFlags VkMemoryMapFlags; 2540 2541 typedef enum VkSparseMemoryBindFlagBits { 2542 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 2543 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2544 } VkSparseMemoryBindFlagBits; 2545 typedef VkFlags VkSparseMemoryBindFlags; 2546 2547 typedef enum VkSparseImageFormatFlagBits { 2548 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 2549 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 2550 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 2551 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2552 } VkSparseImageFormatFlagBits; 2553 typedef VkFlags VkSparseImageFormatFlags; 2554 2555 typedef enum VkFenceCreateFlagBits { 2556 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 2557 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2558 } VkFenceCreateFlagBits; 2559 typedef VkFlags VkFenceCreateFlags; 2560 typedef VkFlags VkSemaphoreCreateFlags; 2561 2562 typedef enum VkEventCreateFlagBits { 2563 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 2564 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 2565 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2566 } VkEventCreateFlagBits; 2567 typedef VkFlags VkEventCreateFlags; 2568 2569 typedef enum VkQueryPipelineStatisticFlagBits { 2570 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 2571 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 2572 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 2573 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 2574 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 2575 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 2576 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 2577 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 2578 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 2579 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 2580 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2581 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2582 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2583 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2584 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2585 } VkQueryPipelineStatisticFlagBits; 2586 typedef VkFlags VkQueryPipelineStatisticFlags; 2587 typedef VkFlags VkQueryPoolCreateFlags; 2588 2589 typedef enum VkQueryResultFlagBits { 2590 VK_QUERY_RESULT_64_BIT = 0x00000001, 2591 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2592 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2593 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2594 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2595 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2596 } VkQueryResultFlagBits; 2597 typedef VkFlags VkQueryResultFlags; 2598 2599 typedef enum VkBufferCreateFlagBits { 2600 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 2601 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 2602 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2603 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2604 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2605 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2606 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2607 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2608 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2609 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2610 } VkBufferCreateFlagBits; 2611 typedef VkFlags VkBufferCreateFlags; 2612 2613 typedef enum VkBufferUsageFlagBits { 2614 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 2615 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 2616 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 2617 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 2618 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 2619 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 2620 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 2621 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2622 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2623 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2624 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2625 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2626 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2627 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2628 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2629 #ifdef VK_ENABLE_BETA_EXTENSIONS 2630 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2631 #endif 2632 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2633 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2634 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2635 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2636 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2637 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2638 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2639 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2640 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2641 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2642 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2643 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2644 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2645 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2646 } VkBufferUsageFlagBits; 2647 typedef VkFlags VkBufferUsageFlags; 2648 typedef VkFlags VkBufferViewCreateFlags; 2649 2650 typedef enum VkImageViewCreateFlagBits { 2651 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2652 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2653 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2654 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2655 } VkImageViewCreateFlagBits; 2656 typedef VkFlags VkImageViewCreateFlags; 2657 typedef VkFlags VkShaderModuleCreateFlags; 2658 2659 typedef enum VkPipelineCacheCreateFlagBits { 2660 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 2661 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 2662 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2663 } VkPipelineCacheCreateFlagBits; 2664 typedef VkFlags VkPipelineCacheCreateFlags; 2665 2666 typedef enum VkColorComponentFlagBits { 2667 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 2668 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 2669 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 2670 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 2671 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2672 } VkColorComponentFlagBits; 2673 typedef VkFlags VkColorComponentFlags; 2674 2675 typedef enum VkPipelineCreateFlagBits { 2676 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 2677 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 2678 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 2679 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 2680 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 2681 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 2682 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 2683 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 0x08000000, 2684 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 0x40000000, 2685 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 2686 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 2687 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 2688 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 2689 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 2690 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 2691 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 2692 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 2693 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 2694 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 2695 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 2696 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2697 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2698 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2699 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2700 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2701 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2702 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2703 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2704 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2705 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2706 #ifdef VK_ENABLE_BETA_EXTENSIONS 2707 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2708 #endif 2709 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2710 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias 2711 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2712 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias 2713 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 2714 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 2715 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 2716 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 2717 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 2718 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT, 2719 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT, 2720 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2721 } VkPipelineCreateFlagBits; 2722 typedef VkFlags VkPipelineCreateFlags; 2723 2724 typedef enum VkPipelineShaderStageCreateFlagBits { 2725 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 2726 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 2727 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 2728 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 2729 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2730 } VkPipelineShaderStageCreateFlagBits; 2731 typedef VkFlags VkPipelineShaderStageCreateFlags; 2732 2733 typedef enum VkShaderStageFlagBits { 2734 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 2735 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 2736 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 2737 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 2738 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 2739 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 2740 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 2741 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 2742 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 2743 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 2744 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 2745 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 2746 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 2747 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 2748 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2749 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2750 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2751 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2752 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2753 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2754 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 2755 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 2756 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 2757 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 2758 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 2759 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 2760 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2761 } VkShaderStageFlagBits; 2762 2763 typedef enum VkCullModeFlagBits { 2764 VK_CULL_MODE_NONE = 0, 2765 VK_CULL_MODE_FRONT_BIT = 0x00000001, 2766 VK_CULL_MODE_BACK_BIT = 0x00000002, 2767 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 2768 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2769 } VkCullModeFlagBits; 2770 typedef VkFlags VkCullModeFlags; 2771 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 2772 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 2773 typedef VkFlags VkPipelineTessellationStateCreateFlags; 2774 typedef VkFlags VkPipelineViewportStateCreateFlags; 2775 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 2776 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 2777 2778 typedef enum VkPipelineDepthStencilStateCreateFlagBits { 2779 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 2780 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 2781 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, 2782 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, 2783 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2784 } VkPipelineDepthStencilStateCreateFlagBits; 2785 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 2786 2787 typedef enum VkPipelineColorBlendStateCreateFlagBits { 2788 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 2789 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 2790 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2791 } VkPipelineColorBlendStateCreateFlagBits; 2792 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 2793 typedef VkFlags VkPipelineDynamicStateCreateFlags; 2794 2795 typedef enum VkPipelineLayoutCreateFlagBits { 2796 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 2797 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2798 } VkPipelineLayoutCreateFlagBits; 2799 typedef VkFlags VkPipelineLayoutCreateFlags; 2800 typedef VkFlags VkShaderStageFlags; 2801 2802 typedef enum VkSamplerCreateFlagBits { 2803 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2804 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2805 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2806 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2807 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2808 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2809 } VkSamplerCreateFlagBits; 2810 typedef VkFlags VkSamplerCreateFlags; 2811 2812 typedef enum VkDescriptorPoolCreateFlagBits { 2813 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2814 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2815 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2816 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2817 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2818 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2819 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2820 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2821 } VkDescriptorPoolCreateFlagBits; 2822 typedef VkFlags VkDescriptorPoolCreateFlags; 2823 typedef VkFlags VkDescriptorPoolResetFlags; 2824 2825 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2826 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2827 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 0x00000001, 2828 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2829 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2830 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2831 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2832 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2833 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT, 2834 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2835 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2836 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2837 } VkDescriptorSetLayoutCreateFlagBits; 2838 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 2839 2840 typedef enum VkAttachmentDescriptionFlagBits { 2841 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 2842 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2843 } VkAttachmentDescriptionFlagBits; 2844 typedef VkFlags VkAttachmentDescriptionFlags; 2845 2846 typedef enum VkDependencyFlagBits { 2847 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 2848 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 2849 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 2850 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 2851 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 2852 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 2853 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2854 } VkDependencyFlagBits; 2855 typedef VkFlags VkDependencyFlags; 2856 2857 typedef enum VkFramebufferCreateFlagBits { 2858 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 2859 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 2860 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2861 } VkFramebufferCreateFlagBits; 2862 typedef VkFlags VkFramebufferCreateFlags; 2863 2864 typedef enum VkRenderPassCreateFlagBits { 2865 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 2866 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2867 } VkRenderPassCreateFlagBits; 2868 typedef VkFlags VkRenderPassCreateFlags; 2869 2870 typedef enum VkSubpassDescriptionFlagBits { 2871 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 2872 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 2873 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 2874 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 2875 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 2876 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 2877 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 2878 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 2879 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 2880 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 2881 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 2882 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2883 } VkSubpassDescriptionFlagBits; 2884 typedef VkFlags VkSubpassDescriptionFlags; 2885 2886 typedef enum VkCommandPoolCreateFlagBits { 2887 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 2888 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 2889 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 2890 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2891 } VkCommandPoolCreateFlagBits; 2892 typedef VkFlags VkCommandPoolCreateFlags; 2893 2894 typedef enum VkCommandPoolResetFlagBits { 2895 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2896 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2897 } VkCommandPoolResetFlagBits; 2898 typedef VkFlags VkCommandPoolResetFlags; 2899 2900 typedef enum VkCommandBufferUsageFlagBits { 2901 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 2902 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 2903 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 2904 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2905 } VkCommandBufferUsageFlagBits; 2906 typedef VkFlags VkCommandBufferUsageFlags; 2907 2908 typedef enum VkQueryControlFlagBits { 2909 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 2910 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2911 } VkQueryControlFlagBits; 2912 typedef VkFlags VkQueryControlFlags; 2913 2914 typedef enum VkCommandBufferResetFlagBits { 2915 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 2916 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2917 } VkCommandBufferResetFlagBits; 2918 typedef VkFlags VkCommandBufferResetFlags; 2919 2920 typedef enum VkStencilFaceFlagBits { 2921 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 2922 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 2923 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 2924 // VK_STENCIL_FRONT_AND_BACK is a deprecated alias 2925 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 2926 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2927 } VkStencilFaceFlagBits; 2928 typedef VkFlags VkStencilFaceFlags; 2929 typedef struct VkExtent2D { 2930 uint32_t width; 2931 uint32_t height; 2932 } VkExtent2D; 2933 2934 typedef struct VkExtent3D { 2935 uint32_t width; 2936 uint32_t height; 2937 uint32_t depth; 2938 } VkExtent3D; 2939 2940 typedef struct VkOffset2D { 2941 int32_t x; 2942 int32_t y; 2943 } VkOffset2D; 2944 2945 typedef struct VkOffset3D { 2946 int32_t x; 2947 int32_t y; 2948 int32_t z; 2949 } VkOffset3D; 2950 2951 typedef struct VkRect2D { 2952 VkOffset2D offset; 2953 VkExtent2D extent; 2954 } VkRect2D; 2955 2956 typedef struct VkBaseInStructure { 2957 VkStructureType sType; 2958 const struct VkBaseInStructure* pNext; 2959 } VkBaseInStructure; 2960 2961 typedef struct VkBaseOutStructure { 2962 VkStructureType sType; 2963 struct VkBaseOutStructure* pNext; 2964 } VkBaseOutStructure; 2965 2966 typedef struct VkBufferMemoryBarrier { 2967 VkStructureType sType; 2968 const void* pNext; 2969 VkAccessFlags srcAccessMask; 2970 VkAccessFlags dstAccessMask; 2971 uint32_t srcQueueFamilyIndex; 2972 uint32_t dstQueueFamilyIndex; 2973 VkBuffer buffer; 2974 VkDeviceSize offset; 2975 VkDeviceSize size; 2976 } VkBufferMemoryBarrier; 2977 2978 typedef struct VkDispatchIndirectCommand { 2979 uint32_t x; 2980 uint32_t y; 2981 uint32_t z; 2982 } VkDispatchIndirectCommand; 2983 2984 typedef struct VkDrawIndexedIndirectCommand { 2985 uint32_t indexCount; 2986 uint32_t instanceCount; 2987 uint32_t firstIndex; 2988 int32_t vertexOffset; 2989 uint32_t firstInstance; 2990 } VkDrawIndexedIndirectCommand; 2991 2992 typedef struct VkDrawIndirectCommand { 2993 uint32_t vertexCount; 2994 uint32_t instanceCount; 2995 uint32_t firstVertex; 2996 uint32_t firstInstance; 2997 } VkDrawIndirectCommand; 2998 2999 typedef struct VkImageSubresourceRange { 3000 VkImageAspectFlags aspectMask; 3001 uint32_t baseMipLevel; 3002 uint32_t levelCount; 3003 uint32_t baseArrayLayer; 3004 uint32_t layerCount; 3005 } VkImageSubresourceRange; 3006 3007 typedef struct VkImageMemoryBarrier { 3008 VkStructureType sType; 3009 const void* pNext; 3010 VkAccessFlags srcAccessMask; 3011 VkAccessFlags dstAccessMask; 3012 VkImageLayout oldLayout; 3013 VkImageLayout newLayout; 3014 uint32_t srcQueueFamilyIndex; 3015 uint32_t dstQueueFamilyIndex; 3016 VkImage image; 3017 VkImageSubresourceRange subresourceRange; 3018 } VkImageMemoryBarrier; 3019 3020 typedef struct VkMemoryBarrier { 3021 VkStructureType sType; 3022 const void* pNext; 3023 VkAccessFlags srcAccessMask; 3024 VkAccessFlags dstAccessMask; 3025 } VkMemoryBarrier; 3026 3027 typedef struct VkPipelineCacheHeaderVersionOne { 3028 uint32_t headerSize; 3029 VkPipelineCacheHeaderVersion headerVersion; 3030 uint32_t vendorID; 3031 uint32_t deviceID; 3032 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3033 } VkPipelineCacheHeaderVersionOne; 3034 3035 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 3036 void* pUserData, 3037 size_t size, 3038 size_t alignment, 3039 VkSystemAllocationScope allocationScope); 3040 3041 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 3042 void* pUserData, 3043 void* pMemory); 3044 3045 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 3046 void* pUserData, 3047 size_t size, 3048 VkInternalAllocationType allocationType, 3049 VkSystemAllocationScope allocationScope); 3050 3051 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 3052 void* pUserData, 3053 size_t size, 3054 VkInternalAllocationType allocationType, 3055 VkSystemAllocationScope allocationScope); 3056 3057 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 3058 void* pUserData, 3059 void* pOriginal, 3060 size_t size, 3061 size_t alignment, 3062 VkSystemAllocationScope allocationScope); 3063 3064 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 3065 typedef struct VkAllocationCallbacks { 3066 void* pUserData; 3067 PFN_vkAllocationFunction pfnAllocation; 3068 PFN_vkReallocationFunction pfnReallocation; 3069 PFN_vkFreeFunction pfnFree; 3070 PFN_vkInternalAllocationNotification pfnInternalAllocation; 3071 PFN_vkInternalFreeNotification pfnInternalFree; 3072 } VkAllocationCallbacks; 3073 3074 typedef struct VkApplicationInfo { 3075 VkStructureType sType; 3076 const void* pNext; 3077 const char* pApplicationName; 3078 uint32_t applicationVersion; 3079 const char* pEngineName; 3080 uint32_t engineVersion; 3081 uint32_t apiVersion; 3082 } VkApplicationInfo; 3083 3084 typedef struct VkFormatProperties { 3085 VkFormatFeatureFlags linearTilingFeatures; 3086 VkFormatFeatureFlags optimalTilingFeatures; 3087 VkFormatFeatureFlags bufferFeatures; 3088 } VkFormatProperties; 3089 3090 typedef struct VkImageFormatProperties { 3091 VkExtent3D maxExtent; 3092 uint32_t maxMipLevels; 3093 uint32_t maxArrayLayers; 3094 VkSampleCountFlags sampleCounts; 3095 VkDeviceSize maxResourceSize; 3096 } VkImageFormatProperties; 3097 3098 typedef struct VkInstanceCreateInfo { 3099 VkStructureType sType; 3100 const void* pNext; 3101 VkInstanceCreateFlags flags; 3102 const VkApplicationInfo* pApplicationInfo; 3103 uint32_t enabledLayerCount; 3104 const char* const* ppEnabledLayerNames; 3105 uint32_t enabledExtensionCount; 3106 const char* const* ppEnabledExtensionNames; 3107 } VkInstanceCreateInfo; 3108 3109 typedef struct VkMemoryHeap { 3110 VkDeviceSize size; 3111 VkMemoryHeapFlags flags; 3112 } VkMemoryHeap; 3113 3114 typedef struct VkMemoryType { 3115 VkMemoryPropertyFlags propertyFlags; 3116 uint32_t heapIndex; 3117 } VkMemoryType; 3118 3119 typedef struct VkPhysicalDeviceFeatures { 3120 VkBool32 robustBufferAccess; 3121 VkBool32 fullDrawIndexUint32; 3122 VkBool32 imageCubeArray; 3123 VkBool32 independentBlend; 3124 VkBool32 geometryShader; 3125 VkBool32 tessellationShader; 3126 VkBool32 sampleRateShading; 3127 VkBool32 dualSrcBlend; 3128 VkBool32 logicOp; 3129 VkBool32 multiDrawIndirect; 3130 VkBool32 drawIndirectFirstInstance; 3131 VkBool32 depthClamp; 3132 VkBool32 depthBiasClamp; 3133 VkBool32 fillModeNonSolid; 3134 VkBool32 depthBounds; 3135 VkBool32 wideLines; 3136 VkBool32 largePoints; 3137 VkBool32 alphaToOne; 3138 VkBool32 multiViewport; 3139 VkBool32 samplerAnisotropy; 3140 VkBool32 textureCompressionETC2; 3141 VkBool32 textureCompressionASTC_LDR; 3142 VkBool32 textureCompressionBC; 3143 VkBool32 occlusionQueryPrecise; 3144 VkBool32 pipelineStatisticsQuery; 3145 VkBool32 vertexPipelineStoresAndAtomics; 3146 VkBool32 fragmentStoresAndAtomics; 3147 VkBool32 shaderTessellationAndGeometryPointSize; 3148 VkBool32 shaderImageGatherExtended; 3149 VkBool32 shaderStorageImageExtendedFormats; 3150 VkBool32 shaderStorageImageMultisample; 3151 VkBool32 shaderStorageImageReadWithoutFormat; 3152 VkBool32 shaderStorageImageWriteWithoutFormat; 3153 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3154 VkBool32 shaderSampledImageArrayDynamicIndexing; 3155 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3156 VkBool32 shaderStorageImageArrayDynamicIndexing; 3157 VkBool32 shaderClipDistance; 3158 VkBool32 shaderCullDistance; 3159 VkBool32 shaderFloat64; 3160 VkBool32 shaderInt64; 3161 VkBool32 shaderInt16; 3162 VkBool32 shaderResourceResidency; 3163 VkBool32 shaderResourceMinLod; 3164 VkBool32 sparseBinding; 3165 VkBool32 sparseResidencyBuffer; 3166 VkBool32 sparseResidencyImage2D; 3167 VkBool32 sparseResidencyImage3D; 3168 VkBool32 sparseResidency2Samples; 3169 VkBool32 sparseResidency4Samples; 3170 VkBool32 sparseResidency8Samples; 3171 VkBool32 sparseResidency16Samples; 3172 VkBool32 sparseResidencyAliased; 3173 VkBool32 variableMultisampleRate; 3174 VkBool32 inheritedQueries; 3175 } VkPhysicalDeviceFeatures; 3176 3177 typedef struct VkPhysicalDeviceLimits { 3178 uint32_t maxImageDimension1D; 3179 uint32_t maxImageDimension2D; 3180 uint32_t maxImageDimension3D; 3181 uint32_t maxImageDimensionCube; 3182 uint32_t maxImageArrayLayers; 3183 uint32_t maxTexelBufferElements; 3184 uint32_t maxUniformBufferRange; 3185 uint32_t maxStorageBufferRange; 3186 uint32_t maxPushConstantsSize; 3187 uint32_t maxMemoryAllocationCount; 3188 uint32_t maxSamplerAllocationCount; 3189 VkDeviceSize bufferImageGranularity; 3190 VkDeviceSize sparseAddressSpaceSize; 3191 uint32_t maxBoundDescriptorSets; 3192 uint32_t maxPerStageDescriptorSamplers; 3193 uint32_t maxPerStageDescriptorUniformBuffers; 3194 uint32_t maxPerStageDescriptorStorageBuffers; 3195 uint32_t maxPerStageDescriptorSampledImages; 3196 uint32_t maxPerStageDescriptorStorageImages; 3197 uint32_t maxPerStageDescriptorInputAttachments; 3198 uint32_t maxPerStageResources; 3199 uint32_t maxDescriptorSetSamplers; 3200 uint32_t maxDescriptorSetUniformBuffers; 3201 uint32_t maxDescriptorSetUniformBuffersDynamic; 3202 uint32_t maxDescriptorSetStorageBuffers; 3203 uint32_t maxDescriptorSetStorageBuffersDynamic; 3204 uint32_t maxDescriptorSetSampledImages; 3205 uint32_t maxDescriptorSetStorageImages; 3206 uint32_t maxDescriptorSetInputAttachments; 3207 uint32_t maxVertexInputAttributes; 3208 uint32_t maxVertexInputBindings; 3209 uint32_t maxVertexInputAttributeOffset; 3210 uint32_t maxVertexInputBindingStride; 3211 uint32_t maxVertexOutputComponents; 3212 uint32_t maxTessellationGenerationLevel; 3213 uint32_t maxTessellationPatchSize; 3214 uint32_t maxTessellationControlPerVertexInputComponents; 3215 uint32_t maxTessellationControlPerVertexOutputComponents; 3216 uint32_t maxTessellationControlPerPatchOutputComponents; 3217 uint32_t maxTessellationControlTotalOutputComponents; 3218 uint32_t maxTessellationEvaluationInputComponents; 3219 uint32_t maxTessellationEvaluationOutputComponents; 3220 uint32_t maxGeometryShaderInvocations; 3221 uint32_t maxGeometryInputComponents; 3222 uint32_t maxGeometryOutputComponents; 3223 uint32_t maxGeometryOutputVertices; 3224 uint32_t maxGeometryTotalOutputComponents; 3225 uint32_t maxFragmentInputComponents; 3226 uint32_t maxFragmentOutputAttachments; 3227 uint32_t maxFragmentDualSrcAttachments; 3228 uint32_t maxFragmentCombinedOutputResources; 3229 uint32_t maxComputeSharedMemorySize; 3230 uint32_t maxComputeWorkGroupCount[3]; 3231 uint32_t maxComputeWorkGroupInvocations; 3232 uint32_t maxComputeWorkGroupSize[3]; 3233 uint32_t subPixelPrecisionBits; 3234 uint32_t subTexelPrecisionBits; 3235 uint32_t mipmapPrecisionBits; 3236 uint32_t maxDrawIndexedIndexValue; 3237 uint32_t maxDrawIndirectCount; 3238 float maxSamplerLodBias; 3239 float maxSamplerAnisotropy; 3240 uint32_t maxViewports; 3241 uint32_t maxViewportDimensions[2]; 3242 float viewportBoundsRange[2]; 3243 uint32_t viewportSubPixelBits; 3244 size_t minMemoryMapAlignment; 3245 VkDeviceSize minTexelBufferOffsetAlignment; 3246 VkDeviceSize minUniformBufferOffsetAlignment; 3247 VkDeviceSize minStorageBufferOffsetAlignment; 3248 int32_t minTexelOffset; 3249 uint32_t maxTexelOffset; 3250 int32_t minTexelGatherOffset; 3251 uint32_t maxTexelGatherOffset; 3252 float minInterpolationOffset; 3253 float maxInterpolationOffset; 3254 uint32_t subPixelInterpolationOffsetBits; 3255 uint32_t maxFramebufferWidth; 3256 uint32_t maxFramebufferHeight; 3257 uint32_t maxFramebufferLayers; 3258 VkSampleCountFlags framebufferColorSampleCounts; 3259 VkSampleCountFlags framebufferDepthSampleCounts; 3260 VkSampleCountFlags framebufferStencilSampleCounts; 3261 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 3262 uint32_t maxColorAttachments; 3263 VkSampleCountFlags sampledImageColorSampleCounts; 3264 VkSampleCountFlags sampledImageIntegerSampleCounts; 3265 VkSampleCountFlags sampledImageDepthSampleCounts; 3266 VkSampleCountFlags sampledImageStencilSampleCounts; 3267 VkSampleCountFlags storageImageSampleCounts; 3268 uint32_t maxSampleMaskWords; 3269 VkBool32 timestampComputeAndGraphics; 3270 float timestampPeriod; 3271 uint32_t maxClipDistances; 3272 uint32_t maxCullDistances; 3273 uint32_t maxCombinedClipAndCullDistances; 3274 uint32_t discreteQueuePriorities; 3275 float pointSizeRange[2]; 3276 float lineWidthRange[2]; 3277 float pointSizeGranularity; 3278 float lineWidthGranularity; 3279 VkBool32 strictLines; 3280 VkBool32 standardSampleLocations; 3281 VkDeviceSize optimalBufferCopyOffsetAlignment; 3282 VkDeviceSize optimalBufferCopyRowPitchAlignment; 3283 VkDeviceSize nonCoherentAtomSize; 3284 } VkPhysicalDeviceLimits; 3285 3286 typedef struct VkPhysicalDeviceMemoryProperties { 3287 uint32_t memoryTypeCount; 3288 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 3289 uint32_t memoryHeapCount; 3290 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 3291 } VkPhysicalDeviceMemoryProperties; 3292 3293 typedef struct VkPhysicalDeviceSparseProperties { 3294 VkBool32 residencyStandard2DBlockShape; 3295 VkBool32 residencyStandard2DMultisampleBlockShape; 3296 VkBool32 residencyStandard3DBlockShape; 3297 VkBool32 residencyAlignedMipSize; 3298 VkBool32 residencyNonResidentStrict; 3299 } VkPhysicalDeviceSparseProperties; 3300 3301 typedef struct VkPhysicalDeviceProperties { 3302 uint32_t apiVersion; 3303 uint32_t driverVersion; 3304 uint32_t vendorID; 3305 uint32_t deviceID; 3306 VkPhysicalDeviceType deviceType; 3307 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 3308 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 3309 VkPhysicalDeviceLimits limits; 3310 VkPhysicalDeviceSparseProperties sparseProperties; 3311 } VkPhysicalDeviceProperties; 3312 3313 typedef struct VkQueueFamilyProperties { 3314 VkQueueFlags queueFlags; 3315 uint32_t queueCount; 3316 uint32_t timestampValidBits; 3317 VkExtent3D minImageTransferGranularity; 3318 } VkQueueFamilyProperties; 3319 3320 typedef struct VkDeviceQueueCreateInfo { 3321 VkStructureType sType; 3322 const void* pNext; 3323 VkDeviceQueueCreateFlags flags; 3324 uint32_t queueFamilyIndex; 3325 uint32_t queueCount; 3326 const float* pQueuePriorities; 3327 } VkDeviceQueueCreateInfo; 3328 3329 typedef struct VkDeviceCreateInfo { 3330 VkStructureType sType; 3331 const void* pNext; 3332 VkDeviceCreateFlags flags; 3333 uint32_t queueCreateInfoCount; 3334 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 3335 // enabledLayerCount is deprecated and should not be used 3336 uint32_t enabledLayerCount; 3337 // ppEnabledLayerNames is deprecated and should not be used 3338 const char* const* ppEnabledLayerNames; 3339 uint32_t enabledExtensionCount; 3340 const char* const* ppEnabledExtensionNames; 3341 const VkPhysicalDeviceFeatures* pEnabledFeatures; 3342 } VkDeviceCreateInfo; 3343 3344 typedef struct VkExtensionProperties { 3345 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 3346 uint32_t specVersion; 3347 } VkExtensionProperties; 3348 3349 typedef struct VkLayerProperties { 3350 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 3351 uint32_t specVersion; 3352 uint32_t implementationVersion; 3353 char description[VK_MAX_DESCRIPTION_SIZE]; 3354 } VkLayerProperties; 3355 3356 typedef struct VkSubmitInfo { 3357 VkStructureType sType; 3358 const void* pNext; 3359 uint32_t waitSemaphoreCount; 3360 const VkSemaphore* pWaitSemaphores; 3361 const VkPipelineStageFlags* pWaitDstStageMask; 3362 uint32_t commandBufferCount; 3363 const VkCommandBuffer* pCommandBuffers; 3364 uint32_t signalSemaphoreCount; 3365 const VkSemaphore* pSignalSemaphores; 3366 } VkSubmitInfo; 3367 3368 typedef struct VkMappedMemoryRange { 3369 VkStructureType sType; 3370 const void* pNext; 3371 VkDeviceMemory memory; 3372 VkDeviceSize offset; 3373 VkDeviceSize size; 3374 } VkMappedMemoryRange; 3375 3376 typedef struct VkMemoryAllocateInfo { 3377 VkStructureType sType; 3378 const void* pNext; 3379 VkDeviceSize allocationSize; 3380 uint32_t memoryTypeIndex; 3381 } VkMemoryAllocateInfo; 3382 3383 typedef struct VkMemoryRequirements { 3384 VkDeviceSize size; 3385 VkDeviceSize alignment; 3386 uint32_t memoryTypeBits; 3387 } VkMemoryRequirements; 3388 3389 typedef struct VkSparseMemoryBind { 3390 VkDeviceSize resourceOffset; 3391 VkDeviceSize size; 3392 VkDeviceMemory memory; 3393 VkDeviceSize memoryOffset; 3394 VkSparseMemoryBindFlags flags; 3395 } VkSparseMemoryBind; 3396 3397 typedef struct VkSparseBufferMemoryBindInfo { 3398 VkBuffer buffer; 3399 uint32_t bindCount; 3400 const VkSparseMemoryBind* pBinds; 3401 } VkSparseBufferMemoryBindInfo; 3402 3403 typedef struct VkSparseImageOpaqueMemoryBindInfo { 3404 VkImage image; 3405 uint32_t bindCount; 3406 const VkSparseMemoryBind* pBinds; 3407 } VkSparseImageOpaqueMemoryBindInfo; 3408 3409 typedef struct VkImageSubresource { 3410 VkImageAspectFlags aspectMask; 3411 uint32_t mipLevel; 3412 uint32_t arrayLayer; 3413 } VkImageSubresource; 3414 3415 typedef struct VkSparseImageMemoryBind { 3416 VkImageSubresource subresource; 3417 VkOffset3D offset; 3418 VkExtent3D extent; 3419 VkDeviceMemory memory; 3420 VkDeviceSize memoryOffset; 3421 VkSparseMemoryBindFlags flags; 3422 } VkSparseImageMemoryBind; 3423 3424 typedef struct VkSparseImageMemoryBindInfo { 3425 VkImage image; 3426 uint32_t bindCount; 3427 const VkSparseImageMemoryBind* pBinds; 3428 } VkSparseImageMemoryBindInfo; 3429 3430 typedef struct VkBindSparseInfo { 3431 VkStructureType sType; 3432 const void* pNext; 3433 uint32_t waitSemaphoreCount; 3434 const VkSemaphore* pWaitSemaphores; 3435 uint32_t bufferBindCount; 3436 const VkSparseBufferMemoryBindInfo* pBufferBinds; 3437 uint32_t imageOpaqueBindCount; 3438 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 3439 uint32_t imageBindCount; 3440 const VkSparseImageMemoryBindInfo* pImageBinds; 3441 uint32_t signalSemaphoreCount; 3442 const VkSemaphore* pSignalSemaphores; 3443 } VkBindSparseInfo; 3444 3445 typedef struct VkSparseImageFormatProperties { 3446 VkImageAspectFlags aspectMask; 3447 VkExtent3D imageGranularity; 3448 VkSparseImageFormatFlags flags; 3449 } VkSparseImageFormatProperties; 3450 3451 typedef struct VkSparseImageMemoryRequirements { 3452 VkSparseImageFormatProperties formatProperties; 3453 uint32_t imageMipTailFirstLod; 3454 VkDeviceSize imageMipTailSize; 3455 VkDeviceSize imageMipTailOffset; 3456 VkDeviceSize imageMipTailStride; 3457 } VkSparseImageMemoryRequirements; 3458 3459 typedef struct VkFenceCreateInfo { 3460 VkStructureType sType; 3461 const void* pNext; 3462 VkFenceCreateFlags flags; 3463 } VkFenceCreateInfo; 3464 3465 typedef struct VkSemaphoreCreateInfo { 3466 VkStructureType sType; 3467 const void* pNext; 3468 VkSemaphoreCreateFlags flags; 3469 } VkSemaphoreCreateInfo; 3470 3471 typedef struct VkEventCreateInfo { 3472 VkStructureType sType; 3473 const void* pNext; 3474 VkEventCreateFlags flags; 3475 } VkEventCreateInfo; 3476 3477 typedef struct VkQueryPoolCreateInfo { 3478 VkStructureType sType; 3479 const void* pNext; 3480 VkQueryPoolCreateFlags flags; 3481 VkQueryType queryType; 3482 uint32_t queryCount; 3483 VkQueryPipelineStatisticFlags pipelineStatistics; 3484 } VkQueryPoolCreateInfo; 3485 3486 typedef struct VkBufferCreateInfo { 3487 VkStructureType sType; 3488 const void* pNext; 3489 VkBufferCreateFlags flags; 3490 VkDeviceSize size; 3491 VkBufferUsageFlags usage; 3492 VkSharingMode sharingMode; 3493 uint32_t queueFamilyIndexCount; 3494 const uint32_t* pQueueFamilyIndices; 3495 } VkBufferCreateInfo; 3496 3497 typedef struct VkBufferViewCreateInfo { 3498 VkStructureType sType; 3499 const void* pNext; 3500 VkBufferViewCreateFlags flags; 3501 VkBuffer buffer; 3502 VkFormat format; 3503 VkDeviceSize offset; 3504 VkDeviceSize range; 3505 } VkBufferViewCreateInfo; 3506 3507 typedef struct VkImageCreateInfo { 3508 VkStructureType sType; 3509 const void* pNext; 3510 VkImageCreateFlags flags; 3511 VkImageType imageType; 3512 VkFormat format; 3513 VkExtent3D extent; 3514 uint32_t mipLevels; 3515 uint32_t arrayLayers; 3516 VkSampleCountFlagBits samples; 3517 VkImageTiling tiling; 3518 VkImageUsageFlags usage; 3519 VkSharingMode sharingMode; 3520 uint32_t queueFamilyIndexCount; 3521 const uint32_t* pQueueFamilyIndices; 3522 VkImageLayout initialLayout; 3523 } VkImageCreateInfo; 3524 3525 typedef struct VkSubresourceLayout { 3526 VkDeviceSize offset; 3527 VkDeviceSize size; 3528 VkDeviceSize rowPitch; 3529 VkDeviceSize arrayPitch; 3530 VkDeviceSize depthPitch; 3531 } VkSubresourceLayout; 3532 3533 typedef struct VkComponentMapping { 3534 VkComponentSwizzle r; 3535 VkComponentSwizzle g; 3536 VkComponentSwizzle b; 3537 VkComponentSwizzle a; 3538 } VkComponentMapping; 3539 3540 typedef struct VkImageViewCreateInfo { 3541 VkStructureType sType; 3542 const void* pNext; 3543 VkImageViewCreateFlags flags; 3544 VkImage image; 3545 VkImageViewType viewType; 3546 VkFormat format; 3547 VkComponentMapping components; 3548 VkImageSubresourceRange subresourceRange; 3549 } VkImageViewCreateInfo; 3550 3551 typedef struct VkShaderModuleCreateInfo { 3552 VkStructureType sType; 3553 const void* pNext; 3554 VkShaderModuleCreateFlags flags; 3555 size_t codeSize; 3556 const uint32_t* pCode; 3557 } VkShaderModuleCreateInfo; 3558 3559 typedef struct VkPipelineCacheCreateInfo { 3560 VkStructureType sType; 3561 const void* pNext; 3562 VkPipelineCacheCreateFlags flags; 3563 size_t initialDataSize; 3564 const void* pInitialData; 3565 } VkPipelineCacheCreateInfo; 3566 3567 typedef struct VkSpecializationMapEntry { 3568 uint32_t constantID; 3569 uint32_t offset; 3570 size_t size; 3571 } VkSpecializationMapEntry; 3572 3573 typedef struct VkSpecializationInfo { 3574 uint32_t mapEntryCount; 3575 const VkSpecializationMapEntry* pMapEntries; 3576 size_t dataSize; 3577 const void* pData; 3578 } VkSpecializationInfo; 3579 3580 typedef struct VkPipelineShaderStageCreateInfo { 3581 VkStructureType sType; 3582 const void* pNext; 3583 VkPipelineShaderStageCreateFlags flags; 3584 VkShaderStageFlagBits stage; 3585 VkShaderModule module; 3586 const char* pName; 3587 const VkSpecializationInfo* pSpecializationInfo; 3588 } VkPipelineShaderStageCreateInfo; 3589 3590 typedef struct VkComputePipelineCreateInfo { 3591 VkStructureType sType; 3592 const void* pNext; 3593 VkPipelineCreateFlags flags; 3594 VkPipelineShaderStageCreateInfo stage; 3595 VkPipelineLayout layout; 3596 VkPipeline basePipelineHandle; 3597 int32_t basePipelineIndex; 3598 } VkComputePipelineCreateInfo; 3599 3600 typedef struct VkVertexInputBindingDescription { 3601 uint32_t binding; 3602 uint32_t stride; 3603 VkVertexInputRate inputRate; 3604 } VkVertexInputBindingDescription; 3605 3606 typedef struct VkVertexInputAttributeDescription { 3607 uint32_t location; 3608 uint32_t binding; 3609 VkFormat format; 3610 uint32_t offset; 3611 } VkVertexInputAttributeDescription; 3612 3613 typedef struct VkPipelineVertexInputStateCreateInfo { 3614 VkStructureType sType; 3615 const void* pNext; 3616 VkPipelineVertexInputStateCreateFlags flags; 3617 uint32_t vertexBindingDescriptionCount; 3618 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 3619 uint32_t vertexAttributeDescriptionCount; 3620 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 3621 } VkPipelineVertexInputStateCreateInfo; 3622 3623 typedef struct VkPipelineInputAssemblyStateCreateInfo { 3624 VkStructureType sType; 3625 const void* pNext; 3626 VkPipelineInputAssemblyStateCreateFlags flags; 3627 VkPrimitiveTopology topology; 3628 VkBool32 primitiveRestartEnable; 3629 } VkPipelineInputAssemblyStateCreateInfo; 3630 3631 typedef struct VkPipelineTessellationStateCreateInfo { 3632 VkStructureType sType; 3633 const void* pNext; 3634 VkPipelineTessellationStateCreateFlags flags; 3635 uint32_t patchControlPoints; 3636 } VkPipelineTessellationStateCreateInfo; 3637 3638 typedef struct VkViewport { 3639 float x; 3640 float y; 3641 float width; 3642 float height; 3643 float minDepth; 3644 float maxDepth; 3645 } VkViewport; 3646 3647 typedef struct VkPipelineViewportStateCreateInfo { 3648 VkStructureType sType; 3649 const void* pNext; 3650 VkPipelineViewportStateCreateFlags flags; 3651 uint32_t viewportCount; 3652 const VkViewport* pViewports; 3653 uint32_t scissorCount; 3654 const VkRect2D* pScissors; 3655 } VkPipelineViewportStateCreateInfo; 3656 3657 typedef struct VkPipelineRasterizationStateCreateInfo { 3658 VkStructureType sType; 3659 const void* pNext; 3660 VkPipelineRasterizationStateCreateFlags flags; 3661 VkBool32 depthClampEnable; 3662 VkBool32 rasterizerDiscardEnable; 3663 VkPolygonMode polygonMode; 3664 VkCullModeFlags cullMode; 3665 VkFrontFace frontFace; 3666 VkBool32 depthBiasEnable; 3667 float depthBiasConstantFactor; 3668 float depthBiasClamp; 3669 float depthBiasSlopeFactor; 3670 float lineWidth; 3671 } VkPipelineRasterizationStateCreateInfo; 3672 3673 typedef struct VkPipelineMultisampleStateCreateInfo { 3674 VkStructureType sType; 3675 const void* pNext; 3676 VkPipelineMultisampleStateCreateFlags flags; 3677 VkSampleCountFlagBits rasterizationSamples; 3678 VkBool32 sampleShadingEnable; 3679 float minSampleShading; 3680 const VkSampleMask* pSampleMask; 3681 VkBool32 alphaToCoverageEnable; 3682 VkBool32 alphaToOneEnable; 3683 } VkPipelineMultisampleStateCreateInfo; 3684 3685 typedef struct VkStencilOpState { 3686 VkStencilOp failOp; 3687 VkStencilOp passOp; 3688 VkStencilOp depthFailOp; 3689 VkCompareOp compareOp; 3690 uint32_t compareMask; 3691 uint32_t writeMask; 3692 uint32_t reference; 3693 } VkStencilOpState; 3694 3695 typedef struct VkPipelineDepthStencilStateCreateInfo { 3696 VkStructureType sType; 3697 const void* pNext; 3698 VkPipelineDepthStencilStateCreateFlags flags; 3699 VkBool32 depthTestEnable; 3700 VkBool32 depthWriteEnable; 3701 VkCompareOp depthCompareOp; 3702 VkBool32 depthBoundsTestEnable; 3703 VkBool32 stencilTestEnable; 3704 VkStencilOpState front; 3705 VkStencilOpState back; 3706 float minDepthBounds; 3707 float maxDepthBounds; 3708 } VkPipelineDepthStencilStateCreateInfo; 3709 3710 typedef struct VkPipelineColorBlendAttachmentState { 3711 VkBool32 blendEnable; 3712 VkBlendFactor srcColorBlendFactor; 3713 VkBlendFactor dstColorBlendFactor; 3714 VkBlendOp colorBlendOp; 3715 VkBlendFactor srcAlphaBlendFactor; 3716 VkBlendFactor dstAlphaBlendFactor; 3717 VkBlendOp alphaBlendOp; 3718 VkColorComponentFlags colorWriteMask; 3719 } VkPipelineColorBlendAttachmentState; 3720 3721 typedef struct VkPipelineColorBlendStateCreateInfo { 3722 VkStructureType sType; 3723 const void* pNext; 3724 VkPipelineColorBlendStateCreateFlags flags; 3725 VkBool32 logicOpEnable; 3726 VkLogicOp logicOp; 3727 uint32_t attachmentCount; 3728 const VkPipelineColorBlendAttachmentState* pAttachments; 3729 float blendConstants[4]; 3730 } VkPipelineColorBlendStateCreateInfo; 3731 3732 typedef struct VkPipelineDynamicStateCreateInfo { 3733 VkStructureType sType; 3734 const void* pNext; 3735 VkPipelineDynamicStateCreateFlags flags; 3736 uint32_t dynamicStateCount; 3737 const VkDynamicState* pDynamicStates; 3738 } VkPipelineDynamicStateCreateInfo; 3739 3740 typedef struct VkGraphicsPipelineCreateInfo { 3741 VkStructureType sType; 3742 const void* pNext; 3743 VkPipelineCreateFlags flags; 3744 uint32_t stageCount; 3745 const VkPipelineShaderStageCreateInfo* pStages; 3746 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 3747 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 3748 const VkPipelineTessellationStateCreateInfo* pTessellationState; 3749 const VkPipelineViewportStateCreateInfo* pViewportState; 3750 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 3751 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 3752 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 3753 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 3754 const VkPipelineDynamicStateCreateInfo* pDynamicState; 3755 VkPipelineLayout layout; 3756 VkRenderPass renderPass; 3757 uint32_t subpass; 3758 VkPipeline basePipelineHandle; 3759 int32_t basePipelineIndex; 3760 } VkGraphicsPipelineCreateInfo; 3761 3762 typedef struct VkPushConstantRange { 3763 VkShaderStageFlags stageFlags; 3764 uint32_t offset; 3765 uint32_t size; 3766 } VkPushConstantRange; 3767 3768 typedef struct VkPipelineLayoutCreateInfo { 3769 VkStructureType sType; 3770 const void* pNext; 3771 VkPipelineLayoutCreateFlags flags; 3772 uint32_t setLayoutCount; 3773 const VkDescriptorSetLayout* pSetLayouts; 3774 uint32_t pushConstantRangeCount; 3775 const VkPushConstantRange* pPushConstantRanges; 3776 } VkPipelineLayoutCreateInfo; 3777 3778 typedef struct VkSamplerCreateInfo { 3779 VkStructureType sType; 3780 const void* pNext; 3781 VkSamplerCreateFlags flags; 3782 VkFilter magFilter; 3783 VkFilter minFilter; 3784 VkSamplerMipmapMode mipmapMode; 3785 VkSamplerAddressMode addressModeU; 3786 VkSamplerAddressMode addressModeV; 3787 VkSamplerAddressMode addressModeW; 3788 float mipLodBias; 3789 VkBool32 anisotropyEnable; 3790 float maxAnisotropy; 3791 VkBool32 compareEnable; 3792 VkCompareOp compareOp; 3793 float minLod; 3794 float maxLod; 3795 VkBorderColor borderColor; 3796 VkBool32 unnormalizedCoordinates; 3797 } VkSamplerCreateInfo; 3798 3799 typedef struct VkCopyDescriptorSet { 3800 VkStructureType sType; 3801 const void* pNext; 3802 VkDescriptorSet srcSet; 3803 uint32_t srcBinding; 3804 uint32_t srcArrayElement; 3805 VkDescriptorSet dstSet; 3806 uint32_t dstBinding; 3807 uint32_t dstArrayElement; 3808 uint32_t descriptorCount; 3809 } VkCopyDescriptorSet; 3810 3811 typedef struct VkDescriptorBufferInfo { 3812 VkBuffer buffer; 3813 VkDeviceSize offset; 3814 VkDeviceSize range; 3815 } VkDescriptorBufferInfo; 3816 3817 typedef struct VkDescriptorImageInfo { 3818 VkSampler sampler; 3819 VkImageView imageView; 3820 VkImageLayout imageLayout; 3821 } VkDescriptorImageInfo; 3822 3823 typedef struct VkDescriptorPoolSize { 3824 VkDescriptorType type; 3825 uint32_t descriptorCount; 3826 } VkDescriptorPoolSize; 3827 3828 typedef struct VkDescriptorPoolCreateInfo { 3829 VkStructureType sType; 3830 const void* pNext; 3831 VkDescriptorPoolCreateFlags flags; 3832 uint32_t maxSets; 3833 uint32_t poolSizeCount; 3834 const VkDescriptorPoolSize* pPoolSizes; 3835 } VkDescriptorPoolCreateInfo; 3836 3837 typedef struct VkDescriptorSetAllocateInfo { 3838 VkStructureType sType; 3839 const void* pNext; 3840 VkDescriptorPool descriptorPool; 3841 uint32_t descriptorSetCount; 3842 const VkDescriptorSetLayout* pSetLayouts; 3843 } VkDescriptorSetAllocateInfo; 3844 3845 typedef struct VkDescriptorSetLayoutBinding { 3846 uint32_t binding; 3847 VkDescriptorType descriptorType; 3848 uint32_t descriptorCount; 3849 VkShaderStageFlags stageFlags; 3850 const VkSampler* pImmutableSamplers; 3851 } VkDescriptorSetLayoutBinding; 3852 3853 typedef struct VkDescriptorSetLayoutCreateInfo { 3854 VkStructureType sType; 3855 const void* pNext; 3856 VkDescriptorSetLayoutCreateFlags flags; 3857 uint32_t bindingCount; 3858 const VkDescriptorSetLayoutBinding* pBindings; 3859 } VkDescriptorSetLayoutCreateInfo; 3860 3861 typedef struct VkWriteDescriptorSet { 3862 VkStructureType sType; 3863 const void* pNext; 3864 VkDescriptorSet dstSet; 3865 uint32_t dstBinding; 3866 uint32_t dstArrayElement; 3867 uint32_t descriptorCount; 3868 VkDescriptorType descriptorType; 3869 const VkDescriptorImageInfo* pImageInfo; 3870 const VkDescriptorBufferInfo* pBufferInfo; 3871 const VkBufferView* pTexelBufferView; 3872 } VkWriteDescriptorSet; 3873 3874 typedef struct VkAttachmentDescription { 3875 VkAttachmentDescriptionFlags flags; 3876 VkFormat format; 3877 VkSampleCountFlagBits samples; 3878 VkAttachmentLoadOp loadOp; 3879 VkAttachmentStoreOp storeOp; 3880 VkAttachmentLoadOp stencilLoadOp; 3881 VkAttachmentStoreOp stencilStoreOp; 3882 VkImageLayout initialLayout; 3883 VkImageLayout finalLayout; 3884 } VkAttachmentDescription; 3885 3886 typedef struct VkAttachmentReference { 3887 uint32_t attachment; 3888 VkImageLayout layout; 3889 } VkAttachmentReference; 3890 3891 typedef struct VkFramebufferCreateInfo { 3892 VkStructureType sType; 3893 const void* pNext; 3894 VkFramebufferCreateFlags flags; 3895 VkRenderPass renderPass; 3896 uint32_t attachmentCount; 3897 const VkImageView* pAttachments; 3898 uint32_t width; 3899 uint32_t height; 3900 uint32_t layers; 3901 } VkFramebufferCreateInfo; 3902 3903 typedef struct VkSubpassDescription { 3904 VkSubpassDescriptionFlags flags; 3905 VkPipelineBindPoint pipelineBindPoint; 3906 uint32_t inputAttachmentCount; 3907 const VkAttachmentReference* pInputAttachments; 3908 uint32_t colorAttachmentCount; 3909 const VkAttachmentReference* pColorAttachments; 3910 const VkAttachmentReference* pResolveAttachments; 3911 const VkAttachmentReference* pDepthStencilAttachment; 3912 uint32_t preserveAttachmentCount; 3913 const uint32_t* pPreserveAttachments; 3914 } VkSubpassDescription; 3915 3916 typedef struct VkSubpassDependency { 3917 uint32_t srcSubpass; 3918 uint32_t dstSubpass; 3919 VkPipelineStageFlags srcStageMask; 3920 VkPipelineStageFlags dstStageMask; 3921 VkAccessFlags srcAccessMask; 3922 VkAccessFlags dstAccessMask; 3923 VkDependencyFlags dependencyFlags; 3924 } VkSubpassDependency; 3925 3926 typedef struct VkRenderPassCreateInfo { 3927 VkStructureType sType; 3928 const void* pNext; 3929 VkRenderPassCreateFlags flags; 3930 uint32_t attachmentCount; 3931 const VkAttachmentDescription* pAttachments; 3932 uint32_t subpassCount; 3933 const VkSubpassDescription* pSubpasses; 3934 uint32_t dependencyCount; 3935 const VkSubpassDependency* pDependencies; 3936 } VkRenderPassCreateInfo; 3937 3938 typedef struct VkCommandPoolCreateInfo { 3939 VkStructureType sType; 3940 const void* pNext; 3941 VkCommandPoolCreateFlags flags; 3942 uint32_t queueFamilyIndex; 3943 } VkCommandPoolCreateInfo; 3944 3945 typedef struct VkCommandBufferAllocateInfo { 3946 VkStructureType sType; 3947 const void* pNext; 3948 VkCommandPool commandPool; 3949 VkCommandBufferLevel level; 3950 uint32_t commandBufferCount; 3951 } VkCommandBufferAllocateInfo; 3952 3953 typedef struct VkCommandBufferInheritanceInfo { 3954 VkStructureType sType; 3955 const void* pNext; 3956 VkRenderPass renderPass; 3957 uint32_t subpass; 3958 VkFramebuffer framebuffer; 3959 VkBool32 occlusionQueryEnable; 3960 VkQueryControlFlags queryFlags; 3961 VkQueryPipelineStatisticFlags pipelineStatistics; 3962 } VkCommandBufferInheritanceInfo; 3963 3964 typedef struct VkCommandBufferBeginInfo { 3965 VkStructureType sType; 3966 const void* pNext; 3967 VkCommandBufferUsageFlags flags; 3968 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3969 } VkCommandBufferBeginInfo; 3970 3971 typedef struct VkBufferCopy { 3972 VkDeviceSize srcOffset; 3973 VkDeviceSize dstOffset; 3974 VkDeviceSize size; 3975 } VkBufferCopy; 3976 3977 typedef struct VkImageSubresourceLayers { 3978 VkImageAspectFlags aspectMask; 3979 uint32_t mipLevel; 3980 uint32_t baseArrayLayer; 3981 uint32_t layerCount; 3982 } VkImageSubresourceLayers; 3983 3984 typedef struct VkBufferImageCopy { 3985 VkDeviceSize bufferOffset; 3986 uint32_t bufferRowLength; 3987 uint32_t bufferImageHeight; 3988 VkImageSubresourceLayers imageSubresource; 3989 VkOffset3D imageOffset; 3990 VkExtent3D imageExtent; 3991 } VkBufferImageCopy; 3992 3993 typedef union VkClearColorValue { 3994 float float32[4]; 3995 int32_t int32[4]; 3996 uint32_t uint32[4]; 3997 } VkClearColorValue; 3998 3999 typedef struct VkClearDepthStencilValue { 4000 float depth; 4001 uint32_t stencil; 4002 } VkClearDepthStencilValue; 4003 4004 typedef union VkClearValue { 4005 VkClearColorValue color; 4006 VkClearDepthStencilValue depthStencil; 4007 } VkClearValue; 4008 4009 typedef struct VkClearAttachment { 4010 VkImageAspectFlags aspectMask; 4011 uint32_t colorAttachment; 4012 VkClearValue clearValue; 4013 } VkClearAttachment; 4014 4015 typedef struct VkClearRect { 4016 VkRect2D rect; 4017 uint32_t baseArrayLayer; 4018 uint32_t layerCount; 4019 } VkClearRect; 4020 4021 typedef struct VkImageBlit { 4022 VkImageSubresourceLayers srcSubresource; 4023 VkOffset3D srcOffsets[2]; 4024 VkImageSubresourceLayers dstSubresource; 4025 VkOffset3D dstOffsets[2]; 4026 } VkImageBlit; 4027 4028 typedef struct VkImageCopy { 4029 VkImageSubresourceLayers srcSubresource; 4030 VkOffset3D srcOffset; 4031 VkImageSubresourceLayers dstSubresource; 4032 VkOffset3D dstOffset; 4033 VkExtent3D extent; 4034 } VkImageCopy; 4035 4036 typedef struct VkImageResolve { 4037 VkImageSubresourceLayers srcSubresource; 4038 VkOffset3D srcOffset; 4039 VkImageSubresourceLayers dstSubresource; 4040 VkOffset3D dstOffset; 4041 VkExtent3D extent; 4042 } VkImageResolve; 4043 4044 typedef struct VkRenderPassBeginInfo { 4045 VkStructureType sType; 4046 const void* pNext; 4047 VkRenderPass renderPass; 4048 VkFramebuffer framebuffer; 4049 VkRect2D renderArea; 4050 uint32_t clearValueCount; 4051 const VkClearValue* pClearValues; 4052 } VkRenderPassBeginInfo; 4053 4054 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 4055 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 4056 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 4057 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 4058 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 4059 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 4060 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 4061 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 4062 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4063 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 4064 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 4065 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 4066 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 4067 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4068 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 4069 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4070 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 4071 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 4072 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 4073 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 4074 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 4075 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 4076 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 4077 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 4078 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 4079 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4080 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4081 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 4082 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4083 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4084 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 4085 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 4086 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4087 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 4088 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 4089 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 4090 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 4091 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 4092 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 4093 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 4094 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 4095 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 4096 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4097 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4098 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4099 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4100 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4101 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4102 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4103 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); 4104 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4105 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4106 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4107 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4108 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4109 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4110 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4111 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4112 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4113 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4114 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4115 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4116 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4117 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 4118 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 4119 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4120 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4121 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4122 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4123 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4124 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4125 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4126 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4127 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4128 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4129 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4130 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4131 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4132 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4133 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4134 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4135 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4136 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4137 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4138 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4139 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4140 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4141 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4142 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4143 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4144 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4145 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4146 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4147 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4148 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 4149 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 4150 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4151 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4152 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4153 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4154 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 4155 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 4156 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 4157 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); 4158 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4159 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4160 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 4161 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 4162 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4163 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 4164 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4165 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4166 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 4167 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 4168 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 4169 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4170 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 4171 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4172 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 4173 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4174 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 4175 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 4176 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 4177 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4178 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 4179 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); 4180 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); 4181 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 4182 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 4183 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 4184 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 4185 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 4186 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 4187 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 4188 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 4189 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 4190 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4191 4192 #ifndef VK_NO_PROTOTYPES 4193 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 4194 const VkInstanceCreateInfo* pCreateInfo, 4195 const VkAllocationCallbacks* pAllocator, 4196 VkInstance* pInstance); 4197 4198 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 4199 VkInstance instance, 4200 const VkAllocationCallbacks* pAllocator); 4201 4202 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 4203 VkInstance instance, 4204 uint32_t* pPhysicalDeviceCount, 4205 VkPhysicalDevice* pPhysicalDevices); 4206 4207 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 4208 VkPhysicalDevice physicalDevice, 4209 VkPhysicalDeviceFeatures* pFeatures); 4210 4211 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 4212 VkPhysicalDevice physicalDevice, 4213 VkFormat format, 4214 VkFormatProperties* pFormatProperties); 4215 4216 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 4217 VkPhysicalDevice physicalDevice, 4218 VkFormat format, 4219 VkImageType type, 4220 VkImageTiling tiling, 4221 VkImageUsageFlags usage, 4222 VkImageCreateFlags flags, 4223 VkImageFormatProperties* pImageFormatProperties); 4224 4225 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 4226 VkPhysicalDevice physicalDevice, 4227 VkPhysicalDeviceProperties* pProperties); 4228 4229 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 4230 VkPhysicalDevice physicalDevice, 4231 uint32_t* pQueueFamilyPropertyCount, 4232 VkQueueFamilyProperties* pQueueFamilyProperties); 4233 4234 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 4235 VkPhysicalDevice physicalDevice, 4236 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4237 4238 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 4239 VkInstance instance, 4240 const char* pName); 4241 4242 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 4243 VkDevice device, 4244 const char* pName); 4245 4246 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 4247 VkPhysicalDevice physicalDevice, 4248 const VkDeviceCreateInfo* pCreateInfo, 4249 const VkAllocationCallbacks* pAllocator, 4250 VkDevice* pDevice); 4251 4252 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 4253 VkDevice device, 4254 const VkAllocationCallbacks* pAllocator); 4255 4256 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 4257 const char* pLayerName, 4258 uint32_t* pPropertyCount, 4259 VkExtensionProperties* pProperties); 4260 4261 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 4262 VkPhysicalDevice physicalDevice, 4263 const char* pLayerName, 4264 uint32_t* pPropertyCount, 4265 VkExtensionProperties* pProperties); 4266 4267 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 4268 uint32_t* pPropertyCount, 4269 VkLayerProperties* pProperties); 4270 4271 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 4272 VkPhysicalDevice physicalDevice, 4273 uint32_t* pPropertyCount, 4274 VkLayerProperties* pProperties); 4275 4276 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 4277 VkDevice device, 4278 uint32_t queueFamilyIndex, 4279 uint32_t queueIndex, 4280 VkQueue* pQueue); 4281 4282 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 4283 VkQueue queue, 4284 uint32_t submitCount, 4285 const VkSubmitInfo* pSubmits, 4286 VkFence fence); 4287 4288 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 4289 VkQueue queue); 4290 4291 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 4292 VkDevice device); 4293 4294 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 4295 VkDevice device, 4296 const VkMemoryAllocateInfo* pAllocateInfo, 4297 const VkAllocationCallbacks* pAllocator, 4298 VkDeviceMemory* pMemory); 4299 4300 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 4301 VkDevice device, 4302 VkDeviceMemory memory, 4303 const VkAllocationCallbacks* pAllocator); 4304 4305 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 4306 VkDevice device, 4307 VkDeviceMemory memory, 4308 VkDeviceSize offset, 4309 VkDeviceSize size, 4310 VkMemoryMapFlags flags, 4311 void** ppData); 4312 4313 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 4314 VkDevice device, 4315 VkDeviceMemory memory); 4316 4317 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 4318 VkDevice device, 4319 uint32_t memoryRangeCount, 4320 const VkMappedMemoryRange* pMemoryRanges); 4321 4322 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 4323 VkDevice device, 4324 uint32_t memoryRangeCount, 4325 const VkMappedMemoryRange* pMemoryRanges); 4326 4327 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 4328 VkDevice device, 4329 VkDeviceMemory memory, 4330 VkDeviceSize* pCommittedMemoryInBytes); 4331 4332 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 4333 VkDevice device, 4334 VkBuffer buffer, 4335 VkDeviceMemory memory, 4336 VkDeviceSize memoryOffset); 4337 4338 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 4339 VkDevice device, 4340 VkImage image, 4341 VkDeviceMemory memory, 4342 VkDeviceSize memoryOffset); 4343 4344 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 4345 VkDevice device, 4346 VkBuffer buffer, 4347 VkMemoryRequirements* pMemoryRequirements); 4348 4349 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 4350 VkDevice device, 4351 VkImage image, 4352 VkMemoryRequirements* pMemoryRequirements); 4353 4354 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 4355 VkDevice device, 4356 VkImage image, 4357 uint32_t* pSparseMemoryRequirementCount, 4358 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4359 4360 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 4361 VkPhysicalDevice physicalDevice, 4362 VkFormat format, 4363 VkImageType type, 4364 VkSampleCountFlagBits samples, 4365 VkImageUsageFlags usage, 4366 VkImageTiling tiling, 4367 uint32_t* pPropertyCount, 4368 VkSparseImageFormatProperties* pProperties); 4369 4370 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 4371 VkQueue queue, 4372 uint32_t bindInfoCount, 4373 const VkBindSparseInfo* pBindInfo, 4374 VkFence fence); 4375 4376 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 4377 VkDevice device, 4378 const VkFenceCreateInfo* pCreateInfo, 4379 const VkAllocationCallbacks* pAllocator, 4380 VkFence* pFence); 4381 4382 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 4383 VkDevice device, 4384 VkFence fence, 4385 const VkAllocationCallbacks* pAllocator); 4386 4387 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 4388 VkDevice device, 4389 uint32_t fenceCount, 4390 const VkFence* pFences); 4391 4392 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 4393 VkDevice device, 4394 VkFence fence); 4395 4396 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 4397 VkDevice device, 4398 uint32_t fenceCount, 4399 const VkFence* pFences, 4400 VkBool32 waitAll, 4401 uint64_t timeout); 4402 4403 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 4404 VkDevice device, 4405 const VkSemaphoreCreateInfo* pCreateInfo, 4406 const VkAllocationCallbacks* pAllocator, 4407 VkSemaphore* pSemaphore); 4408 4409 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 4410 VkDevice device, 4411 VkSemaphore semaphore, 4412 const VkAllocationCallbacks* pAllocator); 4413 4414 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 4415 VkDevice device, 4416 const VkEventCreateInfo* pCreateInfo, 4417 const VkAllocationCallbacks* pAllocator, 4418 VkEvent* pEvent); 4419 4420 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 4421 VkDevice device, 4422 VkEvent event, 4423 const VkAllocationCallbacks* pAllocator); 4424 4425 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 4426 VkDevice device, 4427 VkEvent event); 4428 4429 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 4430 VkDevice device, 4431 VkEvent event); 4432 4433 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 4434 VkDevice device, 4435 VkEvent event); 4436 4437 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 4438 VkDevice device, 4439 const VkQueryPoolCreateInfo* pCreateInfo, 4440 const VkAllocationCallbacks* pAllocator, 4441 VkQueryPool* pQueryPool); 4442 4443 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 4444 VkDevice device, 4445 VkQueryPool queryPool, 4446 const VkAllocationCallbacks* pAllocator); 4447 4448 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 4449 VkDevice device, 4450 VkQueryPool queryPool, 4451 uint32_t firstQuery, 4452 uint32_t queryCount, 4453 size_t dataSize, 4454 void* pData, 4455 VkDeviceSize stride, 4456 VkQueryResultFlags flags); 4457 4458 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 4459 VkDevice device, 4460 const VkBufferCreateInfo* pCreateInfo, 4461 const VkAllocationCallbacks* pAllocator, 4462 VkBuffer* pBuffer); 4463 4464 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 4465 VkDevice device, 4466 VkBuffer buffer, 4467 const VkAllocationCallbacks* pAllocator); 4468 4469 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 4470 VkDevice device, 4471 const VkBufferViewCreateInfo* pCreateInfo, 4472 const VkAllocationCallbacks* pAllocator, 4473 VkBufferView* pView); 4474 4475 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 4476 VkDevice device, 4477 VkBufferView bufferView, 4478 const VkAllocationCallbacks* pAllocator); 4479 4480 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 4481 VkDevice device, 4482 const VkImageCreateInfo* pCreateInfo, 4483 const VkAllocationCallbacks* pAllocator, 4484 VkImage* pImage); 4485 4486 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 4487 VkDevice device, 4488 VkImage image, 4489 const VkAllocationCallbacks* pAllocator); 4490 4491 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 4492 VkDevice device, 4493 VkImage image, 4494 const VkImageSubresource* pSubresource, 4495 VkSubresourceLayout* pLayout); 4496 4497 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 4498 VkDevice device, 4499 const VkImageViewCreateInfo* pCreateInfo, 4500 const VkAllocationCallbacks* pAllocator, 4501 VkImageView* pView); 4502 4503 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 4504 VkDevice device, 4505 VkImageView imageView, 4506 const VkAllocationCallbacks* pAllocator); 4507 4508 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 4509 VkDevice device, 4510 const VkShaderModuleCreateInfo* pCreateInfo, 4511 const VkAllocationCallbacks* pAllocator, 4512 VkShaderModule* pShaderModule); 4513 4514 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 4515 VkDevice device, 4516 VkShaderModule shaderModule, 4517 const VkAllocationCallbacks* pAllocator); 4518 4519 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 4520 VkDevice device, 4521 const VkPipelineCacheCreateInfo* pCreateInfo, 4522 const VkAllocationCallbacks* pAllocator, 4523 VkPipelineCache* pPipelineCache); 4524 4525 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 4526 VkDevice device, 4527 VkPipelineCache pipelineCache, 4528 const VkAllocationCallbacks* pAllocator); 4529 4530 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 4531 VkDevice device, 4532 VkPipelineCache pipelineCache, 4533 size_t* pDataSize, 4534 void* pData); 4535 4536 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 4537 VkDevice device, 4538 VkPipelineCache dstCache, 4539 uint32_t srcCacheCount, 4540 const VkPipelineCache* pSrcCaches); 4541 4542 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 4543 VkDevice device, 4544 VkPipelineCache pipelineCache, 4545 uint32_t createInfoCount, 4546 const VkGraphicsPipelineCreateInfo* pCreateInfos, 4547 const VkAllocationCallbacks* pAllocator, 4548 VkPipeline* pPipelines); 4549 4550 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 4551 VkDevice device, 4552 VkPipelineCache pipelineCache, 4553 uint32_t createInfoCount, 4554 const VkComputePipelineCreateInfo* pCreateInfos, 4555 const VkAllocationCallbacks* pAllocator, 4556 VkPipeline* pPipelines); 4557 4558 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 4559 VkDevice device, 4560 VkPipeline pipeline, 4561 const VkAllocationCallbacks* pAllocator); 4562 4563 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 4564 VkDevice device, 4565 const VkPipelineLayoutCreateInfo* pCreateInfo, 4566 const VkAllocationCallbacks* pAllocator, 4567 VkPipelineLayout* pPipelineLayout); 4568 4569 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 4570 VkDevice device, 4571 VkPipelineLayout pipelineLayout, 4572 const VkAllocationCallbacks* pAllocator); 4573 4574 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 4575 VkDevice device, 4576 const VkSamplerCreateInfo* pCreateInfo, 4577 const VkAllocationCallbacks* pAllocator, 4578 VkSampler* pSampler); 4579 4580 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 4581 VkDevice device, 4582 VkSampler sampler, 4583 const VkAllocationCallbacks* pAllocator); 4584 4585 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 4586 VkDevice device, 4587 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4588 const VkAllocationCallbacks* pAllocator, 4589 VkDescriptorSetLayout* pSetLayout); 4590 4591 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 4592 VkDevice device, 4593 VkDescriptorSetLayout descriptorSetLayout, 4594 const VkAllocationCallbacks* pAllocator); 4595 4596 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 4597 VkDevice device, 4598 const VkDescriptorPoolCreateInfo* pCreateInfo, 4599 const VkAllocationCallbacks* pAllocator, 4600 VkDescriptorPool* pDescriptorPool); 4601 4602 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 4603 VkDevice device, 4604 VkDescriptorPool descriptorPool, 4605 const VkAllocationCallbacks* pAllocator); 4606 4607 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 4608 VkDevice device, 4609 VkDescriptorPool descriptorPool, 4610 VkDescriptorPoolResetFlags flags); 4611 4612 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 4613 VkDevice device, 4614 const VkDescriptorSetAllocateInfo* pAllocateInfo, 4615 VkDescriptorSet* pDescriptorSets); 4616 4617 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 4618 VkDevice device, 4619 VkDescriptorPool descriptorPool, 4620 uint32_t descriptorSetCount, 4621 const VkDescriptorSet* pDescriptorSets); 4622 4623 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 4624 VkDevice device, 4625 uint32_t descriptorWriteCount, 4626 const VkWriteDescriptorSet* pDescriptorWrites, 4627 uint32_t descriptorCopyCount, 4628 const VkCopyDescriptorSet* pDescriptorCopies); 4629 4630 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 4631 VkDevice device, 4632 const VkFramebufferCreateInfo* pCreateInfo, 4633 const VkAllocationCallbacks* pAllocator, 4634 VkFramebuffer* pFramebuffer); 4635 4636 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 4637 VkDevice device, 4638 VkFramebuffer framebuffer, 4639 const VkAllocationCallbacks* pAllocator); 4640 4641 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 4642 VkDevice device, 4643 const VkRenderPassCreateInfo* pCreateInfo, 4644 const VkAllocationCallbacks* pAllocator, 4645 VkRenderPass* pRenderPass); 4646 4647 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 4648 VkDevice device, 4649 VkRenderPass renderPass, 4650 const VkAllocationCallbacks* pAllocator); 4651 4652 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 4653 VkDevice device, 4654 VkRenderPass renderPass, 4655 VkExtent2D* pGranularity); 4656 4657 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 4658 VkDevice device, 4659 const VkCommandPoolCreateInfo* pCreateInfo, 4660 const VkAllocationCallbacks* pAllocator, 4661 VkCommandPool* pCommandPool); 4662 4663 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 4664 VkDevice device, 4665 VkCommandPool commandPool, 4666 const VkAllocationCallbacks* pAllocator); 4667 4668 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 4669 VkDevice device, 4670 VkCommandPool commandPool, 4671 VkCommandPoolResetFlags flags); 4672 4673 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 4674 VkDevice device, 4675 const VkCommandBufferAllocateInfo* pAllocateInfo, 4676 VkCommandBuffer* pCommandBuffers); 4677 4678 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 4679 VkDevice device, 4680 VkCommandPool commandPool, 4681 uint32_t commandBufferCount, 4682 const VkCommandBuffer* pCommandBuffers); 4683 4684 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 4685 VkCommandBuffer commandBuffer, 4686 const VkCommandBufferBeginInfo* pBeginInfo); 4687 4688 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 4689 VkCommandBuffer commandBuffer); 4690 4691 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 4692 VkCommandBuffer commandBuffer, 4693 VkCommandBufferResetFlags flags); 4694 4695 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 4696 VkCommandBuffer commandBuffer, 4697 VkPipelineBindPoint pipelineBindPoint, 4698 VkPipeline pipeline); 4699 4700 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 4701 VkCommandBuffer commandBuffer, 4702 uint32_t firstViewport, 4703 uint32_t viewportCount, 4704 const VkViewport* pViewports); 4705 4706 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 4707 VkCommandBuffer commandBuffer, 4708 uint32_t firstScissor, 4709 uint32_t scissorCount, 4710 const VkRect2D* pScissors); 4711 4712 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 4713 VkCommandBuffer commandBuffer, 4714 float lineWidth); 4715 4716 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 4717 VkCommandBuffer commandBuffer, 4718 float depthBiasConstantFactor, 4719 float depthBiasClamp, 4720 float depthBiasSlopeFactor); 4721 4722 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 4723 VkCommandBuffer commandBuffer, 4724 const float blendConstants[4]); 4725 4726 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 4727 VkCommandBuffer commandBuffer, 4728 float minDepthBounds, 4729 float maxDepthBounds); 4730 4731 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 4732 VkCommandBuffer commandBuffer, 4733 VkStencilFaceFlags faceMask, 4734 uint32_t compareMask); 4735 4736 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 4737 VkCommandBuffer commandBuffer, 4738 VkStencilFaceFlags faceMask, 4739 uint32_t writeMask); 4740 4741 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 4742 VkCommandBuffer commandBuffer, 4743 VkStencilFaceFlags faceMask, 4744 uint32_t reference); 4745 4746 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 4747 VkCommandBuffer commandBuffer, 4748 VkPipelineBindPoint pipelineBindPoint, 4749 VkPipelineLayout layout, 4750 uint32_t firstSet, 4751 uint32_t descriptorSetCount, 4752 const VkDescriptorSet* pDescriptorSets, 4753 uint32_t dynamicOffsetCount, 4754 const uint32_t* pDynamicOffsets); 4755 4756 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 4757 VkCommandBuffer commandBuffer, 4758 VkBuffer buffer, 4759 VkDeviceSize offset, 4760 VkIndexType indexType); 4761 4762 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 4763 VkCommandBuffer commandBuffer, 4764 uint32_t firstBinding, 4765 uint32_t bindingCount, 4766 const VkBuffer* pBuffers, 4767 const VkDeviceSize* pOffsets); 4768 4769 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 4770 VkCommandBuffer commandBuffer, 4771 uint32_t vertexCount, 4772 uint32_t instanceCount, 4773 uint32_t firstVertex, 4774 uint32_t firstInstance); 4775 4776 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 4777 VkCommandBuffer commandBuffer, 4778 uint32_t indexCount, 4779 uint32_t instanceCount, 4780 uint32_t firstIndex, 4781 int32_t vertexOffset, 4782 uint32_t firstInstance); 4783 4784 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 4785 VkCommandBuffer commandBuffer, 4786 VkBuffer buffer, 4787 VkDeviceSize offset, 4788 uint32_t drawCount, 4789 uint32_t stride); 4790 4791 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 4792 VkCommandBuffer commandBuffer, 4793 VkBuffer buffer, 4794 VkDeviceSize offset, 4795 uint32_t drawCount, 4796 uint32_t stride); 4797 4798 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 4799 VkCommandBuffer commandBuffer, 4800 uint32_t groupCountX, 4801 uint32_t groupCountY, 4802 uint32_t groupCountZ); 4803 4804 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 4805 VkCommandBuffer commandBuffer, 4806 VkBuffer buffer, 4807 VkDeviceSize offset); 4808 4809 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 4810 VkCommandBuffer commandBuffer, 4811 VkBuffer srcBuffer, 4812 VkBuffer dstBuffer, 4813 uint32_t regionCount, 4814 const VkBufferCopy* pRegions); 4815 4816 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 4817 VkCommandBuffer commandBuffer, 4818 VkImage srcImage, 4819 VkImageLayout srcImageLayout, 4820 VkImage dstImage, 4821 VkImageLayout dstImageLayout, 4822 uint32_t regionCount, 4823 const VkImageCopy* pRegions); 4824 4825 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 4826 VkCommandBuffer commandBuffer, 4827 VkImage srcImage, 4828 VkImageLayout srcImageLayout, 4829 VkImage dstImage, 4830 VkImageLayout dstImageLayout, 4831 uint32_t regionCount, 4832 const VkImageBlit* pRegions, 4833 VkFilter filter); 4834 4835 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 4836 VkCommandBuffer commandBuffer, 4837 VkBuffer srcBuffer, 4838 VkImage dstImage, 4839 VkImageLayout dstImageLayout, 4840 uint32_t regionCount, 4841 const VkBufferImageCopy* pRegions); 4842 4843 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 4844 VkCommandBuffer commandBuffer, 4845 VkImage srcImage, 4846 VkImageLayout srcImageLayout, 4847 VkBuffer dstBuffer, 4848 uint32_t regionCount, 4849 const VkBufferImageCopy* pRegions); 4850 4851 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 4852 VkCommandBuffer commandBuffer, 4853 VkBuffer dstBuffer, 4854 VkDeviceSize dstOffset, 4855 VkDeviceSize dataSize, 4856 const void* pData); 4857 4858 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 4859 VkCommandBuffer commandBuffer, 4860 VkBuffer dstBuffer, 4861 VkDeviceSize dstOffset, 4862 VkDeviceSize size, 4863 uint32_t data); 4864 4865 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 4866 VkCommandBuffer commandBuffer, 4867 VkImage image, 4868 VkImageLayout imageLayout, 4869 const VkClearColorValue* pColor, 4870 uint32_t rangeCount, 4871 const VkImageSubresourceRange* pRanges); 4872 4873 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 4874 VkCommandBuffer commandBuffer, 4875 VkImage image, 4876 VkImageLayout imageLayout, 4877 const VkClearDepthStencilValue* pDepthStencil, 4878 uint32_t rangeCount, 4879 const VkImageSubresourceRange* pRanges); 4880 4881 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 4882 VkCommandBuffer commandBuffer, 4883 uint32_t attachmentCount, 4884 const VkClearAttachment* pAttachments, 4885 uint32_t rectCount, 4886 const VkClearRect* pRects); 4887 4888 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 4889 VkCommandBuffer commandBuffer, 4890 VkImage srcImage, 4891 VkImageLayout srcImageLayout, 4892 VkImage dstImage, 4893 VkImageLayout dstImageLayout, 4894 uint32_t regionCount, 4895 const VkImageResolve* pRegions); 4896 4897 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 4898 VkCommandBuffer commandBuffer, 4899 VkEvent event, 4900 VkPipelineStageFlags stageMask); 4901 4902 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 4903 VkCommandBuffer commandBuffer, 4904 VkEvent event, 4905 VkPipelineStageFlags stageMask); 4906 4907 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 4908 VkCommandBuffer commandBuffer, 4909 uint32_t eventCount, 4910 const VkEvent* pEvents, 4911 VkPipelineStageFlags srcStageMask, 4912 VkPipelineStageFlags dstStageMask, 4913 uint32_t memoryBarrierCount, 4914 const VkMemoryBarrier* pMemoryBarriers, 4915 uint32_t bufferMemoryBarrierCount, 4916 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4917 uint32_t imageMemoryBarrierCount, 4918 const VkImageMemoryBarrier* pImageMemoryBarriers); 4919 4920 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 4921 VkCommandBuffer commandBuffer, 4922 VkPipelineStageFlags srcStageMask, 4923 VkPipelineStageFlags dstStageMask, 4924 VkDependencyFlags dependencyFlags, 4925 uint32_t memoryBarrierCount, 4926 const VkMemoryBarrier* pMemoryBarriers, 4927 uint32_t bufferMemoryBarrierCount, 4928 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 4929 uint32_t imageMemoryBarrierCount, 4930 const VkImageMemoryBarrier* pImageMemoryBarriers); 4931 4932 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 4933 VkCommandBuffer commandBuffer, 4934 VkQueryPool queryPool, 4935 uint32_t query, 4936 VkQueryControlFlags flags); 4937 4938 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 4939 VkCommandBuffer commandBuffer, 4940 VkQueryPool queryPool, 4941 uint32_t query); 4942 4943 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 4944 VkCommandBuffer commandBuffer, 4945 VkQueryPool queryPool, 4946 uint32_t firstQuery, 4947 uint32_t queryCount); 4948 4949 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4950 VkCommandBuffer commandBuffer, 4951 VkPipelineStageFlagBits pipelineStage, 4952 VkQueryPool queryPool, 4953 uint32_t query); 4954 4955 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4956 VkCommandBuffer commandBuffer, 4957 VkQueryPool queryPool, 4958 uint32_t firstQuery, 4959 uint32_t queryCount, 4960 VkBuffer dstBuffer, 4961 VkDeviceSize dstOffset, 4962 VkDeviceSize stride, 4963 VkQueryResultFlags flags); 4964 4965 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4966 VkCommandBuffer commandBuffer, 4967 VkPipelineLayout layout, 4968 VkShaderStageFlags stageFlags, 4969 uint32_t offset, 4970 uint32_t size, 4971 const void* pValues); 4972 4973 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4974 VkCommandBuffer commandBuffer, 4975 const VkRenderPassBeginInfo* pRenderPassBegin, 4976 VkSubpassContents contents); 4977 4978 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4979 VkCommandBuffer commandBuffer, 4980 VkSubpassContents contents); 4981 4982 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4983 VkCommandBuffer commandBuffer); 4984 4985 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4986 VkCommandBuffer commandBuffer, 4987 uint32_t commandBufferCount, 4988 const VkCommandBuffer* pCommandBuffers); 4989 #endif 4990 4991 4992 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4993 #define VK_VERSION_1_1 1 4994 // Vulkan 1.1 version number 4995 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 4996 4997 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4998 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4999 #define VK_MAX_DEVICE_GROUP_SIZE 32U 5000 #define VK_LUID_SIZE 8U 5001 #define VK_QUEUE_FAMILY_EXTERNAL (~1U) 5002 5003 typedef enum VkPointClippingBehavior { 5004 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 5005 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 5006 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 5007 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 5008 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 5009 } VkPointClippingBehavior; 5010 5011 typedef enum VkTessellationDomainOrigin { 5012 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 5013 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 5014 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 5015 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 5016 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 5017 } VkTessellationDomainOrigin; 5018 5019 typedef enum VkSamplerYcbcrModelConversion { 5020 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 5021 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 5022 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 5023 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 5024 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 5025 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 5026 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 5027 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 5028 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 5029 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 5030 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 5031 } VkSamplerYcbcrModelConversion; 5032 5033 typedef enum VkSamplerYcbcrRange { 5034 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 5035 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 5036 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 5037 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 5038 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 5039 } VkSamplerYcbcrRange; 5040 5041 typedef enum VkChromaLocation { 5042 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 5043 VK_CHROMA_LOCATION_MIDPOINT = 1, 5044 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 5045 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 5046 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 5047 } VkChromaLocation; 5048 5049 typedef enum VkDescriptorUpdateTemplateType { 5050 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 5051 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS = 1, 5052 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS, 5053 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 5054 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 5055 } VkDescriptorUpdateTemplateType; 5056 5057 typedef enum VkSubgroupFeatureFlagBits { 5058 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 5059 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 5060 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 5061 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 5062 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 5063 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 5064 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 5065 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 5066 VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200, 5067 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400, 5068 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 5069 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT, 5070 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT, 5071 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5072 } VkSubgroupFeatureFlagBits; 5073 typedef VkFlags VkSubgroupFeatureFlags; 5074 5075 typedef enum VkPeerMemoryFeatureFlagBits { 5076 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 5077 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 5078 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 5079 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 5080 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 5081 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 5082 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 5083 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 5084 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5085 } VkPeerMemoryFeatureFlagBits; 5086 typedef VkFlags VkPeerMemoryFeatureFlags; 5087 5088 typedef enum VkMemoryAllocateFlagBits { 5089 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 5090 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 5091 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 5092 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 5093 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 5094 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 5095 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5096 } VkMemoryAllocateFlagBits; 5097 typedef VkFlags VkMemoryAllocateFlags; 5098 typedef VkFlags VkCommandPoolTrimFlags; 5099 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5100 5101 typedef enum VkExternalMemoryHandleTypeFlagBits { 5102 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5103 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5104 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5105 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5106 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5107 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5108 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5109 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5110 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5111 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5112 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5113 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5114 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5115 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 5116 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5117 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5118 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5119 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5120 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5121 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5122 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5123 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5124 } VkExternalMemoryHandleTypeFlagBits; 5125 typedef VkFlags VkExternalMemoryHandleTypeFlags; 5126 5127 typedef enum VkExternalMemoryFeatureFlagBits { 5128 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5129 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5130 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5131 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5132 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5133 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5134 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5135 } VkExternalMemoryFeatureFlagBits; 5136 typedef VkFlags VkExternalMemoryFeatureFlags; 5137 5138 typedef enum VkExternalFenceHandleTypeFlagBits { 5139 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5140 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5141 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5142 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5143 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5144 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5145 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5146 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5147 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5148 } VkExternalFenceHandleTypeFlagBits; 5149 typedef VkFlags VkExternalFenceHandleTypeFlags; 5150 5151 typedef enum VkExternalFenceFeatureFlagBits { 5152 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5153 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5154 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5155 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5156 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5157 } VkExternalFenceFeatureFlagBits; 5158 typedef VkFlags VkExternalFenceFeatureFlags; 5159 5160 typedef enum VkFenceImportFlagBits { 5161 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5162 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5163 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5164 } VkFenceImportFlagBits; 5165 typedef VkFlags VkFenceImportFlags; 5166 5167 typedef enum VkSemaphoreImportFlagBits { 5168 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5169 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5170 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5171 } VkSemaphoreImportFlagBits; 5172 typedef VkFlags VkSemaphoreImportFlags; 5173 5174 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5175 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5176 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5177 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5178 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5179 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 5180 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 5181 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5182 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 5183 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5184 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5185 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 5186 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 5187 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5188 } VkExternalSemaphoreHandleTypeFlagBits; 5189 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 5190 5191 typedef enum VkExternalSemaphoreFeatureFlagBits { 5192 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5193 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5194 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 5195 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 5196 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5197 } VkExternalSemaphoreFeatureFlagBits; 5198 typedef VkFlags VkExternalSemaphoreFeatureFlags; 5199 typedef struct VkPhysicalDeviceSubgroupProperties { 5200 VkStructureType sType; 5201 void* pNext; 5202 uint32_t subgroupSize; 5203 VkShaderStageFlags supportedStages; 5204 VkSubgroupFeatureFlags supportedOperations; 5205 VkBool32 quadOperationsInAllStages; 5206 } VkPhysicalDeviceSubgroupProperties; 5207 5208 typedef struct VkBindBufferMemoryInfo { 5209 VkStructureType sType; 5210 const void* pNext; 5211 VkBuffer buffer; 5212 VkDeviceMemory memory; 5213 VkDeviceSize memoryOffset; 5214 } VkBindBufferMemoryInfo; 5215 5216 typedef struct VkBindImageMemoryInfo { 5217 VkStructureType sType; 5218 const void* pNext; 5219 VkImage image; 5220 VkDeviceMemory memory; 5221 VkDeviceSize memoryOffset; 5222 } VkBindImageMemoryInfo; 5223 5224 typedef struct VkPhysicalDevice16BitStorageFeatures { 5225 VkStructureType sType; 5226 void* pNext; 5227 VkBool32 storageBuffer16BitAccess; 5228 VkBool32 uniformAndStorageBuffer16BitAccess; 5229 VkBool32 storagePushConstant16; 5230 VkBool32 storageInputOutput16; 5231 } VkPhysicalDevice16BitStorageFeatures; 5232 5233 typedef struct VkMemoryDedicatedRequirements { 5234 VkStructureType sType; 5235 void* pNext; 5236 VkBool32 prefersDedicatedAllocation; 5237 VkBool32 requiresDedicatedAllocation; 5238 } VkMemoryDedicatedRequirements; 5239 5240 typedef struct VkMemoryDedicatedAllocateInfo { 5241 VkStructureType sType; 5242 const void* pNext; 5243 VkImage image; 5244 VkBuffer buffer; 5245 } VkMemoryDedicatedAllocateInfo; 5246 5247 typedef struct VkMemoryAllocateFlagsInfo { 5248 VkStructureType sType; 5249 const void* pNext; 5250 VkMemoryAllocateFlags flags; 5251 uint32_t deviceMask; 5252 } VkMemoryAllocateFlagsInfo; 5253 5254 typedef struct VkDeviceGroupRenderPassBeginInfo { 5255 VkStructureType sType; 5256 const void* pNext; 5257 uint32_t deviceMask; 5258 uint32_t deviceRenderAreaCount; 5259 const VkRect2D* pDeviceRenderAreas; 5260 } VkDeviceGroupRenderPassBeginInfo; 5261 5262 typedef struct VkDeviceGroupCommandBufferBeginInfo { 5263 VkStructureType sType; 5264 const void* pNext; 5265 uint32_t deviceMask; 5266 } VkDeviceGroupCommandBufferBeginInfo; 5267 5268 typedef struct VkDeviceGroupSubmitInfo { 5269 VkStructureType sType; 5270 const void* pNext; 5271 uint32_t waitSemaphoreCount; 5272 const uint32_t* pWaitSemaphoreDeviceIndices; 5273 uint32_t commandBufferCount; 5274 const uint32_t* pCommandBufferDeviceMasks; 5275 uint32_t signalSemaphoreCount; 5276 const uint32_t* pSignalSemaphoreDeviceIndices; 5277 } VkDeviceGroupSubmitInfo; 5278 5279 typedef struct VkDeviceGroupBindSparseInfo { 5280 VkStructureType sType; 5281 const void* pNext; 5282 uint32_t resourceDeviceIndex; 5283 uint32_t memoryDeviceIndex; 5284 } VkDeviceGroupBindSparseInfo; 5285 5286 typedef struct VkBindBufferMemoryDeviceGroupInfo { 5287 VkStructureType sType; 5288 const void* pNext; 5289 uint32_t deviceIndexCount; 5290 const uint32_t* pDeviceIndices; 5291 } VkBindBufferMemoryDeviceGroupInfo; 5292 5293 typedef struct VkBindImageMemoryDeviceGroupInfo { 5294 VkStructureType sType; 5295 const void* pNext; 5296 uint32_t deviceIndexCount; 5297 const uint32_t* pDeviceIndices; 5298 uint32_t splitInstanceBindRegionCount; 5299 const VkRect2D* pSplitInstanceBindRegions; 5300 } VkBindImageMemoryDeviceGroupInfo; 5301 5302 typedef struct VkPhysicalDeviceGroupProperties { 5303 VkStructureType sType; 5304 void* pNext; 5305 uint32_t physicalDeviceCount; 5306 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 5307 VkBool32 subsetAllocation; 5308 } VkPhysicalDeviceGroupProperties; 5309 5310 typedef struct VkDeviceGroupDeviceCreateInfo { 5311 VkStructureType sType; 5312 const void* pNext; 5313 uint32_t physicalDeviceCount; 5314 const VkPhysicalDevice* pPhysicalDevices; 5315 } VkDeviceGroupDeviceCreateInfo; 5316 5317 typedef struct VkBufferMemoryRequirementsInfo2 { 5318 VkStructureType sType; 5319 const void* pNext; 5320 VkBuffer buffer; 5321 } VkBufferMemoryRequirementsInfo2; 5322 5323 typedef struct VkImageMemoryRequirementsInfo2 { 5324 VkStructureType sType; 5325 const void* pNext; 5326 VkImage image; 5327 } VkImageMemoryRequirementsInfo2; 5328 5329 typedef struct VkImageSparseMemoryRequirementsInfo2 { 5330 VkStructureType sType; 5331 const void* pNext; 5332 VkImage image; 5333 } VkImageSparseMemoryRequirementsInfo2; 5334 5335 typedef struct VkMemoryRequirements2 { 5336 VkStructureType sType; 5337 void* pNext; 5338 VkMemoryRequirements memoryRequirements; 5339 } VkMemoryRequirements2; 5340 5341 typedef struct VkSparseImageMemoryRequirements2 { 5342 VkStructureType sType; 5343 void* pNext; 5344 VkSparseImageMemoryRequirements memoryRequirements; 5345 } VkSparseImageMemoryRequirements2; 5346 5347 typedef struct VkPhysicalDeviceFeatures2 { 5348 VkStructureType sType; 5349 void* pNext; 5350 VkPhysicalDeviceFeatures features; 5351 } VkPhysicalDeviceFeatures2; 5352 5353 typedef struct VkPhysicalDeviceProperties2 { 5354 VkStructureType sType; 5355 void* pNext; 5356 VkPhysicalDeviceProperties properties; 5357 } VkPhysicalDeviceProperties2; 5358 5359 typedef struct VkFormatProperties2 { 5360 VkStructureType sType; 5361 void* pNext; 5362 VkFormatProperties formatProperties; 5363 } VkFormatProperties2; 5364 5365 typedef struct VkImageFormatProperties2 { 5366 VkStructureType sType; 5367 void* pNext; 5368 VkImageFormatProperties imageFormatProperties; 5369 } VkImageFormatProperties2; 5370 5371 typedef struct VkPhysicalDeviceImageFormatInfo2 { 5372 VkStructureType sType; 5373 const void* pNext; 5374 VkFormat format; 5375 VkImageType type; 5376 VkImageTiling tiling; 5377 VkImageUsageFlags usage; 5378 VkImageCreateFlags flags; 5379 } VkPhysicalDeviceImageFormatInfo2; 5380 5381 typedef struct VkQueueFamilyProperties2 { 5382 VkStructureType sType; 5383 void* pNext; 5384 VkQueueFamilyProperties queueFamilyProperties; 5385 } VkQueueFamilyProperties2; 5386 5387 typedef struct VkPhysicalDeviceMemoryProperties2 { 5388 VkStructureType sType; 5389 void* pNext; 5390 VkPhysicalDeviceMemoryProperties memoryProperties; 5391 } VkPhysicalDeviceMemoryProperties2; 5392 5393 typedef struct VkSparseImageFormatProperties2 { 5394 VkStructureType sType; 5395 void* pNext; 5396 VkSparseImageFormatProperties properties; 5397 } VkSparseImageFormatProperties2; 5398 5399 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 5400 VkStructureType sType; 5401 const void* pNext; 5402 VkFormat format; 5403 VkImageType type; 5404 VkSampleCountFlagBits samples; 5405 VkImageUsageFlags usage; 5406 VkImageTiling tiling; 5407 } VkPhysicalDeviceSparseImageFormatInfo2; 5408 5409 typedef struct VkPhysicalDevicePointClippingProperties { 5410 VkStructureType sType; 5411 void* pNext; 5412 VkPointClippingBehavior pointClippingBehavior; 5413 } VkPhysicalDevicePointClippingProperties; 5414 5415 typedef struct VkInputAttachmentAspectReference { 5416 uint32_t subpass; 5417 uint32_t inputAttachmentIndex; 5418 VkImageAspectFlags aspectMask; 5419 } VkInputAttachmentAspectReference; 5420 5421 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 5422 VkStructureType sType; 5423 const void* pNext; 5424 uint32_t aspectReferenceCount; 5425 const VkInputAttachmentAspectReference* pAspectReferences; 5426 } VkRenderPassInputAttachmentAspectCreateInfo; 5427 5428 typedef struct VkImageViewUsageCreateInfo { 5429 VkStructureType sType; 5430 const void* pNext; 5431 VkImageUsageFlags usage; 5432 } VkImageViewUsageCreateInfo; 5433 5434 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 5435 VkStructureType sType; 5436 const void* pNext; 5437 VkTessellationDomainOrigin domainOrigin; 5438 } VkPipelineTessellationDomainOriginStateCreateInfo; 5439 5440 typedef struct VkRenderPassMultiviewCreateInfo { 5441 VkStructureType sType; 5442 const void* pNext; 5443 uint32_t subpassCount; 5444 const uint32_t* pViewMasks; 5445 uint32_t dependencyCount; 5446 const int32_t* pViewOffsets; 5447 uint32_t correlationMaskCount; 5448 const uint32_t* pCorrelationMasks; 5449 } VkRenderPassMultiviewCreateInfo; 5450 5451 typedef struct VkPhysicalDeviceMultiviewFeatures { 5452 VkStructureType sType; 5453 void* pNext; 5454 VkBool32 multiview; 5455 VkBool32 multiviewGeometryShader; 5456 VkBool32 multiviewTessellationShader; 5457 } VkPhysicalDeviceMultiviewFeatures; 5458 5459 typedef struct VkPhysicalDeviceMultiviewProperties { 5460 VkStructureType sType; 5461 void* pNext; 5462 uint32_t maxMultiviewViewCount; 5463 uint32_t maxMultiviewInstanceIndex; 5464 } VkPhysicalDeviceMultiviewProperties; 5465 5466 typedef struct VkPhysicalDeviceVariablePointersFeatures { 5467 VkStructureType sType; 5468 void* pNext; 5469 VkBool32 variablePointersStorageBuffer; 5470 VkBool32 variablePointers; 5471 } VkPhysicalDeviceVariablePointersFeatures; 5472 5473 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 5474 5475 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 5476 VkStructureType sType; 5477 void* pNext; 5478 VkBool32 protectedMemory; 5479 } VkPhysicalDeviceProtectedMemoryFeatures; 5480 5481 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 5482 VkStructureType sType; 5483 void* pNext; 5484 VkBool32 protectedNoFault; 5485 } VkPhysicalDeviceProtectedMemoryProperties; 5486 5487 typedef struct VkDeviceQueueInfo2 { 5488 VkStructureType sType; 5489 const void* pNext; 5490 VkDeviceQueueCreateFlags flags; 5491 uint32_t queueFamilyIndex; 5492 uint32_t queueIndex; 5493 } VkDeviceQueueInfo2; 5494 5495 typedef struct VkProtectedSubmitInfo { 5496 VkStructureType sType; 5497 const void* pNext; 5498 VkBool32 protectedSubmit; 5499 } VkProtectedSubmitInfo; 5500 5501 typedef struct VkSamplerYcbcrConversionCreateInfo { 5502 VkStructureType sType; 5503 const void* pNext; 5504 VkFormat format; 5505 VkSamplerYcbcrModelConversion ycbcrModel; 5506 VkSamplerYcbcrRange ycbcrRange; 5507 VkComponentMapping components; 5508 VkChromaLocation xChromaOffset; 5509 VkChromaLocation yChromaOffset; 5510 VkFilter chromaFilter; 5511 VkBool32 forceExplicitReconstruction; 5512 } VkSamplerYcbcrConversionCreateInfo; 5513 5514 typedef struct VkSamplerYcbcrConversionInfo { 5515 VkStructureType sType; 5516 const void* pNext; 5517 VkSamplerYcbcrConversion conversion; 5518 } VkSamplerYcbcrConversionInfo; 5519 5520 typedef struct VkBindImagePlaneMemoryInfo { 5521 VkStructureType sType; 5522 const void* pNext; 5523 VkImageAspectFlagBits planeAspect; 5524 } VkBindImagePlaneMemoryInfo; 5525 5526 typedef struct VkImagePlaneMemoryRequirementsInfo { 5527 VkStructureType sType; 5528 const void* pNext; 5529 VkImageAspectFlagBits planeAspect; 5530 } VkImagePlaneMemoryRequirementsInfo; 5531 5532 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 5533 VkStructureType sType; 5534 void* pNext; 5535 VkBool32 samplerYcbcrConversion; 5536 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 5537 5538 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 5539 VkStructureType sType; 5540 void* pNext; 5541 uint32_t combinedImageSamplerDescriptorCount; 5542 } VkSamplerYcbcrConversionImageFormatProperties; 5543 5544 typedef struct VkDescriptorUpdateTemplateEntry { 5545 uint32_t dstBinding; 5546 uint32_t dstArrayElement; 5547 uint32_t descriptorCount; 5548 VkDescriptorType descriptorType; 5549 size_t offset; 5550 size_t stride; 5551 } VkDescriptorUpdateTemplateEntry; 5552 5553 typedef struct VkDescriptorUpdateTemplateCreateInfo { 5554 VkStructureType sType; 5555 const void* pNext; 5556 VkDescriptorUpdateTemplateCreateFlags flags; 5557 uint32_t descriptorUpdateEntryCount; 5558 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 5559 VkDescriptorUpdateTemplateType templateType; 5560 VkDescriptorSetLayout descriptorSetLayout; 5561 VkPipelineBindPoint pipelineBindPoint; 5562 VkPipelineLayout pipelineLayout; 5563 uint32_t set; 5564 } VkDescriptorUpdateTemplateCreateInfo; 5565 5566 typedef struct VkExternalMemoryProperties { 5567 VkExternalMemoryFeatureFlags externalMemoryFeatures; 5568 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 5569 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 5570 } VkExternalMemoryProperties; 5571 5572 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 5573 VkStructureType sType; 5574 const void* pNext; 5575 VkExternalMemoryHandleTypeFlagBits handleType; 5576 } VkPhysicalDeviceExternalImageFormatInfo; 5577 5578 typedef struct VkExternalImageFormatProperties { 5579 VkStructureType sType; 5580 void* pNext; 5581 VkExternalMemoryProperties externalMemoryProperties; 5582 } VkExternalImageFormatProperties; 5583 5584 typedef struct VkPhysicalDeviceExternalBufferInfo { 5585 VkStructureType sType; 5586 const void* pNext; 5587 VkBufferCreateFlags flags; 5588 VkBufferUsageFlags usage; 5589 VkExternalMemoryHandleTypeFlagBits handleType; 5590 } VkPhysicalDeviceExternalBufferInfo; 5591 5592 typedef struct VkExternalBufferProperties { 5593 VkStructureType sType; 5594 void* pNext; 5595 VkExternalMemoryProperties externalMemoryProperties; 5596 } VkExternalBufferProperties; 5597 5598 typedef struct VkPhysicalDeviceIDProperties { 5599 VkStructureType sType; 5600 void* pNext; 5601 uint8_t deviceUUID[VK_UUID_SIZE]; 5602 uint8_t driverUUID[VK_UUID_SIZE]; 5603 uint8_t deviceLUID[VK_LUID_SIZE]; 5604 uint32_t deviceNodeMask; 5605 VkBool32 deviceLUIDValid; 5606 } VkPhysicalDeviceIDProperties; 5607 5608 typedef struct VkExternalMemoryImageCreateInfo { 5609 VkStructureType sType; 5610 const void* pNext; 5611 VkExternalMemoryHandleTypeFlags handleTypes; 5612 } VkExternalMemoryImageCreateInfo; 5613 5614 typedef struct VkExternalMemoryBufferCreateInfo { 5615 VkStructureType sType; 5616 const void* pNext; 5617 VkExternalMemoryHandleTypeFlags handleTypes; 5618 } VkExternalMemoryBufferCreateInfo; 5619 5620 typedef struct VkExportMemoryAllocateInfo { 5621 VkStructureType sType; 5622 const void* pNext; 5623 VkExternalMemoryHandleTypeFlags handleTypes; 5624 } VkExportMemoryAllocateInfo; 5625 5626 typedef struct VkPhysicalDeviceExternalFenceInfo { 5627 VkStructureType sType; 5628 const void* pNext; 5629 VkExternalFenceHandleTypeFlagBits handleType; 5630 } VkPhysicalDeviceExternalFenceInfo; 5631 5632 typedef struct VkExternalFenceProperties { 5633 VkStructureType sType; 5634 void* pNext; 5635 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 5636 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 5637 VkExternalFenceFeatureFlags externalFenceFeatures; 5638 } VkExternalFenceProperties; 5639 5640 typedef struct VkExportFenceCreateInfo { 5641 VkStructureType sType; 5642 const void* pNext; 5643 VkExternalFenceHandleTypeFlags handleTypes; 5644 } VkExportFenceCreateInfo; 5645 5646 typedef struct VkExportSemaphoreCreateInfo { 5647 VkStructureType sType; 5648 const void* pNext; 5649 VkExternalSemaphoreHandleTypeFlags handleTypes; 5650 } VkExportSemaphoreCreateInfo; 5651 5652 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 5653 VkStructureType sType; 5654 const void* pNext; 5655 VkExternalSemaphoreHandleTypeFlagBits handleType; 5656 } VkPhysicalDeviceExternalSemaphoreInfo; 5657 5658 typedef struct VkExternalSemaphoreProperties { 5659 VkStructureType sType; 5660 void* pNext; 5661 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 5662 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 5663 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 5664 } VkExternalSemaphoreProperties; 5665 5666 typedef struct VkPhysicalDeviceMaintenance3Properties { 5667 VkStructureType sType; 5668 void* pNext; 5669 uint32_t maxPerSetDescriptors; 5670 VkDeviceSize maxMemoryAllocationSize; 5671 } VkPhysicalDeviceMaintenance3Properties; 5672 5673 typedef struct VkDescriptorSetLayoutSupport { 5674 VkStructureType sType; 5675 void* pNext; 5676 VkBool32 supported; 5677 } VkDescriptorSetLayoutSupport; 5678 5679 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 5680 VkStructureType sType; 5681 void* pNext; 5682 VkBool32 shaderDrawParameters; 5683 } VkPhysicalDeviceShaderDrawParametersFeatures; 5684 5685 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 5686 5687 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 5688 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 5689 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 5690 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5691 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 5692 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); 5693 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5694 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5695 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 5696 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5697 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 5698 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 5699 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 5700 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 5701 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 5702 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5703 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 5704 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 5705 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 5706 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 5707 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 5708 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5709 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 5710 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 5711 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 5712 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 5713 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5714 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 5715 5716 #ifndef VK_NO_PROTOTYPES 5717 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 5718 uint32_t* pApiVersion); 5719 5720 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 5721 VkDevice device, 5722 uint32_t bindInfoCount, 5723 const VkBindBufferMemoryInfo* pBindInfos); 5724 5725 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 5726 VkDevice device, 5727 uint32_t bindInfoCount, 5728 const VkBindImageMemoryInfo* pBindInfos); 5729 5730 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 5731 VkDevice device, 5732 uint32_t heapIndex, 5733 uint32_t localDeviceIndex, 5734 uint32_t remoteDeviceIndex, 5735 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 5736 5737 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 5738 VkCommandBuffer commandBuffer, 5739 uint32_t deviceMask); 5740 5741 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 5742 VkCommandBuffer commandBuffer, 5743 uint32_t baseGroupX, 5744 uint32_t baseGroupY, 5745 uint32_t baseGroupZ, 5746 uint32_t groupCountX, 5747 uint32_t groupCountY, 5748 uint32_t groupCountZ); 5749 5750 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 5751 VkInstance instance, 5752 uint32_t* pPhysicalDeviceGroupCount, 5753 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 5754 5755 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 5756 VkDevice device, 5757 const VkImageMemoryRequirementsInfo2* pInfo, 5758 VkMemoryRequirements2* pMemoryRequirements); 5759 5760 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 5761 VkDevice device, 5762 const VkBufferMemoryRequirementsInfo2* pInfo, 5763 VkMemoryRequirements2* pMemoryRequirements); 5764 5765 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 5766 VkDevice device, 5767 const VkImageSparseMemoryRequirementsInfo2* pInfo, 5768 uint32_t* pSparseMemoryRequirementCount, 5769 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 5770 5771 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 5772 VkPhysicalDevice physicalDevice, 5773 VkPhysicalDeviceFeatures2* pFeatures); 5774 5775 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 5776 VkPhysicalDevice physicalDevice, 5777 VkPhysicalDeviceProperties2* pProperties); 5778 5779 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 5780 VkPhysicalDevice physicalDevice, 5781 VkFormat format, 5782 VkFormatProperties2* pFormatProperties); 5783 5784 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 5785 VkPhysicalDevice physicalDevice, 5786 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 5787 VkImageFormatProperties2* pImageFormatProperties); 5788 5789 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 5790 VkPhysicalDevice physicalDevice, 5791 uint32_t* pQueueFamilyPropertyCount, 5792 VkQueueFamilyProperties2* pQueueFamilyProperties); 5793 5794 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 5795 VkPhysicalDevice physicalDevice, 5796 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 5797 5798 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 5799 VkPhysicalDevice physicalDevice, 5800 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 5801 uint32_t* pPropertyCount, 5802 VkSparseImageFormatProperties2* pProperties); 5803 5804 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 5805 VkDevice device, 5806 VkCommandPool commandPool, 5807 VkCommandPoolTrimFlags flags); 5808 5809 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 5810 VkDevice device, 5811 const VkDeviceQueueInfo2* pQueueInfo, 5812 VkQueue* pQueue); 5813 5814 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 5815 VkDevice device, 5816 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 5817 const VkAllocationCallbacks* pAllocator, 5818 VkSamplerYcbcrConversion* pYcbcrConversion); 5819 5820 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 5821 VkDevice device, 5822 VkSamplerYcbcrConversion ycbcrConversion, 5823 const VkAllocationCallbacks* pAllocator); 5824 5825 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 5826 VkDevice device, 5827 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 5828 const VkAllocationCallbacks* pAllocator, 5829 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 5830 5831 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 5832 VkDevice device, 5833 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5834 const VkAllocationCallbacks* pAllocator); 5835 5836 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 5837 VkDevice device, 5838 VkDescriptorSet descriptorSet, 5839 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 5840 const void* pData); 5841 5842 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 5843 VkPhysicalDevice physicalDevice, 5844 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 5845 VkExternalBufferProperties* pExternalBufferProperties); 5846 5847 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 5848 VkPhysicalDevice physicalDevice, 5849 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 5850 VkExternalFenceProperties* pExternalFenceProperties); 5851 5852 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 5853 VkPhysicalDevice physicalDevice, 5854 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 5855 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 5856 5857 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 5858 VkDevice device, 5859 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5860 VkDescriptorSetLayoutSupport* pSupport); 5861 #endif 5862 5863 5864 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5865 #define VK_VERSION_1_2 1 5866 // Vulkan 1.2 version number 5867 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 5868 5869 #define VK_MAX_DRIVER_NAME_SIZE 256U 5870 #define VK_MAX_DRIVER_INFO_SIZE 256U 5871 5872 typedef enum VkDriverId { 5873 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 5874 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 5875 VK_DRIVER_ID_MESA_RADV = 3, 5876 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 5877 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 5878 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 5879 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 5880 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 5881 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 5882 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 5883 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 5884 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 5885 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 5886 VK_DRIVER_ID_MOLTENVK = 14, 5887 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 5888 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 5889 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 5890 VK_DRIVER_ID_MESA_TURNIP = 18, 5891 VK_DRIVER_ID_MESA_V3DV = 19, 5892 VK_DRIVER_ID_MESA_PANVK = 20, 5893 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5894 VK_DRIVER_ID_MESA_VENUS = 22, 5895 VK_DRIVER_ID_MESA_DOZEN = 23, 5896 VK_DRIVER_ID_MESA_NVK = 24, 5897 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5898 VK_DRIVER_ID_MESA_HONEYKRISP = 26, 5899 VK_DRIVER_ID_RESERVED_27 = 27, 5900 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5901 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5902 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 5903 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 5904 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 5905 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 5906 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 5907 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 5908 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 5909 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 5910 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 5911 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 5912 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 5913 } VkDriverId; 5914 5915 typedef enum VkShaderFloatControlsIndependence { 5916 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 5917 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 5918 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 5919 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 5920 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 5921 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 5922 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 5923 } VkShaderFloatControlsIndependence; 5924 5925 typedef enum VkSamplerReductionMode { 5926 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5927 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5928 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5929 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5930 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5931 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5932 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 5933 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 5934 } VkSamplerReductionMode; 5935 5936 typedef enum VkSemaphoreType { 5937 VK_SEMAPHORE_TYPE_BINARY = 0, 5938 VK_SEMAPHORE_TYPE_TIMELINE = 1, 5939 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 5940 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 5941 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 5942 } VkSemaphoreType; 5943 5944 typedef enum VkResolveModeFlagBits { 5945 VK_RESOLVE_MODE_NONE = 0, 5946 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 5947 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5948 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5949 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5950 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5951 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5952 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5953 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 5954 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 5955 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 5956 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5957 } VkResolveModeFlagBits; 5958 typedef VkFlags VkResolveModeFlags; 5959 5960 typedef enum VkDescriptorBindingFlagBits { 5961 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 5962 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 5963 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 5964 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 5965 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 5966 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 5967 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 5968 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 5969 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5970 } VkDescriptorBindingFlagBits; 5971 typedef VkFlags VkDescriptorBindingFlags; 5972 5973 typedef enum VkSemaphoreWaitFlagBits { 5974 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5975 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5976 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5977 } VkSemaphoreWaitFlagBits; 5978 typedef VkFlags VkSemaphoreWaitFlags; 5979 typedef struct VkPhysicalDeviceVulkan11Features { 5980 VkStructureType sType; 5981 void* pNext; 5982 VkBool32 storageBuffer16BitAccess; 5983 VkBool32 uniformAndStorageBuffer16BitAccess; 5984 VkBool32 storagePushConstant16; 5985 VkBool32 storageInputOutput16; 5986 VkBool32 multiview; 5987 VkBool32 multiviewGeometryShader; 5988 VkBool32 multiviewTessellationShader; 5989 VkBool32 variablePointersStorageBuffer; 5990 VkBool32 variablePointers; 5991 VkBool32 protectedMemory; 5992 VkBool32 samplerYcbcrConversion; 5993 VkBool32 shaderDrawParameters; 5994 } VkPhysicalDeviceVulkan11Features; 5995 5996 typedef struct VkPhysicalDeviceVulkan11Properties { 5997 VkStructureType sType; 5998 void* pNext; 5999 uint8_t deviceUUID[VK_UUID_SIZE]; 6000 uint8_t driverUUID[VK_UUID_SIZE]; 6001 uint8_t deviceLUID[VK_LUID_SIZE]; 6002 uint32_t deviceNodeMask; 6003 VkBool32 deviceLUIDValid; 6004 uint32_t subgroupSize; 6005 VkShaderStageFlags subgroupSupportedStages; 6006 VkSubgroupFeatureFlags subgroupSupportedOperations; 6007 VkBool32 subgroupQuadOperationsInAllStages; 6008 VkPointClippingBehavior pointClippingBehavior; 6009 uint32_t maxMultiviewViewCount; 6010 uint32_t maxMultiviewInstanceIndex; 6011 VkBool32 protectedNoFault; 6012 uint32_t maxPerSetDescriptors; 6013 VkDeviceSize maxMemoryAllocationSize; 6014 } VkPhysicalDeviceVulkan11Properties; 6015 6016 typedef struct VkPhysicalDeviceVulkan12Features { 6017 VkStructureType sType; 6018 void* pNext; 6019 VkBool32 samplerMirrorClampToEdge; 6020 VkBool32 drawIndirectCount; 6021 VkBool32 storageBuffer8BitAccess; 6022 VkBool32 uniformAndStorageBuffer8BitAccess; 6023 VkBool32 storagePushConstant8; 6024 VkBool32 shaderBufferInt64Atomics; 6025 VkBool32 shaderSharedInt64Atomics; 6026 VkBool32 shaderFloat16; 6027 VkBool32 shaderInt8; 6028 VkBool32 descriptorIndexing; 6029 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6030 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6031 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6032 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6033 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6034 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6035 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6036 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6037 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6038 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6039 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6040 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6041 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6042 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6043 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6044 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6045 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6046 VkBool32 descriptorBindingPartiallyBound; 6047 VkBool32 descriptorBindingVariableDescriptorCount; 6048 VkBool32 runtimeDescriptorArray; 6049 VkBool32 samplerFilterMinmax; 6050 VkBool32 scalarBlockLayout; 6051 VkBool32 imagelessFramebuffer; 6052 VkBool32 uniformBufferStandardLayout; 6053 VkBool32 shaderSubgroupExtendedTypes; 6054 VkBool32 separateDepthStencilLayouts; 6055 VkBool32 hostQueryReset; 6056 VkBool32 timelineSemaphore; 6057 VkBool32 bufferDeviceAddress; 6058 VkBool32 bufferDeviceAddressCaptureReplay; 6059 VkBool32 bufferDeviceAddressMultiDevice; 6060 VkBool32 vulkanMemoryModel; 6061 VkBool32 vulkanMemoryModelDeviceScope; 6062 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6063 VkBool32 shaderOutputViewportIndex; 6064 VkBool32 shaderOutputLayer; 6065 VkBool32 subgroupBroadcastDynamicId; 6066 } VkPhysicalDeviceVulkan12Features; 6067 6068 typedef struct VkConformanceVersion { 6069 uint8_t major; 6070 uint8_t minor; 6071 uint8_t subminor; 6072 uint8_t patch; 6073 } VkConformanceVersion; 6074 6075 typedef struct VkPhysicalDeviceVulkan12Properties { 6076 VkStructureType sType; 6077 void* pNext; 6078 VkDriverId driverID; 6079 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6080 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6081 VkConformanceVersion conformanceVersion; 6082 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6083 VkShaderFloatControlsIndependence roundingModeIndependence; 6084 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6085 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6086 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6087 VkBool32 shaderDenormPreserveFloat16; 6088 VkBool32 shaderDenormPreserveFloat32; 6089 VkBool32 shaderDenormPreserveFloat64; 6090 VkBool32 shaderDenormFlushToZeroFloat16; 6091 VkBool32 shaderDenormFlushToZeroFloat32; 6092 VkBool32 shaderDenormFlushToZeroFloat64; 6093 VkBool32 shaderRoundingModeRTEFloat16; 6094 VkBool32 shaderRoundingModeRTEFloat32; 6095 VkBool32 shaderRoundingModeRTEFloat64; 6096 VkBool32 shaderRoundingModeRTZFloat16; 6097 VkBool32 shaderRoundingModeRTZFloat32; 6098 VkBool32 shaderRoundingModeRTZFloat64; 6099 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6100 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6101 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6102 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6103 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6104 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6105 VkBool32 robustBufferAccessUpdateAfterBind; 6106 VkBool32 quadDivergentImplicitLod; 6107 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6108 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6109 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6110 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6111 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6112 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6113 uint32_t maxPerStageUpdateAfterBindResources; 6114 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6115 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6116 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6117 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6118 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6119 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6120 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6121 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6122 VkResolveModeFlags supportedDepthResolveModes; 6123 VkResolveModeFlags supportedStencilResolveModes; 6124 VkBool32 independentResolveNone; 6125 VkBool32 independentResolve; 6126 VkBool32 filterMinmaxSingleComponentFormats; 6127 VkBool32 filterMinmaxImageComponentMapping; 6128 uint64_t maxTimelineSemaphoreValueDifference; 6129 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6130 } VkPhysicalDeviceVulkan12Properties; 6131 6132 typedef struct VkImageFormatListCreateInfo { 6133 VkStructureType sType; 6134 const void* pNext; 6135 uint32_t viewFormatCount; 6136 const VkFormat* pViewFormats; 6137 } VkImageFormatListCreateInfo; 6138 6139 typedef struct VkAttachmentDescription2 { 6140 VkStructureType sType; 6141 const void* pNext; 6142 VkAttachmentDescriptionFlags flags; 6143 VkFormat format; 6144 VkSampleCountFlagBits samples; 6145 VkAttachmentLoadOp loadOp; 6146 VkAttachmentStoreOp storeOp; 6147 VkAttachmentLoadOp stencilLoadOp; 6148 VkAttachmentStoreOp stencilStoreOp; 6149 VkImageLayout initialLayout; 6150 VkImageLayout finalLayout; 6151 } VkAttachmentDescription2; 6152 6153 typedef struct VkAttachmentReference2 { 6154 VkStructureType sType; 6155 const void* pNext; 6156 uint32_t attachment; 6157 VkImageLayout layout; 6158 VkImageAspectFlags aspectMask; 6159 } VkAttachmentReference2; 6160 6161 typedef struct VkSubpassDescription2 { 6162 VkStructureType sType; 6163 const void* pNext; 6164 VkSubpassDescriptionFlags flags; 6165 VkPipelineBindPoint pipelineBindPoint; 6166 uint32_t viewMask; 6167 uint32_t inputAttachmentCount; 6168 const VkAttachmentReference2* pInputAttachments; 6169 uint32_t colorAttachmentCount; 6170 const VkAttachmentReference2* pColorAttachments; 6171 const VkAttachmentReference2* pResolveAttachments; 6172 const VkAttachmentReference2* pDepthStencilAttachment; 6173 uint32_t preserveAttachmentCount; 6174 const uint32_t* pPreserveAttachments; 6175 } VkSubpassDescription2; 6176 6177 typedef struct VkSubpassDependency2 { 6178 VkStructureType sType; 6179 const void* pNext; 6180 uint32_t srcSubpass; 6181 uint32_t dstSubpass; 6182 VkPipelineStageFlags srcStageMask; 6183 VkPipelineStageFlags dstStageMask; 6184 VkAccessFlags srcAccessMask; 6185 VkAccessFlags dstAccessMask; 6186 VkDependencyFlags dependencyFlags; 6187 int32_t viewOffset; 6188 } VkSubpassDependency2; 6189 6190 typedef struct VkRenderPassCreateInfo2 { 6191 VkStructureType sType; 6192 const void* pNext; 6193 VkRenderPassCreateFlags flags; 6194 uint32_t attachmentCount; 6195 const VkAttachmentDescription2* pAttachments; 6196 uint32_t subpassCount; 6197 const VkSubpassDescription2* pSubpasses; 6198 uint32_t dependencyCount; 6199 const VkSubpassDependency2* pDependencies; 6200 uint32_t correlatedViewMaskCount; 6201 const uint32_t* pCorrelatedViewMasks; 6202 } VkRenderPassCreateInfo2; 6203 6204 typedef struct VkSubpassBeginInfo { 6205 VkStructureType sType; 6206 const void* pNext; 6207 VkSubpassContents contents; 6208 } VkSubpassBeginInfo; 6209 6210 typedef struct VkSubpassEndInfo { 6211 VkStructureType sType; 6212 const void* pNext; 6213 } VkSubpassEndInfo; 6214 6215 typedef struct VkPhysicalDevice8BitStorageFeatures { 6216 VkStructureType sType; 6217 void* pNext; 6218 VkBool32 storageBuffer8BitAccess; 6219 VkBool32 uniformAndStorageBuffer8BitAccess; 6220 VkBool32 storagePushConstant8; 6221 } VkPhysicalDevice8BitStorageFeatures; 6222 6223 typedef struct VkPhysicalDeviceDriverProperties { 6224 VkStructureType sType; 6225 void* pNext; 6226 VkDriverId driverID; 6227 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6228 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6229 VkConformanceVersion conformanceVersion; 6230 } VkPhysicalDeviceDriverProperties; 6231 6232 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 6233 VkStructureType sType; 6234 void* pNext; 6235 VkBool32 shaderBufferInt64Atomics; 6236 VkBool32 shaderSharedInt64Atomics; 6237 } VkPhysicalDeviceShaderAtomicInt64Features; 6238 6239 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 6240 VkStructureType sType; 6241 void* pNext; 6242 VkBool32 shaderFloat16; 6243 VkBool32 shaderInt8; 6244 } VkPhysicalDeviceShaderFloat16Int8Features; 6245 6246 typedef struct VkPhysicalDeviceFloatControlsProperties { 6247 VkStructureType sType; 6248 void* pNext; 6249 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6250 VkShaderFloatControlsIndependence roundingModeIndependence; 6251 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6252 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6253 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6254 VkBool32 shaderDenormPreserveFloat16; 6255 VkBool32 shaderDenormPreserveFloat32; 6256 VkBool32 shaderDenormPreserveFloat64; 6257 VkBool32 shaderDenormFlushToZeroFloat16; 6258 VkBool32 shaderDenormFlushToZeroFloat32; 6259 VkBool32 shaderDenormFlushToZeroFloat64; 6260 VkBool32 shaderRoundingModeRTEFloat16; 6261 VkBool32 shaderRoundingModeRTEFloat32; 6262 VkBool32 shaderRoundingModeRTEFloat64; 6263 VkBool32 shaderRoundingModeRTZFloat16; 6264 VkBool32 shaderRoundingModeRTZFloat32; 6265 VkBool32 shaderRoundingModeRTZFloat64; 6266 } VkPhysicalDeviceFloatControlsProperties; 6267 6268 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 6269 VkStructureType sType; 6270 const void* pNext; 6271 uint32_t bindingCount; 6272 const VkDescriptorBindingFlags* pBindingFlags; 6273 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 6274 6275 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 6276 VkStructureType sType; 6277 void* pNext; 6278 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6279 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6280 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6281 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6282 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6283 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6284 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6285 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6286 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6287 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6288 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6289 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6290 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6291 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6292 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6293 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6294 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6295 VkBool32 descriptorBindingPartiallyBound; 6296 VkBool32 descriptorBindingVariableDescriptorCount; 6297 VkBool32 runtimeDescriptorArray; 6298 } VkPhysicalDeviceDescriptorIndexingFeatures; 6299 6300 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 6301 VkStructureType sType; 6302 void* pNext; 6303 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 6304 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6305 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6306 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6307 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6308 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6309 VkBool32 robustBufferAccessUpdateAfterBind; 6310 VkBool32 quadDivergentImplicitLod; 6311 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 6312 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6313 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6314 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 6315 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 6316 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 6317 uint32_t maxPerStageUpdateAfterBindResources; 6318 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 6319 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 6320 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6321 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 6322 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6323 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 6324 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 6325 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 6326 } VkPhysicalDeviceDescriptorIndexingProperties; 6327 6328 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 6329 VkStructureType sType; 6330 const void* pNext; 6331 uint32_t descriptorSetCount; 6332 const uint32_t* pDescriptorCounts; 6333 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 6334 6335 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 6336 VkStructureType sType; 6337 void* pNext; 6338 uint32_t maxVariableDescriptorCount; 6339 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 6340 6341 typedef struct VkSubpassDescriptionDepthStencilResolve { 6342 VkStructureType sType; 6343 const void* pNext; 6344 VkResolveModeFlagBits depthResolveMode; 6345 VkResolveModeFlagBits stencilResolveMode; 6346 const VkAttachmentReference2* pDepthStencilResolveAttachment; 6347 } VkSubpassDescriptionDepthStencilResolve; 6348 6349 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 6350 VkStructureType sType; 6351 void* pNext; 6352 VkResolveModeFlags supportedDepthResolveModes; 6353 VkResolveModeFlags supportedStencilResolveModes; 6354 VkBool32 independentResolveNone; 6355 VkBool32 independentResolve; 6356 } VkPhysicalDeviceDepthStencilResolveProperties; 6357 6358 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 6359 VkStructureType sType; 6360 void* pNext; 6361 VkBool32 scalarBlockLayout; 6362 } VkPhysicalDeviceScalarBlockLayoutFeatures; 6363 6364 typedef struct VkImageStencilUsageCreateInfo { 6365 VkStructureType sType; 6366 const void* pNext; 6367 VkImageUsageFlags stencilUsage; 6368 } VkImageStencilUsageCreateInfo; 6369 6370 typedef struct VkSamplerReductionModeCreateInfo { 6371 VkStructureType sType; 6372 const void* pNext; 6373 VkSamplerReductionMode reductionMode; 6374 } VkSamplerReductionModeCreateInfo; 6375 6376 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 6377 VkStructureType sType; 6378 void* pNext; 6379 VkBool32 filterMinmaxSingleComponentFormats; 6380 VkBool32 filterMinmaxImageComponentMapping; 6381 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 6382 6383 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 6384 VkStructureType sType; 6385 void* pNext; 6386 VkBool32 vulkanMemoryModel; 6387 VkBool32 vulkanMemoryModelDeviceScope; 6388 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6389 } VkPhysicalDeviceVulkanMemoryModelFeatures; 6390 6391 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 6392 VkStructureType sType; 6393 void* pNext; 6394 VkBool32 imagelessFramebuffer; 6395 } VkPhysicalDeviceImagelessFramebufferFeatures; 6396 6397 typedef struct VkFramebufferAttachmentImageInfo { 6398 VkStructureType sType; 6399 const void* pNext; 6400 VkImageCreateFlags flags; 6401 VkImageUsageFlags usage; 6402 uint32_t width; 6403 uint32_t height; 6404 uint32_t layerCount; 6405 uint32_t viewFormatCount; 6406 const VkFormat* pViewFormats; 6407 } VkFramebufferAttachmentImageInfo; 6408 6409 typedef struct VkFramebufferAttachmentsCreateInfo { 6410 VkStructureType sType; 6411 const void* pNext; 6412 uint32_t attachmentImageInfoCount; 6413 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 6414 } VkFramebufferAttachmentsCreateInfo; 6415 6416 typedef struct VkRenderPassAttachmentBeginInfo { 6417 VkStructureType sType; 6418 const void* pNext; 6419 uint32_t attachmentCount; 6420 const VkImageView* pAttachments; 6421 } VkRenderPassAttachmentBeginInfo; 6422 6423 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 6424 VkStructureType sType; 6425 void* pNext; 6426 VkBool32 uniformBufferStandardLayout; 6427 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 6428 6429 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 6430 VkStructureType sType; 6431 void* pNext; 6432 VkBool32 shaderSubgroupExtendedTypes; 6433 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 6434 6435 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 6436 VkStructureType sType; 6437 void* pNext; 6438 VkBool32 separateDepthStencilLayouts; 6439 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 6440 6441 typedef struct VkAttachmentReferenceStencilLayout { 6442 VkStructureType sType; 6443 void* pNext; 6444 VkImageLayout stencilLayout; 6445 } VkAttachmentReferenceStencilLayout; 6446 6447 typedef struct VkAttachmentDescriptionStencilLayout { 6448 VkStructureType sType; 6449 void* pNext; 6450 VkImageLayout stencilInitialLayout; 6451 VkImageLayout stencilFinalLayout; 6452 } VkAttachmentDescriptionStencilLayout; 6453 6454 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 6455 VkStructureType sType; 6456 void* pNext; 6457 VkBool32 hostQueryReset; 6458 } VkPhysicalDeviceHostQueryResetFeatures; 6459 6460 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 6461 VkStructureType sType; 6462 void* pNext; 6463 VkBool32 timelineSemaphore; 6464 } VkPhysicalDeviceTimelineSemaphoreFeatures; 6465 6466 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 6467 VkStructureType sType; 6468 void* pNext; 6469 uint64_t maxTimelineSemaphoreValueDifference; 6470 } VkPhysicalDeviceTimelineSemaphoreProperties; 6471 6472 typedef struct VkSemaphoreTypeCreateInfo { 6473 VkStructureType sType; 6474 const void* pNext; 6475 VkSemaphoreType semaphoreType; 6476 uint64_t initialValue; 6477 } VkSemaphoreTypeCreateInfo; 6478 6479 typedef struct VkTimelineSemaphoreSubmitInfo { 6480 VkStructureType sType; 6481 const void* pNext; 6482 uint32_t waitSemaphoreValueCount; 6483 const uint64_t* pWaitSemaphoreValues; 6484 uint32_t signalSemaphoreValueCount; 6485 const uint64_t* pSignalSemaphoreValues; 6486 } VkTimelineSemaphoreSubmitInfo; 6487 6488 typedef struct VkSemaphoreWaitInfo { 6489 VkStructureType sType; 6490 const void* pNext; 6491 VkSemaphoreWaitFlags flags; 6492 uint32_t semaphoreCount; 6493 const VkSemaphore* pSemaphores; 6494 const uint64_t* pValues; 6495 } VkSemaphoreWaitInfo; 6496 6497 typedef struct VkSemaphoreSignalInfo { 6498 VkStructureType sType; 6499 const void* pNext; 6500 VkSemaphore semaphore; 6501 uint64_t value; 6502 } VkSemaphoreSignalInfo; 6503 6504 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 6505 VkStructureType sType; 6506 void* pNext; 6507 VkBool32 bufferDeviceAddress; 6508 VkBool32 bufferDeviceAddressCaptureReplay; 6509 VkBool32 bufferDeviceAddressMultiDevice; 6510 } VkPhysicalDeviceBufferDeviceAddressFeatures; 6511 6512 typedef struct VkBufferDeviceAddressInfo { 6513 VkStructureType sType; 6514 const void* pNext; 6515 VkBuffer buffer; 6516 } VkBufferDeviceAddressInfo; 6517 6518 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 6519 VkStructureType sType; 6520 const void* pNext; 6521 uint64_t opaqueCaptureAddress; 6522 } VkBufferOpaqueCaptureAddressCreateInfo; 6523 6524 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 6525 VkStructureType sType; 6526 const void* pNext; 6527 uint64_t opaqueCaptureAddress; 6528 } VkMemoryOpaqueCaptureAddressAllocateInfo; 6529 6530 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 6531 VkStructureType sType; 6532 const void* pNext; 6533 VkDeviceMemory memory; 6534 } VkDeviceMemoryOpaqueCaptureAddressInfo; 6535 6536 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6537 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 6538 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6539 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6540 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6541 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6542 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 6543 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 6544 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 6545 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 6546 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6547 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 6548 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6549 6550 #ifndef VK_NO_PROTOTYPES 6551 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 6552 VkCommandBuffer commandBuffer, 6553 VkBuffer buffer, 6554 VkDeviceSize offset, 6555 VkBuffer countBuffer, 6556 VkDeviceSize countBufferOffset, 6557 uint32_t maxDrawCount, 6558 uint32_t stride); 6559 6560 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 6561 VkCommandBuffer commandBuffer, 6562 VkBuffer buffer, 6563 VkDeviceSize offset, 6564 VkBuffer countBuffer, 6565 VkDeviceSize countBufferOffset, 6566 uint32_t maxDrawCount, 6567 uint32_t stride); 6568 6569 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 6570 VkDevice device, 6571 const VkRenderPassCreateInfo2* pCreateInfo, 6572 const VkAllocationCallbacks* pAllocator, 6573 VkRenderPass* pRenderPass); 6574 6575 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 6576 VkCommandBuffer commandBuffer, 6577 const VkRenderPassBeginInfo* pRenderPassBegin, 6578 const VkSubpassBeginInfo* pSubpassBeginInfo); 6579 6580 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 6581 VkCommandBuffer commandBuffer, 6582 const VkSubpassBeginInfo* pSubpassBeginInfo, 6583 const VkSubpassEndInfo* pSubpassEndInfo); 6584 6585 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 6586 VkCommandBuffer commandBuffer, 6587 const VkSubpassEndInfo* pSubpassEndInfo); 6588 6589 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 6590 VkDevice device, 6591 VkQueryPool queryPool, 6592 uint32_t firstQuery, 6593 uint32_t queryCount); 6594 6595 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 6596 VkDevice device, 6597 VkSemaphore semaphore, 6598 uint64_t* pValue); 6599 6600 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 6601 VkDevice device, 6602 const VkSemaphoreWaitInfo* pWaitInfo, 6603 uint64_t timeout); 6604 6605 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 6606 VkDevice device, 6607 const VkSemaphoreSignalInfo* pSignalInfo); 6608 6609 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 6610 VkDevice device, 6611 const VkBufferDeviceAddressInfo* pInfo); 6612 6613 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 6614 VkDevice device, 6615 const VkBufferDeviceAddressInfo* pInfo); 6616 6617 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 6618 VkDevice device, 6619 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 6620 #endif 6621 6622 6623 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6624 #define VK_VERSION_1_3 1 6625 // Vulkan 1.3 version number 6626 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 6627 6628 typedef uint64_t VkFlags64; 6629 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 6630 6631 typedef enum VkPipelineCreationFeedbackFlagBits { 6632 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 6633 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 6634 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 6635 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 6636 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 6637 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 6638 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6639 } VkPipelineCreationFeedbackFlagBits; 6640 typedef VkFlags VkPipelineCreationFeedbackFlags; 6641 6642 typedef enum VkToolPurposeFlagBits { 6643 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 6644 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 6645 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 6646 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 6647 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 6648 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 6649 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 6650 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 6651 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 6652 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 6653 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 6654 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 6655 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6656 } VkToolPurposeFlagBits; 6657 typedef VkFlags VkToolPurposeFlags; 6658 typedef VkFlags VkPrivateDataSlotCreateFlags; 6659 typedef VkFlags64 VkPipelineStageFlags2; 6660 6661 // Flag bits for VkPipelineStageFlagBits2 6662 typedef VkFlags64 VkPipelineStageFlagBits2; 6663 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 6664 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 6665 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 6666 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 6667 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 6668 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 6669 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 6670 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 6671 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 6672 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 6673 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 6674 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 6675 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 6676 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 6677 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 6678 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 6679 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 6680 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 6681 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 6682 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 6683 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 6684 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 6685 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 6686 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 6687 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 6688 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6689 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6690 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6691 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6692 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6693 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6694 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6695 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6696 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6697 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6698 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6699 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6700 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6701 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6702 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6703 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6704 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6705 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6706 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6707 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6708 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6709 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6710 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6711 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6712 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6713 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6714 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6715 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6716 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6717 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6718 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6719 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6720 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6721 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6722 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6723 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6724 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6725 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6726 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6727 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6728 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6729 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6730 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6731 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6732 // VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI is a deprecated alias 6733 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6734 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6735 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6736 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6737 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6738 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6739 6740 typedef VkFlags64 VkAccessFlags2; 6741 6742 // Flag bits for VkAccessFlagBits2 6743 typedef VkFlags64 VkAccessFlagBits2; 6744 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 6745 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 6746 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 6747 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 6748 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 6749 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 6750 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 6751 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 6752 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 6753 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 6754 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 6755 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 6756 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 6757 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 6758 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 6759 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 6760 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 6761 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 6762 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 6763 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 6764 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6765 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6766 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6767 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6768 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6769 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 6770 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6771 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6772 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6773 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6774 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6775 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6776 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6777 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6778 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6779 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6780 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6781 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6782 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6783 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6784 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6785 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6786 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6787 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6788 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6789 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6790 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6791 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6792 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6793 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6794 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6795 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6796 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6797 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6798 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6799 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6800 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6801 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6802 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6803 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6804 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6805 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6806 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6807 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6808 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6809 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6810 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6811 6812 6813 typedef enum VkSubmitFlagBits { 6814 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 6815 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 6816 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6817 } VkSubmitFlagBits; 6818 typedef VkFlags VkSubmitFlags; 6819 6820 typedef enum VkRenderingFlagBits { 6821 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6822 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6823 VK_RENDERING_RESUMING_BIT = 0x00000004, 6824 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6825 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, 6826 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6827 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 6828 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 6829 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR, 6830 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6831 } VkRenderingFlagBits; 6832 typedef VkFlags VkRenderingFlags; 6833 typedef VkFlags64 VkFormatFeatureFlags2; 6834 6835 // Flag bits for VkFormatFeatureFlagBits2 6836 typedef VkFlags64 VkFormatFeatureFlagBits2; 6837 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 6838 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 6839 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 6840 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 6841 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 6842 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 6843 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 6844 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 6845 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 6846 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 6847 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 6848 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 6849 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 6850 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 6851 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 6852 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 6853 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 6854 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 6855 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 6856 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 6857 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 6858 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 6859 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 6860 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 6861 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 6862 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6863 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 6864 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = 0x400000000000ULL; 6865 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6866 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6867 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6868 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6869 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6870 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6871 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6872 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6873 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 6874 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 6875 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 6876 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 6877 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 6878 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 6879 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 6880 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 6881 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 6882 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 6883 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 6884 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 6885 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 6886 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 6887 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 6888 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 6889 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 6890 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 6891 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 6892 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 6893 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 6894 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 6895 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 6896 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6897 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6898 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 6899 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 6900 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6901 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6902 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6903 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6904 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6905 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6906 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6907 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6908 6909 typedef struct VkPhysicalDeviceVulkan13Features { 6910 VkStructureType sType; 6911 void* pNext; 6912 VkBool32 robustImageAccess; 6913 VkBool32 inlineUniformBlock; 6914 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 6915 VkBool32 pipelineCreationCacheControl; 6916 VkBool32 privateData; 6917 VkBool32 shaderDemoteToHelperInvocation; 6918 VkBool32 shaderTerminateInvocation; 6919 VkBool32 subgroupSizeControl; 6920 VkBool32 computeFullSubgroups; 6921 VkBool32 synchronization2; 6922 VkBool32 textureCompressionASTC_HDR; 6923 VkBool32 shaderZeroInitializeWorkgroupMemory; 6924 VkBool32 dynamicRendering; 6925 VkBool32 shaderIntegerDotProduct; 6926 VkBool32 maintenance4; 6927 } VkPhysicalDeviceVulkan13Features; 6928 6929 typedef struct VkPhysicalDeviceVulkan13Properties { 6930 VkStructureType sType; 6931 void* pNext; 6932 uint32_t minSubgroupSize; 6933 uint32_t maxSubgroupSize; 6934 uint32_t maxComputeWorkgroupSubgroups; 6935 VkShaderStageFlags requiredSubgroupSizeStages; 6936 uint32_t maxInlineUniformBlockSize; 6937 uint32_t maxPerStageDescriptorInlineUniformBlocks; 6938 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 6939 uint32_t maxDescriptorSetInlineUniformBlocks; 6940 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 6941 uint32_t maxInlineUniformTotalSize; 6942 VkBool32 integerDotProduct8BitUnsignedAccelerated; 6943 VkBool32 integerDotProduct8BitSignedAccelerated; 6944 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 6945 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 6946 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 6947 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 6948 VkBool32 integerDotProduct16BitUnsignedAccelerated; 6949 VkBool32 integerDotProduct16BitSignedAccelerated; 6950 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 6951 VkBool32 integerDotProduct32BitUnsignedAccelerated; 6952 VkBool32 integerDotProduct32BitSignedAccelerated; 6953 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 6954 VkBool32 integerDotProduct64BitUnsignedAccelerated; 6955 VkBool32 integerDotProduct64BitSignedAccelerated; 6956 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 6957 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 6958 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 6959 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 6960 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 6961 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 6962 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 6963 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 6964 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 6965 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 6966 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 6967 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 6968 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 6969 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 6970 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 6971 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 6972 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 6973 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 6974 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 6975 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 6976 VkDeviceSize maxBufferSize; 6977 } VkPhysicalDeviceVulkan13Properties; 6978 6979 typedef struct VkPipelineCreationFeedback { 6980 VkPipelineCreationFeedbackFlags flags; 6981 uint64_t duration; 6982 } VkPipelineCreationFeedback; 6983 6984 typedef struct VkPipelineCreationFeedbackCreateInfo { 6985 VkStructureType sType; 6986 const void* pNext; 6987 VkPipelineCreationFeedback* pPipelineCreationFeedback; 6988 uint32_t pipelineStageCreationFeedbackCount; 6989 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 6990 } VkPipelineCreationFeedbackCreateInfo; 6991 6992 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 6993 VkStructureType sType; 6994 void* pNext; 6995 VkBool32 shaderTerminateInvocation; 6996 } VkPhysicalDeviceShaderTerminateInvocationFeatures; 6997 6998 typedef struct VkPhysicalDeviceToolProperties { 6999 VkStructureType sType; 7000 void* pNext; 7001 char name[VK_MAX_EXTENSION_NAME_SIZE]; 7002 char version[VK_MAX_EXTENSION_NAME_SIZE]; 7003 VkToolPurposeFlags purposes; 7004 char description[VK_MAX_DESCRIPTION_SIZE]; 7005 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 7006 } VkPhysicalDeviceToolProperties; 7007 7008 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 7009 VkStructureType sType; 7010 void* pNext; 7011 VkBool32 shaderDemoteToHelperInvocation; 7012 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 7013 7014 typedef struct VkPhysicalDevicePrivateDataFeatures { 7015 VkStructureType sType; 7016 void* pNext; 7017 VkBool32 privateData; 7018 } VkPhysicalDevicePrivateDataFeatures; 7019 7020 typedef struct VkDevicePrivateDataCreateInfo { 7021 VkStructureType sType; 7022 const void* pNext; 7023 uint32_t privateDataSlotRequestCount; 7024 } VkDevicePrivateDataCreateInfo; 7025 7026 typedef struct VkPrivateDataSlotCreateInfo { 7027 VkStructureType sType; 7028 const void* pNext; 7029 VkPrivateDataSlotCreateFlags flags; 7030 } VkPrivateDataSlotCreateInfo; 7031 7032 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 7033 VkStructureType sType; 7034 void* pNext; 7035 VkBool32 pipelineCreationCacheControl; 7036 } VkPhysicalDevicePipelineCreationCacheControlFeatures; 7037 7038 typedef struct VkMemoryBarrier2 { 7039 VkStructureType sType; 7040 const void* pNext; 7041 VkPipelineStageFlags2 srcStageMask; 7042 VkAccessFlags2 srcAccessMask; 7043 VkPipelineStageFlags2 dstStageMask; 7044 VkAccessFlags2 dstAccessMask; 7045 } VkMemoryBarrier2; 7046 7047 typedef struct VkBufferMemoryBarrier2 { 7048 VkStructureType sType; 7049 const void* pNext; 7050 VkPipelineStageFlags2 srcStageMask; 7051 VkAccessFlags2 srcAccessMask; 7052 VkPipelineStageFlags2 dstStageMask; 7053 VkAccessFlags2 dstAccessMask; 7054 uint32_t srcQueueFamilyIndex; 7055 uint32_t dstQueueFamilyIndex; 7056 VkBuffer buffer; 7057 VkDeviceSize offset; 7058 VkDeviceSize size; 7059 } VkBufferMemoryBarrier2; 7060 7061 typedef struct VkImageMemoryBarrier2 { 7062 VkStructureType sType; 7063 const void* pNext; 7064 VkPipelineStageFlags2 srcStageMask; 7065 VkAccessFlags2 srcAccessMask; 7066 VkPipelineStageFlags2 dstStageMask; 7067 VkAccessFlags2 dstAccessMask; 7068 VkImageLayout oldLayout; 7069 VkImageLayout newLayout; 7070 uint32_t srcQueueFamilyIndex; 7071 uint32_t dstQueueFamilyIndex; 7072 VkImage image; 7073 VkImageSubresourceRange subresourceRange; 7074 } VkImageMemoryBarrier2; 7075 7076 typedef struct VkDependencyInfo { 7077 VkStructureType sType; 7078 const void* pNext; 7079 VkDependencyFlags dependencyFlags; 7080 uint32_t memoryBarrierCount; 7081 const VkMemoryBarrier2* pMemoryBarriers; 7082 uint32_t bufferMemoryBarrierCount; 7083 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 7084 uint32_t imageMemoryBarrierCount; 7085 const VkImageMemoryBarrier2* pImageMemoryBarriers; 7086 } VkDependencyInfo; 7087 7088 typedef struct VkSemaphoreSubmitInfo { 7089 VkStructureType sType; 7090 const void* pNext; 7091 VkSemaphore semaphore; 7092 uint64_t value; 7093 VkPipelineStageFlags2 stageMask; 7094 uint32_t deviceIndex; 7095 } VkSemaphoreSubmitInfo; 7096 7097 typedef struct VkCommandBufferSubmitInfo { 7098 VkStructureType sType; 7099 const void* pNext; 7100 VkCommandBuffer commandBuffer; 7101 uint32_t deviceMask; 7102 } VkCommandBufferSubmitInfo; 7103 7104 typedef struct VkSubmitInfo2 { 7105 VkStructureType sType; 7106 const void* pNext; 7107 VkSubmitFlags flags; 7108 uint32_t waitSemaphoreInfoCount; 7109 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7110 uint32_t commandBufferInfoCount; 7111 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7112 uint32_t signalSemaphoreInfoCount; 7113 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7114 } VkSubmitInfo2; 7115 7116 typedef struct VkPhysicalDeviceSynchronization2Features { 7117 VkStructureType sType; 7118 void* pNext; 7119 VkBool32 synchronization2; 7120 } VkPhysicalDeviceSynchronization2Features; 7121 7122 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7123 VkStructureType sType; 7124 void* pNext; 7125 VkBool32 shaderZeroInitializeWorkgroupMemory; 7126 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7127 7128 typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7129 VkStructureType sType; 7130 void* pNext; 7131 VkBool32 robustImageAccess; 7132 } VkPhysicalDeviceImageRobustnessFeatures; 7133 7134 typedef struct VkBufferCopy2 { 7135 VkStructureType sType; 7136 const void* pNext; 7137 VkDeviceSize srcOffset; 7138 VkDeviceSize dstOffset; 7139 VkDeviceSize size; 7140 } VkBufferCopy2; 7141 7142 typedef struct VkCopyBufferInfo2 { 7143 VkStructureType sType; 7144 const void* pNext; 7145 VkBuffer srcBuffer; 7146 VkBuffer dstBuffer; 7147 uint32_t regionCount; 7148 const VkBufferCopy2* pRegions; 7149 } VkCopyBufferInfo2; 7150 7151 typedef struct VkImageCopy2 { 7152 VkStructureType sType; 7153 const void* pNext; 7154 VkImageSubresourceLayers srcSubresource; 7155 VkOffset3D srcOffset; 7156 VkImageSubresourceLayers dstSubresource; 7157 VkOffset3D dstOffset; 7158 VkExtent3D extent; 7159 } VkImageCopy2; 7160 7161 typedef struct VkCopyImageInfo2 { 7162 VkStructureType sType; 7163 const void* pNext; 7164 VkImage srcImage; 7165 VkImageLayout srcImageLayout; 7166 VkImage dstImage; 7167 VkImageLayout dstImageLayout; 7168 uint32_t regionCount; 7169 const VkImageCopy2* pRegions; 7170 } VkCopyImageInfo2; 7171 7172 typedef struct VkBufferImageCopy2 { 7173 VkStructureType sType; 7174 const void* pNext; 7175 VkDeviceSize bufferOffset; 7176 uint32_t bufferRowLength; 7177 uint32_t bufferImageHeight; 7178 VkImageSubresourceLayers imageSubresource; 7179 VkOffset3D imageOffset; 7180 VkExtent3D imageExtent; 7181 } VkBufferImageCopy2; 7182 7183 typedef struct VkCopyBufferToImageInfo2 { 7184 VkStructureType sType; 7185 const void* pNext; 7186 VkBuffer srcBuffer; 7187 VkImage dstImage; 7188 VkImageLayout dstImageLayout; 7189 uint32_t regionCount; 7190 const VkBufferImageCopy2* pRegions; 7191 } VkCopyBufferToImageInfo2; 7192 7193 typedef struct VkCopyImageToBufferInfo2 { 7194 VkStructureType sType; 7195 const void* pNext; 7196 VkImage srcImage; 7197 VkImageLayout srcImageLayout; 7198 VkBuffer dstBuffer; 7199 uint32_t regionCount; 7200 const VkBufferImageCopy2* pRegions; 7201 } VkCopyImageToBufferInfo2; 7202 7203 typedef struct VkImageBlit2 { 7204 VkStructureType sType; 7205 const void* pNext; 7206 VkImageSubresourceLayers srcSubresource; 7207 VkOffset3D srcOffsets[2]; 7208 VkImageSubresourceLayers dstSubresource; 7209 VkOffset3D dstOffsets[2]; 7210 } VkImageBlit2; 7211 7212 typedef struct VkBlitImageInfo2 { 7213 VkStructureType sType; 7214 const void* pNext; 7215 VkImage srcImage; 7216 VkImageLayout srcImageLayout; 7217 VkImage dstImage; 7218 VkImageLayout dstImageLayout; 7219 uint32_t regionCount; 7220 const VkImageBlit2* pRegions; 7221 VkFilter filter; 7222 } VkBlitImageInfo2; 7223 7224 typedef struct VkImageResolve2 { 7225 VkStructureType sType; 7226 const void* pNext; 7227 VkImageSubresourceLayers srcSubresource; 7228 VkOffset3D srcOffset; 7229 VkImageSubresourceLayers dstSubresource; 7230 VkOffset3D dstOffset; 7231 VkExtent3D extent; 7232 } VkImageResolve2; 7233 7234 typedef struct VkResolveImageInfo2 { 7235 VkStructureType sType; 7236 const void* pNext; 7237 VkImage srcImage; 7238 VkImageLayout srcImageLayout; 7239 VkImage dstImage; 7240 VkImageLayout dstImageLayout; 7241 uint32_t regionCount; 7242 const VkImageResolve2* pRegions; 7243 } VkResolveImageInfo2; 7244 7245 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 7246 VkStructureType sType; 7247 void* pNext; 7248 VkBool32 subgroupSizeControl; 7249 VkBool32 computeFullSubgroups; 7250 } VkPhysicalDeviceSubgroupSizeControlFeatures; 7251 7252 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 7253 VkStructureType sType; 7254 void* pNext; 7255 uint32_t minSubgroupSize; 7256 uint32_t maxSubgroupSize; 7257 uint32_t maxComputeWorkgroupSubgroups; 7258 VkShaderStageFlags requiredSubgroupSizeStages; 7259 } VkPhysicalDeviceSubgroupSizeControlProperties; 7260 7261 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 7262 VkStructureType sType; 7263 void* pNext; 7264 uint32_t requiredSubgroupSize; 7265 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 7266 7267 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 7268 VkStructureType sType; 7269 void* pNext; 7270 VkBool32 inlineUniformBlock; 7271 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7272 } VkPhysicalDeviceInlineUniformBlockFeatures; 7273 7274 typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 7275 VkStructureType sType; 7276 void* pNext; 7277 uint32_t maxInlineUniformBlockSize; 7278 uint32_t maxPerStageDescriptorInlineUniformBlocks; 7279 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7280 uint32_t maxDescriptorSetInlineUniformBlocks; 7281 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7282 } VkPhysicalDeviceInlineUniformBlockProperties; 7283 7284 typedef struct VkWriteDescriptorSetInlineUniformBlock { 7285 VkStructureType sType; 7286 const void* pNext; 7287 uint32_t dataSize; 7288 const void* pData; 7289 } VkWriteDescriptorSetInlineUniformBlock; 7290 7291 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 7292 VkStructureType sType; 7293 const void* pNext; 7294 uint32_t maxInlineUniformBlockBindings; 7295 } VkDescriptorPoolInlineUniformBlockCreateInfo; 7296 7297 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 7298 VkStructureType sType; 7299 void* pNext; 7300 VkBool32 textureCompressionASTC_HDR; 7301 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 7302 7303 typedef struct VkRenderingAttachmentInfo { 7304 VkStructureType sType; 7305 const void* pNext; 7306 VkImageView imageView; 7307 VkImageLayout imageLayout; 7308 VkResolveModeFlagBits resolveMode; 7309 VkImageView resolveImageView; 7310 VkImageLayout resolveImageLayout; 7311 VkAttachmentLoadOp loadOp; 7312 VkAttachmentStoreOp storeOp; 7313 VkClearValue clearValue; 7314 } VkRenderingAttachmentInfo; 7315 7316 typedef struct VkRenderingInfo { 7317 VkStructureType sType; 7318 const void* pNext; 7319 VkRenderingFlags flags; 7320 VkRect2D renderArea; 7321 uint32_t layerCount; 7322 uint32_t viewMask; 7323 uint32_t colorAttachmentCount; 7324 const VkRenderingAttachmentInfo* pColorAttachments; 7325 const VkRenderingAttachmentInfo* pDepthAttachment; 7326 const VkRenderingAttachmentInfo* pStencilAttachment; 7327 } VkRenderingInfo; 7328 7329 typedef struct VkPipelineRenderingCreateInfo { 7330 VkStructureType sType; 7331 const void* pNext; 7332 uint32_t viewMask; 7333 uint32_t colorAttachmentCount; 7334 const VkFormat* pColorAttachmentFormats; 7335 VkFormat depthAttachmentFormat; 7336 VkFormat stencilAttachmentFormat; 7337 } VkPipelineRenderingCreateInfo; 7338 7339 typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 7340 VkStructureType sType; 7341 void* pNext; 7342 VkBool32 dynamicRendering; 7343 } VkPhysicalDeviceDynamicRenderingFeatures; 7344 7345 typedef struct VkCommandBufferInheritanceRenderingInfo { 7346 VkStructureType sType; 7347 const void* pNext; 7348 VkRenderingFlags flags; 7349 uint32_t viewMask; 7350 uint32_t colorAttachmentCount; 7351 const VkFormat* pColorAttachmentFormats; 7352 VkFormat depthAttachmentFormat; 7353 VkFormat stencilAttachmentFormat; 7354 VkSampleCountFlagBits rasterizationSamples; 7355 } VkCommandBufferInheritanceRenderingInfo; 7356 7357 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 7358 VkStructureType sType; 7359 void* pNext; 7360 VkBool32 shaderIntegerDotProduct; 7361 } VkPhysicalDeviceShaderIntegerDotProductFeatures; 7362 7363 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 7364 VkStructureType sType; 7365 void* pNext; 7366 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7367 VkBool32 integerDotProduct8BitSignedAccelerated; 7368 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7369 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7370 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7371 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7372 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7373 VkBool32 integerDotProduct16BitSignedAccelerated; 7374 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7375 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7376 VkBool32 integerDotProduct32BitSignedAccelerated; 7377 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7378 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7379 VkBool32 integerDotProduct64BitSignedAccelerated; 7380 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7381 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7382 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7383 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7384 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7385 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7386 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7387 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7388 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7389 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7390 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7391 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7392 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7393 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7394 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7395 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7396 } VkPhysicalDeviceShaderIntegerDotProductProperties; 7397 7398 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 7399 VkStructureType sType; 7400 void* pNext; 7401 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7402 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7403 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7404 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7405 } VkPhysicalDeviceTexelBufferAlignmentProperties; 7406 7407 typedef struct VkFormatProperties3 { 7408 VkStructureType sType; 7409 void* pNext; 7410 VkFormatFeatureFlags2 linearTilingFeatures; 7411 VkFormatFeatureFlags2 optimalTilingFeatures; 7412 VkFormatFeatureFlags2 bufferFeatures; 7413 } VkFormatProperties3; 7414 7415 typedef struct VkPhysicalDeviceMaintenance4Features { 7416 VkStructureType sType; 7417 void* pNext; 7418 VkBool32 maintenance4; 7419 } VkPhysicalDeviceMaintenance4Features; 7420 7421 typedef struct VkPhysicalDeviceMaintenance4Properties { 7422 VkStructureType sType; 7423 void* pNext; 7424 VkDeviceSize maxBufferSize; 7425 } VkPhysicalDeviceMaintenance4Properties; 7426 7427 typedef struct VkDeviceBufferMemoryRequirements { 7428 VkStructureType sType; 7429 const void* pNext; 7430 const VkBufferCreateInfo* pCreateInfo; 7431 } VkDeviceBufferMemoryRequirements; 7432 7433 typedef struct VkDeviceImageMemoryRequirements { 7434 VkStructureType sType; 7435 const void* pNext; 7436 const VkImageCreateInfo* pCreateInfo; 7437 VkImageAspectFlagBits planeAspect; 7438 } VkDeviceImageMemoryRequirements; 7439 7440 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 7441 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 7442 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 7443 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 7444 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 7445 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 7446 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 7447 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 7448 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 7449 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 7450 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 7451 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 7452 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 7453 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7454 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7455 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 7456 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 7457 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 7458 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 7459 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7460 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7461 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7462 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 7463 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 7464 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); 7465 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7466 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7467 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7468 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7469 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7470 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7471 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7472 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7473 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7474 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7475 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 7476 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7477 7478 #ifndef VK_NO_PROTOTYPES 7479 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 7480 VkPhysicalDevice physicalDevice, 7481 uint32_t* pToolCount, 7482 VkPhysicalDeviceToolProperties* pToolProperties); 7483 7484 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 7485 VkDevice device, 7486 const VkPrivateDataSlotCreateInfo* pCreateInfo, 7487 const VkAllocationCallbacks* pAllocator, 7488 VkPrivateDataSlot* pPrivateDataSlot); 7489 7490 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 7491 VkDevice device, 7492 VkPrivateDataSlot privateDataSlot, 7493 const VkAllocationCallbacks* pAllocator); 7494 7495 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 7496 VkDevice device, 7497 VkObjectType objectType, 7498 uint64_t objectHandle, 7499 VkPrivateDataSlot privateDataSlot, 7500 uint64_t data); 7501 7502 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 7503 VkDevice device, 7504 VkObjectType objectType, 7505 uint64_t objectHandle, 7506 VkPrivateDataSlot privateDataSlot, 7507 uint64_t* pData); 7508 7509 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 7510 VkCommandBuffer commandBuffer, 7511 VkEvent event, 7512 const VkDependencyInfo* pDependencyInfo); 7513 7514 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 7515 VkCommandBuffer commandBuffer, 7516 VkEvent event, 7517 VkPipelineStageFlags2 stageMask); 7518 7519 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 7520 VkCommandBuffer commandBuffer, 7521 uint32_t eventCount, 7522 const VkEvent* pEvents, 7523 const VkDependencyInfo* pDependencyInfos); 7524 7525 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 7526 VkCommandBuffer commandBuffer, 7527 const VkDependencyInfo* pDependencyInfo); 7528 7529 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 7530 VkCommandBuffer commandBuffer, 7531 VkPipelineStageFlags2 stage, 7532 VkQueryPool queryPool, 7533 uint32_t query); 7534 7535 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 7536 VkQueue queue, 7537 uint32_t submitCount, 7538 const VkSubmitInfo2* pSubmits, 7539 VkFence fence); 7540 7541 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 7542 VkCommandBuffer commandBuffer, 7543 const VkCopyBufferInfo2* pCopyBufferInfo); 7544 7545 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 7546 VkCommandBuffer commandBuffer, 7547 const VkCopyImageInfo2* pCopyImageInfo); 7548 7549 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 7550 VkCommandBuffer commandBuffer, 7551 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 7552 7553 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 7554 VkCommandBuffer commandBuffer, 7555 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 7556 7557 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 7558 VkCommandBuffer commandBuffer, 7559 const VkBlitImageInfo2* pBlitImageInfo); 7560 7561 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 7562 VkCommandBuffer commandBuffer, 7563 const VkResolveImageInfo2* pResolveImageInfo); 7564 7565 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 7566 VkCommandBuffer commandBuffer, 7567 const VkRenderingInfo* pRenderingInfo); 7568 7569 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 7570 VkCommandBuffer commandBuffer); 7571 7572 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 7573 VkCommandBuffer commandBuffer, 7574 VkCullModeFlags cullMode); 7575 7576 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 7577 VkCommandBuffer commandBuffer, 7578 VkFrontFace frontFace); 7579 7580 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 7581 VkCommandBuffer commandBuffer, 7582 VkPrimitiveTopology primitiveTopology); 7583 7584 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 7585 VkCommandBuffer commandBuffer, 7586 uint32_t viewportCount, 7587 const VkViewport* pViewports); 7588 7589 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 7590 VkCommandBuffer commandBuffer, 7591 uint32_t scissorCount, 7592 const VkRect2D* pScissors); 7593 7594 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 7595 VkCommandBuffer commandBuffer, 7596 uint32_t firstBinding, 7597 uint32_t bindingCount, 7598 const VkBuffer* pBuffers, 7599 const VkDeviceSize* pOffsets, 7600 const VkDeviceSize* pSizes, 7601 const VkDeviceSize* pStrides); 7602 7603 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 7604 VkCommandBuffer commandBuffer, 7605 VkBool32 depthTestEnable); 7606 7607 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 7608 VkCommandBuffer commandBuffer, 7609 VkBool32 depthWriteEnable); 7610 7611 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 7612 VkCommandBuffer commandBuffer, 7613 VkCompareOp depthCompareOp); 7614 7615 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 7616 VkCommandBuffer commandBuffer, 7617 VkBool32 depthBoundsTestEnable); 7618 7619 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 7620 VkCommandBuffer commandBuffer, 7621 VkBool32 stencilTestEnable); 7622 7623 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 7624 VkCommandBuffer commandBuffer, 7625 VkStencilFaceFlags faceMask, 7626 VkStencilOp failOp, 7627 VkStencilOp passOp, 7628 VkStencilOp depthFailOp, 7629 VkCompareOp compareOp); 7630 7631 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 7632 VkCommandBuffer commandBuffer, 7633 VkBool32 rasterizerDiscardEnable); 7634 7635 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 7636 VkCommandBuffer commandBuffer, 7637 VkBool32 depthBiasEnable); 7638 7639 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 7640 VkCommandBuffer commandBuffer, 7641 VkBool32 primitiveRestartEnable); 7642 7643 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 7644 VkDevice device, 7645 const VkDeviceBufferMemoryRequirements* pInfo, 7646 VkMemoryRequirements2* pMemoryRequirements); 7647 7648 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 7649 VkDevice device, 7650 const VkDeviceImageMemoryRequirements* pInfo, 7651 VkMemoryRequirements2* pMemoryRequirements); 7652 7653 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 7654 VkDevice device, 7655 const VkDeviceImageMemoryRequirements* pInfo, 7656 uint32_t* pSparseMemoryRequirementCount, 7657 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 7658 #endif 7659 7660 7661 // VK_VERSION_1_4 is a preprocessor guard. Do not pass it to API calls. 7662 #define VK_VERSION_1_4 1 7663 // Vulkan 1.4 version number 7664 #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0)// Patch version should always be set to 0 7665 7666 #define VK_MAX_GLOBAL_PRIORITY_SIZE 16U 7667 7668 typedef enum VkPipelineRobustnessBufferBehavior { 7669 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT = 0, 7670 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED = 1, 7671 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS = 2, 7672 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 = 3, 7673 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT, 7674 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED, 7675 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS, 7676 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2, 7677 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7678 } VkPipelineRobustnessBufferBehavior; 7679 7680 typedef enum VkPipelineRobustnessImageBehavior { 7681 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT = 0, 7682 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED = 1, 7683 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS = 2, 7684 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2 = 3, 7685 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT, 7686 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED, 7687 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS, 7688 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2, 7689 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 7690 } VkPipelineRobustnessImageBehavior; 7691 7692 typedef enum VkQueueGlobalPriority { 7693 VK_QUEUE_GLOBAL_PRIORITY_LOW = 128, 7694 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM = 256, 7695 VK_QUEUE_GLOBAL_PRIORITY_HIGH = 512, 7696 VK_QUEUE_GLOBAL_PRIORITY_REALTIME = 1024, 7697 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7698 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7699 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7700 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7701 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = VK_QUEUE_GLOBAL_PRIORITY_LOW, 7702 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM, 7703 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = VK_QUEUE_GLOBAL_PRIORITY_HIGH, 7704 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = VK_QUEUE_GLOBAL_PRIORITY_REALTIME, 7705 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM = 0x7FFFFFFF 7706 } VkQueueGlobalPriority; 7707 7708 typedef enum VkLineRasterizationMode { 7709 VK_LINE_RASTERIZATION_MODE_DEFAULT = 0, 7710 VK_LINE_RASTERIZATION_MODE_RECTANGULAR = 1, 7711 VK_LINE_RASTERIZATION_MODE_BRESENHAM = 2, 7712 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH = 3, 7713 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7714 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7715 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7716 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7717 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = VK_LINE_RASTERIZATION_MODE_DEFAULT, 7718 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, 7719 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM, 7720 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, 7721 VK_LINE_RASTERIZATION_MODE_MAX_ENUM = 0x7FFFFFFF 7722 } VkLineRasterizationMode; 7723 7724 typedef enum VkMemoryUnmapFlagBits { 7725 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001, 7726 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7727 } VkMemoryUnmapFlagBits; 7728 typedef VkFlags VkMemoryUnmapFlags; 7729 typedef VkFlags64 VkPipelineCreateFlags2; 7730 7731 // Flag bits for VkPipelineCreateFlagBits2 7732 typedef VkFlags64 VkPipelineCreateFlagBits2; 7733 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT = 0x00000001ULL; 7734 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT = 0x00000002ULL; 7735 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT = 0x00000004ULL; 7736 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008ULL; 7737 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT = 0x00000010ULL; 7738 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100ULL; 7739 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200ULL; 7740 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; 7741 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 7742 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 7743 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 7744 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 7745 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 7746 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 7747 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 7748 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 7749 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 7750 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 7751 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 7752 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 7753 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 7754 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 7755 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 7756 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 7757 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 7758 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 7759 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 7760 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 7761 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 7762 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 7763 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 7764 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 7765 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 7766 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 7767 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 7768 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 7769 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 7770 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 7771 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 7772 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; 7773 7774 typedef VkFlags64 VkBufferUsageFlags2; 7775 7776 // Flag bits for VkBufferUsageFlagBits2 7777 typedef VkFlags64 VkBufferUsageFlagBits2; 7778 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT = 0x00000001ULL; 7779 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT = 0x00000002ULL; 7780 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004ULL; 7781 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000008ULL; 7782 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT = 0x00000010ULL; 7783 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT = 0x00000020ULL; 7784 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT = 0x00000040ULL; 7785 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT = 0x00000080ULL; 7786 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT = 0x00000100ULL; 7787 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT = 0x00020000ULL; 7788 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 7789 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 7790 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 7791 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 7792 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 7793 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 7794 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 7795 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 7796 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 7797 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 7798 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 7799 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 7800 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 7801 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 7802 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 7803 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 7804 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 7805 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 7806 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 7807 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 7808 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 7809 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 7810 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 7811 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 7812 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 7813 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 7814 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 7815 7816 7817 typedef enum VkHostImageCopyFlagBits { 7818 VK_HOST_IMAGE_COPY_MEMCPY = 0x00000001, 7819 VK_HOST_IMAGE_COPY_MEMCPY_EXT = VK_HOST_IMAGE_COPY_MEMCPY, 7820 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7821 } VkHostImageCopyFlagBits; 7822 typedef VkFlags VkHostImageCopyFlags; 7823 typedef struct VkPhysicalDeviceVulkan14Features { 7824 VkStructureType sType; 7825 void* pNext; 7826 VkBool32 globalPriorityQuery; 7827 VkBool32 shaderSubgroupRotate; 7828 VkBool32 shaderSubgroupRotateClustered; 7829 VkBool32 shaderFloatControls2; 7830 VkBool32 shaderExpectAssume; 7831 VkBool32 rectangularLines; 7832 VkBool32 bresenhamLines; 7833 VkBool32 smoothLines; 7834 VkBool32 stippledRectangularLines; 7835 VkBool32 stippledBresenhamLines; 7836 VkBool32 stippledSmoothLines; 7837 VkBool32 vertexAttributeInstanceRateDivisor; 7838 VkBool32 vertexAttributeInstanceRateZeroDivisor; 7839 VkBool32 indexTypeUint8; 7840 VkBool32 dynamicRenderingLocalRead; 7841 VkBool32 maintenance5; 7842 VkBool32 maintenance6; 7843 VkBool32 pipelineProtectedAccess; 7844 VkBool32 pipelineRobustness; 7845 VkBool32 hostImageCopy; 7846 } VkPhysicalDeviceVulkan14Features; 7847 7848 typedef struct VkPhysicalDeviceVulkan14Properties { 7849 VkStructureType sType; 7850 void* pNext; 7851 uint32_t lineSubPixelPrecisionBits; 7852 uint32_t maxVertexAttribDivisor; 7853 VkBool32 supportsNonZeroFirstInstance; 7854 uint32_t maxPushDescriptors; 7855 VkBool32 dynamicRenderingLocalReadDepthStencilAttachments; 7856 VkBool32 dynamicRenderingLocalReadMultisampledAttachments; 7857 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 7858 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 7859 VkBool32 depthStencilSwizzleOneSupport; 7860 VkBool32 polygonModePointSize; 7861 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 7862 VkBool32 nonStrictWideLinesUseParallelogram; 7863 VkBool32 blockTexelViewCompatibleMultipleLayers; 7864 uint32_t maxCombinedImageSamplerDescriptorCount; 7865 VkBool32 fragmentShadingRateClampCombinerInputs; 7866 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 7867 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 7868 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 7869 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 7870 uint32_t copySrcLayoutCount; 7871 VkImageLayout* pCopySrcLayouts; 7872 uint32_t copyDstLayoutCount; 7873 VkImageLayout* pCopyDstLayouts; 7874 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 7875 VkBool32 identicalMemoryTypeRequirements; 7876 } VkPhysicalDeviceVulkan14Properties; 7877 7878 typedef struct VkDeviceQueueGlobalPriorityCreateInfo { 7879 VkStructureType sType; 7880 const void* pNext; 7881 VkQueueGlobalPriority globalPriority; 7882 } VkDeviceQueueGlobalPriorityCreateInfo; 7883 7884 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures { 7885 VkStructureType sType; 7886 void* pNext; 7887 VkBool32 globalPriorityQuery; 7888 } VkPhysicalDeviceGlobalPriorityQueryFeatures; 7889 7890 typedef struct VkQueueFamilyGlobalPriorityProperties { 7891 VkStructureType sType; 7892 void* pNext; 7893 uint32_t priorityCount; 7894 VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE]; 7895 } VkQueueFamilyGlobalPriorityProperties; 7896 7897 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures { 7898 VkStructureType sType; 7899 void* pNext; 7900 VkBool32 shaderSubgroupRotate; 7901 VkBool32 shaderSubgroupRotateClustered; 7902 } VkPhysicalDeviceShaderSubgroupRotateFeatures; 7903 7904 typedef struct VkPhysicalDeviceShaderFloatControls2Features { 7905 VkStructureType sType; 7906 void* pNext; 7907 VkBool32 shaderFloatControls2; 7908 } VkPhysicalDeviceShaderFloatControls2Features; 7909 7910 typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures { 7911 VkStructureType sType; 7912 void* pNext; 7913 VkBool32 shaderExpectAssume; 7914 } VkPhysicalDeviceShaderExpectAssumeFeatures; 7915 7916 typedef struct VkPhysicalDeviceLineRasterizationFeatures { 7917 VkStructureType sType; 7918 void* pNext; 7919 VkBool32 rectangularLines; 7920 VkBool32 bresenhamLines; 7921 VkBool32 smoothLines; 7922 VkBool32 stippledRectangularLines; 7923 VkBool32 stippledBresenhamLines; 7924 VkBool32 stippledSmoothLines; 7925 } VkPhysicalDeviceLineRasterizationFeatures; 7926 7927 typedef struct VkPhysicalDeviceLineRasterizationProperties { 7928 VkStructureType sType; 7929 void* pNext; 7930 uint32_t lineSubPixelPrecisionBits; 7931 } VkPhysicalDeviceLineRasterizationProperties; 7932 7933 typedef struct VkPipelineRasterizationLineStateCreateInfo { 7934 VkStructureType sType; 7935 const void* pNext; 7936 VkLineRasterizationMode lineRasterizationMode; 7937 VkBool32 stippledLineEnable; 7938 uint32_t lineStippleFactor; 7939 uint16_t lineStipplePattern; 7940 } VkPipelineRasterizationLineStateCreateInfo; 7941 7942 typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties { 7943 VkStructureType sType; 7944 void* pNext; 7945 uint32_t maxVertexAttribDivisor; 7946 VkBool32 supportsNonZeroFirstInstance; 7947 } VkPhysicalDeviceVertexAttributeDivisorProperties; 7948 7949 typedef struct VkVertexInputBindingDivisorDescription { 7950 uint32_t binding; 7951 uint32_t divisor; 7952 } VkVertexInputBindingDivisorDescription; 7953 7954 typedef struct VkPipelineVertexInputDivisorStateCreateInfo { 7955 VkStructureType sType; 7956 const void* pNext; 7957 uint32_t vertexBindingDivisorCount; 7958 const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors; 7959 } VkPipelineVertexInputDivisorStateCreateInfo; 7960 7961 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures { 7962 VkStructureType sType; 7963 void* pNext; 7964 VkBool32 vertexAttributeInstanceRateDivisor; 7965 VkBool32 vertexAttributeInstanceRateZeroDivisor; 7966 } VkPhysicalDeviceVertexAttributeDivisorFeatures; 7967 7968 typedef struct VkPhysicalDeviceIndexTypeUint8Features { 7969 VkStructureType sType; 7970 void* pNext; 7971 VkBool32 indexTypeUint8; 7972 } VkPhysicalDeviceIndexTypeUint8Features; 7973 7974 typedef struct VkMemoryMapInfo { 7975 VkStructureType sType; 7976 const void* pNext; 7977 VkMemoryMapFlags flags; 7978 VkDeviceMemory memory; 7979 VkDeviceSize offset; 7980 VkDeviceSize size; 7981 } VkMemoryMapInfo; 7982 7983 typedef struct VkMemoryUnmapInfo { 7984 VkStructureType sType; 7985 const void* pNext; 7986 VkMemoryUnmapFlags flags; 7987 VkDeviceMemory memory; 7988 } VkMemoryUnmapInfo; 7989 7990 typedef struct VkPhysicalDeviceMaintenance5Features { 7991 VkStructureType sType; 7992 void* pNext; 7993 VkBool32 maintenance5; 7994 } VkPhysicalDeviceMaintenance5Features; 7995 7996 typedef struct VkPhysicalDeviceMaintenance5Properties { 7997 VkStructureType sType; 7998 void* pNext; 7999 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 8000 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 8001 VkBool32 depthStencilSwizzleOneSupport; 8002 VkBool32 polygonModePointSize; 8003 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 8004 VkBool32 nonStrictWideLinesUseParallelogram; 8005 } VkPhysicalDeviceMaintenance5Properties; 8006 8007 typedef struct VkRenderingAreaInfo { 8008 VkStructureType sType; 8009 const void* pNext; 8010 uint32_t viewMask; 8011 uint32_t colorAttachmentCount; 8012 const VkFormat* pColorAttachmentFormats; 8013 VkFormat depthAttachmentFormat; 8014 VkFormat stencilAttachmentFormat; 8015 } VkRenderingAreaInfo; 8016 8017 typedef struct VkImageSubresource2 { 8018 VkStructureType sType; 8019 void* pNext; 8020 VkImageSubresource imageSubresource; 8021 } VkImageSubresource2; 8022 8023 typedef struct VkDeviceImageSubresourceInfo { 8024 VkStructureType sType; 8025 const void* pNext; 8026 const VkImageCreateInfo* pCreateInfo; 8027 const VkImageSubresource2* pSubresource; 8028 } VkDeviceImageSubresourceInfo; 8029 8030 typedef struct VkSubresourceLayout2 { 8031 VkStructureType sType; 8032 void* pNext; 8033 VkSubresourceLayout subresourceLayout; 8034 } VkSubresourceLayout2; 8035 8036 typedef struct VkPipelineCreateFlags2CreateInfo { 8037 VkStructureType sType; 8038 const void* pNext; 8039 VkPipelineCreateFlags2 flags; 8040 } VkPipelineCreateFlags2CreateInfo; 8041 8042 typedef struct VkBufferUsageFlags2CreateInfo { 8043 VkStructureType sType; 8044 const void* pNext; 8045 VkBufferUsageFlags2 usage; 8046 } VkBufferUsageFlags2CreateInfo; 8047 8048 typedef struct VkPhysicalDevicePushDescriptorProperties { 8049 VkStructureType sType; 8050 void* pNext; 8051 uint32_t maxPushDescriptors; 8052 } VkPhysicalDevicePushDescriptorProperties; 8053 8054 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures { 8055 VkStructureType sType; 8056 void* pNext; 8057 VkBool32 dynamicRenderingLocalRead; 8058 } VkPhysicalDeviceDynamicRenderingLocalReadFeatures; 8059 8060 typedef struct VkRenderingAttachmentLocationInfo { 8061 VkStructureType sType; 8062 const void* pNext; 8063 uint32_t colorAttachmentCount; 8064 const uint32_t* pColorAttachmentLocations; 8065 } VkRenderingAttachmentLocationInfo; 8066 8067 typedef struct VkRenderingInputAttachmentIndexInfo { 8068 VkStructureType sType; 8069 const void* pNext; 8070 uint32_t colorAttachmentCount; 8071 const uint32_t* pColorAttachmentInputIndices; 8072 const uint32_t* pDepthInputAttachmentIndex; 8073 const uint32_t* pStencilInputAttachmentIndex; 8074 } VkRenderingInputAttachmentIndexInfo; 8075 8076 typedef struct VkPhysicalDeviceMaintenance6Features { 8077 VkStructureType sType; 8078 void* pNext; 8079 VkBool32 maintenance6; 8080 } VkPhysicalDeviceMaintenance6Features; 8081 8082 typedef struct VkPhysicalDeviceMaintenance6Properties { 8083 VkStructureType sType; 8084 void* pNext; 8085 VkBool32 blockTexelViewCompatibleMultipleLayers; 8086 uint32_t maxCombinedImageSamplerDescriptorCount; 8087 VkBool32 fragmentShadingRateClampCombinerInputs; 8088 } VkPhysicalDeviceMaintenance6Properties; 8089 8090 typedef struct VkBindMemoryStatus { 8091 VkStructureType sType; 8092 const void* pNext; 8093 VkResult* pResult; 8094 } VkBindMemoryStatus; 8095 8096 typedef struct VkBindDescriptorSetsInfo { 8097 VkStructureType sType; 8098 const void* pNext; 8099 VkShaderStageFlags stageFlags; 8100 VkPipelineLayout layout; 8101 uint32_t firstSet; 8102 uint32_t descriptorSetCount; 8103 const VkDescriptorSet* pDescriptorSets; 8104 uint32_t dynamicOffsetCount; 8105 const uint32_t* pDynamicOffsets; 8106 } VkBindDescriptorSetsInfo; 8107 8108 typedef struct VkPushConstantsInfo { 8109 VkStructureType sType; 8110 const void* pNext; 8111 VkPipelineLayout layout; 8112 VkShaderStageFlags stageFlags; 8113 uint32_t offset; 8114 uint32_t size; 8115 const void* pValues; 8116 } VkPushConstantsInfo; 8117 8118 typedef struct VkPushDescriptorSetInfo { 8119 VkStructureType sType; 8120 const void* pNext; 8121 VkShaderStageFlags stageFlags; 8122 VkPipelineLayout layout; 8123 uint32_t set; 8124 uint32_t descriptorWriteCount; 8125 const VkWriteDescriptorSet* pDescriptorWrites; 8126 } VkPushDescriptorSetInfo; 8127 8128 typedef struct VkPushDescriptorSetWithTemplateInfo { 8129 VkStructureType sType; 8130 const void* pNext; 8131 VkDescriptorUpdateTemplate descriptorUpdateTemplate; 8132 VkPipelineLayout layout; 8133 uint32_t set; 8134 const void* pData; 8135 } VkPushDescriptorSetWithTemplateInfo; 8136 8137 typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures { 8138 VkStructureType sType; 8139 void* pNext; 8140 VkBool32 pipelineProtectedAccess; 8141 } VkPhysicalDevicePipelineProtectedAccessFeatures; 8142 8143 typedef struct VkPhysicalDevicePipelineRobustnessFeatures { 8144 VkStructureType sType; 8145 void* pNext; 8146 VkBool32 pipelineRobustness; 8147 } VkPhysicalDevicePipelineRobustnessFeatures; 8148 8149 typedef struct VkPhysicalDevicePipelineRobustnessProperties { 8150 VkStructureType sType; 8151 void* pNext; 8152 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; 8153 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; 8154 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; 8155 VkPipelineRobustnessImageBehavior defaultRobustnessImages; 8156 } VkPhysicalDevicePipelineRobustnessProperties; 8157 8158 typedef struct VkPipelineRobustnessCreateInfo { 8159 VkStructureType sType; 8160 const void* pNext; 8161 VkPipelineRobustnessBufferBehavior storageBuffers; 8162 VkPipelineRobustnessBufferBehavior uniformBuffers; 8163 VkPipelineRobustnessBufferBehavior vertexInputs; 8164 VkPipelineRobustnessImageBehavior images; 8165 } VkPipelineRobustnessCreateInfo; 8166 8167 typedef struct VkPhysicalDeviceHostImageCopyFeatures { 8168 VkStructureType sType; 8169 void* pNext; 8170 VkBool32 hostImageCopy; 8171 } VkPhysicalDeviceHostImageCopyFeatures; 8172 8173 typedef struct VkPhysicalDeviceHostImageCopyProperties { 8174 VkStructureType sType; 8175 void* pNext; 8176 uint32_t copySrcLayoutCount; 8177 VkImageLayout* pCopySrcLayouts; 8178 uint32_t copyDstLayoutCount; 8179 VkImageLayout* pCopyDstLayouts; 8180 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 8181 VkBool32 identicalMemoryTypeRequirements; 8182 } VkPhysicalDeviceHostImageCopyProperties; 8183 8184 typedef struct VkMemoryToImageCopy { 8185 VkStructureType sType; 8186 const void* pNext; 8187 const void* pHostPointer; 8188 uint32_t memoryRowLength; 8189 uint32_t memoryImageHeight; 8190 VkImageSubresourceLayers imageSubresource; 8191 VkOffset3D imageOffset; 8192 VkExtent3D imageExtent; 8193 } VkMemoryToImageCopy; 8194 8195 typedef struct VkImageToMemoryCopy { 8196 VkStructureType sType; 8197 const void* pNext; 8198 void* pHostPointer; 8199 uint32_t memoryRowLength; 8200 uint32_t memoryImageHeight; 8201 VkImageSubresourceLayers imageSubresource; 8202 VkOffset3D imageOffset; 8203 VkExtent3D imageExtent; 8204 } VkImageToMemoryCopy; 8205 8206 typedef struct VkCopyMemoryToImageInfo { 8207 VkStructureType sType; 8208 const void* pNext; 8209 VkHostImageCopyFlags flags; 8210 VkImage dstImage; 8211 VkImageLayout dstImageLayout; 8212 uint32_t regionCount; 8213 const VkMemoryToImageCopy* pRegions; 8214 } VkCopyMemoryToImageInfo; 8215 8216 typedef struct VkCopyImageToMemoryInfo { 8217 VkStructureType sType; 8218 const void* pNext; 8219 VkHostImageCopyFlags flags; 8220 VkImage srcImage; 8221 VkImageLayout srcImageLayout; 8222 uint32_t regionCount; 8223 const VkImageToMemoryCopy* pRegions; 8224 } VkCopyImageToMemoryInfo; 8225 8226 typedef struct VkCopyImageToImageInfo { 8227 VkStructureType sType; 8228 const void* pNext; 8229 VkHostImageCopyFlags flags; 8230 VkImage srcImage; 8231 VkImageLayout srcImageLayout; 8232 VkImage dstImage; 8233 VkImageLayout dstImageLayout; 8234 uint32_t regionCount; 8235 const VkImageCopy2* pRegions; 8236 } VkCopyImageToImageInfo; 8237 8238 typedef struct VkHostImageLayoutTransitionInfo { 8239 VkStructureType sType; 8240 const void* pNext; 8241 VkImage image; 8242 VkImageLayout oldLayout; 8243 VkImageLayout newLayout; 8244 VkImageSubresourceRange subresourceRange; 8245 } VkHostImageLayoutTransitionInfo; 8246 8247 typedef struct VkSubresourceHostMemcpySize { 8248 VkStructureType sType; 8249 void* pNext; 8250 VkDeviceSize size; 8251 } VkSubresourceHostMemcpySize; 8252 8253 typedef struct VkHostImageCopyDevicePerformanceQuery { 8254 VkStructureType sType; 8255 void* pNext; 8256 VkBool32 optimalDeviceAccess; 8257 VkBool32 identicalMemoryLayout; 8258 } VkHostImageCopyDevicePerformanceQuery; 8259 8260 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStipple)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 8261 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 8262 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8263 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 8264 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularity)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 8265 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayout)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 8266 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 8267 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 8268 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 8269 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocations)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 8270 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndices)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8271 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8272 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 8273 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8274 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8275 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImage)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8276 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemory)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8277 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImage)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8278 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayout)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 8279 8280 #ifndef VK_NO_PROTOTYPES 8281 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStipple( 8282 VkCommandBuffer commandBuffer, 8283 uint32_t lineStippleFactor, 8284 uint16_t lineStipplePattern); 8285 8286 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2( 8287 VkDevice device, 8288 const VkMemoryMapInfo* pMemoryMapInfo, 8289 void** ppData); 8290 8291 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2( 8292 VkDevice device, 8293 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 8294 8295 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2( 8296 VkCommandBuffer commandBuffer, 8297 VkBuffer buffer, 8298 VkDeviceSize offset, 8299 VkDeviceSize size, 8300 VkIndexType indexType); 8301 8302 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularity( 8303 VkDevice device, 8304 const VkRenderingAreaInfo* pRenderingAreaInfo, 8305 VkExtent2D* pGranularity); 8306 8307 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayout( 8308 VkDevice device, 8309 const VkDeviceImageSubresourceInfo* pInfo, 8310 VkSubresourceLayout2* pLayout); 8311 8312 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2( 8313 VkDevice device, 8314 VkImage image, 8315 const VkImageSubresource2* pSubresource, 8316 VkSubresourceLayout2* pLayout); 8317 8318 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet( 8319 VkCommandBuffer commandBuffer, 8320 VkPipelineBindPoint pipelineBindPoint, 8321 VkPipelineLayout layout, 8322 uint32_t set, 8323 uint32_t descriptorWriteCount, 8324 const VkWriteDescriptorSet* pDescriptorWrites); 8325 8326 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate( 8327 VkCommandBuffer commandBuffer, 8328 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 8329 VkPipelineLayout layout, 8330 uint32_t set, 8331 const void* pData); 8332 8333 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocations( 8334 VkCommandBuffer commandBuffer, 8335 const VkRenderingAttachmentLocationInfo* pLocationInfo); 8336 8337 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndices( 8338 VkCommandBuffer commandBuffer, 8339 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 8340 8341 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2( 8342 VkCommandBuffer commandBuffer, 8343 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 8344 8345 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2( 8346 VkCommandBuffer commandBuffer, 8347 const VkPushConstantsInfo* pPushConstantsInfo); 8348 8349 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2( 8350 VkCommandBuffer commandBuffer, 8351 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 8352 8353 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2( 8354 VkCommandBuffer commandBuffer, 8355 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 8356 8357 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImage( 8358 VkDevice device, 8359 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 8360 8361 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemory( 8362 VkDevice device, 8363 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 8364 8365 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImage( 8366 VkDevice device, 8367 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 8368 8369 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayout( 8370 VkDevice device, 8371 uint32_t transitionCount, 8372 const VkHostImageLayoutTransitionInfo* pTransitions); 8373 #endif 8374 8375 8376 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 8377 #define VK_KHR_surface 1 8378 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 8379 #define VK_KHR_SURFACE_SPEC_VERSION 25 8380 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 8381 8382 typedef enum VkPresentModeKHR { 8383 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 8384 VK_PRESENT_MODE_MAILBOX_KHR = 1, 8385 VK_PRESENT_MODE_FIFO_KHR = 2, 8386 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 8387 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 8388 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 8389 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 8390 } VkPresentModeKHR; 8391 8392 typedef enum VkColorSpaceKHR { 8393 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 8394 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 8395 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 8396 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 8397 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 8398 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 8399 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 8400 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 8401 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 8402 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 8403 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 8404 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 8405 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 8406 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 8407 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 8408 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 8409 // VK_COLORSPACE_SRGB_NONLINEAR_KHR is a deprecated alias 8410 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 8411 // VK_COLOR_SPACE_DCI_P3_LINEAR_EXT is a deprecated alias 8412 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 8413 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 8414 } VkColorSpaceKHR; 8415 8416 typedef enum VkSurfaceTransformFlagBitsKHR { 8417 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 8418 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 8419 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 8420 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 8421 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 8422 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 8423 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 8424 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 8425 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 8426 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8427 } VkSurfaceTransformFlagBitsKHR; 8428 8429 typedef enum VkCompositeAlphaFlagBitsKHR { 8430 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8431 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 8432 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 8433 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 8434 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8435 } VkCompositeAlphaFlagBitsKHR; 8436 typedef VkFlags VkCompositeAlphaFlagsKHR; 8437 typedef VkFlags VkSurfaceTransformFlagsKHR; 8438 typedef struct VkSurfaceCapabilitiesKHR { 8439 uint32_t minImageCount; 8440 uint32_t maxImageCount; 8441 VkExtent2D currentExtent; 8442 VkExtent2D minImageExtent; 8443 VkExtent2D maxImageExtent; 8444 uint32_t maxImageArrayLayers; 8445 VkSurfaceTransformFlagsKHR supportedTransforms; 8446 VkSurfaceTransformFlagBitsKHR currentTransform; 8447 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 8448 VkImageUsageFlags supportedUsageFlags; 8449 } VkSurfaceCapabilitiesKHR; 8450 8451 typedef struct VkSurfaceFormatKHR { 8452 VkFormat format; 8453 VkColorSpaceKHR colorSpace; 8454 } VkSurfaceFormatKHR; 8455 8456 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 8457 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 8458 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8459 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 8460 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 8461 8462 #ifndef VK_NO_PROTOTYPES 8463 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 8464 VkInstance instance, 8465 VkSurfaceKHR surface, 8466 const VkAllocationCallbacks* pAllocator); 8467 8468 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 8469 VkPhysicalDevice physicalDevice, 8470 uint32_t queueFamilyIndex, 8471 VkSurfaceKHR surface, 8472 VkBool32* pSupported); 8473 8474 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 8475 VkPhysicalDevice physicalDevice, 8476 VkSurfaceKHR surface, 8477 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8478 8479 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 8480 VkPhysicalDevice physicalDevice, 8481 VkSurfaceKHR surface, 8482 uint32_t* pSurfaceFormatCount, 8483 VkSurfaceFormatKHR* pSurfaceFormats); 8484 8485 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 8486 VkPhysicalDevice physicalDevice, 8487 VkSurfaceKHR surface, 8488 uint32_t* pPresentModeCount, 8489 VkPresentModeKHR* pPresentModes); 8490 #endif 8491 8492 8493 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 8494 #define VK_KHR_swapchain 1 8495 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 8496 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 8497 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 8498 8499 typedef enum VkSwapchainCreateFlagBitsKHR { 8500 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 8501 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 8502 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 8503 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 8504 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8505 } VkSwapchainCreateFlagBitsKHR; 8506 typedef VkFlags VkSwapchainCreateFlagsKHR; 8507 8508 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 8509 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 8510 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 8511 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 8512 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 8513 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8514 } VkDeviceGroupPresentModeFlagBitsKHR; 8515 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 8516 typedef struct VkSwapchainCreateInfoKHR { 8517 VkStructureType sType; 8518 const void* pNext; 8519 VkSwapchainCreateFlagsKHR flags; 8520 VkSurfaceKHR surface; 8521 uint32_t minImageCount; 8522 VkFormat imageFormat; 8523 VkColorSpaceKHR imageColorSpace; 8524 VkExtent2D imageExtent; 8525 uint32_t imageArrayLayers; 8526 VkImageUsageFlags imageUsage; 8527 VkSharingMode imageSharingMode; 8528 uint32_t queueFamilyIndexCount; 8529 const uint32_t* pQueueFamilyIndices; 8530 VkSurfaceTransformFlagBitsKHR preTransform; 8531 VkCompositeAlphaFlagBitsKHR compositeAlpha; 8532 VkPresentModeKHR presentMode; 8533 VkBool32 clipped; 8534 VkSwapchainKHR oldSwapchain; 8535 } VkSwapchainCreateInfoKHR; 8536 8537 typedef struct VkPresentInfoKHR { 8538 VkStructureType sType; 8539 const void* pNext; 8540 uint32_t waitSemaphoreCount; 8541 const VkSemaphore* pWaitSemaphores; 8542 uint32_t swapchainCount; 8543 const VkSwapchainKHR* pSwapchains; 8544 const uint32_t* pImageIndices; 8545 VkResult* pResults; 8546 } VkPresentInfoKHR; 8547 8548 typedef struct VkImageSwapchainCreateInfoKHR { 8549 VkStructureType sType; 8550 const void* pNext; 8551 VkSwapchainKHR swapchain; 8552 } VkImageSwapchainCreateInfoKHR; 8553 8554 typedef struct VkBindImageMemorySwapchainInfoKHR { 8555 VkStructureType sType; 8556 const void* pNext; 8557 VkSwapchainKHR swapchain; 8558 uint32_t imageIndex; 8559 } VkBindImageMemorySwapchainInfoKHR; 8560 8561 typedef struct VkAcquireNextImageInfoKHR { 8562 VkStructureType sType; 8563 const void* pNext; 8564 VkSwapchainKHR swapchain; 8565 uint64_t timeout; 8566 VkSemaphore semaphore; 8567 VkFence fence; 8568 uint32_t deviceMask; 8569 } VkAcquireNextImageInfoKHR; 8570 8571 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 8572 VkStructureType sType; 8573 void* pNext; 8574 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 8575 VkDeviceGroupPresentModeFlagsKHR modes; 8576 } VkDeviceGroupPresentCapabilitiesKHR; 8577 8578 typedef struct VkDeviceGroupPresentInfoKHR { 8579 VkStructureType sType; 8580 const void* pNext; 8581 uint32_t swapchainCount; 8582 const uint32_t* pDeviceMasks; 8583 VkDeviceGroupPresentModeFlagBitsKHR mode; 8584 } VkDeviceGroupPresentInfoKHR; 8585 8586 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 8587 VkStructureType sType; 8588 const void* pNext; 8589 VkDeviceGroupPresentModeFlagsKHR modes; 8590 } VkDeviceGroupSwapchainCreateInfoKHR; 8591 8592 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 8593 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 8594 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 8595 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 8596 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 8597 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8598 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 8599 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 8600 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 8601 8602 #ifndef VK_NO_PROTOTYPES 8603 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 8604 VkDevice device, 8605 const VkSwapchainCreateInfoKHR* pCreateInfo, 8606 const VkAllocationCallbacks* pAllocator, 8607 VkSwapchainKHR* pSwapchain); 8608 8609 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 8610 VkDevice device, 8611 VkSwapchainKHR swapchain, 8612 const VkAllocationCallbacks* pAllocator); 8613 8614 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 8615 VkDevice device, 8616 VkSwapchainKHR swapchain, 8617 uint32_t* pSwapchainImageCount, 8618 VkImage* pSwapchainImages); 8619 8620 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 8621 VkDevice device, 8622 VkSwapchainKHR swapchain, 8623 uint64_t timeout, 8624 VkSemaphore semaphore, 8625 VkFence fence, 8626 uint32_t* pImageIndex); 8627 8628 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 8629 VkQueue queue, 8630 const VkPresentInfoKHR* pPresentInfo); 8631 8632 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 8633 VkDevice device, 8634 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8635 8636 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 8637 VkDevice device, 8638 VkSurfaceKHR surface, 8639 VkDeviceGroupPresentModeFlagsKHR* pModes); 8640 8641 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 8642 VkPhysicalDevice physicalDevice, 8643 VkSurfaceKHR surface, 8644 uint32_t* pRectCount, 8645 VkRect2D* pRects); 8646 8647 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 8648 VkDevice device, 8649 const VkAcquireNextImageInfoKHR* pAcquireInfo, 8650 uint32_t* pImageIndex); 8651 #endif 8652 8653 8654 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 8655 #define VK_KHR_display 1 8656 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 8657 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 8658 #define VK_KHR_DISPLAY_SPEC_VERSION 23 8659 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 8660 typedef VkFlags VkDisplayModeCreateFlagsKHR; 8661 8662 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 8663 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8664 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 8665 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 8666 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 8667 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8668 } VkDisplayPlaneAlphaFlagBitsKHR; 8669 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 8670 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 8671 typedef struct VkDisplayModeParametersKHR { 8672 VkExtent2D visibleRegion; 8673 uint32_t refreshRate; 8674 } VkDisplayModeParametersKHR; 8675 8676 typedef struct VkDisplayModeCreateInfoKHR { 8677 VkStructureType sType; 8678 const void* pNext; 8679 VkDisplayModeCreateFlagsKHR flags; 8680 VkDisplayModeParametersKHR parameters; 8681 } VkDisplayModeCreateInfoKHR; 8682 8683 typedef struct VkDisplayModePropertiesKHR { 8684 VkDisplayModeKHR displayMode; 8685 VkDisplayModeParametersKHR parameters; 8686 } VkDisplayModePropertiesKHR; 8687 8688 typedef struct VkDisplayPlaneCapabilitiesKHR { 8689 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 8690 VkOffset2D minSrcPosition; 8691 VkOffset2D maxSrcPosition; 8692 VkExtent2D minSrcExtent; 8693 VkExtent2D maxSrcExtent; 8694 VkOffset2D minDstPosition; 8695 VkOffset2D maxDstPosition; 8696 VkExtent2D minDstExtent; 8697 VkExtent2D maxDstExtent; 8698 } VkDisplayPlaneCapabilitiesKHR; 8699 8700 typedef struct VkDisplayPlanePropertiesKHR { 8701 VkDisplayKHR currentDisplay; 8702 uint32_t currentStackIndex; 8703 } VkDisplayPlanePropertiesKHR; 8704 8705 typedef struct VkDisplayPropertiesKHR { 8706 VkDisplayKHR display; 8707 const char* displayName; 8708 VkExtent2D physicalDimensions; 8709 VkExtent2D physicalResolution; 8710 VkSurfaceTransformFlagsKHR supportedTransforms; 8711 VkBool32 planeReorderPossible; 8712 VkBool32 persistentContent; 8713 } VkDisplayPropertiesKHR; 8714 8715 typedef struct VkDisplaySurfaceCreateInfoKHR { 8716 VkStructureType sType; 8717 const void* pNext; 8718 VkDisplaySurfaceCreateFlagsKHR flags; 8719 VkDisplayModeKHR displayMode; 8720 uint32_t planeIndex; 8721 uint32_t planeStackIndex; 8722 VkSurfaceTransformFlagBitsKHR transform; 8723 float globalAlpha; 8724 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 8725 VkExtent2D imageExtent; 8726 } VkDisplaySurfaceCreateInfoKHR; 8727 8728 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 8729 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 8730 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 8731 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 8732 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 8733 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8734 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 8735 8736 #ifndef VK_NO_PROTOTYPES 8737 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 8738 VkPhysicalDevice physicalDevice, 8739 uint32_t* pPropertyCount, 8740 VkDisplayPropertiesKHR* pProperties); 8741 8742 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 8743 VkPhysicalDevice physicalDevice, 8744 uint32_t* pPropertyCount, 8745 VkDisplayPlanePropertiesKHR* pProperties); 8746 8747 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 8748 VkPhysicalDevice physicalDevice, 8749 uint32_t planeIndex, 8750 uint32_t* pDisplayCount, 8751 VkDisplayKHR* pDisplays); 8752 8753 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 8754 VkPhysicalDevice physicalDevice, 8755 VkDisplayKHR display, 8756 uint32_t* pPropertyCount, 8757 VkDisplayModePropertiesKHR* pProperties); 8758 8759 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 8760 VkPhysicalDevice physicalDevice, 8761 VkDisplayKHR display, 8762 const VkDisplayModeCreateInfoKHR* pCreateInfo, 8763 const VkAllocationCallbacks* pAllocator, 8764 VkDisplayModeKHR* pMode); 8765 8766 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 8767 VkPhysicalDevice physicalDevice, 8768 VkDisplayModeKHR mode, 8769 uint32_t planeIndex, 8770 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8771 8772 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 8773 VkInstance instance, 8774 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 8775 const VkAllocationCallbacks* pAllocator, 8776 VkSurfaceKHR* pSurface); 8777 #endif 8778 8779 8780 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 8781 #define VK_KHR_display_swapchain 1 8782 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 8783 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 8784 typedef struct VkDisplayPresentInfoKHR { 8785 VkStructureType sType; 8786 const void* pNext; 8787 VkRect2D srcRect; 8788 VkRect2D dstRect; 8789 VkBool32 persistent; 8790 } VkDisplayPresentInfoKHR; 8791 8792 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 8793 8794 #ifndef VK_NO_PROTOTYPES 8795 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 8796 VkDevice device, 8797 uint32_t swapchainCount, 8798 const VkSwapchainCreateInfoKHR* pCreateInfos, 8799 const VkAllocationCallbacks* pAllocator, 8800 VkSwapchainKHR* pSwapchains); 8801 #endif 8802 8803 8804 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 8805 #define VK_KHR_sampler_mirror_clamp_to_edge 1 8806 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 8807 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 8808 8809 8810 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 8811 #define VK_KHR_video_queue 1 8812 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 8813 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 8814 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 8815 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 8816 8817 typedef enum VkQueryResultStatusKHR { 8818 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8819 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8820 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8821 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 8822 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8823 } VkQueryResultStatusKHR; 8824 8825 typedef enum VkVideoCodecOperationFlagBitsKHR { 8826 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8827 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 8828 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 8829 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8830 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8831 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004, 8832 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8833 } VkVideoCodecOperationFlagBitsKHR; 8834 typedef VkFlags VkVideoCodecOperationFlagsKHR; 8835 8836 typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8837 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8838 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8839 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8840 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8841 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8842 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8843 } VkVideoChromaSubsamplingFlagBitsKHR; 8844 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8845 8846 typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8847 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8848 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8849 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8850 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8851 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8852 } VkVideoComponentBitDepthFlagBitsKHR; 8853 typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8854 8855 typedef enum VkVideoCapabilityFlagBitsKHR { 8856 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8857 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8858 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8859 } VkVideoCapabilityFlagBitsKHR; 8860 typedef VkFlags VkVideoCapabilityFlagsKHR; 8861 8862 typedef enum VkVideoSessionCreateFlagBitsKHR { 8863 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8864 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 8865 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 8866 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8867 } VkVideoSessionCreateFlagBitsKHR; 8868 typedef VkFlags VkVideoSessionCreateFlagsKHR; 8869 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8870 typedef VkFlags VkVideoBeginCodingFlagsKHR; 8871 typedef VkFlags VkVideoEndCodingFlagsKHR; 8872 8873 typedef enum VkVideoCodingControlFlagBitsKHR { 8874 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8875 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8876 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8877 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8878 } VkVideoCodingControlFlagBitsKHR; 8879 typedef VkFlags VkVideoCodingControlFlagsKHR; 8880 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8881 VkStructureType sType; 8882 void* pNext; 8883 VkBool32 queryResultStatusSupport; 8884 } VkQueueFamilyQueryResultStatusPropertiesKHR; 8885 8886 typedef struct VkQueueFamilyVideoPropertiesKHR { 8887 VkStructureType sType; 8888 void* pNext; 8889 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8890 } VkQueueFamilyVideoPropertiesKHR; 8891 8892 typedef struct VkVideoProfileInfoKHR { 8893 VkStructureType sType; 8894 const void* pNext; 8895 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8896 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8897 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8898 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8899 } VkVideoProfileInfoKHR; 8900 8901 typedef struct VkVideoProfileListInfoKHR { 8902 VkStructureType sType; 8903 const void* pNext; 8904 uint32_t profileCount; 8905 const VkVideoProfileInfoKHR* pProfiles; 8906 } VkVideoProfileListInfoKHR; 8907 8908 typedef struct VkVideoCapabilitiesKHR { 8909 VkStructureType sType; 8910 void* pNext; 8911 VkVideoCapabilityFlagsKHR flags; 8912 VkDeviceSize minBitstreamBufferOffsetAlignment; 8913 VkDeviceSize minBitstreamBufferSizeAlignment; 8914 VkExtent2D pictureAccessGranularity; 8915 VkExtent2D minCodedExtent; 8916 VkExtent2D maxCodedExtent; 8917 uint32_t maxDpbSlots; 8918 uint32_t maxActiveReferencePictures; 8919 VkExtensionProperties stdHeaderVersion; 8920 } VkVideoCapabilitiesKHR; 8921 8922 typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8923 VkStructureType sType; 8924 const void* pNext; 8925 VkImageUsageFlags imageUsage; 8926 } VkPhysicalDeviceVideoFormatInfoKHR; 8927 8928 typedef struct VkVideoFormatPropertiesKHR { 8929 VkStructureType sType; 8930 void* pNext; 8931 VkFormat format; 8932 VkComponentMapping componentMapping; 8933 VkImageCreateFlags imageCreateFlags; 8934 VkImageType imageType; 8935 VkImageTiling imageTiling; 8936 VkImageUsageFlags imageUsageFlags; 8937 } VkVideoFormatPropertiesKHR; 8938 8939 typedef struct VkVideoPictureResourceInfoKHR { 8940 VkStructureType sType; 8941 const void* pNext; 8942 VkOffset2D codedOffset; 8943 VkExtent2D codedExtent; 8944 uint32_t baseArrayLayer; 8945 VkImageView imageViewBinding; 8946 } VkVideoPictureResourceInfoKHR; 8947 8948 typedef struct VkVideoReferenceSlotInfoKHR { 8949 VkStructureType sType; 8950 const void* pNext; 8951 int32_t slotIndex; 8952 const VkVideoPictureResourceInfoKHR* pPictureResource; 8953 } VkVideoReferenceSlotInfoKHR; 8954 8955 typedef struct VkVideoSessionMemoryRequirementsKHR { 8956 VkStructureType sType; 8957 void* pNext; 8958 uint32_t memoryBindIndex; 8959 VkMemoryRequirements memoryRequirements; 8960 } VkVideoSessionMemoryRequirementsKHR; 8961 8962 typedef struct VkBindVideoSessionMemoryInfoKHR { 8963 VkStructureType sType; 8964 const void* pNext; 8965 uint32_t memoryBindIndex; 8966 VkDeviceMemory memory; 8967 VkDeviceSize memoryOffset; 8968 VkDeviceSize memorySize; 8969 } VkBindVideoSessionMemoryInfoKHR; 8970 8971 typedef struct VkVideoSessionCreateInfoKHR { 8972 VkStructureType sType; 8973 const void* pNext; 8974 uint32_t queueFamilyIndex; 8975 VkVideoSessionCreateFlagsKHR flags; 8976 const VkVideoProfileInfoKHR* pVideoProfile; 8977 VkFormat pictureFormat; 8978 VkExtent2D maxCodedExtent; 8979 VkFormat referencePictureFormat; 8980 uint32_t maxDpbSlots; 8981 uint32_t maxActiveReferencePictures; 8982 const VkExtensionProperties* pStdHeaderVersion; 8983 } VkVideoSessionCreateInfoKHR; 8984 8985 typedef struct VkVideoSessionParametersCreateInfoKHR { 8986 VkStructureType sType; 8987 const void* pNext; 8988 VkVideoSessionParametersCreateFlagsKHR flags; 8989 VkVideoSessionParametersKHR videoSessionParametersTemplate; 8990 VkVideoSessionKHR videoSession; 8991 } VkVideoSessionParametersCreateInfoKHR; 8992 8993 typedef struct VkVideoSessionParametersUpdateInfoKHR { 8994 VkStructureType sType; 8995 const void* pNext; 8996 uint32_t updateSequenceCount; 8997 } VkVideoSessionParametersUpdateInfoKHR; 8998 8999 typedef struct VkVideoBeginCodingInfoKHR { 9000 VkStructureType sType; 9001 const void* pNext; 9002 VkVideoBeginCodingFlagsKHR flags; 9003 VkVideoSessionKHR videoSession; 9004 VkVideoSessionParametersKHR videoSessionParameters; 9005 uint32_t referenceSlotCount; 9006 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9007 } VkVideoBeginCodingInfoKHR; 9008 9009 typedef struct VkVideoEndCodingInfoKHR { 9010 VkStructureType sType; 9011 const void* pNext; 9012 VkVideoEndCodingFlagsKHR flags; 9013 } VkVideoEndCodingInfoKHR; 9014 9015 typedef struct VkVideoCodingControlInfoKHR { 9016 VkStructureType sType; 9017 const void* pNext; 9018 VkVideoCodingControlFlagsKHR flags; 9019 } VkVideoCodingControlInfoKHR; 9020 9021 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 9022 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9023 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 9024 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 9025 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9026 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9027 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 9028 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9029 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 9030 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 9031 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9032 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9033 9034 #ifndef VK_NO_PROTOTYPES 9035 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 9036 VkPhysicalDevice physicalDevice, 9037 const VkVideoProfileInfoKHR* pVideoProfile, 9038 VkVideoCapabilitiesKHR* pCapabilities); 9039 9040 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 9041 VkPhysicalDevice physicalDevice, 9042 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 9043 uint32_t* pVideoFormatPropertyCount, 9044 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9045 9046 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 9047 VkDevice device, 9048 const VkVideoSessionCreateInfoKHR* pCreateInfo, 9049 const VkAllocationCallbacks* pAllocator, 9050 VkVideoSessionKHR* pVideoSession); 9051 9052 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 9053 VkDevice device, 9054 VkVideoSessionKHR videoSession, 9055 const VkAllocationCallbacks* pAllocator); 9056 9057 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 9058 VkDevice device, 9059 VkVideoSessionKHR videoSession, 9060 uint32_t* pMemoryRequirementsCount, 9061 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9062 9063 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 9064 VkDevice device, 9065 VkVideoSessionKHR videoSession, 9066 uint32_t bindSessionMemoryInfoCount, 9067 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9068 9069 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 9070 VkDevice device, 9071 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 9072 const VkAllocationCallbacks* pAllocator, 9073 VkVideoSessionParametersKHR* pVideoSessionParameters); 9074 9075 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 9076 VkDevice device, 9077 VkVideoSessionParametersKHR videoSessionParameters, 9078 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9079 9080 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 9081 VkDevice device, 9082 VkVideoSessionParametersKHR videoSessionParameters, 9083 const VkAllocationCallbacks* pAllocator); 9084 9085 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 9086 VkCommandBuffer commandBuffer, 9087 const VkVideoBeginCodingInfoKHR* pBeginInfo); 9088 9089 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 9090 VkCommandBuffer commandBuffer, 9091 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9092 9093 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 9094 VkCommandBuffer commandBuffer, 9095 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9096 #endif 9097 9098 9099 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 9100 #define VK_KHR_video_decode_queue 1 9101 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 9102 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 9103 9104 typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 9105 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 9106 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 9107 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9108 } VkVideoDecodeCapabilityFlagBitsKHR; 9109 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 9110 9111 typedef enum VkVideoDecodeUsageFlagBitsKHR { 9112 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 9113 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 9114 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 9115 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 9116 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9117 } VkVideoDecodeUsageFlagBitsKHR; 9118 typedef VkFlags VkVideoDecodeUsageFlagsKHR; 9119 typedef VkFlags VkVideoDecodeFlagsKHR; 9120 typedef struct VkVideoDecodeCapabilitiesKHR { 9121 VkStructureType sType; 9122 void* pNext; 9123 VkVideoDecodeCapabilityFlagsKHR flags; 9124 } VkVideoDecodeCapabilitiesKHR; 9125 9126 typedef struct VkVideoDecodeUsageInfoKHR { 9127 VkStructureType sType; 9128 const void* pNext; 9129 VkVideoDecodeUsageFlagsKHR videoUsageHints; 9130 } VkVideoDecodeUsageInfoKHR; 9131 9132 typedef struct VkVideoDecodeInfoKHR { 9133 VkStructureType sType; 9134 const void* pNext; 9135 VkVideoDecodeFlagsKHR flags; 9136 VkBuffer srcBuffer; 9137 VkDeviceSize srcBufferOffset; 9138 VkDeviceSize srcBufferRange; 9139 VkVideoPictureResourceInfoKHR dstPictureResource; 9140 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 9141 uint32_t referenceSlotCount; 9142 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9143 } VkVideoDecodeInfoKHR; 9144 9145 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 9146 9147 #ifndef VK_NO_PROTOTYPES 9148 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 9149 VkCommandBuffer commandBuffer, 9150 const VkVideoDecodeInfoKHR* pDecodeInfo); 9151 #endif 9152 9153 9154 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 9155 #define VK_KHR_video_encode_h264 1 9156 #include "vk_video/vulkan_video_codec_h264std.h" 9157 #include "vk_video/vulkan_video_codec_h264std_encode.h" 9158 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 9159 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 9160 9161 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 9162 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9163 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9164 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 9165 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 9166 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9167 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9168 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9169 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 9170 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 9171 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9172 } VkVideoEncodeH264CapabilityFlagBitsKHR; 9173 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 9174 9175 typedef enum VkVideoEncodeH264StdFlagBitsKHR { 9176 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9177 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 9178 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9179 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 9180 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 9181 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9182 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9183 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 9184 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 9185 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 9186 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 9187 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 9188 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 9189 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 9190 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9191 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 9192 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 9193 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 9194 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9195 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9196 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9197 } VkVideoEncodeH264StdFlagBitsKHR; 9198 typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 9199 9200 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 9201 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9202 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9203 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9204 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9205 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9206 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9207 } VkVideoEncodeH264RateControlFlagBitsKHR; 9208 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 9209 typedef struct VkVideoEncodeH264CapabilitiesKHR { 9210 VkStructureType sType; 9211 void* pNext; 9212 VkVideoEncodeH264CapabilityFlagsKHR flags; 9213 StdVideoH264LevelIdc maxLevelIdc; 9214 uint32_t maxSliceCount; 9215 uint32_t maxPPictureL0ReferenceCount; 9216 uint32_t maxBPictureL0ReferenceCount; 9217 uint32_t maxL1ReferenceCount; 9218 uint32_t maxTemporalLayerCount; 9219 VkBool32 expectDyadicTemporalLayerPattern; 9220 int32_t minQp; 9221 int32_t maxQp; 9222 VkBool32 prefersGopRemainingFrames; 9223 VkBool32 requiresGopRemainingFrames; 9224 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 9225 } VkVideoEncodeH264CapabilitiesKHR; 9226 9227 typedef struct VkVideoEncodeH264QpKHR { 9228 int32_t qpI; 9229 int32_t qpP; 9230 int32_t qpB; 9231 } VkVideoEncodeH264QpKHR; 9232 9233 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 9234 VkStructureType sType; 9235 void* pNext; 9236 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 9237 uint32_t preferredGopFrameCount; 9238 uint32_t preferredIdrPeriod; 9239 uint32_t preferredConsecutiveBFrameCount; 9240 uint32_t preferredTemporalLayerCount; 9241 VkVideoEncodeH264QpKHR preferredConstantQp; 9242 uint32_t preferredMaxL0ReferenceCount; 9243 uint32_t preferredMaxL1ReferenceCount; 9244 VkBool32 preferredStdEntropyCodingModeFlag; 9245 } VkVideoEncodeH264QualityLevelPropertiesKHR; 9246 9247 typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 9248 VkStructureType sType; 9249 const void* pNext; 9250 VkBool32 useMaxLevelIdc; 9251 StdVideoH264LevelIdc maxLevelIdc; 9252 } VkVideoEncodeH264SessionCreateInfoKHR; 9253 9254 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 9255 VkStructureType sType; 9256 const void* pNext; 9257 uint32_t stdSPSCount; 9258 const StdVideoH264SequenceParameterSet* pStdSPSs; 9259 uint32_t stdPPSCount; 9260 const StdVideoH264PictureParameterSet* pStdPPSs; 9261 } VkVideoEncodeH264SessionParametersAddInfoKHR; 9262 9263 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 9264 VkStructureType sType; 9265 const void* pNext; 9266 uint32_t maxStdSPSCount; 9267 uint32_t maxStdPPSCount; 9268 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9269 } VkVideoEncodeH264SessionParametersCreateInfoKHR; 9270 9271 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 9272 VkStructureType sType; 9273 const void* pNext; 9274 VkBool32 writeStdSPS; 9275 VkBool32 writeStdPPS; 9276 uint32_t stdSPSId; 9277 uint32_t stdPPSId; 9278 } VkVideoEncodeH264SessionParametersGetInfoKHR; 9279 9280 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 9281 VkStructureType sType; 9282 void* pNext; 9283 VkBool32 hasStdSPSOverrides; 9284 VkBool32 hasStdPPSOverrides; 9285 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 9286 9287 typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 9288 VkStructureType sType; 9289 const void* pNext; 9290 int32_t constantQp; 9291 const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 9292 } VkVideoEncodeH264NaluSliceInfoKHR; 9293 9294 typedef struct VkVideoEncodeH264PictureInfoKHR { 9295 VkStructureType sType; 9296 const void* pNext; 9297 uint32_t naluSliceEntryCount; 9298 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 9299 const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 9300 VkBool32 generatePrefixNalu; 9301 } VkVideoEncodeH264PictureInfoKHR; 9302 9303 typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 9304 VkStructureType sType; 9305 const void* pNext; 9306 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 9307 } VkVideoEncodeH264DpbSlotInfoKHR; 9308 9309 typedef struct VkVideoEncodeH264ProfileInfoKHR { 9310 VkStructureType sType; 9311 const void* pNext; 9312 StdVideoH264ProfileIdc stdProfileIdc; 9313 } VkVideoEncodeH264ProfileInfoKHR; 9314 9315 typedef struct VkVideoEncodeH264RateControlInfoKHR { 9316 VkStructureType sType; 9317 const void* pNext; 9318 VkVideoEncodeH264RateControlFlagsKHR flags; 9319 uint32_t gopFrameCount; 9320 uint32_t idrPeriod; 9321 uint32_t consecutiveBFrameCount; 9322 uint32_t temporalLayerCount; 9323 } VkVideoEncodeH264RateControlInfoKHR; 9324 9325 typedef struct VkVideoEncodeH264FrameSizeKHR { 9326 uint32_t frameISize; 9327 uint32_t framePSize; 9328 uint32_t frameBSize; 9329 } VkVideoEncodeH264FrameSizeKHR; 9330 9331 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 9332 VkStructureType sType; 9333 const void* pNext; 9334 VkBool32 useMinQp; 9335 VkVideoEncodeH264QpKHR minQp; 9336 VkBool32 useMaxQp; 9337 VkVideoEncodeH264QpKHR maxQp; 9338 VkBool32 useMaxFrameSize; 9339 VkVideoEncodeH264FrameSizeKHR maxFrameSize; 9340 } VkVideoEncodeH264RateControlLayerInfoKHR; 9341 9342 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 9343 VkStructureType sType; 9344 const void* pNext; 9345 VkBool32 useGopRemainingFrames; 9346 uint32_t gopRemainingI; 9347 uint32_t gopRemainingP; 9348 uint32_t gopRemainingB; 9349 } VkVideoEncodeH264GopRemainingFrameInfoKHR; 9350 9351 9352 9353 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 9354 #define VK_KHR_video_encode_h265 1 9355 #include "vk_video/vulkan_video_codec_h265std.h" 9356 #include "vk_video/vulkan_video_codec_h265std_encode.h" 9357 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 9358 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 9359 9360 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 9361 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9362 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 9363 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 9364 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 9365 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 9366 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 9367 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 9368 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 9369 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 9370 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 9371 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9372 } VkVideoEncodeH265CapabilityFlagBitsKHR; 9373 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 9374 9375 typedef enum VkVideoEncodeH265StdFlagBitsKHR { 9376 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 9377 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 9378 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 9379 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 9380 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 9381 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 9382 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 9383 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 9384 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 9385 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 9386 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 9387 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 9388 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 9389 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 9390 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 9391 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 9392 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 9393 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 9394 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 9395 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 9396 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 9397 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9398 } VkVideoEncodeH265StdFlagBitsKHR; 9399 typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 9400 9401 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 9402 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 9403 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 9404 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 9405 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9406 } VkVideoEncodeH265CtbSizeFlagBitsKHR; 9407 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 9408 9409 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 9410 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 9411 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 9412 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 9413 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 9414 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9415 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 9416 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 9417 9418 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 9419 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 9420 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 9421 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 9422 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 9423 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 9424 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9425 } VkVideoEncodeH265RateControlFlagBitsKHR; 9426 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 9427 typedef struct VkVideoEncodeH265CapabilitiesKHR { 9428 VkStructureType sType; 9429 void* pNext; 9430 VkVideoEncodeH265CapabilityFlagsKHR flags; 9431 StdVideoH265LevelIdc maxLevelIdc; 9432 uint32_t maxSliceSegmentCount; 9433 VkExtent2D maxTiles; 9434 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 9435 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 9436 uint32_t maxPPictureL0ReferenceCount; 9437 uint32_t maxBPictureL0ReferenceCount; 9438 uint32_t maxL1ReferenceCount; 9439 uint32_t maxSubLayerCount; 9440 VkBool32 expectDyadicTemporalSubLayerPattern; 9441 int32_t minQp; 9442 int32_t maxQp; 9443 VkBool32 prefersGopRemainingFrames; 9444 VkBool32 requiresGopRemainingFrames; 9445 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 9446 } VkVideoEncodeH265CapabilitiesKHR; 9447 9448 typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 9449 VkStructureType sType; 9450 const void* pNext; 9451 VkBool32 useMaxLevelIdc; 9452 StdVideoH265LevelIdc maxLevelIdc; 9453 } VkVideoEncodeH265SessionCreateInfoKHR; 9454 9455 typedef struct VkVideoEncodeH265QpKHR { 9456 int32_t qpI; 9457 int32_t qpP; 9458 int32_t qpB; 9459 } VkVideoEncodeH265QpKHR; 9460 9461 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 9462 VkStructureType sType; 9463 void* pNext; 9464 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 9465 uint32_t preferredGopFrameCount; 9466 uint32_t preferredIdrPeriod; 9467 uint32_t preferredConsecutiveBFrameCount; 9468 uint32_t preferredSubLayerCount; 9469 VkVideoEncodeH265QpKHR preferredConstantQp; 9470 uint32_t preferredMaxL0ReferenceCount; 9471 uint32_t preferredMaxL1ReferenceCount; 9472 } VkVideoEncodeH265QualityLevelPropertiesKHR; 9473 9474 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 9475 VkStructureType sType; 9476 const void* pNext; 9477 uint32_t stdVPSCount; 9478 const StdVideoH265VideoParameterSet* pStdVPSs; 9479 uint32_t stdSPSCount; 9480 const StdVideoH265SequenceParameterSet* pStdSPSs; 9481 uint32_t stdPPSCount; 9482 const StdVideoH265PictureParameterSet* pStdPPSs; 9483 } VkVideoEncodeH265SessionParametersAddInfoKHR; 9484 9485 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 9486 VkStructureType sType; 9487 const void* pNext; 9488 uint32_t maxStdVPSCount; 9489 uint32_t maxStdSPSCount; 9490 uint32_t maxStdPPSCount; 9491 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9492 } VkVideoEncodeH265SessionParametersCreateInfoKHR; 9493 9494 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 9495 VkStructureType sType; 9496 const void* pNext; 9497 VkBool32 writeStdVPS; 9498 VkBool32 writeStdSPS; 9499 VkBool32 writeStdPPS; 9500 uint32_t stdVPSId; 9501 uint32_t stdSPSId; 9502 uint32_t stdPPSId; 9503 } VkVideoEncodeH265SessionParametersGetInfoKHR; 9504 9505 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 9506 VkStructureType sType; 9507 void* pNext; 9508 VkBool32 hasStdVPSOverrides; 9509 VkBool32 hasStdSPSOverrides; 9510 VkBool32 hasStdPPSOverrides; 9511 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 9512 9513 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 9514 VkStructureType sType; 9515 const void* pNext; 9516 int32_t constantQp; 9517 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 9518 } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 9519 9520 typedef struct VkVideoEncodeH265PictureInfoKHR { 9521 VkStructureType sType; 9522 const void* pNext; 9523 uint32_t naluSliceSegmentEntryCount; 9524 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 9525 const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 9526 } VkVideoEncodeH265PictureInfoKHR; 9527 9528 typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 9529 VkStructureType sType; 9530 const void* pNext; 9531 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 9532 } VkVideoEncodeH265DpbSlotInfoKHR; 9533 9534 typedef struct VkVideoEncodeH265ProfileInfoKHR { 9535 VkStructureType sType; 9536 const void* pNext; 9537 StdVideoH265ProfileIdc stdProfileIdc; 9538 } VkVideoEncodeH265ProfileInfoKHR; 9539 9540 typedef struct VkVideoEncodeH265RateControlInfoKHR { 9541 VkStructureType sType; 9542 const void* pNext; 9543 VkVideoEncodeH265RateControlFlagsKHR flags; 9544 uint32_t gopFrameCount; 9545 uint32_t idrPeriod; 9546 uint32_t consecutiveBFrameCount; 9547 uint32_t subLayerCount; 9548 } VkVideoEncodeH265RateControlInfoKHR; 9549 9550 typedef struct VkVideoEncodeH265FrameSizeKHR { 9551 uint32_t frameISize; 9552 uint32_t framePSize; 9553 uint32_t frameBSize; 9554 } VkVideoEncodeH265FrameSizeKHR; 9555 9556 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 9557 VkStructureType sType; 9558 const void* pNext; 9559 VkBool32 useMinQp; 9560 VkVideoEncodeH265QpKHR minQp; 9561 VkBool32 useMaxQp; 9562 VkVideoEncodeH265QpKHR maxQp; 9563 VkBool32 useMaxFrameSize; 9564 VkVideoEncodeH265FrameSizeKHR maxFrameSize; 9565 } VkVideoEncodeH265RateControlLayerInfoKHR; 9566 9567 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 9568 VkStructureType sType; 9569 const void* pNext; 9570 VkBool32 useGopRemainingFrames; 9571 uint32_t gopRemainingI; 9572 uint32_t gopRemainingP; 9573 uint32_t gopRemainingB; 9574 } VkVideoEncodeH265GopRemainingFrameInfoKHR; 9575 9576 9577 9578 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 9579 #define VK_KHR_video_decode_h264 1 9580 #include "vk_video/vulkan_video_codec_h264std_decode.h" 9581 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 9582 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 9583 9584 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 9585 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 9586 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 9587 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 9588 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9589 } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 9590 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 9591 typedef struct VkVideoDecodeH264ProfileInfoKHR { 9592 VkStructureType sType; 9593 const void* pNext; 9594 StdVideoH264ProfileIdc stdProfileIdc; 9595 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 9596 } VkVideoDecodeH264ProfileInfoKHR; 9597 9598 typedef struct VkVideoDecodeH264CapabilitiesKHR { 9599 VkStructureType sType; 9600 void* pNext; 9601 StdVideoH264LevelIdc maxLevelIdc; 9602 VkOffset2D fieldOffsetGranularity; 9603 } VkVideoDecodeH264CapabilitiesKHR; 9604 9605 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 9606 VkStructureType sType; 9607 const void* pNext; 9608 uint32_t stdSPSCount; 9609 const StdVideoH264SequenceParameterSet* pStdSPSs; 9610 uint32_t stdPPSCount; 9611 const StdVideoH264PictureParameterSet* pStdPPSs; 9612 } VkVideoDecodeH264SessionParametersAddInfoKHR; 9613 9614 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 9615 VkStructureType sType; 9616 const void* pNext; 9617 uint32_t maxStdSPSCount; 9618 uint32_t maxStdPPSCount; 9619 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9620 } VkVideoDecodeH264SessionParametersCreateInfoKHR; 9621 9622 typedef struct VkVideoDecodeH264PictureInfoKHR { 9623 VkStructureType sType; 9624 const void* pNext; 9625 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 9626 uint32_t sliceCount; 9627 const uint32_t* pSliceOffsets; 9628 } VkVideoDecodeH264PictureInfoKHR; 9629 9630 typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 9631 VkStructureType sType; 9632 const void* pNext; 9633 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 9634 } VkVideoDecodeH264DpbSlotInfoKHR; 9635 9636 9637 9638 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 9639 #define VK_KHR_dynamic_rendering 1 9640 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 9641 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 9642 typedef VkRenderingFlags VkRenderingFlagsKHR; 9643 9644 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 9645 9646 typedef VkRenderingInfo VkRenderingInfoKHR; 9647 9648 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 9649 9650 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 9651 9652 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 9653 9654 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 9655 9656 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 9657 VkStructureType sType; 9658 const void* pNext; 9659 VkImageView imageView; 9660 VkImageLayout imageLayout; 9661 VkExtent2D shadingRateAttachmentTexelSize; 9662 } VkRenderingFragmentShadingRateAttachmentInfoKHR; 9663 9664 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 9665 VkStructureType sType; 9666 const void* pNext; 9667 VkImageView imageView; 9668 VkImageLayout imageLayout; 9669 } VkRenderingFragmentDensityMapAttachmentInfoEXT; 9670 9671 typedef struct VkAttachmentSampleCountInfoAMD { 9672 VkStructureType sType; 9673 const void* pNext; 9674 uint32_t colorAttachmentCount; 9675 const VkSampleCountFlagBits* pColorAttachmentSamples; 9676 VkSampleCountFlagBits depthStencilAttachmentSamples; 9677 } VkAttachmentSampleCountInfoAMD; 9678 9679 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 9680 9681 typedef struct VkMultiviewPerViewAttributesInfoNVX { 9682 VkStructureType sType; 9683 const void* pNext; 9684 VkBool32 perViewAttributes; 9685 VkBool32 perViewAttributesPositionXOnly; 9686 } VkMultiviewPerViewAttributesInfoNVX; 9687 9688 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 9689 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 9690 9691 #ifndef VK_NO_PROTOTYPES 9692 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 9693 VkCommandBuffer commandBuffer, 9694 const VkRenderingInfo* pRenderingInfo); 9695 9696 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 9697 VkCommandBuffer commandBuffer); 9698 #endif 9699 9700 9701 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 9702 #define VK_KHR_multiview 1 9703 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 9704 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 9705 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 9706 9707 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 9708 9709 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 9710 9711 9712 9713 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 9714 #define VK_KHR_get_physical_device_properties2 1 9715 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 9716 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 9717 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 9718 9719 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 9720 9721 typedef VkFormatProperties2 VkFormatProperties2KHR; 9722 9723 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 9724 9725 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 9726 9727 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 9728 9729 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 9730 9731 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 9732 9733 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 9734 9735 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 9736 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 9737 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 9738 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 9739 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 9740 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9741 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 9742 9743 #ifndef VK_NO_PROTOTYPES 9744 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 9745 VkPhysicalDevice physicalDevice, 9746 VkPhysicalDeviceFeatures2* pFeatures); 9747 9748 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 9749 VkPhysicalDevice physicalDevice, 9750 VkPhysicalDeviceProperties2* pProperties); 9751 9752 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 9753 VkPhysicalDevice physicalDevice, 9754 VkFormat format, 9755 VkFormatProperties2* pFormatProperties); 9756 9757 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 9758 VkPhysicalDevice physicalDevice, 9759 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 9760 VkImageFormatProperties2* pImageFormatProperties); 9761 9762 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 9763 VkPhysicalDevice physicalDevice, 9764 uint32_t* pQueueFamilyPropertyCount, 9765 VkQueueFamilyProperties2* pQueueFamilyProperties); 9766 9767 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 9768 VkPhysicalDevice physicalDevice, 9769 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9770 9771 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 9772 VkPhysicalDevice physicalDevice, 9773 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 9774 uint32_t* pPropertyCount, 9775 VkSparseImageFormatProperties2* pProperties); 9776 #endif 9777 9778 9779 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 9780 #define VK_KHR_device_group 1 9781 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 9782 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 9783 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 9784 9785 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 9786 9787 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 9788 9789 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 9790 9791 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9792 9793 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9794 9795 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9796 9797 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9798 9799 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9800 9801 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9802 9803 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9804 9805 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9806 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 9807 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); 9808 9809 #ifndef VK_NO_PROTOTYPES 9810 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 9811 VkDevice device, 9812 uint32_t heapIndex, 9813 uint32_t localDeviceIndex, 9814 uint32_t remoteDeviceIndex, 9815 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9816 9817 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 9818 VkCommandBuffer commandBuffer, 9819 uint32_t deviceMask); 9820 9821 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9822 VkCommandBuffer commandBuffer, 9823 uint32_t baseGroupX, 9824 uint32_t baseGroupY, 9825 uint32_t baseGroupZ, 9826 uint32_t groupCountX, 9827 uint32_t groupCountY, 9828 uint32_t groupCountZ); 9829 #endif 9830 9831 9832 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 9833 #define VK_KHR_shader_draw_parameters 1 9834 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9835 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9836 9837 9838 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9839 #define VK_KHR_maintenance1 1 9840 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9841 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9842 // VK_KHR_MAINTENANCE1_SPEC_VERSION is a deprecated alias 9843 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9844 // VK_KHR_MAINTENANCE1_EXTENSION_NAME is a deprecated alias 9845 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9846 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9847 9848 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9849 9850 #ifndef VK_NO_PROTOTYPES 9851 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9852 VkDevice device, 9853 VkCommandPool commandPool, 9854 VkCommandPoolTrimFlags flags); 9855 #endif 9856 9857 9858 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 9859 #define VK_KHR_device_group_creation 1 9860 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9861 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9862 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9863 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9864 9865 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9866 9867 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9868 9869 #ifndef VK_NO_PROTOTYPES 9870 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9871 VkInstance instance, 9872 uint32_t* pPhysicalDeviceGroupCount, 9873 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9874 #endif 9875 9876 9877 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 9878 #define VK_KHR_external_memory_capabilities 1 9879 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9880 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9881 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 9882 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9883 9884 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9885 9886 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9887 9888 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9889 9890 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9891 9892 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9893 9894 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9895 9896 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9897 9898 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9899 9900 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9901 9902 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9903 9904 #ifndef VK_NO_PROTOTYPES 9905 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9906 VkPhysicalDevice physicalDevice, 9907 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9908 VkExternalBufferProperties* pExternalBufferProperties); 9909 #endif 9910 9911 9912 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 9913 #define VK_KHR_external_memory 1 9914 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9915 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9916 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9917 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9918 9919 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9920 9921 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9922 9923 9924 9925 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 9926 #define VK_KHR_external_memory_fd 1 9927 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9928 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9929 typedef struct VkImportMemoryFdInfoKHR { 9930 VkStructureType sType; 9931 const void* pNext; 9932 VkExternalMemoryHandleTypeFlagBits handleType; 9933 int fd; 9934 } VkImportMemoryFdInfoKHR; 9935 9936 typedef struct VkMemoryFdPropertiesKHR { 9937 VkStructureType sType; 9938 void* pNext; 9939 uint32_t memoryTypeBits; 9940 } VkMemoryFdPropertiesKHR; 9941 9942 typedef struct VkMemoryGetFdInfoKHR { 9943 VkStructureType sType; 9944 const void* pNext; 9945 VkDeviceMemory memory; 9946 VkExternalMemoryHandleTypeFlagBits handleType; 9947 } VkMemoryGetFdInfoKHR; 9948 9949 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9950 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9951 9952 #ifndef VK_NO_PROTOTYPES 9953 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9954 VkDevice device, 9955 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9956 int* pFd); 9957 9958 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9959 VkDevice device, 9960 VkExternalMemoryHandleTypeFlagBits handleType, 9961 int fd, 9962 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9963 #endif 9964 9965 9966 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 9967 #define VK_KHR_external_semaphore_capabilities 1 9968 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9969 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9970 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9971 9972 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9973 9974 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9975 9976 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9977 9978 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9979 9980 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9981 9982 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9983 9984 #ifndef VK_NO_PROTOTYPES 9985 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9986 VkPhysicalDevice physicalDevice, 9987 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9988 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9989 #endif 9990 9991 9992 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 9993 #define VK_KHR_external_semaphore 1 9994 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9995 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9996 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9997 9998 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9999 10000 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 10001 10002 10003 10004 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 10005 #define VK_KHR_external_semaphore_fd 1 10006 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 10007 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 10008 typedef struct VkImportSemaphoreFdInfoKHR { 10009 VkStructureType sType; 10010 const void* pNext; 10011 VkSemaphore semaphore; 10012 VkSemaphoreImportFlags flags; 10013 VkExternalSemaphoreHandleTypeFlagBits handleType; 10014 int fd; 10015 } VkImportSemaphoreFdInfoKHR; 10016 10017 typedef struct VkSemaphoreGetFdInfoKHR { 10018 VkStructureType sType; 10019 const void* pNext; 10020 VkSemaphore semaphore; 10021 VkExternalSemaphoreHandleTypeFlagBits handleType; 10022 } VkSemaphoreGetFdInfoKHR; 10023 10024 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10025 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 10026 10027 #ifndef VK_NO_PROTOTYPES 10028 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 10029 VkDevice device, 10030 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 10031 10032 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 10033 VkDevice device, 10034 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 10035 int* pFd); 10036 #endif 10037 10038 10039 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 10040 #define VK_KHR_push_descriptor 1 10041 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 10042 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 10043 typedef VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR; 10044 10045 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 10046 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 10047 10048 #ifndef VK_NO_PROTOTYPES 10049 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 10050 VkCommandBuffer commandBuffer, 10051 VkPipelineBindPoint pipelineBindPoint, 10052 VkPipelineLayout layout, 10053 uint32_t set, 10054 uint32_t descriptorWriteCount, 10055 const VkWriteDescriptorSet* pDescriptorWrites); 10056 10057 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 10058 VkCommandBuffer commandBuffer, 10059 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10060 VkPipelineLayout layout, 10061 uint32_t set, 10062 const void* pData); 10063 #endif 10064 10065 10066 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 10067 #define VK_KHR_shader_float16_int8 1 10068 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 10069 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 10070 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 10071 10072 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 10073 10074 10075 10076 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 10077 #define VK_KHR_16bit_storage 1 10078 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 10079 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 10080 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 10081 10082 10083 10084 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 10085 #define VK_KHR_incremental_present 1 10086 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 10087 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 10088 typedef struct VkRectLayerKHR { 10089 VkOffset2D offset; 10090 VkExtent2D extent; 10091 uint32_t layer; 10092 } VkRectLayerKHR; 10093 10094 typedef struct VkPresentRegionKHR { 10095 uint32_t rectangleCount; 10096 const VkRectLayerKHR* pRectangles; 10097 } VkPresentRegionKHR; 10098 10099 typedef struct VkPresentRegionsKHR { 10100 VkStructureType sType; 10101 const void* pNext; 10102 uint32_t swapchainCount; 10103 const VkPresentRegionKHR* pRegions; 10104 } VkPresentRegionsKHR; 10105 10106 10107 10108 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 10109 #define VK_KHR_descriptor_update_template 1 10110 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 10111 10112 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 10113 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 10114 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 10115 10116 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 10117 10118 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 10119 10120 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 10121 10122 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10123 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 10124 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 10125 10126 #ifndef VK_NO_PROTOTYPES 10127 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 10128 VkDevice device, 10129 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 10130 const VkAllocationCallbacks* pAllocator, 10131 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 10132 10133 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 10134 VkDevice device, 10135 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10136 const VkAllocationCallbacks* pAllocator); 10137 10138 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 10139 VkDevice device, 10140 VkDescriptorSet descriptorSet, 10141 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 10142 const void* pData); 10143 #endif 10144 10145 10146 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 10147 #define VK_KHR_imageless_framebuffer 1 10148 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 10149 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 10150 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 10151 10152 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 10153 10154 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 10155 10156 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 10157 10158 10159 10160 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 10161 #define VK_KHR_create_renderpass2 1 10162 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 10163 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 10164 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 10165 10166 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 10167 10168 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 10169 10170 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 10171 10172 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 10173 10174 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 10175 10176 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 10177 10178 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 10179 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 10180 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 10181 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 10182 10183 #ifndef VK_NO_PROTOTYPES 10184 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 10185 VkDevice device, 10186 const VkRenderPassCreateInfo2* pCreateInfo, 10187 const VkAllocationCallbacks* pAllocator, 10188 VkRenderPass* pRenderPass); 10189 10190 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 10191 VkCommandBuffer commandBuffer, 10192 const VkRenderPassBeginInfo* pRenderPassBegin, 10193 const VkSubpassBeginInfo* pSubpassBeginInfo); 10194 10195 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 10196 VkCommandBuffer commandBuffer, 10197 const VkSubpassBeginInfo* pSubpassBeginInfo, 10198 const VkSubpassEndInfo* pSubpassEndInfo); 10199 10200 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 10201 VkCommandBuffer commandBuffer, 10202 const VkSubpassEndInfo* pSubpassEndInfo); 10203 #endif 10204 10205 10206 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 10207 #define VK_KHR_shared_presentable_image 1 10208 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 10209 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 10210 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 10211 VkStructureType sType; 10212 void* pNext; 10213 VkImageUsageFlags sharedPresentSupportedUsageFlags; 10214 } VkSharedPresentSurfaceCapabilitiesKHR; 10215 10216 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 10217 10218 #ifndef VK_NO_PROTOTYPES 10219 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 10220 VkDevice device, 10221 VkSwapchainKHR swapchain); 10222 #endif 10223 10224 10225 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 10226 #define VK_KHR_external_fence_capabilities 1 10227 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 10228 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 10229 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 10230 10231 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 10232 10233 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 10234 10235 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 10236 10237 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 10238 10239 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 10240 10241 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 10242 10243 #ifndef VK_NO_PROTOTYPES 10244 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 10245 VkPhysicalDevice physicalDevice, 10246 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 10247 VkExternalFenceProperties* pExternalFenceProperties); 10248 #endif 10249 10250 10251 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 10252 #define VK_KHR_external_fence 1 10253 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 10254 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 10255 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 10256 10257 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 10258 10259 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 10260 10261 10262 10263 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 10264 #define VK_KHR_external_fence_fd 1 10265 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 10266 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 10267 typedef struct VkImportFenceFdInfoKHR { 10268 VkStructureType sType; 10269 const void* pNext; 10270 VkFence fence; 10271 VkFenceImportFlags flags; 10272 VkExternalFenceHandleTypeFlagBits handleType; 10273 int fd; 10274 } VkImportFenceFdInfoKHR; 10275 10276 typedef struct VkFenceGetFdInfoKHR { 10277 VkStructureType sType; 10278 const void* pNext; 10279 VkFence fence; 10280 VkExternalFenceHandleTypeFlagBits handleType; 10281 } VkFenceGetFdInfoKHR; 10282 10283 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10284 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 10285 10286 #ifndef VK_NO_PROTOTYPES 10287 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 10288 VkDevice device, 10289 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 10290 10291 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 10292 VkDevice device, 10293 const VkFenceGetFdInfoKHR* pGetFdInfo, 10294 int* pFd); 10295 #endif 10296 10297 10298 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 10299 #define VK_KHR_performance_query 1 10300 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 10301 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 10302 10303 typedef enum VkPerformanceCounterUnitKHR { 10304 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 10305 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 10306 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 10307 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 10308 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 10309 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 10310 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 10311 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 10312 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 10313 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 10314 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 10315 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 10316 } VkPerformanceCounterUnitKHR; 10317 10318 typedef enum VkPerformanceCounterScopeKHR { 10319 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 10320 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 10321 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 10322 // VK_QUERY_SCOPE_COMMAND_BUFFER_KHR is a deprecated alias 10323 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 10324 // VK_QUERY_SCOPE_RENDER_PASS_KHR is a deprecated alias 10325 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 10326 // VK_QUERY_SCOPE_COMMAND_KHR is a deprecated alias 10327 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 10328 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 10329 } VkPerformanceCounterScopeKHR; 10330 10331 typedef enum VkPerformanceCounterStorageKHR { 10332 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 10333 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 10334 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 10335 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 10336 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 10337 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 10338 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 10339 } VkPerformanceCounterStorageKHR; 10340 10341 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 10342 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 10343 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 10344 // VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR is a deprecated alias 10345 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 10346 // VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR is a deprecated alias 10347 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 10348 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10349 } VkPerformanceCounterDescriptionFlagBitsKHR; 10350 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 10351 10352 typedef enum VkAcquireProfilingLockFlagBitsKHR { 10353 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10354 } VkAcquireProfilingLockFlagBitsKHR; 10355 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 10356 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 10357 VkStructureType sType; 10358 void* pNext; 10359 VkBool32 performanceCounterQueryPools; 10360 VkBool32 performanceCounterMultipleQueryPools; 10361 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 10362 10363 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 10364 VkStructureType sType; 10365 void* pNext; 10366 VkBool32 allowCommandBufferQueryCopies; 10367 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 10368 10369 typedef struct VkPerformanceCounterKHR { 10370 VkStructureType sType; 10371 void* pNext; 10372 VkPerformanceCounterUnitKHR unit; 10373 VkPerformanceCounterScopeKHR scope; 10374 VkPerformanceCounterStorageKHR storage; 10375 uint8_t uuid[VK_UUID_SIZE]; 10376 } VkPerformanceCounterKHR; 10377 10378 typedef struct VkPerformanceCounterDescriptionKHR { 10379 VkStructureType sType; 10380 void* pNext; 10381 VkPerformanceCounterDescriptionFlagsKHR flags; 10382 char name[VK_MAX_DESCRIPTION_SIZE]; 10383 char category[VK_MAX_DESCRIPTION_SIZE]; 10384 char description[VK_MAX_DESCRIPTION_SIZE]; 10385 } VkPerformanceCounterDescriptionKHR; 10386 10387 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 10388 VkStructureType sType; 10389 const void* pNext; 10390 uint32_t queueFamilyIndex; 10391 uint32_t counterIndexCount; 10392 const uint32_t* pCounterIndices; 10393 } VkQueryPoolPerformanceCreateInfoKHR; 10394 10395 typedef union VkPerformanceCounterResultKHR { 10396 int32_t int32; 10397 int64_t int64; 10398 uint32_t uint32; 10399 uint64_t uint64; 10400 float float32; 10401 double float64; 10402 } VkPerformanceCounterResultKHR; 10403 10404 typedef struct VkAcquireProfilingLockInfoKHR { 10405 VkStructureType sType; 10406 const void* pNext; 10407 VkAcquireProfilingLockFlagsKHR flags; 10408 uint64_t timeout; 10409 } VkAcquireProfilingLockInfoKHR; 10410 10411 typedef struct VkPerformanceQuerySubmitInfoKHR { 10412 VkStructureType sType; 10413 const void* pNext; 10414 uint32_t counterPassIndex; 10415 } VkPerformanceQuerySubmitInfoKHR; 10416 10417 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10418 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 10419 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 10420 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 10421 10422 #ifndef VK_NO_PROTOTYPES 10423 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 10424 VkPhysicalDevice physicalDevice, 10425 uint32_t queueFamilyIndex, 10426 uint32_t* pCounterCount, 10427 VkPerformanceCounterKHR* pCounters, 10428 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10429 10430 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 10431 VkPhysicalDevice physicalDevice, 10432 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 10433 uint32_t* pNumPasses); 10434 10435 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 10436 VkDevice device, 10437 const VkAcquireProfilingLockInfoKHR* pInfo); 10438 10439 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 10440 VkDevice device); 10441 #endif 10442 10443 10444 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 10445 #define VK_KHR_maintenance2 1 10446 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 10447 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 10448 // VK_KHR_MAINTENANCE2_SPEC_VERSION is a deprecated alias 10449 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 10450 // VK_KHR_MAINTENANCE2_EXTENSION_NAME is a deprecated alias 10451 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 10452 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 10453 10454 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 10455 10456 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 10457 10458 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 10459 10460 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 10461 10462 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 10463 10464 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 10465 10466 10467 10468 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 10469 #define VK_KHR_get_surface_capabilities2 1 10470 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 10471 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 10472 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 10473 VkStructureType sType; 10474 const void* pNext; 10475 VkSurfaceKHR surface; 10476 } VkPhysicalDeviceSurfaceInfo2KHR; 10477 10478 typedef struct VkSurfaceCapabilities2KHR { 10479 VkStructureType sType; 10480 void* pNext; 10481 VkSurfaceCapabilitiesKHR surfaceCapabilities; 10482 } VkSurfaceCapabilities2KHR; 10483 10484 typedef struct VkSurfaceFormat2KHR { 10485 VkStructureType sType; 10486 void* pNext; 10487 VkSurfaceFormatKHR surfaceFormat; 10488 } VkSurfaceFormat2KHR; 10489 10490 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10491 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 10492 10493 #ifndef VK_NO_PROTOTYPES 10494 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 10495 VkPhysicalDevice physicalDevice, 10496 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10497 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10498 10499 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 10500 VkPhysicalDevice physicalDevice, 10501 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10502 uint32_t* pSurfaceFormatCount, 10503 VkSurfaceFormat2KHR* pSurfaceFormats); 10504 #endif 10505 10506 10507 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 10508 #define VK_KHR_variable_pointers 1 10509 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 10510 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 10511 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 10512 10513 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 10514 10515 10516 10517 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 10518 #define VK_KHR_get_display_properties2 1 10519 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 10520 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 10521 typedef struct VkDisplayProperties2KHR { 10522 VkStructureType sType; 10523 void* pNext; 10524 VkDisplayPropertiesKHR displayProperties; 10525 } VkDisplayProperties2KHR; 10526 10527 typedef struct VkDisplayPlaneProperties2KHR { 10528 VkStructureType sType; 10529 void* pNext; 10530 VkDisplayPlanePropertiesKHR displayPlaneProperties; 10531 } VkDisplayPlaneProperties2KHR; 10532 10533 typedef struct VkDisplayModeProperties2KHR { 10534 VkStructureType sType; 10535 void* pNext; 10536 VkDisplayModePropertiesKHR displayModeProperties; 10537 } VkDisplayModeProperties2KHR; 10538 10539 typedef struct VkDisplayPlaneInfo2KHR { 10540 VkStructureType sType; 10541 const void* pNext; 10542 VkDisplayModeKHR mode; 10543 uint32_t planeIndex; 10544 } VkDisplayPlaneInfo2KHR; 10545 10546 typedef struct VkDisplayPlaneCapabilities2KHR { 10547 VkStructureType sType; 10548 void* pNext; 10549 VkDisplayPlaneCapabilitiesKHR capabilities; 10550 } VkDisplayPlaneCapabilities2KHR; 10551 10552 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 10553 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 10554 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 10555 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 10556 10557 #ifndef VK_NO_PROTOTYPES 10558 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 10559 VkPhysicalDevice physicalDevice, 10560 uint32_t* pPropertyCount, 10561 VkDisplayProperties2KHR* pProperties); 10562 10563 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 10564 VkPhysicalDevice physicalDevice, 10565 uint32_t* pPropertyCount, 10566 VkDisplayPlaneProperties2KHR* pProperties); 10567 10568 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 10569 VkPhysicalDevice physicalDevice, 10570 VkDisplayKHR display, 10571 uint32_t* pPropertyCount, 10572 VkDisplayModeProperties2KHR* pProperties); 10573 10574 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 10575 VkPhysicalDevice physicalDevice, 10576 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 10577 VkDisplayPlaneCapabilities2KHR* pCapabilities); 10578 #endif 10579 10580 10581 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 10582 #define VK_KHR_dedicated_allocation 1 10583 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 10584 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 10585 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 10586 10587 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 10588 10589 10590 10591 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 10592 #define VK_KHR_storage_buffer_storage_class 1 10593 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 10594 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 10595 10596 10597 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 10598 #define VK_KHR_relaxed_block_layout 1 10599 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 10600 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 10601 10602 10603 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 10604 #define VK_KHR_get_memory_requirements2 1 10605 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 10606 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 10607 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 10608 10609 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 10610 10611 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 10612 10613 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 10614 10615 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 10616 10617 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10618 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10619 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10620 10621 #ifndef VK_NO_PROTOTYPES 10622 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 10623 VkDevice device, 10624 const VkImageMemoryRequirementsInfo2* pInfo, 10625 VkMemoryRequirements2* pMemoryRequirements); 10626 10627 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 10628 VkDevice device, 10629 const VkBufferMemoryRequirementsInfo2* pInfo, 10630 VkMemoryRequirements2* pMemoryRequirements); 10631 10632 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 10633 VkDevice device, 10634 const VkImageSparseMemoryRequirementsInfo2* pInfo, 10635 uint32_t* pSparseMemoryRequirementCount, 10636 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10637 #endif 10638 10639 10640 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 10641 #define VK_KHR_image_format_list 1 10642 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 10643 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 10644 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 10645 10646 10647 10648 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 10649 #define VK_KHR_sampler_ycbcr_conversion 1 10650 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 10651 10652 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 10653 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 10654 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 10655 10656 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 10657 10658 typedef VkChromaLocation VkChromaLocationKHR; 10659 10660 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 10661 10662 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 10663 10664 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 10665 10666 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 10667 10668 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 10669 10670 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 10671 10672 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 10673 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 10674 10675 #ifndef VK_NO_PROTOTYPES 10676 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 10677 VkDevice device, 10678 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 10679 const VkAllocationCallbacks* pAllocator, 10680 VkSamplerYcbcrConversion* pYcbcrConversion); 10681 10682 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 10683 VkDevice device, 10684 VkSamplerYcbcrConversion ycbcrConversion, 10685 const VkAllocationCallbacks* pAllocator); 10686 #endif 10687 10688 10689 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 10690 #define VK_KHR_bind_memory2 1 10691 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 10692 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 10693 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 10694 10695 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 10696 10697 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 10698 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 10699 10700 #ifndef VK_NO_PROTOTYPES 10701 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 10702 VkDevice device, 10703 uint32_t bindInfoCount, 10704 const VkBindBufferMemoryInfo* pBindInfos); 10705 10706 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 10707 VkDevice device, 10708 uint32_t bindInfoCount, 10709 const VkBindImageMemoryInfo* pBindInfos); 10710 #endif 10711 10712 10713 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 10714 #define VK_KHR_maintenance3 1 10715 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 10716 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 10717 // VK_KHR_MAINTENANCE3_SPEC_VERSION is a deprecated alias 10718 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 10719 // VK_KHR_MAINTENANCE3_EXTENSION_NAME is a deprecated alias 10720 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 10721 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 10722 10723 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 10724 10725 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 10726 10727 #ifndef VK_NO_PROTOTYPES 10728 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 10729 VkDevice device, 10730 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 10731 VkDescriptorSetLayoutSupport* pSupport); 10732 #endif 10733 10734 10735 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 10736 #define VK_KHR_draw_indirect_count 1 10737 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 10738 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 10739 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10740 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 10741 10742 #ifndef VK_NO_PROTOTYPES 10743 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 10744 VkCommandBuffer commandBuffer, 10745 VkBuffer buffer, 10746 VkDeviceSize offset, 10747 VkBuffer countBuffer, 10748 VkDeviceSize countBufferOffset, 10749 uint32_t maxDrawCount, 10750 uint32_t stride); 10751 10752 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 10753 VkCommandBuffer commandBuffer, 10754 VkBuffer buffer, 10755 VkDeviceSize offset, 10756 VkBuffer countBuffer, 10757 VkDeviceSize countBufferOffset, 10758 uint32_t maxDrawCount, 10759 uint32_t stride); 10760 #endif 10761 10762 10763 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 10764 #define VK_KHR_shader_subgroup_extended_types 1 10765 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 10766 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 10767 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 10768 10769 10770 10771 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 10772 #define VK_KHR_8bit_storage 1 10773 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 10774 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 10775 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 10776 10777 10778 10779 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 10780 #define VK_KHR_shader_atomic_int64 1 10781 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 10782 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 10783 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 10784 10785 10786 10787 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 10788 #define VK_KHR_shader_clock 1 10789 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 10790 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 10791 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 10792 VkStructureType sType; 10793 void* pNext; 10794 VkBool32 shaderSubgroupClock; 10795 VkBool32 shaderDeviceClock; 10796 } VkPhysicalDeviceShaderClockFeaturesKHR; 10797 10798 10799 10800 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 10801 #define VK_KHR_video_decode_h265 1 10802 #include "vk_video/vulkan_video_codec_h265std_decode.h" 10803 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 10804 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 10805 typedef struct VkVideoDecodeH265ProfileInfoKHR { 10806 VkStructureType sType; 10807 const void* pNext; 10808 StdVideoH265ProfileIdc stdProfileIdc; 10809 } VkVideoDecodeH265ProfileInfoKHR; 10810 10811 typedef struct VkVideoDecodeH265CapabilitiesKHR { 10812 VkStructureType sType; 10813 void* pNext; 10814 StdVideoH265LevelIdc maxLevelIdc; 10815 } VkVideoDecodeH265CapabilitiesKHR; 10816 10817 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 10818 VkStructureType sType; 10819 const void* pNext; 10820 uint32_t stdVPSCount; 10821 const StdVideoH265VideoParameterSet* pStdVPSs; 10822 uint32_t stdSPSCount; 10823 const StdVideoH265SequenceParameterSet* pStdSPSs; 10824 uint32_t stdPPSCount; 10825 const StdVideoH265PictureParameterSet* pStdPPSs; 10826 } VkVideoDecodeH265SessionParametersAddInfoKHR; 10827 10828 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10829 VkStructureType sType; 10830 const void* pNext; 10831 uint32_t maxStdVPSCount; 10832 uint32_t maxStdSPSCount; 10833 uint32_t maxStdPPSCount; 10834 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10835 } VkVideoDecodeH265SessionParametersCreateInfoKHR; 10836 10837 typedef struct VkVideoDecodeH265PictureInfoKHR { 10838 VkStructureType sType; 10839 const void* pNext; 10840 const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10841 uint32_t sliceSegmentCount; 10842 const uint32_t* pSliceSegmentOffsets; 10843 } VkVideoDecodeH265PictureInfoKHR; 10844 10845 typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10846 VkStructureType sType; 10847 const void* pNext; 10848 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10849 } VkVideoDecodeH265DpbSlotInfoKHR; 10850 10851 10852 10853 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 10854 #define VK_KHR_global_priority 1 10855 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10856 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10857 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR VK_MAX_GLOBAL_PRIORITY_SIZE 10858 typedef VkQueueGlobalPriority VkQueueGlobalPriorityKHR; 10859 10860 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR; 10861 10862 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10863 10864 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR; 10865 10866 10867 10868 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 10869 #define VK_KHR_driver_properties 1 10870 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10871 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10872 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10873 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10874 typedef VkDriverId VkDriverIdKHR; 10875 10876 typedef VkConformanceVersion VkConformanceVersionKHR; 10877 10878 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10879 10880 10881 10882 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 10883 #define VK_KHR_shader_float_controls 1 10884 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10885 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10886 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10887 10888 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10889 10890 10891 10892 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 10893 #define VK_KHR_depth_stencil_resolve 1 10894 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10895 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10896 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10897 10898 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10899 10900 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10901 10902 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10903 10904 10905 10906 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 10907 #define VK_KHR_swapchain_mutable_format 1 10908 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10909 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10910 10911 10912 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 10913 #define VK_KHR_timeline_semaphore 1 10914 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10915 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10916 typedef VkSemaphoreType VkSemaphoreTypeKHR; 10917 10918 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10919 10920 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10921 10922 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10923 10924 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10925 10926 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10927 10928 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10929 10930 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10931 10932 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10933 10934 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 10935 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 10936 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10937 10938 #ifndef VK_NO_PROTOTYPES 10939 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10940 VkDevice device, 10941 VkSemaphore semaphore, 10942 uint64_t* pValue); 10943 10944 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10945 VkDevice device, 10946 const VkSemaphoreWaitInfo* pWaitInfo, 10947 uint64_t timeout); 10948 10949 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10950 VkDevice device, 10951 const VkSemaphoreSignalInfo* pSignalInfo); 10952 #endif 10953 10954 10955 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 10956 #define VK_KHR_vulkan_memory_model 1 10957 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10958 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10959 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10960 10961 10962 10963 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 10964 #define VK_KHR_shader_terminate_invocation 1 10965 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10966 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10967 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10968 10969 10970 10971 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 10972 #define VK_KHR_fragment_shading_rate 1 10973 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10974 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10975 10976 typedef enum VkFragmentShadingRateCombinerOpKHR { 10977 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10978 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10979 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10980 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10981 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10982 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10983 } VkFragmentShadingRateCombinerOpKHR; 10984 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10985 VkStructureType sType; 10986 const void* pNext; 10987 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10988 VkExtent2D shadingRateAttachmentTexelSize; 10989 } VkFragmentShadingRateAttachmentInfoKHR; 10990 10991 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10992 VkStructureType sType; 10993 const void* pNext; 10994 VkExtent2D fragmentSize; 10995 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10996 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 10997 10998 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10999 VkStructureType sType; 11000 void* pNext; 11001 VkBool32 pipelineFragmentShadingRate; 11002 VkBool32 primitiveFragmentShadingRate; 11003 VkBool32 attachmentFragmentShadingRate; 11004 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 11005 11006 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 11007 VkStructureType sType; 11008 void* pNext; 11009 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 11010 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 11011 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 11012 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 11013 VkBool32 layeredShadingRateAttachments; 11014 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 11015 VkExtent2D maxFragmentSize; 11016 uint32_t maxFragmentSizeAspectRatio; 11017 uint32_t maxFragmentShadingRateCoverageSamples; 11018 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 11019 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 11020 VkBool32 fragmentShadingRateWithSampleMask; 11021 VkBool32 fragmentShadingRateWithShaderSampleMask; 11022 VkBool32 fragmentShadingRateWithConservativeRasterization; 11023 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 11024 VkBool32 fragmentShadingRateWithCustomSampleLocations; 11025 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 11026 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 11027 11028 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 11029 VkStructureType sType; 11030 void* pNext; 11031 VkSampleCountFlags sampleCounts; 11032 VkExtent2D fragmentSize; 11033 } VkPhysicalDeviceFragmentShadingRateKHR; 11034 11035 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11036 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11037 11038 #ifndef VK_NO_PROTOTYPES 11039 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 11040 VkPhysicalDevice physicalDevice, 11041 uint32_t* pFragmentShadingRateCount, 11042 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 11043 11044 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 11045 VkCommandBuffer commandBuffer, 11046 const VkExtent2D* pFragmentSize, 11047 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 11048 #endif 11049 11050 11051 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls. 11052 #define VK_KHR_dynamic_rendering_local_read 1 11053 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 11054 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" 11055 typedef VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; 11056 11057 typedef VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR; 11058 11059 typedef VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR; 11060 11061 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo); 11062 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11063 11064 #ifndef VK_NO_PROTOTYPES 11065 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR( 11066 VkCommandBuffer commandBuffer, 11067 const VkRenderingAttachmentLocationInfo* pLocationInfo); 11068 11069 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR( 11070 VkCommandBuffer commandBuffer, 11071 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo); 11072 #endif 11073 11074 11075 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls. 11076 #define VK_KHR_shader_quad_control 1 11077 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1 11078 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control" 11079 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR { 11080 VkStructureType sType; 11081 void* pNext; 11082 VkBool32 shaderQuadControl; 11083 } VkPhysicalDeviceShaderQuadControlFeaturesKHR; 11084 11085 11086 11087 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 11088 #define VK_KHR_spirv_1_4 1 11089 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 11090 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 11091 11092 11093 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 11094 #define VK_KHR_surface_protected_capabilities 1 11095 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 11096 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 11097 typedef struct VkSurfaceProtectedCapabilitiesKHR { 11098 VkStructureType sType; 11099 const void* pNext; 11100 VkBool32 supportsProtected; 11101 } VkSurfaceProtectedCapabilitiesKHR; 11102 11103 11104 11105 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 11106 #define VK_KHR_separate_depth_stencil_layouts 1 11107 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 11108 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 11109 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 11110 11111 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 11112 11113 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 11114 11115 11116 11117 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 11118 #define VK_KHR_present_wait 1 11119 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 11120 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 11121 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 11122 VkStructureType sType; 11123 void* pNext; 11124 VkBool32 presentWait; 11125 } VkPhysicalDevicePresentWaitFeaturesKHR; 11126 11127 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); 11128 11129 #ifndef VK_NO_PROTOTYPES 11130 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 11131 VkDevice device, 11132 VkSwapchainKHR swapchain, 11133 uint64_t presentId, 11134 uint64_t timeout); 11135 #endif 11136 11137 11138 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 11139 #define VK_KHR_uniform_buffer_standard_layout 1 11140 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 11141 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 11142 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 11143 11144 11145 11146 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 11147 #define VK_KHR_buffer_device_address 1 11148 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 11149 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 11150 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 11151 11152 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 11153 11154 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 11155 11156 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 11157 11158 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 11159 11160 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11161 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 11162 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11163 11164 #ifndef VK_NO_PROTOTYPES 11165 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 11166 VkDevice device, 11167 const VkBufferDeviceAddressInfo* pInfo); 11168 11169 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 11170 VkDevice device, 11171 const VkBufferDeviceAddressInfo* pInfo); 11172 11173 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 11174 VkDevice device, 11175 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 11176 #endif 11177 11178 11179 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 11180 #define VK_KHR_deferred_host_operations 1 11181 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 11182 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 11183 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 11184 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 11185 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 11186 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 11187 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 11188 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 11189 11190 #ifndef VK_NO_PROTOTYPES 11191 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 11192 VkDevice device, 11193 const VkAllocationCallbacks* pAllocator, 11194 VkDeferredOperationKHR* pDeferredOperation); 11195 11196 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 11197 VkDevice device, 11198 VkDeferredOperationKHR operation, 11199 const VkAllocationCallbacks* pAllocator); 11200 11201 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 11202 VkDevice device, 11203 VkDeferredOperationKHR operation); 11204 11205 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 11206 VkDevice device, 11207 VkDeferredOperationKHR operation); 11208 11209 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 11210 VkDevice device, 11211 VkDeferredOperationKHR operation); 11212 #endif 11213 11214 11215 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 11216 #define VK_KHR_pipeline_executable_properties 1 11217 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 11218 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 11219 11220 typedef enum VkPipelineExecutableStatisticFormatKHR { 11221 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 11222 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 11223 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 11224 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 11225 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 11226 } VkPipelineExecutableStatisticFormatKHR; 11227 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 11228 VkStructureType sType; 11229 void* pNext; 11230 VkBool32 pipelineExecutableInfo; 11231 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 11232 11233 typedef struct VkPipelineInfoKHR { 11234 VkStructureType sType; 11235 const void* pNext; 11236 VkPipeline pipeline; 11237 } VkPipelineInfoKHR; 11238 11239 typedef struct VkPipelineExecutablePropertiesKHR { 11240 VkStructureType sType; 11241 void* pNext; 11242 VkShaderStageFlags stages; 11243 char name[VK_MAX_DESCRIPTION_SIZE]; 11244 char description[VK_MAX_DESCRIPTION_SIZE]; 11245 uint32_t subgroupSize; 11246 } VkPipelineExecutablePropertiesKHR; 11247 11248 typedef struct VkPipelineExecutableInfoKHR { 11249 VkStructureType sType; 11250 const void* pNext; 11251 VkPipeline pipeline; 11252 uint32_t executableIndex; 11253 } VkPipelineExecutableInfoKHR; 11254 11255 typedef union VkPipelineExecutableStatisticValueKHR { 11256 VkBool32 b32; 11257 int64_t i64; 11258 uint64_t u64; 11259 double f64; 11260 } VkPipelineExecutableStatisticValueKHR; 11261 11262 typedef struct VkPipelineExecutableStatisticKHR { 11263 VkStructureType sType; 11264 void* pNext; 11265 char name[VK_MAX_DESCRIPTION_SIZE]; 11266 char description[VK_MAX_DESCRIPTION_SIZE]; 11267 VkPipelineExecutableStatisticFormatKHR format; 11268 VkPipelineExecutableStatisticValueKHR value; 11269 } VkPipelineExecutableStatisticKHR; 11270 11271 typedef struct VkPipelineExecutableInternalRepresentationKHR { 11272 VkStructureType sType; 11273 void* pNext; 11274 char name[VK_MAX_DESCRIPTION_SIZE]; 11275 char description[VK_MAX_DESCRIPTION_SIZE]; 11276 VkBool32 isText; 11277 size_t dataSize; 11278 void* pData; 11279 } VkPipelineExecutableInternalRepresentationKHR; 11280 11281 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 11282 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 11283 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11284 11285 #ifndef VK_NO_PROTOTYPES 11286 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 11287 VkDevice device, 11288 const VkPipelineInfoKHR* pPipelineInfo, 11289 uint32_t* pExecutableCount, 11290 VkPipelineExecutablePropertiesKHR* pProperties); 11291 11292 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 11293 VkDevice device, 11294 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11295 uint32_t* pStatisticCount, 11296 VkPipelineExecutableStatisticKHR* pStatistics); 11297 11298 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 11299 VkDevice device, 11300 const VkPipelineExecutableInfoKHR* pExecutableInfo, 11301 uint32_t* pInternalRepresentationCount, 11302 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 11303 #endif 11304 11305 11306 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 11307 #define VK_KHR_map_memory2 1 11308 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 11309 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 11310 typedef VkMemoryUnmapFlagBits VkMemoryUnmapFlagBitsKHR; 11311 11312 typedef VkMemoryUnmapFlags VkMemoryUnmapFlagsKHR; 11313 11314 typedef VkMemoryMapInfo VkMemoryMapInfoKHR; 11315 11316 typedef VkMemoryUnmapInfo VkMemoryUnmapInfoKHR; 11317 11318 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData); 11319 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11320 11321 #ifndef VK_NO_PROTOTYPES 11322 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 11323 VkDevice device, 11324 const VkMemoryMapInfo* pMemoryMapInfo, 11325 void** ppData); 11326 11327 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 11328 VkDevice device, 11329 const VkMemoryUnmapInfo* pMemoryUnmapInfo); 11330 #endif 11331 11332 11333 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 11334 #define VK_KHR_shader_integer_dot_product 1 11335 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 11336 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 11337 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 11338 11339 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 11340 11341 11342 11343 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 11344 #define VK_KHR_pipeline_library 1 11345 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 11346 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 11347 typedef struct VkPipelineLibraryCreateInfoKHR { 11348 VkStructureType sType; 11349 const void* pNext; 11350 uint32_t libraryCount; 11351 const VkPipeline* pLibraries; 11352 } VkPipelineLibraryCreateInfoKHR; 11353 11354 11355 11356 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 11357 #define VK_KHR_shader_non_semantic_info 1 11358 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 11359 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 11360 11361 11362 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 11363 #define VK_KHR_present_id 1 11364 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 11365 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 11366 typedef struct VkPresentIdKHR { 11367 VkStructureType sType; 11368 const void* pNext; 11369 uint32_t swapchainCount; 11370 const uint64_t* pPresentIds; 11371 } VkPresentIdKHR; 11372 11373 typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 11374 VkStructureType sType; 11375 void* pNext; 11376 VkBool32 presentId; 11377 } VkPhysicalDevicePresentIdFeaturesKHR; 11378 11379 11380 11381 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 11382 #define VK_KHR_video_encode_queue 1 11383 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 11384 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 11385 11386 typedef enum VkVideoEncodeTuningModeKHR { 11387 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 11388 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 11389 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 11390 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 11391 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 11392 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 11393 } VkVideoEncodeTuningModeKHR; 11394 typedef VkFlags VkVideoEncodeFlagsKHR; 11395 11396 typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 11397 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 11398 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 11399 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11400 } VkVideoEncodeCapabilityFlagBitsKHR; 11401 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 11402 11403 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 11404 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 11405 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 11406 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 11407 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 11408 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11409 } VkVideoEncodeRateControlModeFlagBitsKHR; 11410 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 11411 11412 typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 11413 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 11414 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 11415 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 11416 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11417 } VkVideoEncodeFeedbackFlagBitsKHR; 11418 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 11419 11420 typedef enum VkVideoEncodeUsageFlagBitsKHR { 11421 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 11422 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 11423 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 11424 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 11425 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 11426 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11427 } VkVideoEncodeUsageFlagBitsKHR; 11428 typedef VkFlags VkVideoEncodeUsageFlagsKHR; 11429 11430 typedef enum VkVideoEncodeContentFlagBitsKHR { 11431 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 11432 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 11433 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 11434 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 11435 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 11436 } VkVideoEncodeContentFlagBitsKHR; 11437 typedef VkFlags VkVideoEncodeContentFlagsKHR; 11438 typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 11439 typedef struct VkVideoEncodeInfoKHR { 11440 VkStructureType sType; 11441 const void* pNext; 11442 VkVideoEncodeFlagsKHR flags; 11443 VkBuffer dstBuffer; 11444 VkDeviceSize dstBufferOffset; 11445 VkDeviceSize dstBufferRange; 11446 VkVideoPictureResourceInfoKHR srcPictureResource; 11447 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 11448 uint32_t referenceSlotCount; 11449 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 11450 uint32_t precedingExternallyEncodedBytes; 11451 } VkVideoEncodeInfoKHR; 11452 11453 typedef struct VkVideoEncodeCapabilitiesKHR { 11454 VkStructureType sType; 11455 void* pNext; 11456 VkVideoEncodeCapabilityFlagsKHR flags; 11457 VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 11458 uint32_t maxRateControlLayers; 11459 uint64_t maxBitrate; 11460 uint32_t maxQualityLevels; 11461 VkExtent2D encodeInputPictureGranularity; 11462 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 11463 } VkVideoEncodeCapabilitiesKHR; 11464 11465 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 11466 VkStructureType sType; 11467 const void* pNext; 11468 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 11469 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 11470 11471 typedef struct VkVideoEncodeUsageInfoKHR { 11472 VkStructureType sType; 11473 const void* pNext; 11474 VkVideoEncodeUsageFlagsKHR videoUsageHints; 11475 VkVideoEncodeContentFlagsKHR videoContentHints; 11476 VkVideoEncodeTuningModeKHR tuningMode; 11477 } VkVideoEncodeUsageInfoKHR; 11478 11479 typedef struct VkVideoEncodeRateControlLayerInfoKHR { 11480 VkStructureType sType; 11481 const void* pNext; 11482 uint64_t averageBitrate; 11483 uint64_t maxBitrate; 11484 uint32_t frameRateNumerator; 11485 uint32_t frameRateDenominator; 11486 } VkVideoEncodeRateControlLayerInfoKHR; 11487 11488 typedef struct VkVideoEncodeRateControlInfoKHR { 11489 VkStructureType sType; 11490 const void* pNext; 11491 VkVideoEncodeRateControlFlagsKHR flags; 11492 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 11493 uint32_t layerCount; 11494 const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 11495 uint32_t virtualBufferSizeInMs; 11496 uint32_t initialVirtualBufferSizeInMs; 11497 } VkVideoEncodeRateControlInfoKHR; 11498 11499 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 11500 VkStructureType sType; 11501 const void* pNext; 11502 const VkVideoProfileInfoKHR* pVideoProfile; 11503 uint32_t qualityLevel; 11504 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 11505 11506 typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 11507 VkStructureType sType; 11508 void* pNext; 11509 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 11510 uint32_t preferredRateControlLayerCount; 11511 } VkVideoEncodeQualityLevelPropertiesKHR; 11512 11513 typedef struct VkVideoEncodeQualityLevelInfoKHR { 11514 VkStructureType sType; 11515 const void* pNext; 11516 uint32_t qualityLevel; 11517 } VkVideoEncodeQualityLevelInfoKHR; 11518 11519 typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 11520 VkStructureType sType; 11521 const void* pNext; 11522 VkVideoSessionParametersKHR videoSessionParameters; 11523 } VkVideoEncodeSessionParametersGetInfoKHR; 11524 11525 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 11526 VkStructureType sType; 11527 void* pNext; 11528 VkBool32 hasOverrides; 11529 } VkVideoEncodeSessionParametersFeedbackInfoKHR; 11530 11531 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11532 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 11533 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 11534 11535 #ifndef VK_NO_PROTOTYPES 11536 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 11537 VkPhysicalDevice physicalDevice, 11538 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 11539 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 11540 11541 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 11542 VkDevice device, 11543 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 11544 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 11545 size_t* pDataSize, 11546 void* pData); 11547 11548 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 11549 VkCommandBuffer commandBuffer, 11550 const VkVideoEncodeInfoKHR* pEncodeInfo); 11551 #endif 11552 11553 11554 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 11555 #define VK_KHR_synchronization2 1 11556 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 11557 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 11558 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 11559 11560 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 11561 11562 typedef VkAccessFlags2 VkAccessFlags2KHR; 11563 11564 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 11565 11566 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 11567 11568 typedef VkSubmitFlags VkSubmitFlagsKHR; 11569 11570 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 11571 11572 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 11573 11574 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 11575 11576 typedef VkDependencyInfo VkDependencyInfoKHR; 11577 11578 typedef VkSubmitInfo2 VkSubmitInfo2KHR; 11579 11580 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 11581 11582 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 11583 11584 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 11585 11586 typedef struct VkQueueFamilyCheckpointProperties2NV { 11587 VkStructureType sType; 11588 void* pNext; 11589 VkPipelineStageFlags2 checkpointExecutionStageMask; 11590 } VkQueueFamilyCheckpointProperties2NV; 11591 11592 typedef struct VkCheckpointData2NV { 11593 VkStructureType sType; 11594 void* pNext; 11595 VkPipelineStageFlags2 stage; 11596 void* pCheckpointMarker; 11597 } VkCheckpointData2NV; 11598 11599 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 11600 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 11601 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 11602 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 11603 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); 11604 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 11605 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 11606 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 11607 11608 #ifndef VK_NO_PROTOTYPES 11609 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 11610 VkCommandBuffer commandBuffer, 11611 VkEvent event, 11612 const VkDependencyInfo* pDependencyInfo); 11613 11614 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 11615 VkCommandBuffer commandBuffer, 11616 VkEvent event, 11617 VkPipelineStageFlags2 stageMask); 11618 11619 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 11620 VkCommandBuffer commandBuffer, 11621 uint32_t eventCount, 11622 const VkEvent* pEvents, 11623 const VkDependencyInfo* pDependencyInfos); 11624 11625 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 11626 VkCommandBuffer commandBuffer, 11627 const VkDependencyInfo* pDependencyInfo); 11628 11629 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 11630 VkCommandBuffer commandBuffer, 11631 VkPipelineStageFlags2 stage, 11632 VkQueryPool queryPool, 11633 uint32_t query); 11634 11635 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 11636 VkQueue queue, 11637 uint32_t submitCount, 11638 const VkSubmitInfo2* pSubmits, 11639 VkFence fence); 11640 11641 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 11642 VkCommandBuffer commandBuffer, 11643 VkPipelineStageFlags2 stage, 11644 VkBuffer dstBuffer, 11645 VkDeviceSize dstOffset, 11646 uint32_t marker); 11647 11648 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 11649 VkQueue queue, 11650 uint32_t* pCheckpointDataCount, 11651 VkCheckpointData2NV* pCheckpointData); 11652 #endif 11653 11654 11655 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 11656 #define VK_KHR_fragment_shader_barycentric 1 11657 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 11658 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 11659 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 11660 VkStructureType sType; 11661 void* pNext; 11662 VkBool32 fragmentShaderBarycentric; 11663 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 11664 11665 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 11666 VkStructureType sType; 11667 void* pNext; 11668 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 11669 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 11670 11671 11672 11673 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 11674 #define VK_KHR_shader_subgroup_uniform_control_flow 1 11675 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 11676 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 11677 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 11678 VkStructureType sType; 11679 void* pNext; 11680 VkBool32 shaderSubgroupUniformControlFlow; 11681 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 11682 11683 11684 11685 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 11686 #define VK_KHR_zero_initialize_workgroup_memory 1 11687 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 11688 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 11689 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 11690 11691 11692 11693 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 11694 #define VK_KHR_workgroup_memory_explicit_layout 1 11695 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 11696 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 11697 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 11698 VkStructureType sType; 11699 void* pNext; 11700 VkBool32 workgroupMemoryExplicitLayout; 11701 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 11702 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 11703 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 11704 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 11705 11706 11707 11708 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 11709 #define VK_KHR_copy_commands2 1 11710 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 11711 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 11712 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 11713 11714 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 11715 11716 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 11717 11718 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 11719 11720 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 11721 11722 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 11723 11724 typedef VkBufferCopy2 VkBufferCopy2KHR; 11725 11726 typedef VkImageCopy2 VkImageCopy2KHR; 11727 11728 typedef VkImageBlit2 VkImageBlit2KHR; 11729 11730 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 11731 11732 typedef VkImageResolve2 VkImageResolve2KHR; 11733 11734 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 11735 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 11736 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11737 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11738 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 11739 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 11740 11741 #ifndef VK_NO_PROTOTYPES 11742 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 11743 VkCommandBuffer commandBuffer, 11744 const VkCopyBufferInfo2* pCopyBufferInfo); 11745 11746 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 11747 VkCommandBuffer commandBuffer, 11748 const VkCopyImageInfo2* pCopyImageInfo); 11749 11750 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 11751 VkCommandBuffer commandBuffer, 11752 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11753 11754 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 11755 VkCommandBuffer commandBuffer, 11756 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11757 11758 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 11759 VkCommandBuffer commandBuffer, 11760 const VkBlitImageInfo2* pBlitImageInfo); 11761 11762 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 11763 VkCommandBuffer commandBuffer, 11764 const VkResolveImageInfo2* pResolveImageInfo); 11765 #endif 11766 11767 11768 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 11769 #define VK_KHR_format_feature_flags2 1 11770 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11771 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11772 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11773 11774 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11775 11776 typedef VkFormatProperties3 VkFormatProperties3KHR; 11777 11778 11779 11780 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11781 #define VK_KHR_ray_tracing_maintenance1 1 11782 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11783 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11784 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11785 VkStructureType sType; 11786 void* pNext; 11787 VkBool32 rayTracingMaintenance1; 11788 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11789 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11790 11791 typedef struct VkTraceRaysIndirectCommand2KHR { 11792 VkDeviceAddress raygenShaderRecordAddress; 11793 VkDeviceSize raygenShaderRecordSize; 11794 VkDeviceAddress missShaderBindingTableAddress; 11795 VkDeviceSize missShaderBindingTableSize; 11796 VkDeviceSize missShaderBindingTableStride; 11797 VkDeviceAddress hitShaderBindingTableAddress; 11798 VkDeviceSize hitShaderBindingTableSize; 11799 VkDeviceSize hitShaderBindingTableStride; 11800 VkDeviceAddress callableShaderBindingTableAddress; 11801 VkDeviceSize callableShaderBindingTableSize; 11802 VkDeviceSize callableShaderBindingTableStride; 11803 uint32_t width; 11804 uint32_t height; 11805 uint32_t depth; 11806 } VkTraceRaysIndirectCommand2KHR; 11807 11808 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11809 11810 #ifndef VK_NO_PROTOTYPES 11811 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11812 VkCommandBuffer commandBuffer, 11813 VkDeviceAddress indirectDeviceAddress); 11814 #endif 11815 11816 11817 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 11818 #define VK_KHR_portability_enumeration 1 11819 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11820 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11821 11822 11823 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 11824 #define VK_KHR_maintenance4 1 11825 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11826 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11827 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11828 11829 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11830 11831 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11832 11833 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11834 11835 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11836 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11837 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11838 11839 #ifndef VK_NO_PROTOTYPES 11840 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11841 VkDevice device, 11842 const VkDeviceBufferMemoryRequirements* pInfo, 11843 VkMemoryRequirements2* pMemoryRequirements); 11844 11845 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11846 VkDevice device, 11847 const VkDeviceImageMemoryRequirements* pInfo, 11848 VkMemoryRequirements2* pMemoryRequirements); 11849 11850 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11851 VkDevice device, 11852 const VkDeviceImageMemoryRequirements* pInfo, 11853 uint32_t* pSparseMemoryRequirementCount, 11854 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11855 #endif 11856 11857 11858 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls. 11859 #define VK_KHR_shader_subgroup_rotate 1 11860 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2 11861 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate" 11862 typedef VkPhysicalDeviceShaderSubgroupRotateFeatures VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; 11863 11864 11865 11866 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls. 11867 #define VK_KHR_shader_maximal_reconvergence 1 11868 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 11869 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence" 11870 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { 11871 VkStructureType sType; 11872 void* pNext; 11873 VkBool32 shaderMaximalReconvergence; 11874 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR; 11875 11876 11877 11878 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 11879 #define VK_KHR_maintenance5 1 11880 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 11881 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 11882 typedef VkPipelineCreateFlags2 VkPipelineCreateFlags2KHR; 11883 11884 typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR; 11885 11886 typedef VkBufferUsageFlags2 VkBufferUsageFlags2KHR; 11887 11888 typedef VkBufferUsageFlagBits2 VkBufferUsageFlagBits2KHR; 11889 11890 typedef VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR; 11891 11892 typedef VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR; 11893 11894 typedef VkRenderingAreaInfo VkRenderingAreaInfoKHR; 11895 11896 typedef VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR; 11897 11898 typedef VkImageSubresource2 VkImageSubresource2KHR; 11899 11900 typedef VkSubresourceLayout2 VkSubresourceLayout2KHR; 11901 11902 typedef VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR; 11903 11904 typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR; 11905 11906 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11907 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity); 11908 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout); 11909 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 11910 11911 #ifndef VK_NO_PROTOTYPES 11912 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11913 VkCommandBuffer commandBuffer, 11914 VkBuffer buffer, 11915 VkDeviceSize offset, 11916 VkDeviceSize size, 11917 VkIndexType indexType); 11918 11919 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11920 VkDevice device, 11921 const VkRenderingAreaInfo* pRenderingAreaInfo, 11922 VkExtent2D* pGranularity); 11923 11924 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11925 VkDevice device, 11926 const VkDeviceImageSubresourceInfo* pInfo, 11927 VkSubresourceLayout2* pLayout); 11928 11929 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11930 VkDevice device, 11931 VkImage image, 11932 const VkImageSubresource2* pSubresource, 11933 VkSubresourceLayout2* pLayout); 11934 #endif 11935 11936 11937 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11938 #define VK_KHR_ray_tracing_position_fetch 1 11939 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11940 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11941 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11942 VkStructureType sType; 11943 void* pNext; 11944 VkBool32 rayTracingPositionFetch; 11945 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11946 11947 11948 11949 // VK_KHR_pipeline_binary is a preprocessor guard. Do not pass it to API calls. 11950 #define VK_KHR_pipeline_binary 1 11951 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) 11952 #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32U 11953 #define VK_KHR_PIPELINE_BINARY_SPEC_VERSION 1 11954 #define VK_KHR_PIPELINE_BINARY_EXTENSION_NAME "VK_KHR_pipeline_binary" 11955 typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR { 11956 VkStructureType sType; 11957 void* pNext; 11958 VkBool32 pipelineBinaries; 11959 } VkPhysicalDevicePipelineBinaryFeaturesKHR; 11960 11961 typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR { 11962 VkStructureType sType; 11963 void* pNext; 11964 VkBool32 pipelineBinaryInternalCache; 11965 VkBool32 pipelineBinaryInternalCacheControl; 11966 VkBool32 pipelineBinaryPrefersInternalCache; 11967 VkBool32 pipelineBinaryPrecompiledInternalCache; 11968 VkBool32 pipelineBinaryCompressedData; 11969 } VkPhysicalDevicePipelineBinaryPropertiesKHR; 11970 11971 typedef struct VkDevicePipelineBinaryInternalCacheControlKHR { 11972 VkStructureType sType; 11973 const void* pNext; 11974 VkBool32 disableInternalCache; 11975 } VkDevicePipelineBinaryInternalCacheControlKHR; 11976 11977 typedef struct VkPipelineBinaryKeyKHR { 11978 VkStructureType sType; 11979 void* pNext; 11980 uint32_t keySize; 11981 uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR]; 11982 } VkPipelineBinaryKeyKHR; 11983 11984 typedef struct VkPipelineBinaryDataKHR { 11985 size_t dataSize; 11986 void* pData; 11987 } VkPipelineBinaryDataKHR; 11988 11989 typedef struct VkPipelineBinaryKeysAndDataKHR { 11990 uint32_t binaryCount; 11991 const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys; 11992 const VkPipelineBinaryDataKHR* pPipelineBinaryData; 11993 } VkPipelineBinaryKeysAndDataKHR; 11994 11995 typedef struct VkPipelineCreateInfoKHR { 11996 VkStructureType sType; 11997 void* pNext; 11998 } VkPipelineCreateInfoKHR; 11999 12000 typedef struct VkPipelineBinaryCreateInfoKHR { 12001 VkStructureType sType; 12002 const void* pNext; 12003 const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo; 12004 VkPipeline pipeline; 12005 const VkPipelineCreateInfoKHR* pPipelineCreateInfo; 12006 } VkPipelineBinaryCreateInfoKHR; 12007 12008 typedef struct VkPipelineBinaryInfoKHR { 12009 VkStructureType sType; 12010 const void* pNext; 12011 uint32_t binaryCount; 12012 const VkPipelineBinaryKHR* pPipelineBinaries; 12013 } VkPipelineBinaryInfoKHR; 12014 12015 typedef struct VkReleaseCapturedPipelineDataInfoKHR { 12016 VkStructureType sType; 12017 void* pNext; 12018 VkPipeline pipeline; 12019 } VkReleaseCapturedPipelineDataInfoKHR; 12020 12021 typedef struct VkPipelineBinaryDataInfoKHR { 12022 VkStructureType sType; 12023 void* pNext; 12024 VkPipelineBinaryKHR pipelineBinary; 12025 } VkPipelineBinaryDataInfoKHR; 12026 12027 typedef struct VkPipelineBinaryHandlesInfoKHR { 12028 VkStructureType sType; 12029 const void* pNext; 12030 uint32_t pipelineBinaryCount; 12031 VkPipelineBinaryKHR* pPipelineBinaries; 12032 } VkPipelineBinaryHandlesInfoKHR; 12033 12034 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineBinariesKHR)(VkDevice device, const VkPipelineBinaryCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineBinaryHandlesInfoKHR* pBinaries); 12035 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineBinaryKHR)(VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks* pAllocator); 12036 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineKeyKHR)(VkDevice device, const VkPipelineCreateInfoKHR* pPipelineCreateInfo, VkPipelineBinaryKeyKHR* pPipelineKey); 12037 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineBinaryDataKHR)(VkDevice device, const VkPipelineBinaryDataInfoKHR* pInfo, VkPipelineBinaryKeyKHR* pPipelineBinaryKey, size_t* pPipelineBinaryDataSize, void* pPipelineBinaryData); 12038 typedef VkResult (VKAPI_PTR *PFN_vkReleaseCapturedPipelineDataKHR)(VkDevice device, const VkReleaseCapturedPipelineDataInfoKHR* pInfo, const VkAllocationCallbacks* pAllocator); 12039 12040 #ifndef VK_NO_PROTOTYPES 12041 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineBinariesKHR( 12042 VkDevice device, 12043 const VkPipelineBinaryCreateInfoKHR* pCreateInfo, 12044 const VkAllocationCallbacks* pAllocator, 12045 VkPipelineBinaryHandlesInfoKHR* pBinaries); 12046 12047 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineBinaryKHR( 12048 VkDevice device, 12049 VkPipelineBinaryKHR pipelineBinary, 12050 const VkAllocationCallbacks* pAllocator); 12051 12052 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineKeyKHR( 12053 VkDevice device, 12054 const VkPipelineCreateInfoKHR* pPipelineCreateInfo, 12055 VkPipelineBinaryKeyKHR* pPipelineKey); 12056 12057 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineBinaryDataKHR( 12058 VkDevice device, 12059 const VkPipelineBinaryDataInfoKHR* pInfo, 12060 VkPipelineBinaryKeyKHR* pPipelineBinaryKey, 12061 size_t* pPipelineBinaryDataSize, 12062 void* pPipelineBinaryData); 12063 12064 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseCapturedPipelineDataKHR( 12065 VkDevice device, 12066 const VkReleaseCapturedPipelineDataInfoKHR* pInfo, 12067 const VkAllocationCallbacks* pAllocator); 12068 #endif 12069 12070 12071 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 12072 #define VK_KHR_cooperative_matrix 1 12073 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 12074 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 12075 12076 typedef enum VkComponentTypeKHR { 12077 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 12078 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 12079 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 12080 VK_COMPONENT_TYPE_SINT8_KHR = 3, 12081 VK_COMPONENT_TYPE_SINT16_KHR = 4, 12082 VK_COMPONENT_TYPE_SINT32_KHR = 5, 12083 VK_COMPONENT_TYPE_SINT64_KHR = 6, 12084 VK_COMPONENT_TYPE_UINT8_KHR = 7, 12085 VK_COMPONENT_TYPE_UINT16_KHR = 8, 12086 VK_COMPONENT_TYPE_UINT32_KHR = 9, 12087 VK_COMPONENT_TYPE_UINT64_KHR = 10, 12088 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 12089 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 12090 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 12091 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 12092 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 12093 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 12094 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 12095 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 12096 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 12097 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 12098 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 12099 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 12100 } VkComponentTypeKHR; 12101 12102 typedef enum VkScopeKHR { 12103 VK_SCOPE_DEVICE_KHR = 1, 12104 VK_SCOPE_WORKGROUP_KHR = 2, 12105 VK_SCOPE_SUBGROUP_KHR = 3, 12106 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 12107 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 12108 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 12109 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 12110 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 12111 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 12112 } VkScopeKHR; 12113 typedef struct VkCooperativeMatrixPropertiesKHR { 12114 VkStructureType sType; 12115 void* pNext; 12116 uint32_t MSize; 12117 uint32_t NSize; 12118 uint32_t KSize; 12119 VkComponentTypeKHR AType; 12120 VkComponentTypeKHR BType; 12121 VkComponentTypeKHR CType; 12122 VkComponentTypeKHR ResultType; 12123 VkBool32 saturatingAccumulation; 12124 VkScopeKHR scope; 12125 } VkCooperativeMatrixPropertiesKHR; 12126 12127 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 12128 VkStructureType sType; 12129 void* pNext; 12130 VkBool32 cooperativeMatrix; 12131 VkBool32 cooperativeMatrixRobustBufferAccess; 12132 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 12133 12134 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 12135 VkStructureType sType; 12136 void* pNext; 12137 VkShaderStageFlags cooperativeMatrixSupportedStages; 12138 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 12139 12140 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 12141 12142 #ifndef VK_NO_PROTOTYPES 12143 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 12144 VkPhysicalDevice physicalDevice, 12145 uint32_t* pPropertyCount, 12146 VkCooperativeMatrixPropertiesKHR* pProperties); 12147 #endif 12148 12149 12150 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls. 12151 #define VK_KHR_video_decode_av1 1 12152 #include "vk_video/vulkan_video_codec_av1std.h" 12153 #include "vk_video/vulkan_video_codec_av1std_decode.h" 12154 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U 12155 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1 12156 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1" 12157 typedef struct VkVideoDecodeAV1ProfileInfoKHR { 12158 VkStructureType sType; 12159 const void* pNext; 12160 StdVideoAV1Profile stdProfile; 12161 VkBool32 filmGrainSupport; 12162 } VkVideoDecodeAV1ProfileInfoKHR; 12163 12164 typedef struct VkVideoDecodeAV1CapabilitiesKHR { 12165 VkStructureType sType; 12166 void* pNext; 12167 StdVideoAV1Level maxLevel; 12168 } VkVideoDecodeAV1CapabilitiesKHR; 12169 12170 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { 12171 VkStructureType sType; 12172 const void* pNext; 12173 const StdVideoAV1SequenceHeader* pStdSequenceHeader; 12174 } VkVideoDecodeAV1SessionParametersCreateInfoKHR; 12175 12176 typedef struct VkVideoDecodeAV1PictureInfoKHR { 12177 VkStructureType sType; 12178 const void* pNext; 12179 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo; 12180 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]; 12181 uint32_t frameHeaderOffset; 12182 uint32_t tileCount; 12183 const uint32_t* pTileOffsets; 12184 const uint32_t* pTileSizes; 12185 } VkVideoDecodeAV1PictureInfoKHR; 12186 12187 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR { 12188 VkStructureType sType; 12189 const void* pNext; 12190 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo; 12191 } VkVideoDecodeAV1DpbSlotInfoKHR; 12192 12193 12194 12195 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 12196 #define VK_KHR_video_maintenance1 1 12197 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 12198 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 12199 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 12200 VkStructureType sType; 12201 void* pNext; 12202 VkBool32 videoMaintenance1; 12203 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 12204 12205 typedef struct VkVideoInlineQueryInfoKHR { 12206 VkStructureType sType; 12207 const void* pNext; 12208 VkQueryPool queryPool; 12209 uint32_t firstQuery; 12210 uint32_t queryCount; 12211 } VkVideoInlineQueryInfoKHR; 12212 12213 12214 12215 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 12216 #define VK_KHR_vertex_attribute_divisor 1 12217 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 12218 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 12219 typedef VkPhysicalDeviceVertexAttributeDivisorProperties VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 12220 12221 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR; 12222 12223 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR; 12224 12225 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 12226 12227 12228 12229 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 12230 #define VK_KHR_load_store_op_none 1 12231 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1 12232 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none" 12233 12234 12235 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls. 12236 #define VK_KHR_shader_float_controls2 1 12237 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1 12238 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2" 12239 typedef VkPhysicalDeviceShaderFloatControls2Features VkPhysicalDeviceShaderFloatControls2FeaturesKHR; 12240 12241 12242 12243 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 12244 #define VK_KHR_index_type_uint8 1 12245 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1 12246 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8" 12247 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR; 12248 12249 12250 12251 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12252 #define VK_KHR_line_rasterization 1 12253 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 12254 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" 12255 typedef VkLineRasterizationMode VkLineRasterizationModeKHR; 12256 12257 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR; 12258 12259 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR; 12260 12261 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR; 12262 12263 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 12264 12265 #ifndef VK_NO_PROTOTYPES 12266 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR( 12267 VkCommandBuffer commandBuffer, 12268 uint32_t lineStippleFactor, 12269 uint16_t lineStipplePattern); 12270 #endif 12271 12272 12273 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 12274 #define VK_KHR_calibrated_timestamps 1 12275 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 12276 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 12277 12278 typedef enum VkTimeDomainKHR { 12279 VK_TIME_DOMAIN_DEVICE_KHR = 0, 12280 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 12281 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 12282 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 12283 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 12284 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 12285 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 12286 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 12287 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 12288 } VkTimeDomainKHR; 12289 typedef struct VkCalibratedTimestampInfoKHR { 12290 VkStructureType sType; 12291 const void* pNext; 12292 VkTimeDomainKHR timeDomain; 12293 } VkCalibratedTimestampInfoKHR; 12294 12295 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 12296 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 12297 12298 #ifndef VK_NO_PROTOTYPES 12299 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 12300 VkPhysicalDevice physicalDevice, 12301 uint32_t* pTimeDomainCount, 12302 VkTimeDomainKHR* pTimeDomains); 12303 12304 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 12305 VkDevice device, 12306 uint32_t timestampCount, 12307 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 12308 uint64_t* pTimestamps, 12309 uint64_t* pMaxDeviation); 12310 #endif 12311 12312 12313 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls. 12314 #define VK_KHR_shader_expect_assume 1 12315 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1 12316 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume" 12317 typedef VkPhysicalDeviceShaderExpectAssumeFeatures VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; 12318 12319 12320 12321 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 12322 #define VK_KHR_maintenance6 1 12323 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 12324 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 12325 typedef VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR; 12326 12327 typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR; 12328 12329 typedef VkBindMemoryStatus VkBindMemoryStatusKHR; 12330 12331 typedef VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR; 12332 12333 typedef VkPushConstantsInfo VkPushConstantsInfoKHR; 12334 12335 typedef VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR; 12336 12337 typedef VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR; 12338 12339 typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 12340 VkStructureType sType; 12341 const void* pNext; 12342 VkShaderStageFlags stageFlags; 12343 VkPipelineLayout layout; 12344 uint32_t firstSet; 12345 uint32_t setCount; 12346 const uint32_t* pBufferIndices; 12347 const VkDeviceSize* pOffsets; 12348 } VkSetDescriptorBufferOffsetsInfoEXT; 12349 12350 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 12351 VkStructureType sType; 12352 const void* pNext; 12353 VkShaderStageFlags stageFlags; 12354 VkPipelineLayout layout; 12355 uint32_t set; 12356 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 12357 12358 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12359 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo); 12360 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12361 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12362 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12363 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12364 12365 #ifndef VK_NO_PROTOTYPES 12366 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 12367 VkCommandBuffer commandBuffer, 12368 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo); 12369 12370 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 12371 VkCommandBuffer commandBuffer, 12372 const VkPushConstantsInfo* pPushConstantsInfo); 12373 12374 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 12375 VkCommandBuffer commandBuffer, 12376 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo); 12377 12378 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 12379 VkCommandBuffer commandBuffer, 12380 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo); 12381 12382 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 12383 VkCommandBuffer commandBuffer, 12384 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 12385 12386 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 12387 VkCommandBuffer commandBuffer, 12388 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 12389 #endif 12390 12391 12392 // VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls. 12393 #define VK_KHR_shader_relaxed_extended_instruction 1 12394 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1 12395 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME "VK_KHR_shader_relaxed_extended_instruction" 12396 typedef struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR { 12397 VkStructureType sType; 12398 void* pNext; 12399 VkBool32 shaderRelaxedExtendedInstruction; 12400 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR; 12401 12402 12403 12404 // VK_KHR_maintenance7 is a preprocessor guard. Do not pass it to API calls. 12405 #define VK_KHR_maintenance7 1 12406 #define VK_KHR_MAINTENANCE_7_SPEC_VERSION 1 12407 #define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7" 12408 12409 typedef enum VkPhysicalDeviceLayeredApiKHR { 12410 VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0, 12411 VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1, 12412 VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2, 12413 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3, 12414 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4, 12415 VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR = 0x7FFFFFFF 12416 } VkPhysicalDeviceLayeredApiKHR; 12417 typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR { 12418 VkStructureType sType; 12419 void* pNext; 12420 VkBool32 maintenance7; 12421 } VkPhysicalDeviceMaintenance7FeaturesKHR; 12422 12423 typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR { 12424 VkStructureType sType; 12425 void* pNext; 12426 VkBool32 robustFragmentShadingRateAttachmentAccess; 12427 VkBool32 separateDepthStencilAttachmentAccess; 12428 uint32_t maxDescriptorSetTotalUniformBuffersDynamic; 12429 uint32_t maxDescriptorSetTotalStorageBuffersDynamic; 12430 uint32_t maxDescriptorSetTotalBuffersDynamic; 12431 uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic; 12432 uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic; 12433 uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic; 12434 } VkPhysicalDeviceMaintenance7PropertiesKHR; 12435 12436 typedef struct VkPhysicalDeviceLayeredApiPropertiesKHR { 12437 VkStructureType sType; 12438 void* pNext; 12439 uint32_t vendorID; 12440 uint32_t deviceID; 12441 VkPhysicalDeviceLayeredApiKHR layeredAPI; 12442 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 12443 } VkPhysicalDeviceLayeredApiPropertiesKHR; 12444 12445 typedef struct VkPhysicalDeviceLayeredApiPropertiesListKHR { 12446 VkStructureType sType; 12447 void* pNext; 12448 uint32_t layeredApiCount; 12449 VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis; 12450 } VkPhysicalDeviceLayeredApiPropertiesListKHR; 12451 12452 typedef struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR { 12453 VkStructureType sType; 12454 void* pNext; 12455 VkPhysicalDeviceProperties2 properties; 12456 } VkPhysicalDeviceLayeredApiVulkanPropertiesKHR; 12457 12458 12459 12460 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 12461 #define VK_EXT_debug_report 1 12462 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 12463 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 12464 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 12465 12466 typedef enum VkDebugReportObjectTypeEXT { 12467 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 12468 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 12469 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 12470 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 12471 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 12472 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 12473 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 12474 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 12475 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 12476 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 12477 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 12478 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 12479 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 12480 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 12481 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 12482 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 12483 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 12484 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 12485 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 12486 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 12487 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 12488 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 12489 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 12490 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 12491 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 12492 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 12493 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 12494 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 12495 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 12496 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 12497 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 12498 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 12499 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 12500 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 12501 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 12502 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 12503 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 12504 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 12505 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 12506 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 12507 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 12508 // VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a deprecated alias 12509 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 12510 // VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT is a deprecated alias 12511 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 12512 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 12513 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 12514 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12515 } VkDebugReportObjectTypeEXT; 12516 12517 typedef enum VkDebugReportFlagBitsEXT { 12518 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 12519 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 12520 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 12521 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 12522 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 12523 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12524 } VkDebugReportFlagBitsEXT; 12525 typedef VkFlags VkDebugReportFlagsEXT; 12526 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 12527 VkDebugReportFlagsEXT flags, 12528 VkDebugReportObjectTypeEXT objectType, 12529 uint64_t object, 12530 size_t location, 12531 int32_t messageCode, 12532 const char* pLayerPrefix, 12533 const char* pMessage, 12534 void* pUserData); 12535 12536 typedef struct VkDebugReportCallbackCreateInfoEXT { 12537 VkStructureType sType; 12538 const void* pNext; 12539 VkDebugReportFlagsEXT flags; 12540 PFN_vkDebugReportCallbackEXT pfnCallback; 12541 void* pUserData; 12542 } VkDebugReportCallbackCreateInfoEXT; 12543 12544 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 12545 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 12546 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); 12547 12548 #ifndef VK_NO_PROTOTYPES 12549 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 12550 VkInstance instance, 12551 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 12552 const VkAllocationCallbacks* pAllocator, 12553 VkDebugReportCallbackEXT* pCallback); 12554 12555 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 12556 VkInstance instance, 12557 VkDebugReportCallbackEXT callback, 12558 const VkAllocationCallbacks* pAllocator); 12559 12560 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 12561 VkInstance instance, 12562 VkDebugReportFlagsEXT flags, 12563 VkDebugReportObjectTypeEXT objectType, 12564 uint64_t object, 12565 size_t location, 12566 int32_t messageCode, 12567 const char* pLayerPrefix, 12568 const char* pMessage); 12569 #endif 12570 12571 12572 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 12573 #define VK_NV_glsl_shader 1 12574 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 12575 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 12576 12577 12578 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 12579 #define VK_EXT_depth_range_unrestricted 1 12580 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 12581 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 12582 12583 12584 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 12585 #define VK_IMG_filter_cubic 1 12586 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 12587 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 12588 12589 12590 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 12591 #define VK_AMD_rasterization_order 1 12592 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 12593 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 12594 12595 typedef enum VkRasterizationOrderAMD { 12596 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 12597 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 12598 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 12599 } VkRasterizationOrderAMD; 12600 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 12601 VkStructureType sType; 12602 const void* pNext; 12603 VkRasterizationOrderAMD rasterizationOrder; 12604 } VkPipelineRasterizationStateRasterizationOrderAMD; 12605 12606 12607 12608 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 12609 #define VK_AMD_shader_trinary_minmax 1 12610 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 12611 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 12612 12613 12614 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 12615 #define VK_AMD_shader_explicit_vertex_parameter 1 12616 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 12617 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 12618 12619 12620 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 12621 #define VK_EXT_debug_marker 1 12622 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 12623 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 12624 typedef struct VkDebugMarkerObjectNameInfoEXT { 12625 VkStructureType sType; 12626 const void* pNext; 12627 VkDebugReportObjectTypeEXT objectType; 12628 uint64_t object; 12629 const char* pObjectName; 12630 } VkDebugMarkerObjectNameInfoEXT; 12631 12632 typedef struct VkDebugMarkerObjectTagInfoEXT { 12633 VkStructureType sType; 12634 const void* pNext; 12635 VkDebugReportObjectTypeEXT objectType; 12636 uint64_t object; 12637 uint64_t tagName; 12638 size_t tagSize; 12639 const void* pTag; 12640 } VkDebugMarkerObjectTagInfoEXT; 12641 12642 typedef struct VkDebugMarkerMarkerInfoEXT { 12643 VkStructureType sType; 12644 const void* pNext; 12645 const char* pMarkerName; 12646 float color[4]; 12647 } VkDebugMarkerMarkerInfoEXT; 12648 12649 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12650 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12651 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12652 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 12653 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12654 12655 #ifndef VK_NO_PROTOTYPES 12656 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 12657 VkDevice device, 12658 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 12659 12660 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 12661 VkDevice device, 12662 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 12663 12664 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 12665 VkCommandBuffer commandBuffer, 12666 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12667 12668 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 12669 VkCommandBuffer commandBuffer); 12670 12671 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 12672 VkCommandBuffer commandBuffer, 12673 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 12674 #endif 12675 12676 12677 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 12678 #define VK_AMD_gcn_shader 1 12679 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 12680 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 12681 12682 12683 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 12684 #define VK_NV_dedicated_allocation 1 12685 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 12686 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 12687 typedef struct VkDedicatedAllocationImageCreateInfoNV { 12688 VkStructureType sType; 12689 const void* pNext; 12690 VkBool32 dedicatedAllocation; 12691 } VkDedicatedAllocationImageCreateInfoNV; 12692 12693 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 12694 VkStructureType sType; 12695 const void* pNext; 12696 VkBool32 dedicatedAllocation; 12697 } VkDedicatedAllocationBufferCreateInfoNV; 12698 12699 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 12700 VkStructureType sType; 12701 const void* pNext; 12702 VkImage image; 12703 VkBuffer buffer; 12704 } VkDedicatedAllocationMemoryAllocateInfoNV; 12705 12706 12707 12708 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 12709 #define VK_EXT_transform_feedback 1 12710 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 12711 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 12712 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 12713 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 12714 VkStructureType sType; 12715 void* pNext; 12716 VkBool32 transformFeedback; 12717 VkBool32 geometryStreams; 12718 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 12719 12720 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 12721 VkStructureType sType; 12722 void* pNext; 12723 uint32_t maxTransformFeedbackStreams; 12724 uint32_t maxTransformFeedbackBuffers; 12725 VkDeviceSize maxTransformFeedbackBufferSize; 12726 uint32_t maxTransformFeedbackStreamDataSize; 12727 uint32_t maxTransformFeedbackBufferDataSize; 12728 uint32_t maxTransformFeedbackBufferDataStride; 12729 VkBool32 transformFeedbackQueries; 12730 VkBool32 transformFeedbackStreamsLinesTriangles; 12731 VkBool32 transformFeedbackRasterizationStreamSelect; 12732 VkBool32 transformFeedbackDraw; 12733 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 12734 12735 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 12736 VkStructureType sType; 12737 const void* pNext; 12738 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 12739 uint32_t rasterizationStream; 12740 } VkPipelineRasterizationStateStreamCreateInfoEXT; 12741 12742 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 12743 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 12744 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 12745 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 12746 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 12747 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 12748 12749 #ifndef VK_NO_PROTOTYPES 12750 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 12751 VkCommandBuffer commandBuffer, 12752 uint32_t firstBinding, 12753 uint32_t bindingCount, 12754 const VkBuffer* pBuffers, 12755 const VkDeviceSize* pOffsets, 12756 const VkDeviceSize* pSizes); 12757 12758 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 12759 VkCommandBuffer commandBuffer, 12760 uint32_t firstCounterBuffer, 12761 uint32_t counterBufferCount, 12762 const VkBuffer* pCounterBuffers, 12763 const VkDeviceSize* pCounterBufferOffsets); 12764 12765 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 12766 VkCommandBuffer commandBuffer, 12767 uint32_t firstCounterBuffer, 12768 uint32_t counterBufferCount, 12769 const VkBuffer* pCounterBuffers, 12770 const VkDeviceSize* pCounterBufferOffsets); 12771 12772 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 12773 VkCommandBuffer commandBuffer, 12774 VkQueryPool queryPool, 12775 uint32_t query, 12776 VkQueryControlFlags flags, 12777 uint32_t index); 12778 12779 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 12780 VkCommandBuffer commandBuffer, 12781 VkQueryPool queryPool, 12782 uint32_t query, 12783 uint32_t index); 12784 12785 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 12786 VkCommandBuffer commandBuffer, 12787 uint32_t instanceCount, 12788 uint32_t firstInstance, 12789 VkBuffer counterBuffer, 12790 VkDeviceSize counterBufferOffset, 12791 uint32_t counterOffset, 12792 uint32_t vertexStride); 12793 #endif 12794 12795 12796 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 12797 #define VK_NVX_binary_import 1 12798 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 12799 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 12800 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 12801 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 12802 typedef struct VkCuModuleCreateInfoNVX { 12803 VkStructureType sType; 12804 const void* pNext; 12805 size_t dataSize; 12806 const void* pData; 12807 } VkCuModuleCreateInfoNVX; 12808 12809 typedef struct VkCuFunctionCreateInfoNVX { 12810 VkStructureType sType; 12811 const void* pNext; 12812 VkCuModuleNVX module; 12813 const char* pName; 12814 } VkCuFunctionCreateInfoNVX; 12815 12816 typedef struct VkCuLaunchInfoNVX { 12817 VkStructureType sType; 12818 const void* pNext; 12819 VkCuFunctionNVX function; 12820 uint32_t gridDimX; 12821 uint32_t gridDimY; 12822 uint32_t gridDimZ; 12823 uint32_t blockDimX; 12824 uint32_t blockDimY; 12825 uint32_t blockDimZ; 12826 uint32_t sharedMemBytes; 12827 size_t paramCount; 12828 const void* const * pParams; 12829 size_t extraCount; 12830 const void* const * pExtras; 12831 } VkCuLaunchInfoNVX; 12832 12833 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 12834 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 12835 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 12836 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 12837 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 12838 12839 #ifndef VK_NO_PROTOTYPES 12840 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 12841 VkDevice device, 12842 const VkCuModuleCreateInfoNVX* pCreateInfo, 12843 const VkAllocationCallbacks* pAllocator, 12844 VkCuModuleNVX* pModule); 12845 12846 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 12847 VkDevice device, 12848 const VkCuFunctionCreateInfoNVX* pCreateInfo, 12849 const VkAllocationCallbacks* pAllocator, 12850 VkCuFunctionNVX* pFunction); 12851 12852 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 12853 VkDevice device, 12854 VkCuModuleNVX module, 12855 const VkAllocationCallbacks* pAllocator); 12856 12857 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 12858 VkDevice device, 12859 VkCuFunctionNVX function, 12860 const VkAllocationCallbacks* pAllocator); 12861 12862 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 12863 VkCommandBuffer commandBuffer, 12864 const VkCuLaunchInfoNVX* pLaunchInfo); 12865 #endif 12866 12867 12868 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 12869 #define VK_NVX_image_view_handle 1 12870 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 12871 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 12872 typedef struct VkImageViewHandleInfoNVX { 12873 VkStructureType sType; 12874 const void* pNext; 12875 VkImageView imageView; 12876 VkDescriptorType descriptorType; 12877 VkSampler sampler; 12878 } VkImageViewHandleInfoNVX; 12879 12880 typedef struct VkImageViewAddressPropertiesNVX { 12881 VkStructureType sType; 12882 void* pNext; 12883 VkDeviceAddress deviceAddress; 12884 VkDeviceSize size; 12885 } VkImageViewAddressPropertiesNVX; 12886 12887 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 12888 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 12889 12890 #ifndef VK_NO_PROTOTYPES 12891 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 12892 VkDevice device, 12893 const VkImageViewHandleInfoNVX* pInfo); 12894 12895 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 12896 VkDevice device, 12897 VkImageView imageView, 12898 VkImageViewAddressPropertiesNVX* pProperties); 12899 #endif 12900 12901 12902 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 12903 #define VK_AMD_draw_indirect_count 1 12904 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 12905 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 12906 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12907 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 12908 12909 #ifndef VK_NO_PROTOTYPES 12910 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 12911 VkCommandBuffer commandBuffer, 12912 VkBuffer buffer, 12913 VkDeviceSize offset, 12914 VkBuffer countBuffer, 12915 VkDeviceSize countBufferOffset, 12916 uint32_t maxDrawCount, 12917 uint32_t stride); 12918 12919 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 12920 VkCommandBuffer commandBuffer, 12921 VkBuffer buffer, 12922 VkDeviceSize offset, 12923 VkBuffer countBuffer, 12924 VkDeviceSize countBufferOffset, 12925 uint32_t maxDrawCount, 12926 uint32_t stride); 12927 #endif 12928 12929 12930 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 12931 #define VK_AMD_negative_viewport_height 1 12932 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 12933 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 12934 12935 12936 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 12937 #define VK_AMD_gpu_shader_half_float 1 12938 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 12939 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 12940 12941 12942 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 12943 #define VK_AMD_shader_ballot 1 12944 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 12945 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 12946 12947 12948 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 12949 #define VK_AMD_texture_gather_bias_lod 1 12950 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 12951 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 12952 typedef struct VkTextureLODGatherFormatPropertiesAMD { 12953 VkStructureType sType; 12954 void* pNext; 12955 VkBool32 supportsTextureGatherLODBiasAMD; 12956 } VkTextureLODGatherFormatPropertiesAMD; 12957 12958 12959 12960 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 12961 #define VK_AMD_shader_info 1 12962 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 12963 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 12964 12965 typedef enum VkShaderInfoTypeAMD { 12966 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 12967 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 12968 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 12969 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 12970 } VkShaderInfoTypeAMD; 12971 typedef struct VkShaderResourceUsageAMD { 12972 uint32_t numUsedVgprs; 12973 uint32_t numUsedSgprs; 12974 uint32_t ldsSizePerLocalWorkGroup; 12975 size_t ldsUsageSizeInBytes; 12976 size_t scratchMemUsageInBytes; 12977 } VkShaderResourceUsageAMD; 12978 12979 typedef struct VkShaderStatisticsInfoAMD { 12980 VkShaderStageFlags shaderStageMask; 12981 VkShaderResourceUsageAMD resourceUsage; 12982 uint32_t numPhysicalVgprs; 12983 uint32_t numPhysicalSgprs; 12984 uint32_t numAvailableVgprs; 12985 uint32_t numAvailableSgprs; 12986 uint32_t computeWorkGroupSize[3]; 12987 } VkShaderStatisticsInfoAMD; 12988 12989 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 12990 12991 #ifndef VK_NO_PROTOTYPES 12992 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 12993 VkDevice device, 12994 VkPipeline pipeline, 12995 VkShaderStageFlagBits shaderStage, 12996 VkShaderInfoTypeAMD infoType, 12997 size_t* pInfoSize, 12998 void* pInfo); 12999 #endif 13000 13001 13002 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 13003 #define VK_AMD_shader_image_load_store_lod 1 13004 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 13005 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 13006 13007 13008 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 13009 #define VK_NV_corner_sampled_image 1 13010 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 13011 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 13012 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 13013 VkStructureType sType; 13014 void* pNext; 13015 VkBool32 cornerSampledImage; 13016 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 13017 13018 13019 13020 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 13021 #define VK_IMG_format_pvrtc 1 13022 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 13023 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 13024 13025 13026 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 13027 #define VK_NV_external_memory_capabilities 1 13028 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 13029 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 13030 13031 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 13032 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 13033 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 13034 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 13035 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 13036 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13037 } VkExternalMemoryHandleTypeFlagBitsNV; 13038 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 13039 13040 typedef enum VkExternalMemoryFeatureFlagBitsNV { 13041 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 13042 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 13043 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 13044 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 13045 } VkExternalMemoryFeatureFlagBitsNV; 13046 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 13047 typedef struct VkExternalImageFormatPropertiesNV { 13048 VkImageFormatProperties imageFormatProperties; 13049 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 13050 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 13051 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 13052 } VkExternalImageFormatPropertiesNV; 13053 13054 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13055 13056 #ifndef VK_NO_PROTOTYPES 13057 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 13058 VkPhysicalDevice physicalDevice, 13059 VkFormat format, 13060 VkImageType type, 13061 VkImageTiling tiling, 13062 VkImageUsageFlags usage, 13063 VkImageCreateFlags flags, 13064 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 13065 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 13066 #endif 13067 13068 13069 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 13070 #define VK_NV_external_memory 1 13071 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 13072 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 13073 typedef struct VkExternalMemoryImageCreateInfoNV { 13074 VkStructureType sType; 13075 const void* pNext; 13076 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13077 } VkExternalMemoryImageCreateInfoNV; 13078 13079 typedef struct VkExportMemoryAllocateInfoNV { 13080 VkStructureType sType; 13081 const void* pNext; 13082 VkExternalMemoryHandleTypeFlagsNV handleTypes; 13083 } VkExportMemoryAllocateInfoNV; 13084 13085 13086 13087 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 13088 #define VK_EXT_validation_flags 1 13089 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 13090 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 13091 13092 typedef enum VkValidationCheckEXT { 13093 VK_VALIDATION_CHECK_ALL_EXT = 0, 13094 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 13095 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 13096 } VkValidationCheckEXT; 13097 typedef struct VkValidationFlagsEXT { 13098 VkStructureType sType; 13099 const void* pNext; 13100 uint32_t disabledValidationCheckCount; 13101 const VkValidationCheckEXT* pDisabledValidationChecks; 13102 } VkValidationFlagsEXT; 13103 13104 13105 13106 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 13107 #define VK_EXT_shader_subgroup_ballot 1 13108 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 13109 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 13110 13111 13112 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 13113 #define VK_EXT_shader_subgroup_vote 1 13114 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 13115 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 13116 13117 13118 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 13119 #define VK_EXT_texture_compression_astc_hdr 1 13120 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 13121 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 13122 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 13123 13124 13125 13126 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 13127 #define VK_EXT_astc_decode_mode 1 13128 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 13129 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 13130 typedef struct VkImageViewASTCDecodeModeEXT { 13131 VkStructureType sType; 13132 const void* pNext; 13133 VkFormat decodeMode; 13134 } VkImageViewASTCDecodeModeEXT; 13135 13136 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 13137 VkStructureType sType; 13138 void* pNext; 13139 VkBool32 decodeModeSharedExponent; 13140 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 13141 13142 13143 13144 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 13145 #define VK_EXT_pipeline_robustness 1 13146 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 13147 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 13148 typedef VkPipelineRobustnessBufferBehavior VkPipelineRobustnessBufferBehaviorEXT; 13149 13150 typedef VkPipelineRobustnessImageBehavior VkPipelineRobustnessImageBehaviorEXT; 13151 13152 typedef VkPhysicalDevicePipelineRobustnessFeatures VkPhysicalDevicePipelineRobustnessFeaturesEXT; 13153 13154 typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT; 13155 13156 typedef VkPipelineRobustnessCreateInfo VkPipelineRobustnessCreateInfoEXT; 13157 13158 13159 13160 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 13161 #define VK_EXT_conditional_rendering 1 13162 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 13163 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 13164 13165 typedef enum VkConditionalRenderingFlagBitsEXT { 13166 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 13167 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13168 } VkConditionalRenderingFlagBitsEXT; 13169 typedef VkFlags VkConditionalRenderingFlagsEXT; 13170 typedef struct VkConditionalRenderingBeginInfoEXT { 13171 VkStructureType sType; 13172 const void* pNext; 13173 VkBuffer buffer; 13174 VkDeviceSize offset; 13175 VkConditionalRenderingFlagsEXT flags; 13176 } VkConditionalRenderingBeginInfoEXT; 13177 13178 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 13179 VkStructureType sType; 13180 void* pNext; 13181 VkBool32 conditionalRendering; 13182 VkBool32 inheritedConditionalRendering; 13183 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 13184 13185 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 13186 VkStructureType sType; 13187 const void* pNext; 13188 VkBool32 conditionalRenderingEnable; 13189 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 13190 13191 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13192 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 13193 13194 #ifndef VK_NO_PROTOTYPES 13195 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 13196 VkCommandBuffer commandBuffer, 13197 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 13198 13199 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 13200 VkCommandBuffer commandBuffer); 13201 #endif 13202 13203 13204 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 13205 #define VK_NV_clip_space_w_scaling 1 13206 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 13207 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 13208 typedef struct VkViewportWScalingNV { 13209 float xcoeff; 13210 float ycoeff; 13211 } VkViewportWScalingNV; 13212 13213 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 13214 VkStructureType sType; 13215 const void* pNext; 13216 VkBool32 viewportWScalingEnable; 13217 uint32_t viewportCount; 13218 const VkViewportWScalingNV* pViewportWScalings; 13219 } VkPipelineViewportWScalingStateCreateInfoNV; 13220 13221 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 13222 13223 #ifndef VK_NO_PROTOTYPES 13224 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 13225 VkCommandBuffer commandBuffer, 13226 uint32_t firstViewport, 13227 uint32_t viewportCount, 13228 const VkViewportWScalingNV* pViewportWScalings); 13229 #endif 13230 13231 13232 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 13233 #define VK_EXT_direct_mode_display 1 13234 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 13235 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 13236 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 13237 13238 #ifndef VK_NO_PROTOTYPES 13239 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 13240 VkPhysicalDevice physicalDevice, 13241 VkDisplayKHR display); 13242 #endif 13243 13244 13245 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 13246 #define VK_EXT_display_surface_counter 1 13247 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 13248 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 13249 13250 typedef enum VkSurfaceCounterFlagBitsEXT { 13251 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 13252 // VK_SURFACE_COUNTER_VBLANK_EXT is a deprecated alias 13253 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 13254 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13255 } VkSurfaceCounterFlagBitsEXT; 13256 typedef VkFlags VkSurfaceCounterFlagsEXT; 13257 typedef struct VkSurfaceCapabilities2EXT { 13258 VkStructureType sType; 13259 void* pNext; 13260 uint32_t minImageCount; 13261 uint32_t maxImageCount; 13262 VkExtent2D currentExtent; 13263 VkExtent2D minImageExtent; 13264 VkExtent2D maxImageExtent; 13265 uint32_t maxImageArrayLayers; 13266 VkSurfaceTransformFlagsKHR supportedTransforms; 13267 VkSurfaceTransformFlagBitsKHR currentTransform; 13268 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 13269 VkImageUsageFlags supportedUsageFlags; 13270 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 13271 } VkSurfaceCapabilities2EXT; 13272 13273 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13274 13275 #ifndef VK_NO_PROTOTYPES 13276 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 13277 VkPhysicalDevice physicalDevice, 13278 VkSurfaceKHR surface, 13279 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 13280 #endif 13281 13282 13283 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 13284 #define VK_EXT_display_control 1 13285 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 13286 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 13287 13288 typedef enum VkDisplayPowerStateEXT { 13289 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 13290 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 13291 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 13292 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 13293 } VkDisplayPowerStateEXT; 13294 13295 typedef enum VkDeviceEventTypeEXT { 13296 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 13297 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13298 } VkDeviceEventTypeEXT; 13299 13300 typedef enum VkDisplayEventTypeEXT { 13301 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 13302 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 13303 } VkDisplayEventTypeEXT; 13304 typedef struct VkDisplayPowerInfoEXT { 13305 VkStructureType sType; 13306 const void* pNext; 13307 VkDisplayPowerStateEXT powerState; 13308 } VkDisplayPowerInfoEXT; 13309 13310 typedef struct VkDeviceEventInfoEXT { 13311 VkStructureType sType; 13312 const void* pNext; 13313 VkDeviceEventTypeEXT deviceEvent; 13314 } VkDeviceEventInfoEXT; 13315 13316 typedef struct VkDisplayEventInfoEXT { 13317 VkStructureType sType; 13318 const void* pNext; 13319 VkDisplayEventTypeEXT displayEvent; 13320 } VkDisplayEventInfoEXT; 13321 13322 typedef struct VkSwapchainCounterCreateInfoEXT { 13323 VkStructureType sType; 13324 const void* pNext; 13325 VkSurfaceCounterFlagsEXT surfaceCounters; 13326 } VkSwapchainCounterCreateInfoEXT; 13327 13328 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13329 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13330 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 13331 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 13332 13333 #ifndef VK_NO_PROTOTYPES 13334 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 13335 VkDevice device, 13336 VkDisplayKHR display, 13337 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 13338 13339 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 13340 VkDevice device, 13341 const VkDeviceEventInfoEXT* pDeviceEventInfo, 13342 const VkAllocationCallbacks* pAllocator, 13343 VkFence* pFence); 13344 13345 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 13346 VkDevice device, 13347 VkDisplayKHR display, 13348 const VkDisplayEventInfoEXT* pDisplayEventInfo, 13349 const VkAllocationCallbacks* pAllocator, 13350 VkFence* pFence); 13351 13352 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 13353 VkDevice device, 13354 VkSwapchainKHR swapchain, 13355 VkSurfaceCounterFlagBitsEXT counter, 13356 uint64_t* pCounterValue); 13357 #endif 13358 13359 13360 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 13361 #define VK_GOOGLE_display_timing 1 13362 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 13363 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 13364 typedef struct VkRefreshCycleDurationGOOGLE { 13365 uint64_t refreshDuration; 13366 } VkRefreshCycleDurationGOOGLE; 13367 13368 typedef struct VkPastPresentationTimingGOOGLE { 13369 uint32_t presentID; 13370 uint64_t desiredPresentTime; 13371 uint64_t actualPresentTime; 13372 uint64_t earliestPresentTime; 13373 uint64_t presentMargin; 13374 } VkPastPresentationTimingGOOGLE; 13375 13376 typedef struct VkPresentTimeGOOGLE { 13377 uint32_t presentID; 13378 uint64_t desiredPresentTime; 13379 } VkPresentTimeGOOGLE; 13380 13381 typedef struct VkPresentTimesInfoGOOGLE { 13382 VkStructureType sType; 13383 const void* pNext; 13384 uint32_t swapchainCount; 13385 const VkPresentTimeGOOGLE* pTimes; 13386 } VkPresentTimesInfoGOOGLE; 13387 13388 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13389 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 13390 13391 #ifndef VK_NO_PROTOTYPES 13392 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 13393 VkDevice device, 13394 VkSwapchainKHR swapchain, 13395 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 13396 13397 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 13398 VkDevice device, 13399 VkSwapchainKHR swapchain, 13400 uint32_t* pPresentationTimingCount, 13401 VkPastPresentationTimingGOOGLE* pPresentationTimings); 13402 #endif 13403 13404 13405 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 13406 #define VK_NV_sample_mask_override_coverage 1 13407 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 13408 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 13409 13410 13411 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 13412 #define VK_NV_geometry_shader_passthrough 1 13413 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 13414 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 13415 13416 13417 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 13418 #define VK_NV_viewport_array2 1 13419 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 13420 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 13421 // VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION is a deprecated alias 13422 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 13423 // VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME is a deprecated alias 13424 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 13425 13426 13427 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 13428 #define VK_NVX_multiview_per_view_attributes 1 13429 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 13430 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 13431 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 13432 VkStructureType sType; 13433 void* pNext; 13434 VkBool32 perViewPositionAllComponents; 13435 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 13436 13437 13438 13439 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 13440 #define VK_NV_viewport_swizzle 1 13441 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 13442 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 13443 13444 typedef enum VkViewportCoordinateSwizzleNV { 13445 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 13446 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 13447 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 13448 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 13449 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 13450 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 13451 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 13452 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 13453 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 13454 } VkViewportCoordinateSwizzleNV; 13455 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 13456 typedef struct VkViewportSwizzleNV { 13457 VkViewportCoordinateSwizzleNV x; 13458 VkViewportCoordinateSwizzleNV y; 13459 VkViewportCoordinateSwizzleNV z; 13460 VkViewportCoordinateSwizzleNV w; 13461 } VkViewportSwizzleNV; 13462 13463 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 13464 VkStructureType sType; 13465 const void* pNext; 13466 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 13467 uint32_t viewportCount; 13468 const VkViewportSwizzleNV* pViewportSwizzles; 13469 } VkPipelineViewportSwizzleStateCreateInfoNV; 13470 13471 13472 13473 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 13474 #define VK_EXT_discard_rectangles 1 13475 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 13476 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 13477 13478 typedef enum VkDiscardRectangleModeEXT { 13479 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 13480 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 13481 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13482 } VkDiscardRectangleModeEXT; 13483 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 13484 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 13485 VkStructureType sType; 13486 void* pNext; 13487 uint32_t maxDiscardRectangles; 13488 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 13489 13490 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 13491 VkStructureType sType; 13492 const void* pNext; 13493 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 13494 VkDiscardRectangleModeEXT discardRectangleMode; 13495 uint32_t discardRectangleCount; 13496 const VkRect2D* pDiscardRectangles; 13497 } VkPipelineDiscardRectangleStateCreateInfoEXT; 13498 13499 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 13500 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 13501 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 13502 13503 #ifndef VK_NO_PROTOTYPES 13504 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 13505 VkCommandBuffer commandBuffer, 13506 uint32_t firstDiscardRectangle, 13507 uint32_t discardRectangleCount, 13508 const VkRect2D* pDiscardRectangles); 13509 13510 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 13511 VkCommandBuffer commandBuffer, 13512 VkBool32 discardRectangleEnable); 13513 13514 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 13515 VkCommandBuffer commandBuffer, 13516 VkDiscardRectangleModeEXT discardRectangleMode); 13517 #endif 13518 13519 13520 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 13521 #define VK_EXT_conservative_rasterization 1 13522 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 13523 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 13524 13525 typedef enum VkConservativeRasterizationModeEXT { 13526 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 13527 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 13528 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 13529 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 13530 } VkConservativeRasterizationModeEXT; 13531 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 13532 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 13533 VkStructureType sType; 13534 void* pNext; 13535 float primitiveOverestimationSize; 13536 float maxExtraPrimitiveOverestimationSize; 13537 float extraPrimitiveOverestimationSizeGranularity; 13538 VkBool32 primitiveUnderestimation; 13539 VkBool32 conservativePointAndLineRasterization; 13540 VkBool32 degenerateTrianglesRasterized; 13541 VkBool32 degenerateLinesRasterized; 13542 VkBool32 fullyCoveredFragmentShaderInputVariable; 13543 VkBool32 conservativeRasterizationPostDepthCoverage; 13544 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 13545 13546 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 13547 VkStructureType sType; 13548 const void* pNext; 13549 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 13550 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 13551 float extraPrimitiveOverestimationSize; 13552 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 13553 13554 13555 13556 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 13557 #define VK_EXT_depth_clip_enable 1 13558 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 13559 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 13560 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 13561 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 13562 VkStructureType sType; 13563 void* pNext; 13564 VkBool32 depthClipEnable; 13565 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 13566 13567 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 13568 VkStructureType sType; 13569 const void* pNext; 13570 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 13571 VkBool32 depthClipEnable; 13572 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 13573 13574 13575 13576 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 13577 #define VK_EXT_swapchain_colorspace 1 13578 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 5 13579 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 13580 13581 13582 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 13583 #define VK_EXT_hdr_metadata 1 13584 #define VK_EXT_HDR_METADATA_SPEC_VERSION 3 13585 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 13586 typedef struct VkXYColorEXT { 13587 float x; 13588 float y; 13589 } VkXYColorEXT; 13590 13591 typedef struct VkHdrMetadataEXT { 13592 VkStructureType sType; 13593 const void* pNext; 13594 VkXYColorEXT displayPrimaryRed; 13595 VkXYColorEXT displayPrimaryGreen; 13596 VkXYColorEXT displayPrimaryBlue; 13597 VkXYColorEXT whitePoint; 13598 float maxLuminance; 13599 float minLuminance; 13600 float maxContentLightLevel; 13601 float maxFrameAverageLightLevel; 13602 } VkHdrMetadataEXT; 13603 13604 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 13605 13606 #ifndef VK_NO_PROTOTYPES 13607 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 13608 VkDevice device, 13609 uint32_t swapchainCount, 13610 const VkSwapchainKHR* pSwapchains, 13611 const VkHdrMetadataEXT* pMetadata); 13612 #endif 13613 13614 13615 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 13616 #define VK_IMG_relaxed_line_rasterization 1 13617 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 13618 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 13619 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 13620 VkStructureType sType; 13621 void* pNext; 13622 VkBool32 relaxedLineRasterization; 13623 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 13624 13625 13626 13627 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 13628 #define VK_EXT_external_memory_dma_buf 1 13629 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 13630 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 13631 13632 13633 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 13634 #define VK_EXT_queue_family_foreign 1 13635 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 13636 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 13637 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 13638 13639 13640 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 13641 #define VK_EXT_debug_utils 1 13642 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 13643 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 13644 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 13645 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 13646 13647 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 13648 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 13649 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 13650 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 13651 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 13652 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13653 } VkDebugUtilsMessageSeverityFlagBitsEXT; 13654 13655 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 13656 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 13657 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 13658 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 13659 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 13660 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 13661 } VkDebugUtilsMessageTypeFlagBitsEXT; 13662 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 13663 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 13664 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 13665 typedef struct VkDebugUtilsLabelEXT { 13666 VkStructureType sType; 13667 const void* pNext; 13668 const char* pLabelName; 13669 float color[4]; 13670 } VkDebugUtilsLabelEXT; 13671 13672 typedef struct VkDebugUtilsObjectNameInfoEXT { 13673 VkStructureType sType; 13674 const void* pNext; 13675 VkObjectType objectType; 13676 uint64_t objectHandle; 13677 const char* pObjectName; 13678 } VkDebugUtilsObjectNameInfoEXT; 13679 13680 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 13681 VkStructureType sType; 13682 const void* pNext; 13683 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 13684 const char* pMessageIdName; 13685 int32_t messageIdNumber; 13686 const char* pMessage; 13687 uint32_t queueLabelCount; 13688 const VkDebugUtilsLabelEXT* pQueueLabels; 13689 uint32_t cmdBufLabelCount; 13690 const VkDebugUtilsLabelEXT* pCmdBufLabels; 13691 uint32_t objectCount; 13692 const VkDebugUtilsObjectNameInfoEXT* pObjects; 13693 } VkDebugUtilsMessengerCallbackDataEXT; 13694 13695 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 13696 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13697 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13698 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 13699 void* pUserData); 13700 13701 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 13702 VkStructureType sType; 13703 const void* pNext; 13704 VkDebugUtilsMessengerCreateFlagsEXT flags; 13705 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 13706 VkDebugUtilsMessageTypeFlagsEXT messageType; 13707 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 13708 void* pUserData; 13709 } VkDebugUtilsMessengerCreateInfoEXT; 13710 13711 typedef struct VkDebugUtilsObjectTagInfoEXT { 13712 VkStructureType sType; 13713 const void* pNext; 13714 VkObjectType objectType; 13715 uint64_t objectHandle; 13716 uint64_t tagName; 13717 size_t tagSize; 13718 const void* pTag; 13719 } VkDebugUtilsObjectTagInfoEXT; 13720 13721 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13722 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13723 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13724 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 13725 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 13726 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13727 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 13728 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 13729 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 13730 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 13731 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13732 13733 #ifndef VK_NO_PROTOTYPES 13734 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 13735 VkDevice device, 13736 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 13737 13738 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 13739 VkDevice device, 13740 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 13741 13742 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 13743 VkQueue queue, 13744 const VkDebugUtilsLabelEXT* pLabelInfo); 13745 13746 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 13747 VkQueue queue); 13748 13749 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 13750 VkQueue queue, 13751 const VkDebugUtilsLabelEXT* pLabelInfo); 13752 13753 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 13754 VkCommandBuffer commandBuffer, 13755 const VkDebugUtilsLabelEXT* pLabelInfo); 13756 13757 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 13758 VkCommandBuffer commandBuffer); 13759 13760 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 13761 VkCommandBuffer commandBuffer, 13762 const VkDebugUtilsLabelEXT* pLabelInfo); 13763 13764 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 13765 VkInstance instance, 13766 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 13767 const VkAllocationCallbacks* pAllocator, 13768 VkDebugUtilsMessengerEXT* pMessenger); 13769 13770 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 13771 VkInstance instance, 13772 VkDebugUtilsMessengerEXT messenger, 13773 const VkAllocationCallbacks* pAllocator); 13774 13775 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 13776 VkInstance instance, 13777 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 13778 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 13779 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 13780 #endif 13781 13782 13783 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 13784 #define VK_EXT_sampler_filter_minmax 1 13785 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 13786 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 13787 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 13788 13789 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 13790 13791 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 13792 13793 13794 13795 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 13796 #define VK_AMD_gpu_shader_int16 1 13797 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 13798 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 13799 13800 13801 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 13802 #define VK_AMD_mixed_attachment_samples 1 13803 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 13804 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 13805 13806 13807 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 13808 #define VK_AMD_shader_fragment_mask 1 13809 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 13810 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 13811 13812 13813 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 13814 #define VK_EXT_inline_uniform_block 1 13815 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 13816 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 13817 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 13818 13819 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 13820 13821 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 13822 13823 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 13824 13825 13826 13827 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 13828 #define VK_EXT_shader_stencil_export 1 13829 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 13830 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 13831 13832 13833 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 13834 #define VK_EXT_sample_locations 1 13835 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 13836 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 13837 typedef struct VkSampleLocationEXT { 13838 float x; 13839 float y; 13840 } VkSampleLocationEXT; 13841 13842 typedef struct VkSampleLocationsInfoEXT { 13843 VkStructureType sType; 13844 const void* pNext; 13845 VkSampleCountFlagBits sampleLocationsPerPixel; 13846 VkExtent2D sampleLocationGridSize; 13847 uint32_t sampleLocationsCount; 13848 const VkSampleLocationEXT* pSampleLocations; 13849 } VkSampleLocationsInfoEXT; 13850 13851 typedef struct VkAttachmentSampleLocationsEXT { 13852 uint32_t attachmentIndex; 13853 VkSampleLocationsInfoEXT sampleLocationsInfo; 13854 } VkAttachmentSampleLocationsEXT; 13855 13856 typedef struct VkSubpassSampleLocationsEXT { 13857 uint32_t subpassIndex; 13858 VkSampleLocationsInfoEXT sampleLocationsInfo; 13859 } VkSubpassSampleLocationsEXT; 13860 13861 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 13862 VkStructureType sType; 13863 const void* pNext; 13864 uint32_t attachmentInitialSampleLocationsCount; 13865 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 13866 uint32_t postSubpassSampleLocationsCount; 13867 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 13868 } VkRenderPassSampleLocationsBeginInfoEXT; 13869 13870 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 13871 VkStructureType sType; 13872 const void* pNext; 13873 VkBool32 sampleLocationsEnable; 13874 VkSampleLocationsInfoEXT sampleLocationsInfo; 13875 } VkPipelineSampleLocationsStateCreateInfoEXT; 13876 13877 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 13878 VkStructureType sType; 13879 void* pNext; 13880 VkSampleCountFlags sampleLocationSampleCounts; 13881 VkExtent2D maxSampleLocationGridSize; 13882 float sampleLocationCoordinateRange[2]; 13883 uint32_t sampleLocationSubPixelBits; 13884 VkBool32 variableSampleLocations; 13885 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 13886 13887 typedef struct VkMultisamplePropertiesEXT { 13888 VkStructureType sType; 13889 void* pNext; 13890 VkExtent2D maxSampleLocationGridSize; 13891 } VkMultisamplePropertiesEXT; 13892 13893 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13894 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 13895 13896 #ifndef VK_NO_PROTOTYPES 13897 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 13898 VkCommandBuffer commandBuffer, 13899 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 13900 13901 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 13902 VkPhysicalDevice physicalDevice, 13903 VkSampleCountFlagBits samples, 13904 VkMultisamplePropertiesEXT* pMultisampleProperties); 13905 #endif 13906 13907 13908 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 13909 #define VK_EXT_blend_operation_advanced 1 13910 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 13911 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 13912 13913 typedef enum VkBlendOverlapEXT { 13914 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 13915 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 13916 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 13917 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 13918 } VkBlendOverlapEXT; 13919 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 13920 VkStructureType sType; 13921 void* pNext; 13922 VkBool32 advancedBlendCoherentOperations; 13923 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 13924 13925 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 13926 VkStructureType sType; 13927 void* pNext; 13928 uint32_t advancedBlendMaxColorAttachments; 13929 VkBool32 advancedBlendIndependentBlend; 13930 VkBool32 advancedBlendNonPremultipliedSrcColor; 13931 VkBool32 advancedBlendNonPremultipliedDstColor; 13932 VkBool32 advancedBlendCorrelatedOverlap; 13933 VkBool32 advancedBlendAllOperations; 13934 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 13935 13936 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 13937 VkStructureType sType; 13938 const void* pNext; 13939 VkBool32 srcPremultiplied; 13940 VkBool32 dstPremultiplied; 13941 VkBlendOverlapEXT blendOverlap; 13942 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 13943 13944 13945 13946 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 13947 #define VK_NV_fragment_coverage_to_color 1 13948 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 13949 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 13950 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 13951 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 13952 VkStructureType sType; 13953 const void* pNext; 13954 VkPipelineCoverageToColorStateCreateFlagsNV flags; 13955 VkBool32 coverageToColorEnable; 13956 uint32_t coverageToColorLocation; 13957 } VkPipelineCoverageToColorStateCreateInfoNV; 13958 13959 13960 13961 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 13962 #define VK_NV_framebuffer_mixed_samples 1 13963 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 13964 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 13965 13966 typedef enum VkCoverageModulationModeNV { 13967 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 13968 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 13969 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 13970 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 13971 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 13972 } VkCoverageModulationModeNV; 13973 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 13974 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 13975 VkStructureType sType; 13976 const void* pNext; 13977 VkPipelineCoverageModulationStateCreateFlagsNV flags; 13978 VkCoverageModulationModeNV coverageModulationMode; 13979 VkBool32 coverageModulationTableEnable; 13980 uint32_t coverageModulationTableCount; 13981 const float* pCoverageModulationTable; 13982 } VkPipelineCoverageModulationStateCreateInfoNV; 13983 13984 13985 13986 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 13987 #define VK_NV_fill_rectangle 1 13988 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 13989 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 13990 13991 13992 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 13993 #define VK_NV_shader_sm_builtins 1 13994 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 13995 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 13996 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 13997 VkStructureType sType; 13998 void* pNext; 13999 uint32_t shaderSMCount; 14000 uint32_t shaderWarpsPerSM; 14001 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 14002 14003 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 14004 VkStructureType sType; 14005 void* pNext; 14006 VkBool32 shaderSMBuiltins; 14007 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 14008 14009 14010 14011 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 14012 #define VK_EXT_post_depth_coverage 1 14013 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 14014 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 14015 14016 14017 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 14018 #define VK_EXT_image_drm_format_modifier 1 14019 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 14020 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 14021 typedef struct VkDrmFormatModifierPropertiesEXT { 14022 uint64_t drmFormatModifier; 14023 uint32_t drmFormatModifierPlaneCount; 14024 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 14025 } VkDrmFormatModifierPropertiesEXT; 14026 14027 typedef struct VkDrmFormatModifierPropertiesListEXT { 14028 VkStructureType sType; 14029 void* pNext; 14030 uint32_t drmFormatModifierCount; 14031 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 14032 } VkDrmFormatModifierPropertiesListEXT; 14033 14034 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 14035 VkStructureType sType; 14036 const void* pNext; 14037 uint64_t drmFormatModifier; 14038 VkSharingMode sharingMode; 14039 uint32_t queueFamilyIndexCount; 14040 const uint32_t* pQueueFamilyIndices; 14041 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 14042 14043 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 14044 VkStructureType sType; 14045 const void* pNext; 14046 uint32_t drmFormatModifierCount; 14047 const uint64_t* pDrmFormatModifiers; 14048 } VkImageDrmFormatModifierListCreateInfoEXT; 14049 14050 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 14051 VkStructureType sType; 14052 const void* pNext; 14053 uint64_t drmFormatModifier; 14054 uint32_t drmFormatModifierPlaneCount; 14055 const VkSubresourceLayout* pPlaneLayouts; 14056 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 14057 14058 typedef struct VkImageDrmFormatModifierPropertiesEXT { 14059 VkStructureType sType; 14060 void* pNext; 14061 uint64_t drmFormatModifier; 14062 } VkImageDrmFormatModifierPropertiesEXT; 14063 14064 typedef struct VkDrmFormatModifierProperties2EXT { 14065 uint64_t drmFormatModifier; 14066 uint32_t drmFormatModifierPlaneCount; 14067 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 14068 } VkDrmFormatModifierProperties2EXT; 14069 14070 typedef struct VkDrmFormatModifierPropertiesList2EXT { 14071 VkStructureType sType; 14072 void* pNext; 14073 uint32_t drmFormatModifierCount; 14074 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 14075 } VkDrmFormatModifierPropertiesList2EXT; 14076 14077 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 14078 14079 #ifndef VK_NO_PROTOTYPES 14080 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 14081 VkDevice device, 14082 VkImage image, 14083 VkImageDrmFormatModifierPropertiesEXT* pProperties); 14084 #endif 14085 14086 14087 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 14088 #define VK_EXT_validation_cache 1 14089 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 14090 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 14091 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 14092 14093 typedef enum VkValidationCacheHeaderVersionEXT { 14094 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 14095 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 14096 } VkValidationCacheHeaderVersionEXT; 14097 typedef VkFlags VkValidationCacheCreateFlagsEXT; 14098 typedef struct VkValidationCacheCreateInfoEXT { 14099 VkStructureType sType; 14100 const void* pNext; 14101 VkValidationCacheCreateFlagsEXT flags; 14102 size_t initialDataSize; 14103 const void* pInitialData; 14104 } VkValidationCacheCreateInfoEXT; 14105 14106 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 14107 VkStructureType sType; 14108 const void* pNext; 14109 VkValidationCacheEXT validationCache; 14110 } VkShaderModuleValidationCacheCreateInfoEXT; 14111 14112 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 14113 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 14114 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 14115 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 14116 14117 #ifndef VK_NO_PROTOTYPES 14118 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 14119 VkDevice device, 14120 const VkValidationCacheCreateInfoEXT* pCreateInfo, 14121 const VkAllocationCallbacks* pAllocator, 14122 VkValidationCacheEXT* pValidationCache); 14123 14124 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 14125 VkDevice device, 14126 VkValidationCacheEXT validationCache, 14127 const VkAllocationCallbacks* pAllocator); 14128 14129 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 14130 VkDevice device, 14131 VkValidationCacheEXT dstCache, 14132 uint32_t srcCacheCount, 14133 const VkValidationCacheEXT* pSrcCaches); 14134 14135 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 14136 VkDevice device, 14137 VkValidationCacheEXT validationCache, 14138 size_t* pDataSize, 14139 void* pData); 14140 #endif 14141 14142 14143 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 14144 #define VK_EXT_descriptor_indexing 1 14145 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 14146 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 14147 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 14148 14149 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 14150 14151 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 14152 14153 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 14154 14155 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 14156 14157 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 14158 14159 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 14160 14161 14162 14163 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 14164 #define VK_EXT_shader_viewport_index_layer 1 14165 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 14166 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 14167 14168 14169 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 14170 #define VK_NV_shading_rate_image 1 14171 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 14172 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 14173 14174 typedef enum VkShadingRatePaletteEntryNV { 14175 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 14176 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 14177 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 14178 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 14179 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 14180 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 14181 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 14182 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 14183 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 14184 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 14185 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 14186 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 14187 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 14188 } VkShadingRatePaletteEntryNV; 14189 14190 typedef enum VkCoarseSampleOrderTypeNV { 14191 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 14192 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 14193 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 14194 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 14195 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14196 } VkCoarseSampleOrderTypeNV; 14197 typedef struct VkShadingRatePaletteNV { 14198 uint32_t shadingRatePaletteEntryCount; 14199 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 14200 } VkShadingRatePaletteNV; 14201 14202 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 14203 VkStructureType sType; 14204 const void* pNext; 14205 VkBool32 shadingRateImageEnable; 14206 uint32_t viewportCount; 14207 const VkShadingRatePaletteNV* pShadingRatePalettes; 14208 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 14209 14210 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 14211 VkStructureType sType; 14212 void* pNext; 14213 VkBool32 shadingRateImage; 14214 VkBool32 shadingRateCoarseSampleOrder; 14215 } VkPhysicalDeviceShadingRateImageFeaturesNV; 14216 14217 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 14218 VkStructureType sType; 14219 void* pNext; 14220 VkExtent2D shadingRateTexelSize; 14221 uint32_t shadingRatePaletteSize; 14222 uint32_t shadingRateMaxCoarseSamples; 14223 } VkPhysicalDeviceShadingRateImagePropertiesNV; 14224 14225 typedef struct VkCoarseSampleLocationNV { 14226 uint32_t pixelX; 14227 uint32_t pixelY; 14228 uint32_t sample; 14229 } VkCoarseSampleLocationNV; 14230 14231 typedef struct VkCoarseSampleOrderCustomNV { 14232 VkShadingRatePaletteEntryNV shadingRate; 14233 uint32_t sampleCount; 14234 uint32_t sampleLocationCount; 14235 const VkCoarseSampleLocationNV* pSampleLocations; 14236 } VkCoarseSampleOrderCustomNV; 14237 14238 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 14239 VkStructureType sType; 14240 const void* pNext; 14241 VkCoarseSampleOrderTypeNV sampleOrderType; 14242 uint32_t customSampleOrderCount; 14243 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 14244 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 14245 14246 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 14247 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 14248 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14249 14250 #ifndef VK_NO_PROTOTYPES 14251 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 14252 VkCommandBuffer commandBuffer, 14253 VkImageView imageView, 14254 VkImageLayout imageLayout); 14255 14256 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 14257 VkCommandBuffer commandBuffer, 14258 uint32_t firstViewport, 14259 uint32_t viewportCount, 14260 const VkShadingRatePaletteNV* pShadingRatePalettes); 14261 14262 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 14263 VkCommandBuffer commandBuffer, 14264 VkCoarseSampleOrderTypeNV sampleOrderType, 14265 uint32_t customSampleOrderCount, 14266 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 14267 #endif 14268 14269 14270 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 14271 #define VK_NV_ray_tracing 1 14272 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 14273 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 14274 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 14275 #define VK_SHADER_UNUSED_KHR (~0U) 14276 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 14277 14278 typedef enum VkRayTracingShaderGroupTypeKHR { 14279 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 14280 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 14281 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 14282 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 14283 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 14284 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 14285 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14286 } VkRayTracingShaderGroupTypeKHR; 14287 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 14288 14289 14290 typedef enum VkGeometryTypeKHR { 14291 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 14292 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 14293 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 14294 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 14295 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 14296 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14297 } VkGeometryTypeKHR; 14298 typedef VkGeometryTypeKHR VkGeometryTypeNV; 14299 14300 14301 typedef enum VkAccelerationStructureTypeKHR { 14302 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 14303 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 14304 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 14305 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 14306 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 14307 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14308 } VkAccelerationStructureTypeKHR; 14309 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 14310 14311 14312 typedef enum VkCopyAccelerationStructureModeKHR { 14313 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 14314 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 14315 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 14316 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 14317 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 14318 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 14319 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 14320 } VkCopyAccelerationStructureModeKHR; 14321 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 14322 14323 14324 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 14325 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 14326 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 14327 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 14328 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14329 } VkAccelerationStructureMemoryRequirementsTypeNV; 14330 14331 typedef enum VkGeometryFlagBitsKHR { 14332 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 14333 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 14334 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 14335 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 14336 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14337 } VkGeometryFlagBitsKHR; 14338 typedef VkFlags VkGeometryFlagsKHR; 14339 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 14340 14341 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 14342 14343 14344 typedef enum VkGeometryInstanceFlagBitsKHR { 14345 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 14346 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 14347 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 14348 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 14349 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 14350 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 14351 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 14352 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 14353 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 14354 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 14355 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 14356 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14357 } VkGeometryInstanceFlagBitsKHR; 14358 typedef VkFlags VkGeometryInstanceFlagsKHR; 14359 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 14360 14361 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 14362 14363 14364 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 14365 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 14366 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 14367 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 14368 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 14369 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 14370 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 14371 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 14372 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 14373 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 14374 #ifdef VK_ENABLE_BETA_EXTENSIONS 14375 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 14376 #endif 14377 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 14378 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 14379 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 14380 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 14381 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 14382 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 14383 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14384 } VkBuildAccelerationStructureFlagBitsKHR; 14385 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 14386 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 14387 14388 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 14389 14390 typedef struct VkRayTracingShaderGroupCreateInfoNV { 14391 VkStructureType sType; 14392 const void* pNext; 14393 VkRayTracingShaderGroupTypeKHR type; 14394 uint32_t generalShader; 14395 uint32_t closestHitShader; 14396 uint32_t anyHitShader; 14397 uint32_t intersectionShader; 14398 } VkRayTracingShaderGroupCreateInfoNV; 14399 14400 typedef struct VkRayTracingPipelineCreateInfoNV { 14401 VkStructureType sType; 14402 const void* pNext; 14403 VkPipelineCreateFlags flags; 14404 uint32_t stageCount; 14405 const VkPipelineShaderStageCreateInfo* pStages; 14406 uint32_t groupCount; 14407 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 14408 uint32_t maxRecursionDepth; 14409 VkPipelineLayout layout; 14410 VkPipeline basePipelineHandle; 14411 int32_t basePipelineIndex; 14412 } VkRayTracingPipelineCreateInfoNV; 14413 14414 typedef struct VkGeometryTrianglesNV { 14415 VkStructureType sType; 14416 const void* pNext; 14417 VkBuffer vertexData; 14418 VkDeviceSize vertexOffset; 14419 uint32_t vertexCount; 14420 VkDeviceSize vertexStride; 14421 VkFormat vertexFormat; 14422 VkBuffer indexData; 14423 VkDeviceSize indexOffset; 14424 uint32_t indexCount; 14425 VkIndexType indexType; 14426 VkBuffer transformData; 14427 VkDeviceSize transformOffset; 14428 } VkGeometryTrianglesNV; 14429 14430 typedef struct VkGeometryAABBNV { 14431 VkStructureType sType; 14432 const void* pNext; 14433 VkBuffer aabbData; 14434 uint32_t numAABBs; 14435 uint32_t stride; 14436 VkDeviceSize offset; 14437 } VkGeometryAABBNV; 14438 14439 typedef struct VkGeometryDataNV { 14440 VkGeometryTrianglesNV triangles; 14441 VkGeometryAABBNV aabbs; 14442 } VkGeometryDataNV; 14443 14444 typedef struct VkGeometryNV { 14445 VkStructureType sType; 14446 const void* pNext; 14447 VkGeometryTypeKHR geometryType; 14448 VkGeometryDataNV geometry; 14449 VkGeometryFlagsKHR flags; 14450 } VkGeometryNV; 14451 14452 typedef struct VkAccelerationStructureInfoNV { 14453 VkStructureType sType; 14454 const void* pNext; 14455 VkAccelerationStructureTypeNV type; 14456 VkBuildAccelerationStructureFlagsNV flags; 14457 uint32_t instanceCount; 14458 uint32_t geometryCount; 14459 const VkGeometryNV* pGeometries; 14460 } VkAccelerationStructureInfoNV; 14461 14462 typedef struct VkAccelerationStructureCreateInfoNV { 14463 VkStructureType sType; 14464 const void* pNext; 14465 VkDeviceSize compactedSize; 14466 VkAccelerationStructureInfoNV info; 14467 } VkAccelerationStructureCreateInfoNV; 14468 14469 typedef struct VkBindAccelerationStructureMemoryInfoNV { 14470 VkStructureType sType; 14471 const void* pNext; 14472 VkAccelerationStructureNV accelerationStructure; 14473 VkDeviceMemory memory; 14474 VkDeviceSize memoryOffset; 14475 uint32_t deviceIndexCount; 14476 const uint32_t* pDeviceIndices; 14477 } VkBindAccelerationStructureMemoryInfoNV; 14478 14479 typedef struct VkWriteDescriptorSetAccelerationStructureNV { 14480 VkStructureType sType; 14481 const void* pNext; 14482 uint32_t accelerationStructureCount; 14483 const VkAccelerationStructureNV* pAccelerationStructures; 14484 } VkWriteDescriptorSetAccelerationStructureNV; 14485 14486 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 14487 VkStructureType sType; 14488 const void* pNext; 14489 VkAccelerationStructureMemoryRequirementsTypeNV type; 14490 VkAccelerationStructureNV accelerationStructure; 14491 } VkAccelerationStructureMemoryRequirementsInfoNV; 14492 14493 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 14494 VkStructureType sType; 14495 void* pNext; 14496 uint32_t shaderGroupHandleSize; 14497 uint32_t maxRecursionDepth; 14498 uint32_t maxShaderGroupStride; 14499 uint32_t shaderGroupBaseAlignment; 14500 uint64_t maxGeometryCount; 14501 uint64_t maxInstanceCount; 14502 uint64_t maxTriangleCount; 14503 uint32_t maxDescriptorSetAccelerationStructures; 14504 } VkPhysicalDeviceRayTracingPropertiesNV; 14505 14506 typedef struct VkTransformMatrixKHR { 14507 float matrix[3][4]; 14508 } VkTransformMatrixKHR; 14509 14510 typedef VkTransformMatrixKHR VkTransformMatrixNV; 14511 14512 typedef struct VkAabbPositionsKHR { 14513 float minX; 14514 float minY; 14515 float minZ; 14516 float maxX; 14517 float maxY; 14518 float maxZ; 14519 } VkAabbPositionsKHR; 14520 14521 typedef VkAabbPositionsKHR VkAabbPositionsNV; 14522 14523 typedef struct VkAccelerationStructureInstanceKHR { 14524 VkTransformMatrixKHR transform; 14525 uint32_t instanceCustomIndex:24; 14526 uint32_t mask:8; 14527 uint32_t instanceShaderBindingTableRecordOffset:24; 14528 VkGeometryInstanceFlagsKHR flags:8; 14529 uint64_t accelerationStructureReference; 14530 } VkAccelerationStructureInstanceKHR; 14531 14532 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 14533 14534 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 14535 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 14536 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 14537 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14538 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); 14539 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 14540 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); 14541 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 14542 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14543 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 14544 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); 14545 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 14546 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 14547 14548 #ifndef VK_NO_PROTOTYPES 14549 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 14550 VkDevice device, 14551 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 14552 const VkAllocationCallbacks* pAllocator, 14553 VkAccelerationStructureNV* pAccelerationStructure); 14554 14555 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 14556 VkDevice device, 14557 VkAccelerationStructureNV accelerationStructure, 14558 const VkAllocationCallbacks* pAllocator); 14559 14560 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 14561 VkDevice device, 14562 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 14563 VkMemoryRequirements2KHR* pMemoryRequirements); 14564 14565 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 14566 VkDevice device, 14567 uint32_t bindInfoCount, 14568 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 14569 14570 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 14571 VkCommandBuffer commandBuffer, 14572 const VkAccelerationStructureInfoNV* pInfo, 14573 VkBuffer instanceData, 14574 VkDeviceSize instanceOffset, 14575 VkBool32 update, 14576 VkAccelerationStructureNV dst, 14577 VkAccelerationStructureNV src, 14578 VkBuffer scratch, 14579 VkDeviceSize scratchOffset); 14580 14581 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 14582 VkCommandBuffer commandBuffer, 14583 VkAccelerationStructureNV dst, 14584 VkAccelerationStructureNV src, 14585 VkCopyAccelerationStructureModeKHR mode); 14586 14587 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 14588 VkCommandBuffer commandBuffer, 14589 VkBuffer raygenShaderBindingTableBuffer, 14590 VkDeviceSize raygenShaderBindingOffset, 14591 VkBuffer missShaderBindingTableBuffer, 14592 VkDeviceSize missShaderBindingOffset, 14593 VkDeviceSize missShaderBindingStride, 14594 VkBuffer hitShaderBindingTableBuffer, 14595 VkDeviceSize hitShaderBindingOffset, 14596 VkDeviceSize hitShaderBindingStride, 14597 VkBuffer callableShaderBindingTableBuffer, 14598 VkDeviceSize callableShaderBindingOffset, 14599 VkDeviceSize callableShaderBindingStride, 14600 uint32_t width, 14601 uint32_t height, 14602 uint32_t depth); 14603 14604 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 14605 VkDevice device, 14606 VkPipelineCache pipelineCache, 14607 uint32_t createInfoCount, 14608 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 14609 const VkAllocationCallbacks* pAllocator, 14610 VkPipeline* pPipelines); 14611 14612 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 14613 VkDevice device, 14614 VkPipeline pipeline, 14615 uint32_t firstGroup, 14616 uint32_t groupCount, 14617 size_t dataSize, 14618 void* pData); 14619 14620 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 14621 VkDevice device, 14622 VkPipeline pipeline, 14623 uint32_t firstGroup, 14624 uint32_t groupCount, 14625 size_t dataSize, 14626 void* pData); 14627 14628 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 14629 VkDevice device, 14630 VkAccelerationStructureNV accelerationStructure, 14631 size_t dataSize, 14632 void* pData); 14633 14634 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 14635 VkCommandBuffer commandBuffer, 14636 uint32_t accelerationStructureCount, 14637 const VkAccelerationStructureNV* pAccelerationStructures, 14638 VkQueryType queryType, 14639 VkQueryPool queryPool, 14640 uint32_t firstQuery); 14641 14642 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 14643 VkDevice device, 14644 VkPipeline pipeline, 14645 uint32_t shader); 14646 #endif 14647 14648 14649 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 14650 #define VK_NV_representative_fragment_test 1 14651 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 14652 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 14653 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 14654 VkStructureType sType; 14655 void* pNext; 14656 VkBool32 representativeFragmentTest; 14657 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 14658 14659 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 14660 VkStructureType sType; 14661 const void* pNext; 14662 VkBool32 representativeFragmentTestEnable; 14663 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 14664 14665 14666 14667 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 14668 #define VK_EXT_filter_cubic 1 14669 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 14670 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 14671 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 14672 VkStructureType sType; 14673 void* pNext; 14674 VkImageViewType imageViewType; 14675 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 14676 14677 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 14678 VkStructureType sType; 14679 void* pNext; 14680 VkBool32 filterCubic; 14681 VkBool32 filterCubicMinmax; 14682 } VkFilterCubicImageViewImageFormatPropertiesEXT; 14683 14684 14685 14686 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 14687 #define VK_QCOM_render_pass_shader_resolve 1 14688 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 14689 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 14690 14691 14692 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 14693 #define VK_EXT_global_priority 1 14694 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 14695 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 14696 typedef VkQueueGlobalPriority VkQueueGlobalPriorityEXT; 14697 14698 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoEXT; 14699 14700 14701 14702 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 14703 #define VK_EXT_external_memory_host 1 14704 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 14705 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 14706 typedef struct VkImportMemoryHostPointerInfoEXT { 14707 VkStructureType sType; 14708 const void* pNext; 14709 VkExternalMemoryHandleTypeFlagBits handleType; 14710 void* pHostPointer; 14711 } VkImportMemoryHostPointerInfoEXT; 14712 14713 typedef struct VkMemoryHostPointerPropertiesEXT { 14714 VkStructureType sType; 14715 void* pNext; 14716 uint32_t memoryTypeBits; 14717 } VkMemoryHostPointerPropertiesEXT; 14718 14719 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 14720 VkStructureType sType; 14721 void* pNext; 14722 VkDeviceSize minImportedHostPointerAlignment; 14723 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 14724 14725 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14726 14727 #ifndef VK_NO_PROTOTYPES 14728 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 14729 VkDevice device, 14730 VkExternalMemoryHandleTypeFlagBits handleType, 14731 const void* pHostPointer, 14732 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 14733 #endif 14734 14735 14736 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 14737 #define VK_AMD_buffer_marker 1 14738 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 14739 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 14740 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 14741 14742 #ifndef VK_NO_PROTOTYPES 14743 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 14744 VkCommandBuffer commandBuffer, 14745 VkPipelineStageFlagBits pipelineStage, 14746 VkBuffer dstBuffer, 14747 VkDeviceSize dstOffset, 14748 uint32_t marker); 14749 #endif 14750 14751 14752 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 14753 #define VK_AMD_pipeline_compiler_control 1 14754 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 14755 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 14756 14757 typedef enum VkPipelineCompilerControlFlagBitsAMD { 14758 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 14759 } VkPipelineCompilerControlFlagBitsAMD; 14760 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 14761 typedef struct VkPipelineCompilerControlCreateInfoAMD { 14762 VkStructureType sType; 14763 const void* pNext; 14764 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 14765 } VkPipelineCompilerControlCreateInfoAMD; 14766 14767 14768 14769 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 14770 #define VK_EXT_calibrated_timestamps 1 14771 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 14772 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 14773 typedef VkTimeDomainKHR VkTimeDomainEXT; 14774 14775 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 14776 14777 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 14778 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 14779 14780 #ifndef VK_NO_PROTOTYPES 14781 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 14782 VkPhysicalDevice physicalDevice, 14783 uint32_t* pTimeDomainCount, 14784 VkTimeDomainKHR* pTimeDomains); 14785 14786 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 14787 VkDevice device, 14788 uint32_t timestampCount, 14789 const VkCalibratedTimestampInfoKHR* pTimestampInfos, 14790 uint64_t* pTimestamps, 14791 uint64_t* pMaxDeviation); 14792 #endif 14793 14794 14795 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 14796 #define VK_AMD_shader_core_properties 1 14797 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 14798 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 14799 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 14800 VkStructureType sType; 14801 void* pNext; 14802 uint32_t shaderEngineCount; 14803 uint32_t shaderArraysPerEngineCount; 14804 uint32_t computeUnitsPerShaderArray; 14805 uint32_t simdPerComputeUnit; 14806 uint32_t wavefrontsPerSimd; 14807 uint32_t wavefrontSize; 14808 uint32_t sgprsPerSimd; 14809 uint32_t minSgprAllocation; 14810 uint32_t maxSgprAllocation; 14811 uint32_t sgprAllocationGranularity; 14812 uint32_t vgprsPerSimd; 14813 uint32_t minVgprAllocation; 14814 uint32_t maxVgprAllocation; 14815 uint32_t vgprAllocationGranularity; 14816 } VkPhysicalDeviceShaderCorePropertiesAMD; 14817 14818 14819 14820 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 14821 #define VK_AMD_memory_overallocation_behavior 1 14822 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 14823 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 14824 14825 typedef enum VkMemoryOverallocationBehaviorAMD { 14826 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 14827 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 14828 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 14829 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 14830 } VkMemoryOverallocationBehaviorAMD; 14831 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 14832 VkStructureType sType; 14833 const void* pNext; 14834 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 14835 } VkDeviceMemoryOverallocationCreateInfoAMD; 14836 14837 14838 14839 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 14840 #define VK_EXT_vertex_attribute_divisor 1 14841 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 14842 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 14843 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 14844 VkStructureType sType; 14845 void* pNext; 14846 uint32_t maxVertexAttribDivisor; 14847 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 14848 14849 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionEXT; 14850 14851 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoEXT; 14852 14853 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 14854 14855 14856 14857 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 14858 #define VK_EXT_pipeline_creation_feedback 1 14859 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 14860 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 14861 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 14862 14863 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 14864 14865 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 14866 14867 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 14868 14869 14870 14871 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 14872 #define VK_NV_shader_subgroup_partitioned 1 14873 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 14874 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 14875 14876 14877 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 14878 #define VK_NV_compute_shader_derivatives 1 14879 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 14880 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 14881 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 14882 VkStructureType sType; 14883 void* pNext; 14884 VkBool32 computeDerivativeGroupQuads; 14885 VkBool32 computeDerivativeGroupLinear; 14886 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 14887 14888 14889 14890 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 14891 #define VK_NV_mesh_shader 1 14892 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 14893 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 14894 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 14895 VkStructureType sType; 14896 void* pNext; 14897 VkBool32 taskShader; 14898 VkBool32 meshShader; 14899 } VkPhysicalDeviceMeshShaderFeaturesNV; 14900 14901 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 14902 VkStructureType sType; 14903 void* pNext; 14904 uint32_t maxDrawMeshTasksCount; 14905 uint32_t maxTaskWorkGroupInvocations; 14906 uint32_t maxTaskWorkGroupSize[3]; 14907 uint32_t maxTaskTotalMemorySize; 14908 uint32_t maxTaskOutputCount; 14909 uint32_t maxMeshWorkGroupInvocations; 14910 uint32_t maxMeshWorkGroupSize[3]; 14911 uint32_t maxMeshTotalMemorySize; 14912 uint32_t maxMeshOutputVertices; 14913 uint32_t maxMeshOutputPrimitives; 14914 uint32_t maxMeshMultiviewViewCount; 14915 uint32_t meshOutputPerVertexGranularity; 14916 uint32_t meshOutputPerPrimitiveGranularity; 14917 } VkPhysicalDeviceMeshShaderPropertiesNV; 14918 14919 typedef struct VkDrawMeshTasksIndirectCommandNV { 14920 uint32_t taskCount; 14921 uint32_t firstTask; 14922 } VkDrawMeshTasksIndirectCommandNV; 14923 14924 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 14925 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 14926 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 14927 14928 #ifndef VK_NO_PROTOTYPES 14929 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 14930 VkCommandBuffer commandBuffer, 14931 uint32_t taskCount, 14932 uint32_t firstTask); 14933 14934 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 14935 VkCommandBuffer commandBuffer, 14936 VkBuffer buffer, 14937 VkDeviceSize offset, 14938 uint32_t drawCount, 14939 uint32_t stride); 14940 14941 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 14942 VkCommandBuffer commandBuffer, 14943 VkBuffer buffer, 14944 VkDeviceSize offset, 14945 VkBuffer countBuffer, 14946 VkDeviceSize countBufferOffset, 14947 uint32_t maxDrawCount, 14948 uint32_t stride); 14949 #endif 14950 14951 14952 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 14953 #define VK_NV_fragment_shader_barycentric 1 14954 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 14955 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 14956 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 14957 14958 14959 14960 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 14961 #define VK_NV_shader_image_footprint 1 14962 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 14963 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 14964 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 14965 VkStructureType sType; 14966 void* pNext; 14967 VkBool32 imageFootprint; 14968 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 14969 14970 14971 14972 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 14973 #define VK_NV_scissor_exclusive 1 14974 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 14975 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 14976 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 14977 VkStructureType sType; 14978 const void* pNext; 14979 uint32_t exclusiveScissorCount; 14980 const VkRect2D* pExclusiveScissors; 14981 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 14982 14983 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 14984 VkStructureType sType; 14985 void* pNext; 14986 VkBool32 exclusiveScissor; 14987 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 14988 14989 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 14990 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 14991 14992 #ifndef VK_NO_PROTOTYPES 14993 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14994 VkCommandBuffer commandBuffer, 14995 uint32_t firstExclusiveScissor, 14996 uint32_t exclusiveScissorCount, 14997 const VkBool32* pExclusiveScissorEnables); 14998 14999 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 15000 VkCommandBuffer commandBuffer, 15001 uint32_t firstExclusiveScissor, 15002 uint32_t exclusiveScissorCount, 15003 const VkRect2D* pExclusiveScissors); 15004 #endif 15005 15006 15007 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 15008 #define VK_NV_device_diagnostic_checkpoints 1 15009 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 15010 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 15011 typedef struct VkQueueFamilyCheckpointPropertiesNV { 15012 VkStructureType sType; 15013 void* pNext; 15014 VkPipelineStageFlags checkpointExecutionStageMask; 15015 } VkQueueFamilyCheckpointPropertiesNV; 15016 15017 typedef struct VkCheckpointDataNV { 15018 VkStructureType sType; 15019 void* pNext; 15020 VkPipelineStageFlagBits stage; 15021 void* pCheckpointMarker; 15022 } VkCheckpointDataNV; 15023 15024 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 15025 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 15026 15027 #ifndef VK_NO_PROTOTYPES 15028 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 15029 VkCommandBuffer commandBuffer, 15030 const void* pCheckpointMarker); 15031 15032 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 15033 VkQueue queue, 15034 uint32_t* pCheckpointDataCount, 15035 VkCheckpointDataNV* pCheckpointData); 15036 #endif 15037 15038 15039 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 15040 #define VK_INTEL_shader_integer_functions2 1 15041 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 15042 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 15043 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 15044 VkStructureType sType; 15045 void* pNext; 15046 VkBool32 shaderIntegerFunctions2; 15047 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 15048 15049 15050 15051 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 15052 #define VK_INTEL_performance_query 1 15053 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 15054 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 15055 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 15056 15057 typedef enum VkPerformanceConfigurationTypeINTEL { 15058 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 15059 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15060 } VkPerformanceConfigurationTypeINTEL; 15061 15062 typedef enum VkQueryPoolSamplingModeINTEL { 15063 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 15064 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 15065 } VkQueryPoolSamplingModeINTEL; 15066 15067 typedef enum VkPerformanceOverrideTypeINTEL { 15068 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 15069 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 15070 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15071 } VkPerformanceOverrideTypeINTEL; 15072 15073 typedef enum VkPerformanceParameterTypeINTEL { 15074 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 15075 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 15076 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15077 } VkPerformanceParameterTypeINTEL; 15078 15079 typedef enum VkPerformanceValueTypeINTEL { 15080 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 15081 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 15082 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 15083 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 15084 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 15085 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 15086 } VkPerformanceValueTypeINTEL; 15087 typedef union VkPerformanceValueDataINTEL { 15088 uint32_t value32; 15089 uint64_t value64; 15090 float valueFloat; 15091 VkBool32 valueBool; 15092 const char* valueString; 15093 } VkPerformanceValueDataINTEL; 15094 15095 typedef struct VkPerformanceValueINTEL { 15096 VkPerformanceValueTypeINTEL type; 15097 VkPerformanceValueDataINTEL data; 15098 } VkPerformanceValueINTEL; 15099 15100 typedef struct VkInitializePerformanceApiInfoINTEL { 15101 VkStructureType sType; 15102 const void* pNext; 15103 void* pUserData; 15104 } VkInitializePerformanceApiInfoINTEL; 15105 15106 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 15107 VkStructureType sType; 15108 const void* pNext; 15109 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 15110 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 15111 15112 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 15113 15114 typedef struct VkPerformanceMarkerInfoINTEL { 15115 VkStructureType sType; 15116 const void* pNext; 15117 uint64_t marker; 15118 } VkPerformanceMarkerInfoINTEL; 15119 15120 typedef struct VkPerformanceStreamMarkerInfoINTEL { 15121 VkStructureType sType; 15122 const void* pNext; 15123 uint32_t marker; 15124 } VkPerformanceStreamMarkerInfoINTEL; 15125 15126 typedef struct VkPerformanceOverrideInfoINTEL { 15127 VkStructureType sType; 15128 const void* pNext; 15129 VkPerformanceOverrideTypeINTEL type; 15130 VkBool32 enable; 15131 uint64_t parameter; 15132 } VkPerformanceOverrideInfoINTEL; 15133 15134 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 15135 VkStructureType sType; 15136 const void* pNext; 15137 VkPerformanceConfigurationTypeINTEL type; 15138 } VkPerformanceConfigurationAcquireInfoINTEL; 15139 15140 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15141 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 15142 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15143 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15144 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15145 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 15146 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 15147 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 15148 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 15149 15150 #ifndef VK_NO_PROTOTYPES 15151 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 15152 VkDevice device, 15153 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 15154 15155 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 15156 VkDevice device); 15157 15158 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 15159 VkCommandBuffer commandBuffer, 15160 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 15161 15162 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 15163 VkCommandBuffer commandBuffer, 15164 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 15165 15166 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 15167 VkCommandBuffer commandBuffer, 15168 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 15169 15170 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 15171 VkDevice device, 15172 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 15173 VkPerformanceConfigurationINTEL* pConfiguration); 15174 15175 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 15176 VkDevice device, 15177 VkPerformanceConfigurationINTEL configuration); 15178 15179 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 15180 VkQueue queue, 15181 VkPerformanceConfigurationINTEL configuration); 15182 15183 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 15184 VkDevice device, 15185 VkPerformanceParameterTypeINTEL parameter, 15186 VkPerformanceValueINTEL* pValue); 15187 #endif 15188 15189 15190 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 15191 #define VK_EXT_pci_bus_info 1 15192 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 15193 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 15194 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 15195 VkStructureType sType; 15196 void* pNext; 15197 uint32_t pciDomain; 15198 uint32_t pciBus; 15199 uint32_t pciDevice; 15200 uint32_t pciFunction; 15201 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 15202 15203 15204 15205 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 15206 #define VK_AMD_display_native_hdr 1 15207 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 15208 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 15209 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 15210 VkStructureType sType; 15211 void* pNext; 15212 VkBool32 localDimmingSupport; 15213 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 15214 15215 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 15216 VkStructureType sType; 15217 const void* pNext; 15218 VkBool32 localDimmingEnable; 15219 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 15220 15221 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 15222 15223 #ifndef VK_NO_PROTOTYPES 15224 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 15225 VkDevice device, 15226 VkSwapchainKHR swapChain, 15227 VkBool32 localDimmingEnable); 15228 #endif 15229 15230 15231 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 15232 #define VK_EXT_fragment_density_map 1 15233 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 15234 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 15235 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 15236 VkStructureType sType; 15237 void* pNext; 15238 VkBool32 fragmentDensityMap; 15239 VkBool32 fragmentDensityMapDynamic; 15240 VkBool32 fragmentDensityMapNonSubsampledImages; 15241 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 15242 15243 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 15244 VkStructureType sType; 15245 void* pNext; 15246 VkExtent2D minFragmentDensityTexelSize; 15247 VkExtent2D maxFragmentDensityTexelSize; 15248 VkBool32 fragmentDensityInvocations; 15249 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 15250 15251 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 15252 VkStructureType sType; 15253 const void* pNext; 15254 VkAttachmentReference fragmentDensityMapAttachment; 15255 } VkRenderPassFragmentDensityMapCreateInfoEXT; 15256 15257 15258 15259 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 15260 #define VK_EXT_scalar_block_layout 1 15261 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 15262 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 15263 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 15264 15265 15266 15267 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 15268 #define VK_GOOGLE_hlsl_functionality1 1 15269 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 15270 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 15271 // VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION is a deprecated alias 15272 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 15273 // VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME is a deprecated alias 15274 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 15275 15276 15277 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 15278 #define VK_GOOGLE_decorate_string 1 15279 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 15280 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 15281 15282 15283 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 15284 #define VK_EXT_subgroup_size_control 1 15285 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 15286 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 15287 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 15288 15289 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 15290 15291 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 15292 15293 15294 15295 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 15296 #define VK_AMD_shader_core_properties2 1 15297 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 15298 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 15299 15300 typedef enum VkShaderCorePropertiesFlagBitsAMD { 15301 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 15302 } VkShaderCorePropertiesFlagBitsAMD; 15303 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 15304 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 15305 VkStructureType sType; 15306 void* pNext; 15307 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 15308 uint32_t activeComputeUnitCount; 15309 } VkPhysicalDeviceShaderCoreProperties2AMD; 15310 15311 15312 15313 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 15314 #define VK_AMD_device_coherent_memory 1 15315 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 15316 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 15317 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 15318 VkStructureType sType; 15319 void* pNext; 15320 VkBool32 deviceCoherentMemory; 15321 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 15322 15323 15324 15325 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 15326 #define VK_EXT_shader_image_atomic_int64 1 15327 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 15328 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 15329 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 15330 VkStructureType sType; 15331 void* pNext; 15332 VkBool32 shaderImageInt64Atomics; 15333 VkBool32 sparseImageInt64Atomics; 15334 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 15335 15336 15337 15338 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 15339 #define VK_EXT_memory_budget 1 15340 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 15341 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 15342 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 15343 VkStructureType sType; 15344 void* pNext; 15345 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 15346 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 15347 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 15348 15349 15350 15351 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 15352 #define VK_EXT_memory_priority 1 15353 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 15354 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 15355 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 15356 VkStructureType sType; 15357 void* pNext; 15358 VkBool32 memoryPriority; 15359 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 15360 15361 typedef struct VkMemoryPriorityAllocateInfoEXT { 15362 VkStructureType sType; 15363 const void* pNext; 15364 float priority; 15365 } VkMemoryPriorityAllocateInfoEXT; 15366 15367 15368 15369 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 15370 #define VK_NV_dedicated_allocation_image_aliasing 1 15371 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 15372 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 15373 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 15374 VkStructureType sType; 15375 void* pNext; 15376 VkBool32 dedicatedAllocationImageAliasing; 15377 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 15378 15379 15380 15381 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 15382 #define VK_EXT_buffer_device_address 1 15383 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 15384 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 15385 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 15386 VkStructureType sType; 15387 void* pNext; 15388 VkBool32 bufferDeviceAddress; 15389 VkBool32 bufferDeviceAddressCaptureReplay; 15390 VkBool32 bufferDeviceAddressMultiDevice; 15391 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 15392 15393 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 15394 15395 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 15396 15397 typedef struct VkBufferDeviceAddressCreateInfoEXT { 15398 VkStructureType sType; 15399 const void* pNext; 15400 VkDeviceAddress deviceAddress; 15401 } VkBufferDeviceAddressCreateInfoEXT; 15402 15403 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 15404 15405 #ifndef VK_NO_PROTOTYPES 15406 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 15407 VkDevice device, 15408 const VkBufferDeviceAddressInfo* pInfo); 15409 #endif 15410 15411 15412 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 15413 #define VK_EXT_tooling_info 1 15414 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 15415 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 15416 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 15417 15418 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 15419 15420 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 15421 15422 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 15423 15424 #ifndef VK_NO_PROTOTYPES 15425 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 15426 VkPhysicalDevice physicalDevice, 15427 uint32_t* pToolCount, 15428 VkPhysicalDeviceToolProperties* pToolProperties); 15429 #endif 15430 15431 15432 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 15433 #define VK_EXT_separate_stencil_usage 1 15434 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 15435 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 15436 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 15437 15438 15439 15440 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 15441 #define VK_EXT_validation_features 1 15442 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 15443 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 15444 15445 typedef enum VkValidationFeatureEnableEXT { 15446 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 15447 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 15448 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 15449 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 15450 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 15451 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15452 } VkValidationFeatureEnableEXT; 15453 15454 typedef enum VkValidationFeatureDisableEXT { 15455 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 15456 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 15457 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 15458 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 15459 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 15460 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 15461 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 15462 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 15463 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 15464 } VkValidationFeatureDisableEXT; 15465 typedef struct VkValidationFeaturesEXT { 15466 VkStructureType sType; 15467 const void* pNext; 15468 uint32_t enabledValidationFeatureCount; 15469 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 15470 uint32_t disabledValidationFeatureCount; 15471 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 15472 } VkValidationFeaturesEXT; 15473 15474 15475 15476 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 15477 #define VK_NV_cooperative_matrix 1 15478 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 15479 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 15480 typedef VkComponentTypeKHR VkComponentTypeNV; 15481 15482 typedef VkScopeKHR VkScopeNV; 15483 15484 typedef struct VkCooperativeMatrixPropertiesNV { 15485 VkStructureType sType; 15486 void* pNext; 15487 uint32_t MSize; 15488 uint32_t NSize; 15489 uint32_t KSize; 15490 VkComponentTypeNV AType; 15491 VkComponentTypeNV BType; 15492 VkComponentTypeNV CType; 15493 VkComponentTypeNV DType; 15494 VkScopeNV scope; 15495 } VkCooperativeMatrixPropertiesNV; 15496 15497 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 15498 VkStructureType sType; 15499 void* pNext; 15500 VkBool32 cooperativeMatrix; 15501 VkBool32 cooperativeMatrixRobustBufferAccess; 15502 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 15503 15504 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 15505 VkStructureType sType; 15506 void* pNext; 15507 VkShaderStageFlags cooperativeMatrixSupportedStages; 15508 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 15509 15510 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 15511 15512 #ifndef VK_NO_PROTOTYPES 15513 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 15514 VkPhysicalDevice physicalDevice, 15515 uint32_t* pPropertyCount, 15516 VkCooperativeMatrixPropertiesNV* pProperties); 15517 #endif 15518 15519 15520 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 15521 #define VK_NV_coverage_reduction_mode 1 15522 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 15523 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 15524 15525 typedef enum VkCoverageReductionModeNV { 15526 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 15527 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 15528 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 15529 } VkCoverageReductionModeNV; 15530 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 15531 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 15532 VkStructureType sType; 15533 void* pNext; 15534 VkBool32 coverageReductionMode; 15535 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 15536 15537 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 15538 VkStructureType sType; 15539 const void* pNext; 15540 VkPipelineCoverageReductionStateCreateFlagsNV flags; 15541 VkCoverageReductionModeNV coverageReductionMode; 15542 } VkPipelineCoverageReductionStateCreateInfoNV; 15543 15544 typedef struct VkFramebufferMixedSamplesCombinationNV { 15545 VkStructureType sType; 15546 void* pNext; 15547 VkCoverageReductionModeNV coverageReductionMode; 15548 VkSampleCountFlagBits rasterizationSamples; 15549 VkSampleCountFlags depthStencilSamples; 15550 VkSampleCountFlags colorSamples; 15551 } VkFramebufferMixedSamplesCombinationNV; 15552 15553 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 15554 15555 #ifndef VK_NO_PROTOTYPES 15556 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 15557 VkPhysicalDevice physicalDevice, 15558 uint32_t* pCombinationCount, 15559 VkFramebufferMixedSamplesCombinationNV* pCombinations); 15560 #endif 15561 15562 15563 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 15564 #define VK_EXT_fragment_shader_interlock 1 15565 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 15566 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 15567 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 15568 VkStructureType sType; 15569 void* pNext; 15570 VkBool32 fragmentShaderSampleInterlock; 15571 VkBool32 fragmentShaderPixelInterlock; 15572 VkBool32 fragmentShaderShadingRateInterlock; 15573 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 15574 15575 15576 15577 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 15578 #define VK_EXT_ycbcr_image_arrays 1 15579 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 15580 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 15581 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 15582 VkStructureType sType; 15583 void* pNext; 15584 VkBool32 ycbcrImageArrays; 15585 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 15586 15587 15588 15589 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 15590 #define VK_EXT_provoking_vertex 1 15591 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 15592 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 15593 15594 typedef enum VkProvokingVertexModeEXT { 15595 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 15596 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 15597 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 15598 } VkProvokingVertexModeEXT; 15599 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 15600 VkStructureType sType; 15601 void* pNext; 15602 VkBool32 provokingVertexLast; 15603 VkBool32 transformFeedbackPreservesProvokingVertex; 15604 } VkPhysicalDeviceProvokingVertexFeaturesEXT; 15605 15606 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 15607 VkStructureType sType; 15608 void* pNext; 15609 VkBool32 provokingVertexModePerPipeline; 15610 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 15611 } VkPhysicalDeviceProvokingVertexPropertiesEXT; 15612 15613 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 15614 VkStructureType sType; 15615 const void* pNext; 15616 VkProvokingVertexModeEXT provokingVertexMode; 15617 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 15618 15619 15620 15621 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 15622 #define VK_EXT_headless_surface 1 15623 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 15624 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 15625 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 15626 typedef struct VkHeadlessSurfaceCreateInfoEXT { 15627 VkStructureType sType; 15628 const void* pNext; 15629 VkHeadlessSurfaceCreateFlagsEXT flags; 15630 } VkHeadlessSurfaceCreateInfoEXT; 15631 15632 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 15633 15634 #ifndef VK_NO_PROTOTYPES 15635 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 15636 VkInstance instance, 15637 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 15638 const VkAllocationCallbacks* pAllocator, 15639 VkSurfaceKHR* pSurface); 15640 #endif 15641 15642 15643 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 15644 #define VK_EXT_line_rasterization 1 15645 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 15646 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 15647 typedef VkLineRasterizationMode VkLineRasterizationModeEXT; 15648 15649 typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT; 15650 15651 typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT; 15652 15653 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT; 15654 15655 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 15656 15657 #ifndef VK_NO_PROTOTYPES 15658 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 15659 VkCommandBuffer commandBuffer, 15660 uint32_t lineStippleFactor, 15661 uint16_t lineStipplePattern); 15662 #endif 15663 15664 15665 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 15666 #define VK_EXT_shader_atomic_float 1 15667 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 15668 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 15669 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 15670 VkStructureType sType; 15671 void* pNext; 15672 VkBool32 shaderBufferFloat32Atomics; 15673 VkBool32 shaderBufferFloat32AtomicAdd; 15674 VkBool32 shaderBufferFloat64Atomics; 15675 VkBool32 shaderBufferFloat64AtomicAdd; 15676 VkBool32 shaderSharedFloat32Atomics; 15677 VkBool32 shaderSharedFloat32AtomicAdd; 15678 VkBool32 shaderSharedFloat64Atomics; 15679 VkBool32 shaderSharedFloat64AtomicAdd; 15680 VkBool32 shaderImageFloat32Atomics; 15681 VkBool32 shaderImageFloat32AtomicAdd; 15682 VkBool32 sparseImageFloat32Atomics; 15683 VkBool32 sparseImageFloat32AtomicAdd; 15684 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 15685 15686 15687 15688 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 15689 #define VK_EXT_host_query_reset 1 15690 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 15691 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 15692 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 15693 15694 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 15695 15696 #ifndef VK_NO_PROTOTYPES 15697 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 15698 VkDevice device, 15699 VkQueryPool queryPool, 15700 uint32_t firstQuery, 15701 uint32_t queryCount); 15702 #endif 15703 15704 15705 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 15706 #define VK_EXT_index_type_uint8 1 15707 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 15708 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 15709 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 15710 15711 15712 15713 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 15714 #define VK_EXT_extended_dynamic_state 1 15715 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 15716 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 15717 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 15718 VkStructureType sType; 15719 void* pNext; 15720 VkBool32 extendedDynamicState; 15721 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 15722 15723 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 15724 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 15725 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 15726 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 15727 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 15728 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); 15729 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 15730 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 15731 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 15732 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 15733 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 15734 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 15735 15736 #ifndef VK_NO_PROTOTYPES 15737 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 15738 VkCommandBuffer commandBuffer, 15739 VkCullModeFlags cullMode); 15740 15741 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 15742 VkCommandBuffer commandBuffer, 15743 VkFrontFace frontFace); 15744 15745 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 15746 VkCommandBuffer commandBuffer, 15747 VkPrimitiveTopology primitiveTopology); 15748 15749 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 15750 VkCommandBuffer commandBuffer, 15751 uint32_t viewportCount, 15752 const VkViewport* pViewports); 15753 15754 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 15755 VkCommandBuffer commandBuffer, 15756 uint32_t scissorCount, 15757 const VkRect2D* pScissors); 15758 15759 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 15760 VkCommandBuffer commandBuffer, 15761 uint32_t firstBinding, 15762 uint32_t bindingCount, 15763 const VkBuffer* pBuffers, 15764 const VkDeviceSize* pOffsets, 15765 const VkDeviceSize* pSizes, 15766 const VkDeviceSize* pStrides); 15767 15768 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 15769 VkCommandBuffer commandBuffer, 15770 VkBool32 depthTestEnable); 15771 15772 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 15773 VkCommandBuffer commandBuffer, 15774 VkBool32 depthWriteEnable); 15775 15776 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 15777 VkCommandBuffer commandBuffer, 15778 VkCompareOp depthCompareOp); 15779 15780 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 15781 VkCommandBuffer commandBuffer, 15782 VkBool32 depthBoundsTestEnable); 15783 15784 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 15785 VkCommandBuffer commandBuffer, 15786 VkBool32 stencilTestEnable); 15787 15788 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 15789 VkCommandBuffer commandBuffer, 15790 VkStencilFaceFlags faceMask, 15791 VkStencilOp failOp, 15792 VkStencilOp passOp, 15793 VkStencilOp depthFailOp, 15794 VkCompareOp compareOp); 15795 #endif 15796 15797 15798 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 15799 #define VK_EXT_host_image_copy 1 15800 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 15801 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 15802 typedef VkHostImageCopyFlagBits VkHostImageCopyFlagBitsEXT; 15803 15804 typedef VkHostImageCopyFlags VkHostImageCopyFlagsEXT; 15805 15806 typedef VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT; 15807 15808 typedef VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT; 15809 15810 typedef VkMemoryToImageCopy VkMemoryToImageCopyEXT; 15811 15812 typedef VkImageToMemoryCopy VkImageToMemoryCopyEXT; 15813 15814 typedef VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT; 15815 15816 typedef VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT; 15817 15818 typedef VkCopyImageToImageInfo VkCopyImageToImageInfoEXT; 15819 15820 typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT; 15821 15822 typedef VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT; 15823 15824 typedef VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT; 15825 15826 typedef VkSubresourceLayout2 VkSubresourceLayout2EXT; 15827 15828 typedef VkImageSubresource2 VkImageSubresource2EXT; 15829 15830 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 15831 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 15832 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo); 15833 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions); 15834 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout); 15835 15836 #ifndef VK_NO_PROTOTYPES 15837 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 15838 VkDevice device, 15839 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo); 15840 15841 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 15842 VkDevice device, 15843 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo); 15844 15845 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 15846 VkDevice device, 15847 const VkCopyImageToImageInfo* pCopyImageToImageInfo); 15848 15849 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 15850 VkDevice device, 15851 uint32_t transitionCount, 15852 const VkHostImageLayoutTransitionInfo* pTransitions); 15853 15854 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15855 VkDevice device, 15856 VkImage image, 15857 const VkImageSubresource2* pSubresource, 15858 VkSubresourceLayout2* pLayout); 15859 #endif 15860 15861 15862 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls. 15863 #define VK_EXT_map_memory_placed 1 15864 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1 15865 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed" 15866 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { 15867 VkStructureType sType; 15868 void* pNext; 15869 VkBool32 memoryMapPlaced; 15870 VkBool32 memoryMapRangePlaced; 15871 VkBool32 memoryUnmapReserve; 15872 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT; 15873 15874 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT { 15875 VkStructureType sType; 15876 void* pNext; 15877 VkDeviceSize minPlacedMemoryMapAlignment; 15878 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT; 15879 15880 typedef struct VkMemoryMapPlacedInfoEXT { 15881 VkStructureType sType; 15882 const void* pNext; 15883 void* pPlacedAddress; 15884 } VkMemoryMapPlacedInfoEXT; 15885 15886 15887 15888 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 15889 #define VK_EXT_shader_atomic_float2 1 15890 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 15891 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 15892 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 15893 VkStructureType sType; 15894 void* pNext; 15895 VkBool32 shaderBufferFloat16Atomics; 15896 VkBool32 shaderBufferFloat16AtomicAdd; 15897 VkBool32 shaderBufferFloat16AtomicMinMax; 15898 VkBool32 shaderBufferFloat32AtomicMinMax; 15899 VkBool32 shaderBufferFloat64AtomicMinMax; 15900 VkBool32 shaderSharedFloat16Atomics; 15901 VkBool32 shaderSharedFloat16AtomicAdd; 15902 VkBool32 shaderSharedFloat16AtomicMinMax; 15903 VkBool32 shaderSharedFloat32AtomicMinMax; 15904 VkBool32 shaderSharedFloat64AtomicMinMax; 15905 VkBool32 shaderImageFloat32AtomicMinMax; 15906 VkBool32 sparseImageFloat32AtomicMinMax; 15907 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 15908 15909 15910 15911 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15912 #define VK_EXT_surface_maintenance1 1 15913 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15914 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15915 15916 typedef enum VkPresentScalingFlagBitsEXT { 15917 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15918 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15919 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15920 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15921 } VkPresentScalingFlagBitsEXT; 15922 typedef VkFlags VkPresentScalingFlagsEXT; 15923 15924 typedef enum VkPresentGravityFlagBitsEXT { 15925 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15926 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15927 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15928 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15929 } VkPresentGravityFlagBitsEXT; 15930 typedef VkFlags VkPresentGravityFlagsEXT; 15931 typedef struct VkSurfacePresentModeEXT { 15932 VkStructureType sType; 15933 void* pNext; 15934 VkPresentModeKHR presentMode; 15935 } VkSurfacePresentModeEXT; 15936 15937 typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15938 VkStructureType sType; 15939 void* pNext; 15940 VkPresentScalingFlagsEXT supportedPresentScaling; 15941 VkPresentGravityFlagsEXT supportedPresentGravityX; 15942 VkPresentGravityFlagsEXT supportedPresentGravityY; 15943 VkExtent2D minScaledImageExtent; 15944 VkExtent2D maxScaledImageExtent; 15945 } VkSurfacePresentScalingCapabilitiesEXT; 15946 15947 typedef struct VkSurfacePresentModeCompatibilityEXT { 15948 VkStructureType sType; 15949 void* pNext; 15950 uint32_t presentModeCount; 15951 VkPresentModeKHR* pPresentModes; 15952 } VkSurfacePresentModeCompatibilityEXT; 15953 15954 15955 15956 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15957 #define VK_EXT_swapchain_maintenance1 1 15958 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15959 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15960 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15961 VkStructureType sType; 15962 void* pNext; 15963 VkBool32 swapchainMaintenance1; 15964 } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15965 15966 typedef struct VkSwapchainPresentFenceInfoEXT { 15967 VkStructureType sType; 15968 const void* pNext; 15969 uint32_t swapchainCount; 15970 const VkFence* pFences; 15971 } VkSwapchainPresentFenceInfoEXT; 15972 15973 typedef struct VkSwapchainPresentModesCreateInfoEXT { 15974 VkStructureType sType; 15975 const void* pNext; 15976 uint32_t presentModeCount; 15977 const VkPresentModeKHR* pPresentModes; 15978 } VkSwapchainPresentModesCreateInfoEXT; 15979 15980 typedef struct VkSwapchainPresentModeInfoEXT { 15981 VkStructureType sType; 15982 const void* pNext; 15983 uint32_t swapchainCount; 15984 const VkPresentModeKHR* pPresentModes; 15985 } VkSwapchainPresentModeInfoEXT; 15986 15987 typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15988 VkStructureType sType; 15989 const void* pNext; 15990 VkPresentScalingFlagsEXT scalingBehavior; 15991 VkPresentGravityFlagsEXT presentGravityX; 15992 VkPresentGravityFlagsEXT presentGravityY; 15993 } VkSwapchainPresentScalingCreateInfoEXT; 15994 15995 typedef struct VkReleaseSwapchainImagesInfoEXT { 15996 VkStructureType sType; 15997 const void* pNext; 15998 VkSwapchainKHR swapchain; 15999 uint32_t imageIndexCount; 16000 const uint32_t* pImageIndices; 16001 } VkReleaseSwapchainImagesInfoEXT; 16002 16003 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16004 16005 #ifndef VK_NO_PROTOTYPES 16006 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 16007 VkDevice device, 16008 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 16009 #endif 16010 16011 16012 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 16013 #define VK_EXT_shader_demote_to_helper_invocation 1 16014 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 16015 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 16016 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 16017 16018 16019 16020 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 16021 #define VK_NV_device_generated_commands 1 16022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 16023 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 16024 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 16025 16026 typedef enum VkIndirectCommandsTokenTypeNV { 16027 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 16028 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 16029 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 16030 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 16031 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 16032 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 16033 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 16034 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 16035 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 16036 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 16037 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 16038 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16039 } VkIndirectCommandsTokenTypeNV; 16040 16041 typedef enum VkIndirectStateFlagBitsNV { 16042 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 16043 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16044 } VkIndirectStateFlagBitsNV; 16045 typedef VkFlags VkIndirectStateFlagsNV; 16046 16047 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 16048 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 16049 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 16050 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 16051 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16052 } VkIndirectCommandsLayoutUsageFlagBitsNV; 16053 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 16054 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 16055 VkStructureType sType; 16056 void* pNext; 16057 uint32_t maxGraphicsShaderGroupCount; 16058 uint32_t maxIndirectSequenceCount; 16059 uint32_t maxIndirectCommandsTokenCount; 16060 uint32_t maxIndirectCommandsStreamCount; 16061 uint32_t maxIndirectCommandsTokenOffset; 16062 uint32_t maxIndirectCommandsStreamStride; 16063 uint32_t minSequencesCountBufferOffsetAlignment; 16064 uint32_t minSequencesIndexBufferOffsetAlignment; 16065 uint32_t minIndirectCommandsBufferOffsetAlignment; 16066 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 16067 16068 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 16069 VkStructureType sType; 16070 void* pNext; 16071 VkBool32 deviceGeneratedCommands; 16072 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 16073 16074 typedef struct VkGraphicsShaderGroupCreateInfoNV { 16075 VkStructureType sType; 16076 const void* pNext; 16077 uint32_t stageCount; 16078 const VkPipelineShaderStageCreateInfo* pStages; 16079 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 16080 const VkPipelineTessellationStateCreateInfo* pTessellationState; 16081 } VkGraphicsShaderGroupCreateInfoNV; 16082 16083 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 16084 VkStructureType sType; 16085 const void* pNext; 16086 uint32_t groupCount; 16087 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 16088 uint32_t pipelineCount; 16089 const VkPipeline* pPipelines; 16090 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 16091 16092 typedef struct VkBindShaderGroupIndirectCommandNV { 16093 uint32_t groupIndex; 16094 } VkBindShaderGroupIndirectCommandNV; 16095 16096 typedef struct VkBindIndexBufferIndirectCommandNV { 16097 VkDeviceAddress bufferAddress; 16098 uint32_t size; 16099 VkIndexType indexType; 16100 } VkBindIndexBufferIndirectCommandNV; 16101 16102 typedef struct VkBindVertexBufferIndirectCommandNV { 16103 VkDeviceAddress bufferAddress; 16104 uint32_t size; 16105 uint32_t stride; 16106 } VkBindVertexBufferIndirectCommandNV; 16107 16108 typedef struct VkSetStateFlagsIndirectCommandNV { 16109 uint32_t data; 16110 } VkSetStateFlagsIndirectCommandNV; 16111 16112 typedef struct VkIndirectCommandsStreamNV { 16113 VkBuffer buffer; 16114 VkDeviceSize offset; 16115 } VkIndirectCommandsStreamNV; 16116 16117 typedef struct VkIndirectCommandsLayoutTokenNV { 16118 VkStructureType sType; 16119 const void* pNext; 16120 VkIndirectCommandsTokenTypeNV tokenType; 16121 uint32_t stream; 16122 uint32_t offset; 16123 uint32_t vertexBindingUnit; 16124 VkBool32 vertexDynamicStride; 16125 VkPipelineLayout pushconstantPipelineLayout; 16126 VkShaderStageFlags pushconstantShaderStageFlags; 16127 uint32_t pushconstantOffset; 16128 uint32_t pushconstantSize; 16129 VkIndirectStateFlagsNV indirectStateFlags; 16130 uint32_t indexTypeCount; 16131 const VkIndexType* pIndexTypes; 16132 const uint32_t* pIndexTypeValues; 16133 } VkIndirectCommandsLayoutTokenNV; 16134 16135 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 16136 VkStructureType sType; 16137 const void* pNext; 16138 VkIndirectCommandsLayoutUsageFlagsNV flags; 16139 VkPipelineBindPoint pipelineBindPoint; 16140 uint32_t tokenCount; 16141 const VkIndirectCommandsLayoutTokenNV* pTokens; 16142 uint32_t streamCount; 16143 const uint32_t* pStreamStrides; 16144 } VkIndirectCommandsLayoutCreateInfoNV; 16145 16146 typedef struct VkGeneratedCommandsInfoNV { 16147 VkStructureType sType; 16148 const void* pNext; 16149 VkPipelineBindPoint pipelineBindPoint; 16150 VkPipeline pipeline; 16151 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16152 uint32_t streamCount; 16153 const VkIndirectCommandsStreamNV* pStreams; 16154 uint32_t sequencesCount; 16155 VkBuffer preprocessBuffer; 16156 VkDeviceSize preprocessOffset; 16157 VkDeviceSize preprocessSize; 16158 VkBuffer sequencesCountBuffer; 16159 VkDeviceSize sequencesCountOffset; 16160 VkBuffer sequencesIndexBuffer; 16161 VkDeviceSize sequencesIndexOffset; 16162 } VkGeneratedCommandsInfoNV; 16163 16164 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 16165 VkStructureType sType; 16166 const void* pNext; 16167 VkPipelineBindPoint pipelineBindPoint; 16168 VkPipeline pipeline; 16169 VkIndirectCommandsLayoutNV indirectCommandsLayout; 16170 uint32_t maxSequencesCount; 16171 } VkGeneratedCommandsMemoryRequirementsInfoNV; 16172 16173 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 16174 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16175 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16176 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 16177 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16178 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 16179 16180 #ifndef VK_NO_PROTOTYPES 16181 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 16182 VkDevice device, 16183 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 16184 VkMemoryRequirements2* pMemoryRequirements); 16185 16186 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 16187 VkCommandBuffer commandBuffer, 16188 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16189 16190 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 16191 VkCommandBuffer commandBuffer, 16192 VkBool32 isPreprocessed, 16193 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 16194 16195 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 16196 VkCommandBuffer commandBuffer, 16197 VkPipelineBindPoint pipelineBindPoint, 16198 VkPipeline pipeline, 16199 uint32_t groupIndex); 16200 16201 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 16202 VkDevice device, 16203 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 16204 const VkAllocationCallbacks* pAllocator, 16205 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 16206 16207 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 16208 VkDevice device, 16209 VkIndirectCommandsLayoutNV indirectCommandsLayout, 16210 const VkAllocationCallbacks* pAllocator); 16211 #endif 16212 16213 16214 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 16215 #define VK_NV_inherited_viewport_scissor 1 16216 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 16217 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 16218 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 16219 VkStructureType sType; 16220 void* pNext; 16221 VkBool32 inheritedViewportScissor2D; 16222 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 16223 16224 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 16225 VkStructureType sType; 16226 const void* pNext; 16227 VkBool32 viewportScissor2D; 16228 uint32_t viewportDepthCount; 16229 const VkViewport* pViewportDepths; 16230 } VkCommandBufferInheritanceViewportScissorInfoNV; 16231 16232 16233 16234 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 16235 #define VK_EXT_texel_buffer_alignment 1 16236 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 16237 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 16238 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 16239 VkStructureType sType; 16240 void* pNext; 16241 VkBool32 texelBufferAlignment; 16242 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 16243 16244 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 16245 16246 16247 16248 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 16249 #define VK_QCOM_render_pass_transform 1 16250 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 16251 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 16252 typedef struct VkRenderPassTransformBeginInfoQCOM { 16253 VkStructureType sType; 16254 void* pNext; 16255 VkSurfaceTransformFlagBitsKHR transform; 16256 } VkRenderPassTransformBeginInfoQCOM; 16257 16258 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 16259 VkStructureType sType; 16260 void* pNext; 16261 VkSurfaceTransformFlagBitsKHR transform; 16262 VkRect2D renderArea; 16263 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 16264 16265 16266 16267 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 16268 #define VK_EXT_depth_bias_control 1 16269 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 16270 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 16271 16272 typedef enum VkDepthBiasRepresentationEXT { 16273 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 16274 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 16275 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 16276 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 16277 } VkDepthBiasRepresentationEXT; 16278 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 16279 VkStructureType sType; 16280 void* pNext; 16281 VkBool32 depthBiasControl; 16282 VkBool32 leastRepresentableValueForceUnormRepresentation; 16283 VkBool32 floatRepresentation; 16284 VkBool32 depthBiasExact; 16285 } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 16286 16287 typedef struct VkDepthBiasInfoEXT { 16288 VkStructureType sType; 16289 const void* pNext; 16290 float depthBiasConstantFactor; 16291 float depthBiasClamp; 16292 float depthBiasSlopeFactor; 16293 } VkDepthBiasInfoEXT; 16294 16295 typedef struct VkDepthBiasRepresentationInfoEXT { 16296 VkStructureType sType; 16297 const void* pNext; 16298 VkDepthBiasRepresentationEXT depthBiasRepresentation; 16299 VkBool32 depthBiasExact; 16300 } VkDepthBiasRepresentationInfoEXT; 16301 16302 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 16303 16304 #ifndef VK_NO_PROTOTYPES 16305 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 16306 VkCommandBuffer commandBuffer, 16307 const VkDepthBiasInfoEXT* pDepthBiasInfo); 16308 #endif 16309 16310 16311 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 16312 #define VK_EXT_device_memory_report 1 16313 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 16314 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 16315 16316 typedef enum VkDeviceMemoryReportEventTypeEXT { 16317 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 16318 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 16319 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 16320 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 16321 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 16322 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16323 } VkDeviceMemoryReportEventTypeEXT; 16324 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 16325 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 16326 VkStructureType sType; 16327 void* pNext; 16328 VkBool32 deviceMemoryReport; 16329 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 16330 16331 typedef struct VkDeviceMemoryReportCallbackDataEXT { 16332 VkStructureType sType; 16333 void* pNext; 16334 VkDeviceMemoryReportFlagsEXT flags; 16335 VkDeviceMemoryReportEventTypeEXT type; 16336 uint64_t memoryObjectId; 16337 VkDeviceSize size; 16338 VkObjectType objectType; 16339 uint64_t objectHandle; 16340 uint32_t heapIndex; 16341 } VkDeviceMemoryReportCallbackDataEXT; 16342 16343 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 16344 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 16345 void* pUserData); 16346 16347 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 16348 VkStructureType sType; 16349 const void* pNext; 16350 VkDeviceMemoryReportFlagsEXT flags; 16351 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 16352 void* pUserData; 16353 } VkDeviceDeviceMemoryReportCreateInfoEXT; 16354 16355 16356 16357 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 16358 #define VK_EXT_acquire_drm_display 1 16359 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 16360 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 16361 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); 16362 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); 16363 16364 #ifndef VK_NO_PROTOTYPES 16365 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 16366 VkPhysicalDevice physicalDevice, 16367 int32_t drmFd, 16368 VkDisplayKHR display); 16369 16370 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 16371 VkPhysicalDevice physicalDevice, 16372 int32_t drmFd, 16373 uint32_t connectorId, 16374 VkDisplayKHR* display); 16375 #endif 16376 16377 16378 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 16379 #define VK_EXT_robustness2 1 16380 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 16381 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 16382 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 16383 VkStructureType sType; 16384 void* pNext; 16385 VkBool32 robustBufferAccess2; 16386 VkBool32 robustImageAccess2; 16387 VkBool32 nullDescriptor; 16388 } VkPhysicalDeviceRobustness2FeaturesEXT; 16389 16390 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 16391 VkStructureType sType; 16392 void* pNext; 16393 VkDeviceSize robustStorageBufferAccessSizeAlignment; 16394 VkDeviceSize robustUniformBufferAccessSizeAlignment; 16395 } VkPhysicalDeviceRobustness2PropertiesEXT; 16396 16397 16398 16399 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 16400 #define VK_EXT_custom_border_color 1 16401 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 16402 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 16403 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 16404 VkStructureType sType; 16405 const void* pNext; 16406 VkClearColorValue customBorderColor; 16407 VkFormat format; 16408 } VkSamplerCustomBorderColorCreateInfoEXT; 16409 16410 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 16411 VkStructureType sType; 16412 void* pNext; 16413 uint32_t maxCustomBorderColorSamplers; 16414 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 16415 16416 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 16417 VkStructureType sType; 16418 void* pNext; 16419 VkBool32 customBorderColors; 16420 VkBool32 customBorderColorWithoutFormat; 16421 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 16422 16423 16424 16425 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 16426 #define VK_GOOGLE_user_type 1 16427 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 16428 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 16429 16430 16431 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 16432 #define VK_NV_present_barrier 1 16433 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 16434 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 16435 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 16436 VkStructureType sType; 16437 void* pNext; 16438 VkBool32 presentBarrier; 16439 } VkPhysicalDevicePresentBarrierFeaturesNV; 16440 16441 typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 16442 VkStructureType sType; 16443 void* pNext; 16444 VkBool32 presentBarrierSupported; 16445 } VkSurfaceCapabilitiesPresentBarrierNV; 16446 16447 typedef struct VkSwapchainPresentBarrierCreateInfoNV { 16448 VkStructureType sType; 16449 void* pNext; 16450 VkBool32 presentBarrierEnable; 16451 } VkSwapchainPresentBarrierCreateInfoNV; 16452 16453 16454 16455 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 16456 #define VK_EXT_private_data 1 16457 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 16458 16459 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 16460 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 16461 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 16462 16463 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 16464 16465 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 16466 16467 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 16468 16469 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 16470 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 16471 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); 16472 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); 16473 16474 #ifndef VK_NO_PROTOTYPES 16475 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 16476 VkDevice device, 16477 const VkPrivateDataSlotCreateInfo* pCreateInfo, 16478 const VkAllocationCallbacks* pAllocator, 16479 VkPrivateDataSlot* pPrivateDataSlot); 16480 16481 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 16482 VkDevice device, 16483 VkPrivateDataSlot privateDataSlot, 16484 const VkAllocationCallbacks* pAllocator); 16485 16486 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 16487 VkDevice device, 16488 VkObjectType objectType, 16489 uint64_t objectHandle, 16490 VkPrivateDataSlot privateDataSlot, 16491 uint64_t data); 16492 16493 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 16494 VkDevice device, 16495 VkObjectType objectType, 16496 uint64_t objectHandle, 16497 VkPrivateDataSlot privateDataSlot, 16498 uint64_t* pData); 16499 #endif 16500 16501 16502 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 16503 #define VK_EXT_pipeline_creation_cache_control 1 16504 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 16505 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 16506 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 16507 16508 16509 16510 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 16511 #define VK_NV_device_diagnostics_config 1 16512 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 16513 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 16514 16515 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 16516 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 16517 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 16518 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 16519 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 16520 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 16521 } VkDeviceDiagnosticsConfigFlagBitsNV; 16522 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 16523 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 16524 VkStructureType sType; 16525 void* pNext; 16526 VkBool32 diagnosticsConfig; 16527 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 16528 16529 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 16530 VkStructureType sType; 16531 const void* pNext; 16532 VkDeviceDiagnosticsConfigFlagsNV flags; 16533 } VkDeviceDiagnosticsConfigCreateInfoNV; 16534 16535 16536 16537 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 16538 #define VK_QCOM_render_pass_store_ops 1 16539 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 16540 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 16541 16542 16543 // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 16544 #define VK_NV_cuda_kernel_launch 1 16545 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 16546 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 16547 #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 16548 #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 16549 typedef struct VkCudaModuleCreateInfoNV { 16550 VkStructureType sType; 16551 const void* pNext; 16552 size_t dataSize; 16553 const void* pData; 16554 } VkCudaModuleCreateInfoNV; 16555 16556 typedef struct VkCudaFunctionCreateInfoNV { 16557 VkStructureType sType; 16558 const void* pNext; 16559 VkCudaModuleNV module; 16560 const char* pName; 16561 } VkCudaFunctionCreateInfoNV; 16562 16563 typedef struct VkCudaLaunchInfoNV { 16564 VkStructureType sType; 16565 const void* pNext; 16566 VkCudaFunctionNV function; 16567 uint32_t gridDimX; 16568 uint32_t gridDimY; 16569 uint32_t gridDimZ; 16570 uint32_t blockDimX; 16571 uint32_t blockDimY; 16572 uint32_t blockDimZ; 16573 uint32_t sharedMemBytes; 16574 size_t paramCount; 16575 const void* const * pParams; 16576 size_t extraCount; 16577 const void* const * pExtras; 16578 } VkCudaLaunchInfoNV; 16579 16580 typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 16581 VkStructureType sType; 16582 void* pNext; 16583 VkBool32 cudaKernelLaunchFeatures; 16584 } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 16585 16586 typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 16587 VkStructureType sType; 16588 void* pNext; 16589 uint32_t computeCapabilityMinor; 16590 uint32_t computeCapabilityMajor; 16591 } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 16592 16593 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 16594 typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 16595 typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 16596 typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 16597 typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 16598 typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 16599 16600 #ifndef VK_NO_PROTOTYPES 16601 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 16602 VkDevice device, 16603 const VkCudaModuleCreateInfoNV* pCreateInfo, 16604 const VkAllocationCallbacks* pAllocator, 16605 VkCudaModuleNV* pModule); 16606 16607 VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 16608 VkDevice device, 16609 VkCudaModuleNV module, 16610 size_t* pCacheSize, 16611 void* pCacheData); 16612 16613 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 16614 VkDevice device, 16615 const VkCudaFunctionCreateInfoNV* pCreateInfo, 16616 const VkAllocationCallbacks* pAllocator, 16617 VkCudaFunctionNV* pFunction); 16618 16619 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 16620 VkDevice device, 16621 VkCudaModuleNV module, 16622 const VkAllocationCallbacks* pAllocator); 16623 16624 VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 16625 VkDevice device, 16626 VkCudaFunctionNV function, 16627 const VkAllocationCallbacks* pAllocator); 16628 16629 VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 16630 VkCommandBuffer commandBuffer, 16631 const VkCudaLaunchInfoNV* pLaunchInfo); 16632 #endif 16633 16634 16635 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 16636 #define VK_NV_low_latency 1 16637 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 16638 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 16639 typedef struct VkQueryLowLatencySupportNV { 16640 VkStructureType sType; 16641 const void* pNext; 16642 void* pQueriedLowLatencyData; 16643 } VkQueryLowLatencySupportNV; 16644 16645 16646 16647 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 16648 #define VK_EXT_descriptor_buffer 1 16649 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 16650 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 16651 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 16652 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 16653 VkStructureType sType; 16654 void* pNext; 16655 VkBool32 combinedImageSamplerDescriptorSingleArray; 16656 VkBool32 bufferlessPushDescriptors; 16657 VkBool32 allowSamplerImageViewPostSubmitCreation; 16658 VkDeviceSize descriptorBufferOffsetAlignment; 16659 uint32_t maxDescriptorBufferBindings; 16660 uint32_t maxResourceDescriptorBufferBindings; 16661 uint32_t maxSamplerDescriptorBufferBindings; 16662 uint32_t maxEmbeddedImmutableSamplerBindings; 16663 uint32_t maxEmbeddedImmutableSamplers; 16664 size_t bufferCaptureReplayDescriptorDataSize; 16665 size_t imageCaptureReplayDescriptorDataSize; 16666 size_t imageViewCaptureReplayDescriptorDataSize; 16667 size_t samplerCaptureReplayDescriptorDataSize; 16668 size_t accelerationStructureCaptureReplayDescriptorDataSize; 16669 size_t samplerDescriptorSize; 16670 size_t combinedImageSamplerDescriptorSize; 16671 size_t sampledImageDescriptorSize; 16672 size_t storageImageDescriptorSize; 16673 size_t uniformTexelBufferDescriptorSize; 16674 size_t robustUniformTexelBufferDescriptorSize; 16675 size_t storageTexelBufferDescriptorSize; 16676 size_t robustStorageTexelBufferDescriptorSize; 16677 size_t uniformBufferDescriptorSize; 16678 size_t robustUniformBufferDescriptorSize; 16679 size_t storageBufferDescriptorSize; 16680 size_t robustStorageBufferDescriptorSize; 16681 size_t inputAttachmentDescriptorSize; 16682 size_t accelerationStructureDescriptorSize; 16683 VkDeviceSize maxSamplerDescriptorBufferRange; 16684 VkDeviceSize maxResourceDescriptorBufferRange; 16685 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 16686 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 16687 VkDeviceSize descriptorBufferAddressSpaceSize; 16688 } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 16689 16690 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 16691 VkStructureType sType; 16692 void* pNext; 16693 size_t combinedImageSamplerDensityMapDescriptorSize; 16694 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 16695 16696 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 16697 VkStructureType sType; 16698 void* pNext; 16699 VkBool32 descriptorBuffer; 16700 VkBool32 descriptorBufferCaptureReplay; 16701 VkBool32 descriptorBufferImageLayoutIgnored; 16702 VkBool32 descriptorBufferPushDescriptors; 16703 } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 16704 16705 typedef struct VkDescriptorAddressInfoEXT { 16706 VkStructureType sType; 16707 void* pNext; 16708 VkDeviceAddress address; 16709 VkDeviceSize range; 16710 VkFormat format; 16711 } VkDescriptorAddressInfoEXT; 16712 16713 typedef struct VkDescriptorBufferBindingInfoEXT { 16714 VkStructureType sType; 16715 const void* pNext; 16716 VkDeviceAddress address; 16717 VkBufferUsageFlags usage; 16718 } VkDescriptorBufferBindingInfoEXT; 16719 16720 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 16721 VkStructureType sType; 16722 const void* pNext; 16723 VkBuffer buffer; 16724 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 16725 16726 typedef union VkDescriptorDataEXT { 16727 const VkSampler* pSampler; 16728 const VkDescriptorImageInfo* pCombinedImageSampler; 16729 const VkDescriptorImageInfo* pInputAttachmentImage; 16730 const VkDescriptorImageInfo* pSampledImage; 16731 const VkDescriptorImageInfo* pStorageImage; 16732 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 16733 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 16734 const VkDescriptorAddressInfoEXT* pUniformBuffer; 16735 const VkDescriptorAddressInfoEXT* pStorageBuffer; 16736 VkDeviceAddress accelerationStructure; 16737 } VkDescriptorDataEXT; 16738 16739 typedef struct VkDescriptorGetInfoEXT { 16740 VkStructureType sType; 16741 const void* pNext; 16742 VkDescriptorType type; 16743 VkDescriptorDataEXT data; 16744 } VkDescriptorGetInfoEXT; 16745 16746 typedef struct VkBufferCaptureDescriptorDataInfoEXT { 16747 VkStructureType sType; 16748 const void* pNext; 16749 VkBuffer buffer; 16750 } VkBufferCaptureDescriptorDataInfoEXT; 16751 16752 typedef struct VkImageCaptureDescriptorDataInfoEXT { 16753 VkStructureType sType; 16754 const void* pNext; 16755 VkImage image; 16756 } VkImageCaptureDescriptorDataInfoEXT; 16757 16758 typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 16759 VkStructureType sType; 16760 const void* pNext; 16761 VkImageView imageView; 16762 } VkImageViewCaptureDescriptorDataInfoEXT; 16763 16764 typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 16765 VkStructureType sType; 16766 const void* pNext; 16767 VkSampler sampler; 16768 } VkSamplerCaptureDescriptorDataInfoEXT; 16769 16770 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 16771 VkStructureType sType; 16772 const void* pNext; 16773 const void* opaqueCaptureDescriptorData; 16774 } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 16775 16776 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 16777 VkStructureType sType; 16778 const void* pNext; 16779 VkAccelerationStructureKHR accelerationStructure; 16780 VkAccelerationStructureNV accelerationStructureNV; 16781 } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 16782 16783 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 16784 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 16785 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 16786 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16787 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); 16788 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 16789 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16790 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16791 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16792 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16793 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 16794 16795 #ifndef VK_NO_PROTOTYPES 16796 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 16797 VkDevice device, 16798 VkDescriptorSetLayout layout, 16799 VkDeviceSize* pLayoutSizeInBytes); 16800 16801 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 16802 VkDevice device, 16803 VkDescriptorSetLayout layout, 16804 uint32_t binding, 16805 VkDeviceSize* pOffset); 16806 16807 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 16808 VkDevice device, 16809 const VkDescriptorGetInfoEXT* pDescriptorInfo, 16810 size_t dataSize, 16811 void* pDescriptor); 16812 16813 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 16814 VkCommandBuffer commandBuffer, 16815 uint32_t bufferCount, 16816 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 16817 16818 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 16819 VkCommandBuffer commandBuffer, 16820 VkPipelineBindPoint pipelineBindPoint, 16821 VkPipelineLayout layout, 16822 uint32_t firstSet, 16823 uint32_t setCount, 16824 const uint32_t* pBufferIndices, 16825 const VkDeviceSize* pOffsets); 16826 16827 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 16828 VkCommandBuffer commandBuffer, 16829 VkPipelineBindPoint pipelineBindPoint, 16830 VkPipelineLayout layout, 16831 uint32_t set); 16832 16833 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 16834 VkDevice device, 16835 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 16836 void* pData); 16837 16838 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 16839 VkDevice device, 16840 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 16841 void* pData); 16842 16843 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 16844 VkDevice device, 16845 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 16846 void* pData); 16847 16848 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 16849 VkDevice device, 16850 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 16851 void* pData); 16852 16853 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 16854 VkDevice device, 16855 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 16856 void* pData); 16857 #endif 16858 16859 16860 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 16861 #define VK_EXT_graphics_pipeline_library 1 16862 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 16863 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 16864 16865 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 16866 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 16867 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 16868 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 16869 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 16870 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16871 } VkGraphicsPipelineLibraryFlagBitsEXT; 16872 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 16873 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 16874 VkStructureType sType; 16875 void* pNext; 16876 VkBool32 graphicsPipelineLibrary; 16877 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 16878 16879 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 16880 VkStructureType sType; 16881 void* pNext; 16882 VkBool32 graphicsPipelineLibraryFastLinking; 16883 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 16884 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 16885 16886 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 16887 VkStructureType sType; 16888 const void* pNext; 16889 VkGraphicsPipelineLibraryFlagsEXT flags; 16890 } VkGraphicsPipelineLibraryCreateInfoEXT; 16891 16892 16893 16894 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 16895 #define VK_AMD_shader_early_and_late_fragment_tests 1 16896 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 16897 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 16898 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 16899 VkStructureType sType; 16900 void* pNext; 16901 VkBool32 shaderEarlyAndLateFragmentTests; 16902 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 16903 16904 16905 16906 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 16907 #define VK_NV_fragment_shading_rate_enums 1 16908 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 16909 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 16910 16911 typedef enum VkFragmentShadingRateTypeNV { 16912 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 16913 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 16914 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16915 } VkFragmentShadingRateTypeNV; 16916 16917 typedef enum VkFragmentShadingRateNV { 16918 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 16919 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 16920 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 16921 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 16922 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 16923 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 16924 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 16925 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 16926 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 16927 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 16928 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 16929 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 16930 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 16931 } VkFragmentShadingRateNV; 16932 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 16933 VkStructureType sType; 16934 void* pNext; 16935 VkBool32 fragmentShadingRateEnums; 16936 VkBool32 supersampleFragmentShadingRates; 16937 VkBool32 noInvocationFragmentShadingRates; 16938 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 16939 16940 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 16941 VkStructureType sType; 16942 void* pNext; 16943 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 16944 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 16945 16946 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 16947 VkStructureType sType; 16948 const void* pNext; 16949 VkFragmentShadingRateTypeNV shadingRateType; 16950 VkFragmentShadingRateNV shadingRate; 16951 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 16952 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 16953 16954 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16955 16956 #ifndef VK_NO_PROTOTYPES 16957 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 16958 VkCommandBuffer commandBuffer, 16959 VkFragmentShadingRateNV shadingRate, 16960 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 16961 #endif 16962 16963 16964 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 16965 #define VK_NV_ray_tracing_motion_blur 1 16966 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 16967 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 16968 16969 typedef enum VkAccelerationStructureMotionInstanceTypeNV { 16970 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 16971 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 16972 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 16973 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 16974 } VkAccelerationStructureMotionInstanceTypeNV; 16975 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 16976 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 16977 typedef union VkDeviceOrHostAddressConstKHR { 16978 VkDeviceAddress deviceAddress; 16979 const void* hostAddress; 16980 } VkDeviceOrHostAddressConstKHR; 16981 16982 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 16983 VkStructureType sType; 16984 const void* pNext; 16985 VkDeviceOrHostAddressConstKHR vertexData; 16986 } VkAccelerationStructureGeometryMotionTrianglesDataNV; 16987 16988 typedef struct VkAccelerationStructureMotionInfoNV { 16989 VkStructureType sType; 16990 const void* pNext; 16991 uint32_t maxInstances; 16992 VkAccelerationStructureMotionInfoFlagsNV flags; 16993 } VkAccelerationStructureMotionInfoNV; 16994 16995 typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 16996 VkTransformMatrixKHR transformT0; 16997 VkTransformMatrixKHR transformT1; 16998 uint32_t instanceCustomIndex:24; 16999 uint32_t mask:8; 17000 uint32_t instanceShaderBindingTableRecordOffset:24; 17001 VkGeometryInstanceFlagsKHR flags:8; 17002 uint64_t accelerationStructureReference; 17003 } VkAccelerationStructureMatrixMotionInstanceNV; 17004 17005 typedef struct VkSRTDataNV { 17006 float sx; 17007 float a; 17008 float b; 17009 float pvx; 17010 float sy; 17011 float c; 17012 float pvy; 17013 float sz; 17014 float pvz; 17015 float qx; 17016 float qy; 17017 float qz; 17018 float qw; 17019 float tx; 17020 float ty; 17021 float tz; 17022 } VkSRTDataNV; 17023 17024 typedef struct VkAccelerationStructureSRTMotionInstanceNV { 17025 VkSRTDataNV transformT0; 17026 VkSRTDataNV transformT1; 17027 uint32_t instanceCustomIndex:24; 17028 uint32_t mask:8; 17029 uint32_t instanceShaderBindingTableRecordOffset:24; 17030 VkGeometryInstanceFlagsKHR flags:8; 17031 uint64_t accelerationStructureReference; 17032 } VkAccelerationStructureSRTMotionInstanceNV; 17033 17034 typedef union VkAccelerationStructureMotionInstanceDataNV { 17035 VkAccelerationStructureInstanceKHR staticInstance; 17036 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 17037 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 17038 } VkAccelerationStructureMotionInstanceDataNV; 17039 17040 typedef struct VkAccelerationStructureMotionInstanceNV { 17041 VkAccelerationStructureMotionInstanceTypeNV type; 17042 VkAccelerationStructureMotionInstanceFlagsNV flags; 17043 VkAccelerationStructureMotionInstanceDataNV data; 17044 } VkAccelerationStructureMotionInstanceNV; 17045 17046 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 17047 VkStructureType sType; 17048 void* pNext; 17049 VkBool32 rayTracingMotionBlur; 17050 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 17051 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 17052 17053 17054 17055 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 17056 #define VK_EXT_ycbcr_2plane_444_formats 1 17057 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 17058 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 17059 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 17060 VkStructureType sType; 17061 void* pNext; 17062 VkBool32 ycbcr2plane444Formats; 17063 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 17064 17065 17066 17067 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 17068 #define VK_EXT_fragment_density_map2 1 17069 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 17070 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 17071 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 17072 VkStructureType sType; 17073 void* pNext; 17074 VkBool32 fragmentDensityMapDeferred; 17075 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 17076 17077 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 17078 VkStructureType sType; 17079 void* pNext; 17080 VkBool32 subsampledLoads; 17081 VkBool32 subsampledCoarseReconstructionEarlyAccess; 17082 uint32_t maxSubsampledArrayLayers; 17083 uint32_t maxDescriptorSetSubsampledSamplers; 17084 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 17085 17086 17087 17088 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 17089 #define VK_QCOM_rotated_copy_commands 1 17090 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 17091 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 17092 typedef struct VkCopyCommandTransformInfoQCOM { 17093 VkStructureType sType; 17094 const void* pNext; 17095 VkSurfaceTransformFlagBitsKHR transform; 17096 } VkCopyCommandTransformInfoQCOM; 17097 17098 17099 17100 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 17101 #define VK_EXT_image_robustness 1 17102 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 17103 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 17104 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 17105 17106 17107 17108 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 17109 #define VK_EXT_image_compression_control 1 17110 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 17111 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 17112 17113 typedef enum VkImageCompressionFlagBitsEXT { 17114 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 17115 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 17116 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 17117 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 17118 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17119 } VkImageCompressionFlagBitsEXT; 17120 typedef VkFlags VkImageCompressionFlagsEXT; 17121 17122 typedef enum VkImageCompressionFixedRateFlagBitsEXT { 17123 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 17124 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 17125 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 17126 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 17127 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 17128 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 17129 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 17130 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 17131 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 17132 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 17133 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 17134 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 17135 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 17136 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 17137 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 17138 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 17139 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 17140 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 17141 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 17142 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 17143 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 17144 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 17145 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 17146 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 17147 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 17148 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17149 } VkImageCompressionFixedRateFlagBitsEXT; 17150 typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 17151 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 17152 VkStructureType sType; 17153 void* pNext; 17154 VkBool32 imageCompressionControl; 17155 } VkPhysicalDeviceImageCompressionControlFeaturesEXT; 17156 17157 typedef struct VkImageCompressionControlEXT { 17158 VkStructureType sType; 17159 const void* pNext; 17160 VkImageCompressionFlagsEXT flags; 17161 uint32_t compressionControlPlaneCount; 17162 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 17163 } VkImageCompressionControlEXT; 17164 17165 typedef struct VkImageCompressionPropertiesEXT { 17166 VkStructureType sType; 17167 void* pNext; 17168 VkImageCompressionFlagsEXT imageCompressionFlags; 17169 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 17170 } VkImageCompressionPropertiesEXT; 17171 17172 17173 17174 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 17175 #define VK_EXT_attachment_feedback_loop_layout 1 17176 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 17177 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 17178 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 17179 VkStructureType sType; 17180 void* pNext; 17181 VkBool32 attachmentFeedbackLoopLayout; 17182 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 17183 17184 17185 17186 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 17187 #define VK_EXT_4444_formats 1 17188 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 17189 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 17190 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 17191 VkStructureType sType; 17192 void* pNext; 17193 VkBool32 formatA4R4G4B4; 17194 VkBool32 formatA4B4G4R4; 17195 } VkPhysicalDevice4444FormatsFeaturesEXT; 17196 17197 17198 17199 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 17200 #define VK_EXT_device_fault 1 17201 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 17202 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 17203 17204 typedef enum VkDeviceFaultAddressTypeEXT { 17205 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 17206 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 17207 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 17208 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 17209 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 17210 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 17211 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 17212 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17213 } VkDeviceFaultAddressTypeEXT; 17214 17215 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 17216 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 17217 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 17218 } VkDeviceFaultVendorBinaryHeaderVersionEXT; 17219 typedef struct VkPhysicalDeviceFaultFeaturesEXT { 17220 VkStructureType sType; 17221 void* pNext; 17222 VkBool32 deviceFault; 17223 VkBool32 deviceFaultVendorBinary; 17224 } VkPhysicalDeviceFaultFeaturesEXT; 17225 17226 typedef struct VkDeviceFaultCountsEXT { 17227 VkStructureType sType; 17228 void* pNext; 17229 uint32_t addressInfoCount; 17230 uint32_t vendorInfoCount; 17231 VkDeviceSize vendorBinarySize; 17232 } VkDeviceFaultCountsEXT; 17233 17234 typedef struct VkDeviceFaultAddressInfoEXT { 17235 VkDeviceFaultAddressTypeEXT addressType; 17236 VkDeviceAddress reportedAddress; 17237 VkDeviceSize addressPrecision; 17238 } VkDeviceFaultAddressInfoEXT; 17239 17240 typedef struct VkDeviceFaultVendorInfoEXT { 17241 char description[VK_MAX_DESCRIPTION_SIZE]; 17242 uint64_t vendorFaultCode; 17243 uint64_t vendorFaultData; 17244 } VkDeviceFaultVendorInfoEXT; 17245 17246 typedef struct VkDeviceFaultInfoEXT { 17247 VkStructureType sType; 17248 void* pNext; 17249 char description[VK_MAX_DESCRIPTION_SIZE]; 17250 VkDeviceFaultAddressInfoEXT* pAddressInfos; 17251 VkDeviceFaultVendorInfoEXT* pVendorInfos; 17252 void* pVendorBinaryData; 17253 } VkDeviceFaultInfoEXT; 17254 17255 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 17256 uint32_t headerSize; 17257 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 17258 uint32_t vendorID; 17259 uint32_t deviceID; 17260 uint32_t driverVersion; 17261 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 17262 uint32_t applicationNameOffset; 17263 uint32_t applicationVersion; 17264 uint32_t engineNameOffset; 17265 uint32_t engineVersion; 17266 uint32_t apiVersion; 17267 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 17268 17269 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 17270 17271 #ifndef VK_NO_PROTOTYPES 17272 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 17273 VkDevice device, 17274 VkDeviceFaultCountsEXT* pFaultCounts, 17275 VkDeviceFaultInfoEXT* pFaultInfo); 17276 #endif 17277 17278 17279 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 17280 #define VK_ARM_rasterization_order_attachment_access 1 17281 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 17282 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 17283 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 17284 VkStructureType sType; 17285 void* pNext; 17286 VkBool32 rasterizationOrderColorAttachmentAccess; 17287 VkBool32 rasterizationOrderDepthAttachmentAccess; 17288 VkBool32 rasterizationOrderStencilAttachmentAccess; 17289 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 17290 17291 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 17292 17293 17294 17295 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 17296 #define VK_EXT_rgba10x6_formats 1 17297 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 17298 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 17299 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 17300 VkStructureType sType; 17301 void* pNext; 17302 VkBool32 formatRgba10x6WithoutYCbCrSampler; 17303 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 17304 17305 17306 17307 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 17308 #define VK_VALVE_mutable_descriptor_type 1 17309 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 17310 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 17311 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 17312 VkStructureType sType; 17313 void* pNext; 17314 VkBool32 mutableDescriptorType; 17315 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 17316 17317 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 17318 17319 typedef struct VkMutableDescriptorTypeListEXT { 17320 uint32_t descriptorTypeCount; 17321 const VkDescriptorType* pDescriptorTypes; 17322 } VkMutableDescriptorTypeListEXT; 17323 17324 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 17325 17326 typedef struct VkMutableDescriptorTypeCreateInfoEXT { 17327 VkStructureType sType; 17328 const void* pNext; 17329 uint32_t mutableDescriptorTypeListCount; 17330 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 17331 } VkMutableDescriptorTypeCreateInfoEXT; 17332 17333 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 17334 17335 17336 17337 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 17338 #define VK_EXT_vertex_input_dynamic_state 1 17339 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 17340 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 17341 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 17342 VkStructureType sType; 17343 void* pNext; 17344 VkBool32 vertexInputDynamicState; 17345 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 17346 17347 typedef struct VkVertexInputBindingDescription2EXT { 17348 VkStructureType sType; 17349 void* pNext; 17350 uint32_t binding; 17351 uint32_t stride; 17352 VkVertexInputRate inputRate; 17353 uint32_t divisor; 17354 } VkVertexInputBindingDescription2EXT; 17355 17356 typedef struct VkVertexInputAttributeDescription2EXT { 17357 VkStructureType sType; 17358 void* pNext; 17359 uint32_t location; 17360 uint32_t binding; 17361 VkFormat format; 17362 uint32_t offset; 17363 } VkVertexInputAttributeDescription2EXT; 17364 17365 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17366 17367 #ifndef VK_NO_PROTOTYPES 17368 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 17369 VkCommandBuffer commandBuffer, 17370 uint32_t vertexBindingDescriptionCount, 17371 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 17372 uint32_t vertexAttributeDescriptionCount, 17373 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 17374 #endif 17375 17376 17377 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 17378 #define VK_EXT_physical_device_drm 1 17379 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 17380 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 17381 typedef struct VkPhysicalDeviceDrmPropertiesEXT { 17382 VkStructureType sType; 17383 void* pNext; 17384 VkBool32 hasPrimary; 17385 VkBool32 hasRender; 17386 int64_t primaryMajor; 17387 int64_t primaryMinor; 17388 int64_t renderMajor; 17389 int64_t renderMinor; 17390 } VkPhysicalDeviceDrmPropertiesEXT; 17391 17392 17393 17394 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 17395 #define VK_EXT_device_address_binding_report 1 17396 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 17397 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 17398 17399 typedef enum VkDeviceAddressBindingTypeEXT { 17400 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 17401 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 17402 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17403 } VkDeviceAddressBindingTypeEXT; 17404 17405 typedef enum VkDeviceAddressBindingFlagBitsEXT { 17406 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 17407 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17408 } VkDeviceAddressBindingFlagBitsEXT; 17409 typedef VkFlags VkDeviceAddressBindingFlagsEXT; 17410 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 17411 VkStructureType sType; 17412 void* pNext; 17413 VkBool32 reportAddressBinding; 17414 } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 17415 17416 typedef struct VkDeviceAddressBindingCallbackDataEXT { 17417 VkStructureType sType; 17418 void* pNext; 17419 VkDeviceAddressBindingFlagsEXT flags; 17420 VkDeviceAddress baseAddress; 17421 VkDeviceSize size; 17422 VkDeviceAddressBindingTypeEXT bindingType; 17423 } VkDeviceAddressBindingCallbackDataEXT; 17424 17425 17426 17427 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 17428 #define VK_EXT_depth_clip_control 1 17429 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 17430 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 17431 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 17432 VkStructureType sType; 17433 void* pNext; 17434 VkBool32 depthClipControl; 17435 } VkPhysicalDeviceDepthClipControlFeaturesEXT; 17436 17437 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 17438 VkStructureType sType; 17439 const void* pNext; 17440 VkBool32 negativeOneToOne; 17441 } VkPipelineViewportDepthClipControlCreateInfoEXT; 17442 17443 17444 17445 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 17446 #define VK_EXT_primitive_topology_list_restart 1 17447 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 17448 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 17449 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 17450 VkStructureType sType; 17451 void* pNext; 17452 VkBool32 primitiveTopologyListRestart; 17453 VkBool32 primitiveTopologyPatchListRestart; 17454 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 17455 17456 17457 17458 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 17459 #define VK_HUAWEI_subpass_shading 1 17460 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 17461 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 17462 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 17463 VkStructureType sType; 17464 void* pNext; 17465 VkRenderPass renderPass; 17466 uint32_t subpass; 17467 } VkSubpassShadingPipelineCreateInfoHUAWEI; 17468 17469 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 17470 VkStructureType sType; 17471 void* pNext; 17472 VkBool32 subpassShading; 17473 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 17474 17475 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 17476 VkStructureType sType; 17477 void* pNext; 17478 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; 17479 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 17480 17481 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 17482 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 17483 17484 #ifndef VK_NO_PROTOTYPES 17485 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 17486 VkDevice device, 17487 VkRenderPass renderpass, 17488 VkExtent2D* pMaxWorkgroupSize); 17489 17490 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 17491 VkCommandBuffer commandBuffer); 17492 #endif 17493 17494 17495 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 17496 #define VK_HUAWEI_invocation_mask 1 17497 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 17498 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 17499 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 17500 VkStructureType sType; 17501 void* pNext; 17502 VkBool32 invocationMask; 17503 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 17504 17505 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 17506 17507 #ifndef VK_NO_PROTOTYPES 17508 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 17509 VkCommandBuffer commandBuffer, 17510 VkImageView imageView, 17511 VkImageLayout imageLayout); 17512 #endif 17513 17514 17515 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 17516 #define VK_NV_external_memory_rdma 1 17517 typedef void* VkRemoteAddressNV; 17518 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 17519 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 17520 typedef struct VkMemoryGetRemoteAddressInfoNV { 17521 VkStructureType sType; 17522 const void* pNext; 17523 VkDeviceMemory memory; 17524 VkExternalMemoryHandleTypeFlagBits handleType; 17525 } VkMemoryGetRemoteAddressInfoNV; 17526 17527 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 17528 VkStructureType sType; 17529 void* pNext; 17530 VkBool32 externalMemoryRDMA; 17531 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 17532 17533 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 17534 17535 #ifndef VK_NO_PROTOTYPES 17536 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 17537 VkDevice device, 17538 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 17539 VkRemoteAddressNV* pAddress); 17540 #endif 17541 17542 17543 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 17544 #define VK_EXT_pipeline_properties 1 17545 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 17546 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 17547 typedef VkPipelineInfoKHR VkPipelineInfoEXT; 17548 17549 typedef struct VkPipelinePropertiesIdentifierEXT { 17550 VkStructureType sType; 17551 void* pNext; 17552 uint8_t pipelineIdentifier[VK_UUID_SIZE]; 17553 } VkPipelinePropertiesIdentifierEXT; 17554 17555 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 17556 VkStructureType sType; 17557 void* pNext; 17558 VkBool32 pipelinePropertiesIdentifier; 17559 } VkPhysicalDevicePipelinePropertiesFeaturesEXT; 17560 17561 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 17562 17563 #ifndef VK_NO_PROTOTYPES 17564 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 17565 VkDevice device, 17566 const VkPipelineInfoEXT* pPipelineInfo, 17567 VkBaseOutStructure* pPipelineProperties); 17568 #endif 17569 17570 17571 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 17572 #define VK_EXT_frame_boundary 1 17573 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 17574 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 17575 17576 typedef enum VkFrameBoundaryFlagBitsEXT { 17577 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 17578 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17579 } VkFrameBoundaryFlagBitsEXT; 17580 typedef VkFlags VkFrameBoundaryFlagsEXT; 17581 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 17582 VkStructureType sType; 17583 void* pNext; 17584 VkBool32 frameBoundary; 17585 } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 17586 17587 typedef struct VkFrameBoundaryEXT { 17588 VkStructureType sType; 17589 const void* pNext; 17590 VkFrameBoundaryFlagsEXT flags; 17591 uint64_t frameID; 17592 uint32_t imageCount; 17593 const VkImage* pImages; 17594 uint32_t bufferCount; 17595 const VkBuffer* pBuffers; 17596 uint64_t tagName; 17597 size_t tagSize; 17598 const void* pTag; 17599 } VkFrameBoundaryEXT; 17600 17601 17602 17603 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 17604 #define VK_EXT_multisampled_render_to_single_sampled 1 17605 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 17606 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 17607 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 17608 VkStructureType sType; 17609 void* pNext; 17610 VkBool32 multisampledRenderToSingleSampled; 17611 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 17612 17613 typedef struct VkSubpassResolvePerformanceQueryEXT { 17614 VkStructureType sType; 17615 void* pNext; 17616 VkBool32 optimal; 17617 } VkSubpassResolvePerformanceQueryEXT; 17618 17619 typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 17620 VkStructureType sType; 17621 const void* pNext; 17622 VkBool32 multisampledRenderToSingleSampledEnable; 17623 VkSampleCountFlagBits rasterizationSamples; 17624 } VkMultisampledRenderToSingleSampledInfoEXT; 17625 17626 17627 17628 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 17629 #define VK_EXT_extended_dynamic_state2 1 17630 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 17631 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 17632 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 17633 VkStructureType sType; 17634 void* pNext; 17635 VkBool32 extendedDynamicState2; 17636 VkBool32 extendedDynamicState2LogicOp; 17637 VkBool32 extendedDynamicState2PatchControlPoints; 17638 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 17639 17640 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); 17641 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 17642 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 17643 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 17644 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 17645 17646 #ifndef VK_NO_PROTOTYPES 17647 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 17648 VkCommandBuffer commandBuffer, 17649 uint32_t patchControlPoints); 17650 17651 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 17652 VkCommandBuffer commandBuffer, 17653 VkBool32 rasterizerDiscardEnable); 17654 17655 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 17656 VkCommandBuffer commandBuffer, 17657 VkBool32 depthBiasEnable); 17658 17659 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 17660 VkCommandBuffer commandBuffer, 17661 VkLogicOp logicOp); 17662 17663 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 17664 VkCommandBuffer commandBuffer, 17665 VkBool32 primitiveRestartEnable); 17666 #endif 17667 17668 17669 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 17670 #define VK_EXT_color_write_enable 1 17671 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 17672 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 17673 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 17674 VkStructureType sType; 17675 void* pNext; 17676 VkBool32 colorWriteEnable; 17677 } VkPhysicalDeviceColorWriteEnableFeaturesEXT; 17678 17679 typedef struct VkPipelineColorWriteCreateInfoEXT { 17680 VkStructureType sType; 17681 const void* pNext; 17682 uint32_t attachmentCount; 17683 const VkBool32* pColorWriteEnables; 17684 } VkPipelineColorWriteCreateInfoEXT; 17685 17686 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); 17687 17688 #ifndef VK_NO_PROTOTYPES 17689 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 17690 VkCommandBuffer commandBuffer, 17691 uint32_t attachmentCount, 17692 const VkBool32* pColorWriteEnables); 17693 #endif 17694 17695 17696 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 17697 #define VK_EXT_primitives_generated_query 1 17698 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 17699 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 17700 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 17701 VkStructureType sType; 17702 void* pNext; 17703 VkBool32 primitivesGeneratedQuery; 17704 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 17705 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 17706 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 17707 17708 17709 17710 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 17711 #define VK_EXT_global_priority_query 1 17712 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 17713 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 17714 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE 17715 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 17716 17717 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesEXT; 17718 17719 17720 17721 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 17722 #define VK_EXT_image_view_min_lod 1 17723 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 17724 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 17725 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 17726 VkStructureType sType; 17727 void* pNext; 17728 VkBool32 minLod; 17729 } VkPhysicalDeviceImageViewMinLodFeaturesEXT; 17730 17731 typedef struct VkImageViewMinLodCreateInfoEXT { 17732 VkStructureType sType; 17733 const void* pNext; 17734 float minLod; 17735 } VkImageViewMinLodCreateInfoEXT; 17736 17737 17738 17739 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 17740 #define VK_EXT_multi_draw 1 17741 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 17742 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 17743 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 17744 VkStructureType sType; 17745 void* pNext; 17746 VkBool32 multiDraw; 17747 } VkPhysicalDeviceMultiDrawFeaturesEXT; 17748 17749 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 17750 VkStructureType sType; 17751 void* pNext; 17752 uint32_t maxMultiDrawCount; 17753 } VkPhysicalDeviceMultiDrawPropertiesEXT; 17754 17755 typedef struct VkMultiDrawInfoEXT { 17756 uint32_t firstVertex; 17757 uint32_t vertexCount; 17758 } VkMultiDrawInfoEXT; 17759 17760 typedef struct VkMultiDrawIndexedInfoEXT { 17761 uint32_t firstIndex; 17762 uint32_t indexCount; 17763 int32_t vertexOffset; 17764 } VkMultiDrawIndexedInfoEXT; 17765 17766 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); 17767 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); 17768 17769 #ifndef VK_NO_PROTOTYPES 17770 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 17771 VkCommandBuffer commandBuffer, 17772 uint32_t drawCount, 17773 const VkMultiDrawInfoEXT* pVertexInfo, 17774 uint32_t instanceCount, 17775 uint32_t firstInstance, 17776 uint32_t stride); 17777 17778 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 17779 VkCommandBuffer commandBuffer, 17780 uint32_t drawCount, 17781 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 17782 uint32_t instanceCount, 17783 uint32_t firstInstance, 17784 uint32_t stride, 17785 const int32_t* pVertexOffset); 17786 #endif 17787 17788 17789 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17790 #define VK_EXT_image_2d_view_of_3d 1 17791 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 17792 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 17793 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 17794 VkStructureType sType; 17795 void* pNext; 17796 VkBool32 image2DViewOf3D; 17797 VkBool32 sampler2DViewOf3D; 17798 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 17799 17800 17801 17802 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 17803 #define VK_EXT_shader_tile_image 1 17804 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 17805 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 17806 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 17807 VkStructureType sType; 17808 void* pNext; 17809 VkBool32 shaderTileImageColorReadAccess; 17810 VkBool32 shaderTileImageDepthReadAccess; 17811 VkBool32 shaderTileImageStencilReadAccess; 17812 } VkPhysicalDeviceShaderTileImageFeaturesEXT; 17813 17814 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 17815 VkStructureType sType; 17816 void* pNext; 17817 VkBool32 shaderTileImageCoherentReadAccelerated; 17818 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 17819 VkBool32 shaderTileImageReadFromHelperInvocation; 17820 } VkPhysicalDeviceShaderTileImagePropertiesEXT; 17821 17822 17823 17824 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 17825 #define VK_EXT_opacity_micromap 1 17826 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 17827 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 17828 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 17829 17830 typedef enum VkMicromapTypeEXT { 17831 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 17832 #ifdef VK_ENABLE_BETA_EXTENSIONS 17833 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 17834 #endif 17835 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 17836 } VkMicromapTypeEXT; 17837 17838 typedef enum VkBuildMicromapModeEXT { 17839 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 17840 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17841 } VkBuildMicromapModeEXT; 17842 17843 typedef enum VkCopyMicromapModeEXT { 17844 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 17845 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 17846 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 17847 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 17848 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 17849 } VkCopyMicromapModeEXT; 17850 17851 typedef enum VkOpacityMicromapFormatEXT { 17852 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 17853 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 17854 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 17855 } VkOpacityMicromapFormatEXT; 17856 17857 typedef enum VkOpacityMicromapSpecialIndexEXT { 17858 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 17859 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 17860 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 17861 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 17862 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 17863 } VkOpacityMicromapSpecialIndexEXT; 17864 17865 typedef enum VkAccelerationStructureCompatibilityKHR { 17866 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 17867 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 17868 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 17869 } VkAccelerationStructureCompatibilityKHR; 17870 17871 typedef enum VkAccelerationStructureBuildTypeKHR { 17872 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 17873 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 17874 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 17875 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 17876 } VkAccelerationStructureBuildTypeKHR; 17877 17878 typedef enum VkBuildMicromapFlagBitsEXT { 17879 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 17880 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 17881 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 17882 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17883 } VkBuildMicromapFlagBitsEXT; 17884 typedef VkFlags VkBuildMicromapFlagsEXT; 17885 17886 typedef enum VkMicromapCreateFlagBitsEXT { 17887 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 17888 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 17889 } VkMicromapCreateFlagBitsEXT; 17890 typedef VkFlags VkMicromapCreateFlagsEXT; 17891 typedef struct VkMicromapUsageEXT { 17892 uint32_t count; 17893 uint32_t subdivisionLevel; 17894 uint32_t format; 17895 } VkMicromapUsageEXT; 17896 17897 typedef union VkDeviceOrHostAddressKHR { 17898 VkDeviceAddress deviceAddress; 17899 void* hostAddress; 17900 } VkDeviceOrHostAddressKHR; 17901 17902 typedef struct VkMicromapBuildInfoEXT { 17903 VkStructureType sType; 17904 const void* pNext; 17905 VkMicromapTypeEXT type; 17906 VkBuildMicromapFlagsEXT flags; 17907 VkBuildMicromapModeEXT mode; 17908 VkMicromapEXT dstMicromap; 17909 uint32_t usageCountsCount; 17910 const VkMicromapUsageEXT* pUsageCounts; 17911 const VkMicromapUsageEXT* const* ppUsageCounts; 17912 VkDeviceOrHostAddressConstKHR data; 17913 VkDeviceOrHostAddressKHR scratchData; 17914 VkDeviceOrHostAddressConstKHR triangleArray; 17915 VkDeviceSize triangleArrayStride; 17916 } VkMicromapBuildInfoEXT; 17917 17918 typedef struct VkMicromapCreateInfoEXT { 17919 VkStructureType sType; 17920 const void* pNext; 17921 VkMicromapCreateFlagsEXT createFlags; 17922 VkBuffer buffer; 17923 VkDeviceSize offset; 17924 VkDeviceSize size; 17925 VkMicromapTypeEXT type; 17926 VkDeviceAddress deviceAddress; 17927 } VkMicromapCreateInfoEXT; 17928 17929 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17930 VkStructureType sType; 17931 void* pNext; 17932 VkBool32 micromap; 17933 VkBool32 micromapCaptureReplay; 17934 VkBool32 micromapHostCommands; 17935 } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17936 17937 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17938 VkStructureType sType; 17939 void* pNext; 17940 uint32_t maxOpacity2StateSubdivisionLevel; 17941 uint32_t maxOpacity4StateSubdivisionLevel; 17942 } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17943 17944 typedef struct VkMicromapVersionInfoEXT { 17945 VkStructureType sType; 17946 const void* pNext; 17947 const uint8_t* pVersionData; 17948 } VkMicromapVersionInfoEXT; 17949 17950 typedef struct VkCopyMicromapToMemoryInfoEXT { 17951 VkStructureType sType; 17952 const void* pNext; 17953 VkMicromapEXT src; 17954 VkDeviceOrHostAddressKHR dst; 17955 VkCopyMicromapModeEXT mode; 17956 } VkCopyMicromapToMemoryInfoEXT; 17957 17958 typedef struct VkCopyMemoryToMicromapInfoEXT { 17959 VkStructureType sType; 17960 const void* pNext; 17961 VkDeviceOrHostAddressConstKHR src; 17962 VkMicromapEXT dst; 17963 VkCopyMicromapModeEXT mode; 17964 } VkCopyMemoryToMicromapInfoEXT; 17965 17966 typedef struct VkCopyMicromapInfoEXT { 17967 VkStructureType sType; 17968 const void* pNext; 17969 VkMicromapEXT src; 17970 VkMicromapEXT dst; 17971 VkCopyMicromapModeEXT mode; 17972 } VkCopyMicromapInfoEXT; 17973 17974 typedef struct VkMicromapBuildSizesInfoEXT { 17975 VkStructureType sType; 17976 const void* pNext; 17977 VkDeviceSize micromapSize; 17978 VkDeviceSize buildScratchSize; 17979 VkBool32 discardable; 17980 } VkMicromapBuildSizesInfoEXT; 17981 17982 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17983 VkStructureType sType; 17984 void* pNext; 17985 VkIndexType indexType; 17986 VkDeviceOrHostAddressConstKHR indexBuffer; 17987 VkDeviceSize indexStride; 17988 uint32_t baseTriangle; 17989 uint32_t usageCountsCount; 17990 const VkMicromapUsageEXT* pUsageCounts; 17991 const VkMicromapUsageEXT* const* ppUsageCounts; 17992 VkMicromapEXT micromap; 17993 } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17994 17995 typedef struct VkMicromapTriangleEXT { 17996 uint32_t dataOffset; 17997 uint16_t subdivisionLevel; 17998 uint16_t format; 17999 } VkMicromapTriangleEXT; 18000 18001 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 18002 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 18003 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18004 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 18005 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 18006 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18007 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18008 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 18009 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 18010 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 18011 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 18012 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 18013 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 18014 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 18015 18016 #ifndef VK_NO_PROTOTYPES 18017 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 18018 VkDevice device, 18019 const VkMicromapCreateInfoEXT* pCreateInfo, 18020 const VkAllocationCallbacks* pAllocator, 18021 VkMicromapEXT* pMicromap); 18022 18023 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 18024 VkDevice device, 18025 VkMicromapEXT micromap, 18026 const VkAllocationCallbacks* pAllocator); 18027 18028 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 18029 VkCommandBuffer commandBuffer, 18030 uint32_t infoCount, 18031 const VkMicromapBuildInfoEXT* pInfos); 18032 18033 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 18034 VkDevice device, 18035 VkDeferredOperationKHR deferredOperation, 18036 uint32_t infoCount, 18037 const VkMicromapBuildInfoEXT* pInfos); 18038 18039 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 18040 VkDevice device, 18041 VkDeferredOperationKHR deferredOperation, 18042 const VkCopyMicromapInfoEXT* pInfo); 18043 18044 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 18045 VkDevice device, 18046 VkDeferredOperationKHR deferredOperation, 18047 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18048 18049 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 18050 VkDevice device, 18051 VkDeferredOperationKHR deferredOperation, 18052 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18053 18054 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 18055 VkDevice device, 18056 uint32_t micromapCount, 18057 const VkMicromapEXT* pMicromaps, 18058 VkQueryType queryType, 18059 size_t dataSize, 18060 void* pData, 18061 size_t stride); 18062 18063 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 18064 VkCommandBuffer commandBuffer, 18065 const VkCopyMicromapInfoEXT* pInfo); 18066 18067 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 18068 VkCommandBuffer commandBuffer, 18069 const VkCopyMicromapToMemoryInfoEXT* pInfo); 18070 18071 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 18072 VkCommandBuffer commandBuffer, 18073 const VkCopyMemoryToMicromapInfoEXT* pInfo); 18074 18075 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 18076 VkCommandBuffer commandBuffer, 18077 uint32_t micromapCount, 18078 const VkMicromapEXT* pMicromaps, 18079 VkQueryType queryType, 18080 VkQueryPool queryPool, 18081 uint32_t firstQuery); 18082 18083 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 18084 VkDevice device, 18085 const VkMicromapVersionInfoEXT* pVersionInfo, 18086 VkAccelerationStructureCompatibilityKHR* pCompatibility); 18087 18088 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 18089 VkDevice device, 18090 VkAccelerationStructureBuildTypeKHR buildType, 18091 const VkMicromapBuildInfoEXT* pBuildInfo, 18092 VkMicromapBuildSizesInfoEXT* pSizeInfo); 18093 #endif 18094 18095 18096 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 18097 #define VK_EXT_load_store_op_none 1 18098 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 18099 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 18100 18101 18102 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 18103 #define VK_HUAWEI_cluster_culling_shader 1 18104 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 18105 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 18106 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 18107 VkStructureType sType; 18108 void* pNext; 18109 VkBool32 clustercullingShader; 18110 VkBool32 multiviewClusterCullingShader; 18111 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 18112 18113 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 18114 VkStructureType sType; 18115 void* pNext; 18116 uint32_t maxWorkGroupCount[3]; 18117 uint32_t maxWorkGroupSize[3]; 18118 uint32_t maxOutputClusterCount; 18119 VkDeviceSize indirectBufferOffsetAlignment; 18120 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 18121 18122 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 18123 VkStructureType sType; 18124 void* pNext; 18125 VkBool32 clusterShadingRate; 18126 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 18127 18128 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 18129 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 18130 18131 #ifndef VK_NO_PROTOTYPES 18132 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 18133 VkCommandBuffer commandBuffer, 18134 uint32_t groupCountX, 18135 uint32_t groupCountY, 18136 uint32_t groupCountZ); 18137 18138 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 18139 VkCommandBuffer commandBuffer, 18140 VkBuffer buffer, 18141 VkDeviceSize offset); 18142 #endif 18143 18144 18145 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 18146 #define VK_EXT_border_color_swizzle 1 18147 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 18148 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 18149 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 18150 VkStructureType sType; 18151 void* pNext; 18152 VkBool32 borderColorSwizzle; 18153 VkBool32 borderColorSwizzleFromImage; 18154 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 18155 18156 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 18157 VkStructureType sType; 18158 const void* pNext; 18159 VkComponentMapping components; 18160 VkBool32 srgb; 18161 } VkSamplerBorderColorComponentMappingCreateInfoEXT; 18162 18163 18164 18165 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 18166 #define VK_EXT_pageable_device_local_memory 1 18167 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 18168 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 18169 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 18170 VkStructureType sType; 18171 void* pNext; 18172 VkBool32 pageableDeviceLocalMemory; 18173 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 18174 18175 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 18176 18177 #ifndef VK_NO_PROTOTYPES 18178 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 18179 VkDevice device, 18180 VkDeviceMemory memory, 18181 float priority); 18182 #endif 18183 18184 18185 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 18186 #define VK_ARM_shader_core_properties 1 18187 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 18188 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 18189 typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 18190 VkStructureType sType; 18191 void* pNext; 18192 uint32_t pixelRate; 18193 uint32_t texelRate; 18194 uint32_t fmaRate; 18195 } VkPhysicalDeviceShaderCorePropertiesARM; 18196 18197 18198 18199 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 18200 #define VK_ARM_scheduling_controls 1 18201 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 18202 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 18203 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 18204 18205 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 18206 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 18207 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 18208 18209 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 18210 VkStructureType sType; 18211 void* pNext; 18212 uint32_t shaderCoreCount; 18213 } VkDeviceQueueShaderCoreControlCreateInfoARM; 18214 18215 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 18216 VkStructureType sType; 18217 void* pNext; 18218 VkBool32 schedulingControls; 18219 } VkPhysicalDeviceSchedulingControlsFeaturesARM; 18220 18221 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 18222 VkStructureType sType; 18223 void* pNext; 18224 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 18225 } VkPhysicalDeviceSchedulingControlsPropertiesARM; 18226 18227 18228 18229 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 18230 #define VK_EXT_image_sliced_view_of_3d 1 18231 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 18232 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 18233 #define VK_REMAINING_3D_SLICES_EXT (~0U) 18234 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 18235 VkStructureType sType; 18236 void* pNext; 18237 VkBool32 imageSlicedViewOf3D; 18238 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 18239 18240 typedef struct VkImageViewSlicedCreateInfoEXT { 18241 VkStructureType sType; 18242 const void* pNext; 18243 uint32_t sliceOffset; 18244 uint32_t sliceCount; 18245 } VkImageViewSlicedCreateInfoEXT; 18246 18247 18248 18249 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 18250 #define VK_VALVE_descriptor_set_host_mapping 1 18251 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 18252 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 18253 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 18254 VkStructureType sType; 18255 void* pNext; 18256 VkBool32 descriptorSetHostMapping; 18257 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 18258 18259 typedef struct VkDescriptorSetBindingReferenceVALVE { 18260 VkStructureType sType; 18261 const void* pNext; 18262 VkDescriptorSetLayout descriptorSetLayout; 18263 uint32_t binding; 18264 } VkDescriptorSetBindingReferenceVALVE; 18265 18266 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 18267 VkStructureType sType; 18268 void* pNext; 18269 size_t descriptorOffset; 18270 uint32_t descriptorSize; 18271 } VkDescriptorSetLayoutHostMappingInfoVALVE; 18272 18273 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18274 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 18275 18276 #ifndef VK_NO_PROTOTYPES 18277 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 18278 VkDevice device, 18279 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 18280 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 18281 18282 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 18283 VkDevice device, 18284 VkDescriptorSet descriptorSet, 18285 void** ppData); 18286 #endif 18287 18288 18289 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 18290 #define VK_EXT_depth_clamp_zero_one 1 18291 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 18292 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 18293 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 18294 VkStructureType sType; 18295 void* pNext; 18296 VkBool32 depthClampZeroOne; 18297 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 18298 18299 18300 18301 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 18302 #define VK_EXT_non_seamless_cube_map 1 18303 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 18304 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 18305 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 18306 VkStructureType sType; 18307 void* pNext; 18308 VkBool32 nonSeamlessCubeMap; 18309 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 18310 18311 18312 18313 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 18314 #define VK_ARM_render_pass_striped 1 18315 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 18316 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 18317 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 18318 VkStructureType sType; 18319 void* pNext; 18320 VkBool32 renderPassStriped; 18321 } VkPhysicalDeviceRenderPassStripedFeaturesARM; 18322 18323 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 18324 VkStructureType sType; 18325 void* pNext; 18326 VkExtent2D renderPassStripeGranularity; 18327 uint32_t maxRenderPassStripes; 18328 } VkPhysicalDeviceRenderPassStripedPropertiesARM; 18329 18330 typedef struct VkRenderPassStripeInfoARM { 18331 VkStructureType sType; 18332 const void* pNext; 18333 VkRect2D stripeArea; 18334 } VkRenderPassStripeInfoARM; 18335 18336 typedef struct VkRenderPassStripeBeginInfoARM { 18337 VkStructureType sType; 18338 const void* pNext; 18339 uint32_t stripeInfoCount; 18340 const VkRenderPassStripeInfoARM* pStripeInfos; 18341 } VkRenderPassStripeBeginInfoARM; 18342 18343 typedef struct VkRenderPassStripeSubmitInfoARM { 18344 VkStructureType sType; 18345 const void* pNext; 18346 uint32_t stripeSemaphoreInfoCount; 18347 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 18348 } VkRenderPassStripeSubmitInfoARM; 18349 18350 18351 18352 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 18353 #define VK_QCOM_fragment_density_map_offset 1 18354 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 2 18355 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 18356 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 18357 VkStructureType sType; 18358 void* pNext; 18359 VkBool32 fragmentDensityMapOffset; 18360 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 18361 18362 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 18363 VkStructureType sType; 18364 void* pNext; 18365 VkExtent2D fragmentDensityOffsetGranularity; 18366 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 18367 18368 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 18369 VkStructureType sType; 18370 const void* pNext; 18371 uint32_t fragmentDensityOffsetCount; 18372 const VkOffset2D* pFragmentDensityOffsets; 18373 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 18374 18375 18376 18377 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 18378 #define VK_NV_copy_memory_indirect 1 18379 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 18380 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 18381 typedef struct VkCopyMemoryIndirectCommandNV { 18382 VkDeviceAddress srcAddress; 18383 VkDeviceAddress dstAddress; 18384 VkDeviceSize size; 18385 } VkCopyMemoryIndirectCommandNV; 18386 18387 typedef struct VkCopyMemoryToImageIndirectCommandNV { 18388 VkDeviceAddress srcAddress; 18389 uint32_t bufferRowLength; 18390 uint32_t bufferImageHeight; 18391 VkImageSubresourceLayers imageSubresource; 18392 VkOffset3D imageOffset; 18393 VkExtent3D imageExtent; 18394 } VkCopyMemoryToImageIndirectCommandNV; 18395 18396 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 18397 VkStructureType sType; 18398 void* pNext; 18399 VkBool32 indirectCopy; 18400 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 18401 18402 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 18403 VkStructureType sType; 18404 void* pNext; 18405 VkQueueFlags supportedQueues; 18406 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 18407 18408 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 18409 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 18410 18411 #ifndef VK_NO_PROTOTYPES 18412 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 18413 VkCommandBuffer commandBuffer, 18414 VkDeviceAddress copyBufferAddress, 18415 uint32_t copyCount, 18416 uint32_t stride); 18417 18418 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 18419 VkCommandBuffer commandBuffer, 18420 VkDeviceAddress copyBufferAddress, 18421 uint32_t copyCount, 18422 uint32_t stride, 18423 VkImage dstImage, 18424 VkImageLayout dstImageLayout, 18425 const VkImageSubresourceLayers* pImageSubresources); 18426 #endif 18427 18428 18429 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 18430 #define VK_NV_memory_decompression 1 18431 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 18432 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 18433 18434 // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 18435 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 18436 static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 18437 18438 typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 18439 typedef struct VkDecompressMemoryRegionNV { 18440 VkDeviceAddress srcAddress; 18441 VkDeviceAddress dstAddress; 18442 VkDeviceSize compressedSize; 18443 VkDeviceSize decompressedSize; 18444 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 18445 } VkDecompressMemoryRegionNV; 18446 18447 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 18448 VkStructureType sType; 18449 void* pNext; 18450 VkBool32 memoryDecompression; 18451 } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 18452 18453 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 18454 VkStructureType sType; 18455 void* pNext; 18456 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 18457 uint64_t maxDecompressionIndirectCount; 18458 } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 18459 18460 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18461 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 18462 18463 #ifndef VK_NO_PROTOTYPES 18464 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 18465 VkCommandBuffer commandBuffer, 18466 uint32_t decompressRegionCount, 18467 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 18468 18469 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 18470 VkCommandBuffer commandBuffer, 18471 VkDeviceAddress indirectCommandsAddress, 18472 VkDeviceAddress indirectCommandsCountAddress, 18473 uint32_t stride); 18474 #endif 18475 18476 18477 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 18478 #define VK_NV_device_generated_commands_compute 1 18479 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 18480 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 18481 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 18482 VkStructureType sType; 18483 void* pNext; 18484 VkBool32 deviceGeneratedCompute; 18485 VkBool32 deviceGeneratedComputePipelines; 18486 VkBool32 deviceGeneratedComputeCaptureReplay; 18487 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 18488 18489 typedef struct VkComputePipelineIndirectBufferInfoNV { 18490 VkStructureType sType; 18491 const void* pNext; 18492 VkDeviceAddress deviceAddress; 18493 VkDeviceSize size; 18494 VkDeviceAddress pipelineDeviceAddressCaptureReplay; 18495 } VkComputePipelineIndirectBufferInfoNV; 18496 18497 typedef struct VkPipelineIndirectDeviceAddressInfoNV { 18498 VkStructureType sType; 18499 const void* pNext; 18500 VkPipelineBindPoint pipelineBindPoint; 18501 VkPipeline pipeline; 18502 } VkPipelineIndirectDeviceAddressInfoNV; 18503 18504 typedef struct VkBindPipelineIndirectCommandNV { 18505 VkDeviceAddress pipelineAddress; 18506 } VkBindPipelineIndirectCommandNV; 18507 18508 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 18509 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 18510 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18511 18512 #ifndef VK_NO_PROTOTYPES 18513 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 18514 VkDevice device, 18515 const VkComputePipelineCreateInfo* pCreateInfo, 18516 VkMemoryRequirements2* pMemoryRequirements); 18517 18518 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 18519 VkCommandBuffer commandBuffer, 18520 VkPipelineBindPoint pipelineBindPoint, 18521 VkPipeline pipeline); 18522 18523 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 18524 VkDevice device, 18525 const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 18526 #endif 18527 18528 18529 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 18530 #define VK_NV_linear_color_attachment 1 18531 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 18532 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 18533 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 18534 VkStructureType sType; 18535 void* pNext; 18536 VkBool32 linearColorAttachment; 18537 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 18538 18539 18540 18541 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 18542 #define VK_GOOGLE_surfaceless_query 1 18543 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 18544 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 18545 18546 18547 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 18548 #define VK_EXT_image_compression_control_swapchain 1 18549 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 18550 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 18551 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 18552 VkStructureType sType; 18553 void* pNext; 18554 VkBool32 imageCompressionControlSwapchain; 18555 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 18556 18557 18558 18559 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 18560 #define VK_QCOM_image_processing 1 18561 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 18562 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 18563 typedef struct VkImageViewSampleWeightCreateInfoQCOM { 18564 VkStructureType sType; 18565 const void* pNext; 18566 VkOffset2D filterCenter; 18567 VkExtent2D filterSize; 18568 uint32_t numPhases; 18569 } VkImageViewSampleWeightCreateInfoQCOM; 18570 18571 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 18572 VkStructureType sType; 18573 void* pNext; 18574 VkBool32 textureSampleWeighted; 18575 VkBool32 textureBoxFilter; 18576 VkBool32 textureBlockMatch; 18577 } VkPhysicalDeviceImageProcessingFeaturesQCOM; 18578 18579 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 18580 VkStructureType sType; 18581 void* pNext; 18582 uint32_t maxWeightFilterPhases; 18583 VkExtent2D maxWeightFilterDimension; 18584 VkExtent2D maxBlockMatchRegion; 18585 VkExtent2D maxBoxFilterBlockSize; 18586 } VkPhysicalDeviceImageProcessingPropertiesQCOM; 18587 18588 18589 18590 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 18591 #define VK_EXT_nested_command_buffer 1 18592 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 18593 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 18594 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 18595 VkStructureType sType; 18596 void* pNext; 18597 VkBool32 nestedCommandBuffer; 18598 VkBool32 nestedCommandBufferRendering; 18599 VkBool32 nestedCommandBufferSimultaneousUse; 18600 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 18601 18602 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 18603 VkStructureType sType; 18604 void* pNext; 18605 uint32_t maxCommandBufferNestingLevel; 18606 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 18607 18608 18609 18610 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 18611 #define VK_EXT_external_memory_acquire_unmodified 1 18612 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 18613 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 18614 typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 18615 VkStructureType sType; 18616 const void* pNext; 18617 VkBool32 acquireUnmodifiedMemory; 18618 } VkExternalMemoryAcquireUnmodifiedEXT; 18619 18620 18621 18622 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 18623 #define VK_EXT_extended_dynamic_state3 1 18624 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 18625 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 18626 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 18627 VkStructureType sType; 18628 void* pNext; 18629 VkBool32 extendedDynamicState3TessellationDomainOrigin; 18630 VkBool32 extendedDynamicState3DepthClampEnable; 18631 VkBool32 extendedDynamicState3PolygonMode; 18632 VkBool32 extendedDynamicState3RasterizationSamples; 18633 VkBool32 extendedDynamicState3SampleMask; 18634 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 18635 VkBool32 extendedDynamicState3AlphaToOneEnable; 18636 VkBool32 extendedDynamicState3LogicOpEnable; 18637 VkBool32 extendedDynamicState3ColorBlendEnable; 18638 VkBool32 extendedDynamicState3ColorBlendEquation; 18639 VkBool32 extendedDynamicState3ColorWriteMask; 18640 VkBool32 extendedDynamicState3RasterizationStream; 18641 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 18642 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 18643 VkBool32 extendedDynamicState3DepthClipEnable; 18644 VkBool32 extendedDynamicState3SampleLocationsEnable; 18645 VkBool32 extendedDynamicState3ColorBlendAdvanced; 18646 VkBool32 extendedDynamicState3ProvokingVertexMode; 18647 VkBool32 extendedDynamicState3LineRasterizationMode; 18648 VkBool32 extendedDynamicState3LineStippleEnable; 18649 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 18650 VkBool32 extendedDynamicState3ViewportWScalingEnable; 18651 VkBool32 extendedDynamicState3ViewportSwizzle; 18652 VkBool32 extendedDynamicState3CoverageToColorEnable; 18653 VkBool32 extendedDynamicState3CoverageToColorLocation; 18654 VkBool32 extendedDynamicState3CoverageModulationMode; 18655 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 18656 VkBool32 extendedDynamicState3CoverageModulationTable; 18657 VkBool32 extendedDynamicState3CoverageReductionMode; 18658 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 18659 VkBool32 extendedDynamicState3ShadingRateImageEnable; 18660 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 18661 18662 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 18663 VkStructureType sType; 18664 void* pNext; 18665 VkBool32 dynamicPrimitiveTopologyUnrestricted; 18666 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 18667 18668 typedef struct VkColorBlendEquationEXT { 18669 VkBlendFactor srcColorBlendFactor; 18670 VkBlendFactor dstColorBlendFactor; 18671 VkBlendOp colorBlendOp; 18672 VkBlendFactor srcAlphaBlendFactor; 18673 VkBlendFactor dstAlphaBlendFactor; 18674 VkBlendOp alphaBlendOp; 18675 } VkColorBlendEquationEXT; 18676 18677 typedef struct VkColorBlendAdvancedEXT { 18678 VkBlendOp advancedBlendOp; 18679 VkBool32 srcPremultiplied; 18680 VkBool32 dstPremultiplied; 18681 VkBlendOverlapEXT blendOverlap; 18682 VkBool32 clampResults; 18683 } VkColorBlendAdvancedEXT; 18684 18685 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 18686 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 18687 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 18688 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 18689 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 18690 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 18691 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 18692 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 18693 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 18694 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 18695 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 18696 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 18697 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18698 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 18699 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 18700 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 18701 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18702 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 18703 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 18704 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 18705 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 18706 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 18707 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 18708 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 18709 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 18710 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 18711 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 18712 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 18713 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 18714 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 18715 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 18716 18717 #ifndef VK_NO_PROTOTYPES 18718 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 18719 VkCommandBuffer commandBuffer, 18720 VkBool32 depthClampEnable); 18721 18722 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 18723 VkCommandBuffer commandBuffer, 18724 VkPolygonMode polygonMode); 18725 18726 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 18727 VkCommandBuffer commandBuffer, 18728 VkSampleCountFlagBits rasterizationSamples); 18729 18730 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 18731 VkCommandBuffer commandBuffer, 18732 VkSampleCountFlagBits samples, 18733 const VkSampleMask* pSampleMask); 18734 18735 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 18736 VkCommandBuffer commandBuffer, 18737 VkBool32 alphaToCoverageEnable); 18738 18739 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 18740 VkCommandBuffer commandBuffer, 18741 VkBool32 alphaToOneEnable); 18742 18743 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 18744 VkCommandBuffer commandBuffer, 18745 VkBool32 logicOpEnable); 18746 18747 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 18748 VkCommandBuffer commandBuffer, 18749 uint32_t firstAttachment, 18750 uint32_t attachmentCount, 18751 const VkBool32* pColorBlendEnables); 18752 18753 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 18754 VkCommandBuffer commandBuffer, 18755 uint32_t firstAttachment, 18756 uint32_t attachmentCount, 18757 const VkColorBlendEquationEXT* pColorBlendEquations); 18758 18759 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 18760 VkCommandBuffer commandBuffer, 18761 uint32_t firstAttachment, 18762 uint32_t attachmentCount, 18763 const VkColorComponentFlags* pColorWriteMasks); 18764 18765 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 18766 VkCommandBuffer commandBuffer, 18767 VkTessellationDomainOrigin domainOrigin); 18768 18769 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 18770 VkCommandBuffer commandBuffer, 18771 uint32_t rasterizationStream); 18772 18773 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 18774 VkCommandBuffer commandBuffer, 18775 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 18776 18777 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 18778 VkCommandBuffer commandBuffer, 18779 float extraPrimitiveOverestimationSize); 18780 18781 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 18782 VkCommandBuffer commandBuffer, 18783 VkBool32 depthClipEnable); 18784 18785 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 18786 VkCommandBuffer commandBuffer, 18787 VkBool32 sampleLocationsEnable); 18788 18789 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 18790 VkCommandBuffer commandBuffer, 18791 uint32_t firstAttachment, 18792 uint32_t attachmentCount, 18793 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 18794 18795 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 18796 VkCommandBuffer commandBuffer, 18797 VkProvokingVertexModeEXT provokingVertexMode); 18798 18799 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 18800 VkCommandBuffer commandBuffer, 18801 VkLineRasterizationModeEXT lineRasterizationMode); 18802 18803 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 18804 VkCommandBuffer commandBuffer, 18805 VkBool32 stippledLineEnable); 18806 18807 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 18808 VkCommandBuffer commandBuffer, 18809 VkBool32 negativeOneToOne); 18810 18811 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 18812 VkCommandBuffer commandBuffer, 18813 VkBool32 viewportWScalingEnable); 18814 18815 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 18816 VkCommandBuffer commandBuffer, 18817 uint32_t firstViewport, 18818 uint32_t viewportCount, 18819 const VkViewportSwizzleNV* pViewportSwizzles); 18820 18821 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 18822 VkCommandBuffer commandBuffer, 18823 VkBool32 coverageToColorEnable); 18824 18825 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 18826 VkCommandBuffer commandBuffer, 18827 uint32_t coverageToColorLocation); 18828 18829 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 18830 VkCommandBuffer commandBuffer, 18831 VkCoverageModulationModeNV coverageModulationMode); 18832 18833 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 18834 VkCommandBuffer commandBuffer, 18835 VkBool32 coverageModulationTableEnable); 18836 18837 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 18838 VkCommandBuffer commandBuffer, 18839 uint32_t coverageModulationTableCount, 18840 const float* pCoverageModulationTable); 18841 18842 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 18843 VkCommandBuffer commandBuffer, 18844 VkBool32 shadingRateImageEnable); 18845 18846 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 18847 VkCommandBuffer commandBuffer, 18848 VkBool32 representativeFragmentTestEnable); 18849 18850 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 18851 VkCommandBuffer commandBuffer, 18852 VkCoverageReductionModeNV coverageReductionMode); 18853 #endif 18854 18855 18856 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 18857 #define VK_EXT_subpass_merge_feedback 1 18858 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 18859 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 18860 18861 typedef enum VkSubpassMergeStatusEXT { 18862 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 18863 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 18864 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 18865 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 18866 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 18867 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 18868 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 18869 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 18870 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 18871 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 18872 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 18873 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 18874 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 18875 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 18876 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 18877 } VkSubpassMergeStatusEXT; 18878 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 18879 VkStructureType sType; 18880 void* pNext; 18881 VkBool32 subpassMergeFeedback; 18882 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 18883 18884 typedef struct VkRenderPassCreationControlEXT { 18885 VkStructureType sType; 18886 const void* pNext; 18887 VkBool32 disallowMerging; 18888 } VkRenderPassCreationControlEXT; 18889 18890 typedef struct VkRenderPassCreationFeedbackInfoEXT { 18891 uint32_t postMergeSubpassCount; 18892 } VkRenderPassCreationFeedbackInfoEXT; 18893 18894 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 18895 VkStructureType sType; 18896 const void* pNext; 18897 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 18898 } VkRenderPassCreationFeedbackCreateInfoEXT; 18899 18900 typedef struct VkRenderPassSubpassFeedbackInfoEXT { 18901 VkSubpassMergeStatusEXT subpassMergeStatus; 18902 char description[VK_MAX_DESCRIPTION_SIZE]; 18903 uint32_t postMergeIndex; 18904 } VkRenderPassSubpassFeedbackInfoEXT; 18905 18906 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 18907 VkStructureType sType; 18908 const void* pNext; 18909 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 18910 } VkRenderPassSubpassFeedbackCreateInfoEXT; 18911 18912 18913 18914 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18915 #define VK_LUNARG_direct_driver_loading 1 18916 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18917 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18918 18919 typedef enum VkDirectDriverLoadingModeLUNARG { 18920 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18921 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18922 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18923 } VkDirectDriverLoadingModeLUNARG; 18924 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18925 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18926 VkInstance instance, const char* pName); 18927 18928 typedef struct VkDirectDriverLoadingInfoLUNARG { 18929 VkStructureType sType; 18930 void* pNext; 18931 VkDirectDriverLoadingFlagsLUNARG flags; 18932 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18933 } VkDirectDriverLoadingInfoLUNARG; 18934 18935 typedef struct VkDirectDriverLoadingListLUNARG { 18936 VkStructureType sType; 18937 const void* pNext; 18938 VkDirectDriverLoadingModeLUNARG mode; 18939 uint32_t driverCount; 18940 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18941 } VkDirectDriverLoadingListLUNARG; 18942 18943 18944 18945 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 18946 #define VK_EXT_shader_module_identifier 1 18947 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 18948 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 18949 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 18950 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 18951 VkStructureType sType; 18952 void* pNext; 18953 VkBool32 shaderModuleIdentifier; 18954 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 18955 18956 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 18957 VkStructureType sType; 18958 void* pNext; 18959 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 18960 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 18961 18962 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 18963 VkStructureType sType; 18964 const void* pNext; 18965 uint32_t identifierSize; 18966 const uint8_t* pIdentifier; 18967 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 18968 18969 typedef struct VkShaderModuleIdentifierEXT { 18970 VkStructureType sType; 18971 void* pNext; 18972 uint32_t identifierSize; 18973 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 18974 } VkShaderModuleIdentifierEXT; 18975 18976 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 18977 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 18978 18979 #ifndef VK_NO_PROTOTYPES 18980 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 18981 VkDevice device, 18982 VkShaderModule shaderModule, 18983 VkShaderModuleIdentifierEXT* pIdentifier); 18984 18985 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 18986 VkDevice device, 18987 const VkShaderModuleCreateInfo* pCreateInfo, 18988 VkShaderModuleIdentifierEXT* pIdentifier); 18989 #endif 18990 18991 18992 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 18993 #define VK_EXT_rasterization_order_attachment_access 1 18994 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 18995 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 18996 18997 18998 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18999 #define VK_NV_optical_flow 1 19000 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 19001 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 19002 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 19003 19004 typedef enum VkOpticalFlowPerformanceLevelNV { 19005 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 19006 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 19007 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 19008 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 19009 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 19010 } VkOpticalFlowPerformanceLevelNV; 19011 19012 typedef enum VkOpticalFlowSessionBindingPointNV { 19013 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 19014 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 19015 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 19016 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 19017 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 19018 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 19019 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 19020 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 19021 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 19022 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 19023 } VkOpticalFlowSessionBindingPointNV; 19024 19025 typedef enum VkOpticalFlowGridSizeFlagBitsNV { 19026 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 19027 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 19028 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 19029 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 19030 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 19031 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19032 } VkOpticalFlowGridSizeFlagBitsNV; 19033 typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 19034 19035 typedef enum VkOpticalFlowUsageFlagBitsNV { 19036 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 19037 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 19038 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 19039 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 19040 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 19041 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 19042 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19043 } VkOpticalFlowUsageFlagBitsNV; 19044 typedef VkFlags VkOpticalFlowUsageFlagsNV; 19045 19046 typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 19047 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 19048 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 19049 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 19050 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 19051 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 19052 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19053 } VkOpticalFlowSessionCreateFlagBitsNV; 19054 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 19055 19056 typedef enum VkOpticalFlowExecuteFlagBitsNV { 19057 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 19058 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 19059 } VkOpticalFlowExecuteFlagBitsNV; 19060 typedef VkFlags VkOpticalFlowExecuteFlagsNV; 19061 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 19062 VkStructureType sType; 19063 void* pNext; 19064 VkBool32 opticalFlow; 19065 } VkPhysicalDeviceOpticalFlowFeaturesNV; 19066 19067 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 19068 VkStructureType sType; 19069 void* pNext; 19070 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 19071 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 19072 VkBool32 hintSupported; 19073 VkBool32 costSupported; 19074 VkBool32 bidirectionalFlowSupported; 19075 VkBool32 globalFlowSupported; 19076 uint32_t minWidth; 19077 uint32_t minHeight; 19078 uint32_t maxWidth; 19079 uint32_t maxHeight; 19080 uint32_t maxNumRegionsOfInterest; 19081 } VkPhysicalDeviceOpticalFlowPropertiesNV; 19082 19083 typedef struct VkOpticalFlowImageFormatInfoNV { 19084 VkStructureType sType; 19085 const void* pNext; 19086 VkOpticalFlowUsageFlagsNV usage; 19087 } VkOpticalFlowImageFormatInfoNV; 19088 19089 typedef struct VkOpticalFlowImageFormatPropertiesNV { 19090 VkStructureType sType; 19091 const void* pNext; 19092 VkFormat format; 19093 } VkOpticalFlowImageFormatPropertiesNV; 19094 19095 typedef struct VkOpticalFlowSessionCreateInfoNV { 19096 VkStructureType sType; 19097 void* pNext; 19098 uint32_t width; 19099 uint32_t height; 19100 VkFormat imageFormat; 19101 VkFormat flowVectorFormat; 19102 VkFormat costFormat; 19103 VkOpticalFlowGridSizeFlagsNV outputGridSize; 19104 VkOpticalFlowGridSizeFlagsNV hintGridSize; 19105 VkOpticalFlowPerformanceLevelNV performanceLevel; 19106 VkOpticalFlowSessionCreateFlagsNV flags; 19107 } VkOpticalFlowSessionCreateInfoNV; 19108 19109 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 19110 VkStructureType sType; 19111 void* pNext; 19112 uint32_t id; 19113 uint32_t size; 19114 const void* pPrivateData; 19115 } VkOpticalFlowSessionCreatePrivateDataInfoNV; 19116 19117 typedef struct VkOpticalFlowExecuteInfoNV { 19118 VkStructureType sType; 19119 void* pNext; 19120 VkOpticalFlowExecuteFlagsNV flags; 19121 uint32_t regionCount; 19122 const VkRect2D* pRegions; 19123 } VkOpticalFlowExecuteInfoNV; 19124 19125 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19126 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 19127 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 19128 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 19129 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19130 19131 #ifndef VK_NO_PROTOTYPES 19132 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 19133 VkPhysicalDevice physicalDevice, 19134 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 19135 uint32_t* pFormatCount, 19136 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 19137 19138 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 19139 VkDevice device, 19140 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 19141 const VkAllocationCallbacks* pAllocator, 19142 VkOpticalFlowSessionNV* pSession); 19143 19144 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 19145 VkDevice device, 19146 VkOpticalFlowSessionNV session, 19147 const VkAllocationCallbacks* pAllocator); 19148 19149 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 19150 VkDevice device, 19151 VkOpticalFlowSessionNV session, 19152 VkOpticalFlowSessionBindingPointNV bindingPoint, 19153 VkImageView view, 19154 VkImageLayout layout); 19155 19156 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 19157 VkCommandBuffer commandBuffer, 19158 VkOpticalFlowSessionNV session, 19159 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 19160 #endif 19161 19162 19163 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 19164 #define VK_EXT_legacy_dithering 1 19165 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2 19166 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 19167 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 19168 VkStructureType sType; 19169 void* pNext; 19170 VkBool32 legacyDithering; 19171 } VkPhysicalDeviceLegacyDitheringFeaturesEXT; 19172 19173 19174 19175 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 19176 #define VK_EXT_pipeline_protected_access 1 19177 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 19178 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 19179 typedef VkPhysicalDevicePipelineProtectedAccessFeatures VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 19180 19181 19182 19183 // VK_AMD_anti_lag is a preprocessor guard. Do not pass it to API calls. 19184 #define VK_AMD_anti_lag 1 19185 #define VK_AMD_ANTI_LAG_SPEC_VERSION 1 19186 #define VK_AMD_ANTI_LAG_EXTENSION_NAME "VK_AMD_anti_lag" 19187 19188 typedef enum VkAntiLagModeAMD { 19189 VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0, 19190 VK_ANTI_LAG_MODE_ON_AMD = 1, 19191 VK_ANTI_LAG_MODE_OFF_AMD = 2, 19192 VK_ANTI_LAG_MODE_MAX_ENUM_AMD = 0x7FFFFFFF 19193 } VkAntiLagModeAMD; 19194 19195 typedef enum VkAntiLagStageAMD { 19196 VK_ANTI_LAG_STAGE_INPUT_AMD = 0, 19197 VK_ANTI_LAG_STAGE_PRESENT_AMD = 1, 19198 VK_ANTI_LAG_STAGE_MAX_ENUM_AMD = 0x7FFFFFFF 19199 } VkAntiLagStageAMD; 19200 typedef struct VkPhysicalDeviceAntiLagFeaturesAMD { 19201 VkStructureType sType; 19202 void* pNext; 19203 VkBool32 antiLag; 19204 } VkPhysicalDeviceAntiLagFeaturesAMD; 19205 19206 typedef struct VkAntiLagPresentationInfoAMD { 19207 VkStructureType sType; 19208 void* pNext; 19209 VkAntiLagStageAMD stage; 19210 uint64_t frameIndex; 19211 } VkAntiLagPresentationInfoAMD; 19212 19213 typedef struct VkAntiLagDataAMD { 19214 VkStructureType sType; 19215 const void* pNext; 19216 VkAntiLagModeAMD mode; 19217 uint32_t maxFPS; 19218 const VkAntiLagPresentationInfoAMD* pPresentationInfo; 19219 } VkAntiLagDataAMD; 19220 19221 typedef void (VKAPI_PTR *PFN_vkAntiLagUpdateAMD)(VkDevice device, const VkAntiLagDataAMD* pData); 19222 19223 #ifndef VK_NO_PROTOTYPES 19224 VKAPI_ATTR void VKAPI_CALL vkAntiLagUpdateAMD( 19225 VkDevice device, 19226 const VkAntiLagDataAMD* pData); 19227 #endif 19228 19229 19230 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 19231 #define VK_EXT_shader_object 1 19232 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 19233 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 19234 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 19235 19236 typedef enum VkShaderCodeTypeEXT { 19237 VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 19238 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 19239 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19240 } VkShaderCodeTypeEXT; 19241 19242 typedef enum VkShaderCreateFlagBitsEXT { 19243 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 19244 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 19245 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 19246 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 19247 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 19248 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 19249 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 19250 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 19251 } VkShaderCreateFlagBitsEXT; 19252 typedef VkFlags VkShaderCreateFlagsEXT; 19253 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 19254 VkStructureType sType; 19255 void* pNext; 19256 VkBool32 shaderObject; 19257 } VkPhysicalDeviceShaderObjectFeaturesEXT; 19258 19259 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 19260 VkStructureType sType; 19261 void* pNext; 19262 uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 19263 uint32_t shaderBinaryVersion; 19264 } VkPhysicalDeviceShaderObjectPropertiesEXT; 19265 19266 typedef struct VkShaderCreateInfoEXT { 19267 VkStructureType sType; 19268 const void* pNext; 19269 VkShaderCreateFlagsEXT flags; 19270 VkShaderStageFlagBits stage; 19271 VkShaderStageFlags nextStage; 19272 VkShaderCodeTypeEXT codeType; 19273 size_t codeSize; 19274 const void* pCode; 19275 const char* pName; 19276 uint32_t setLayoutCount; 19277 const VkDescriptorSetLayout* pSetLayouts; 19278 uint32_t pushConstantRangeCount; 19279 const VkPushConstantRange* pPushConstantRanges; 19280 const VkSpecializationInfo* pSpecializationInfo; 19281 } VkShaderCreateInfoEXT; 19282 19283 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 19284 19285 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 19286 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 19287 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 19288 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 19289 19290 #ifndef VK_NO_PROTOTYPES 19291 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 19292 VkDevice device, 19293 uint32_t createInfoCount, 19294 const VkShaderCreateInfoEXT* pCreateInfos, 19295 const VkAllocationCallbacks* pAllocator, 19296 VkShaderEXT* pShaders); 19297 19298 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 19299 VkDevice device, 19300 VkShaderEXT shader, 19301 const VkAllocationCallbacks* pAllocator); 19302 19303 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 19304 VkDevice device, 19305 VkShaderEXT shader, 19306 size_t* pDataSize, 19307 void* pData); 19308 19309 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 19310 VkCommandBuffer commandBuffer, 19311 uint32_t stageCount, 19312 const VkShaderStageFlagBits* pStages, 19313 const VkShaderEXT* pShaders); 19314 #endif 19315 19316 19317 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 19318 #define VK_QCOM_tile_properties 1 19319 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 19320 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 19321 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 19322 VkStructureType sType; 19323 void* pNext; 19324 VkBool32 tileProperties; 19325 } VkPhysicalDeviceTilePropertiesFeaturesQCOM; 19326 19327 typedef struct VkTilePropertiesQCOM { 19328 VkStructureType sType; 19329 void* pNext; 19330 VkExtent3D tileSize; 19331 VkExtent2D apronSize; 19332 VkOffset2D origin; 19333 } VkTilePropertiesQCOM; 19334 19335 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 19336 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 19337 19338 #ifndef VK_NO_PROTOTYPES 19339 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 19340 VkDevice device, 19341 VkFramebuffer framebuffer, 19342 uint32_t* pPropertiesCount, 19343 VkTilePropertiesQCOM* pProperties); 19344 19345 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 19346 VkDevice device, 19347 const VkRenderingInfo* pRenderingInfo, 19348 VkTilePropertiesQCOM* pProperties); 19349 #endif 19350 19351 19352 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 19353 #define VK_SEC_amigo_profiling 1 19354 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 19355 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 19356 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 19357 VkStructureType sType; 19358 void* pNext; 19359 VkBool32 amigoProfiling; 19360 } VkPhysicalDeviceAmigoProfilingFeaturesSEC; 19361 19362 typedef struct VkAmigoProfilingSubmitInfoSEC { 19363 VkStructureType sType; 19364 const void* pNext; 19365 uint64_t firstDrawTimestamp; 19366 uint64_t swapBufferTimestamp; 19367 } VkAmigoProfilingSubmitInfoSEC; 19368 19369 19370 19371 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 19372 #define VK_QCOM_multiview_per_view_viewports 1 19373 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 19374 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 19375 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 19376 VkStructureType sType; 19377 void* pNext; 19378 VkBool32 multiviewPerViewViewports; 19379 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 19380 19381 19382 19383 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 19384 #define VK_NV_ray_tracing_invocation_reorder 1 19385 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 19386 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 19387 19388 typedef enum VkRayTracingInvocationReorderModeNV { 19389 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 19390 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 19391 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 19392 } VkRayTracingInvocationReorderModeNV; 19393 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 19394 VkStructureType sType; 19395 void* pNext; 19396 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 19397 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 19398 19399 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 19400 VkStructureType sType; 19401 void* pNext; 19402 VkBool32 rayTracingInvocationReorder; 19403 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 19404 19405 19406 19407 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 19408 #define VK_NV_extended_sparse_address_space 1 19409 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 19410 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 19411 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 19412 VkStructureType sType; 19413 void* pNext; 19414 VkBool32 extendedSparseAddressSpace; 19415 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 19416 19417 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 19418 VkStructureType sType; 19419 void* pNext; 19420 VkDeviceSize extendedSparseAddressSpaceSize; 19421 VkImageUsageFlags extendedSparseImageUsageFlags; 19422 VkBufferUsageFlags extendedSparseBufferUsageFlags; 19423 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 19424 19425 19426 19427 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 19428 #define VK_EXT_mutable_descriptor_type 1 19429 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 19430 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 19431 19432 19433 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls. 19434 #define VK_EXT_legacy_vertex_attributes 1 19435 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1 19436 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes" 19437 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT { 19438 VkStructureType sType; 19439 void* pNext; 19440 VkBool32 legacyVertexAttributes; 19441 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT; 19442 19443 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT { 19444 VkStructureType sType; 19445 void* pNext; 19446 VkBool32 nativeUnalignedPerformance; 19447 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT; 19448 19449 19450 19451 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 19452 #define VK_EXT_layer_settings 1 19453 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 19454 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 19455 19456 typedef enum VkLayerSettingTypeEXT { 19457 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 19458 VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 19459 VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 19460 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 19461 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 19462 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 19463 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 19464 VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 19465 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 19466 } VkLayerSettingTypeEXT; 19467 typedef struct VkLayerSettingEXT { 19468 const char* pLayerName; 19469 const char* pSettingName; 19470 VkLayerSettingTypeEXT type; 19471 uint32_t valueCount; 19472 const void* pValues; 19473 } VkLayerSettingEXT; 19474 19475 typedef struct VkLayerSettingsCreateInfoEXT { 19476 VkStructureType sType; 19477 const void* pNext; 19478 uint32_t settingCount; 19479 const VkLayerSettingEXT* pSettings; 19480 } VkLayerSettingsCreateInfoEXT; 19481 19482 19483 19484 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 19485 #define VK_ARM_shader_core_builtins 1 19486 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 19487 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 19488 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 19489 VkStructureType sType; 19490 void* pNext; 19491 VkBool32 shaderCoreBuiltins; 19492 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 19493 19494 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 19495 VkStructureType sType; 19496 void* pNext; 19497 uint64_t shaderCoreMask; 19498 uint32_t shaderCoreCount; 19499 uint32_t shaderWarpsPerCore; 19500 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 19501 19502 19503 19504 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 19505 #define VK_EXT_pipeline_library_group_handles 1 19506 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 19507 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 19508 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 19509 VkStructureType sType; 19510 void* pNext; 19511 VkBool32 pipelineLibraryGroupHandles; 19512 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 19513 19514 19515 19516 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 19517 #define VK_EXT_dynamic_rendering_unused_attachments 1 19518 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 19519 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 19520 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 19521 VkStructureType sType; 19522 void* pNext; 19523 VkBool32 dynamicRenderingUnusedAttachments; 19524 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 19525 19526 19527 19528 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 19529 #define VK_NV_low_latency2 1 19530 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 19531 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 19532 19533 typedef enum VkLatencyMarkerNV { 19534 VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 19535 VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 19536 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 19537 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 19538 VK_LATENCY_MARKER_PRESENT_START_NV = 4, 19539 VK_LATENCY_MARKER_PRESENT_END_NV = 5, 19540 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 19541 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 19542 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 19543 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 19544 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 19545 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 19546 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 19547 } VkLatencyMarkerNV; 19548 19549 typedef enum VkOutOfBandQueueTypeNV { 19550 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 19551 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 19552 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 19553 } VkOutOfBandQueueTypeNV; 19554 typedef struct VkLatencySleepModeInfoNV { 19555 VkStructureType sType; 19556 const void* pNext; 19557 VkBool32 lowLatencyMode; 19558 VkBool32 lowLatencyBoost; 19559 uint32_t minimumIntervalUs; 19560 } VkLatencySleepModeInfoNV; 19561 19562 typedef struct VkLatencySleepInfoNV { 19563 VkStructureType sType; 19564 const void* pNext; 19565 VkSemaphore signalSemaphore; 19566 uint64_t value; 19567 } VkLatencySleepInfoNV; 19568 19569 typedef struct VkSetLatencyMarkerInfoNV { 19570 VkStructureType sType; 19571 const void* pNext; 19572 uint64_t presentID; 19573 VkLatencyMarkerNV marker; 19574 } VkSetLatencyMarkerInfoNV; 19575 19576 typedef struct VkLatencyTimingsFrameReportNV { 19577 VkStructureType sType; 19578 const void* pNext; 19579 uint64_t presentID; 19580 uint64_t inputSampleTimeUs; 19581 uint64_t simStartTimeUs; 19582 uint64_t simEndTimeUs; 19583 uint64_t renderSubmitStartTimeUs; 19584 uint64_t renderSubmitEndTimeUs; 19585 uint64_t presentStartTimeUs; 19586 uint64_t presentEndTimeUs; 19587 uint64_t driverStartTimeUs; 19588 uint64_t driverEndTimeUs; 19589 uint64_t osRenderQueueStartTimeUs; 19590 uint64_t osRenderQueueEndTimeUs; 19591 uint64_t gpuRenderStartTimeUs; 19592 uint64_t gpuRenderEndTimeUs; 19593 } VkLatencyTimingsFrameReportNV; 19594 19595 typedef struct VkGetLatencyMarkerInfoNV { 19596 VkStructureType sType; 19597 const void* pNext; 19598 uint32_t timingCount; 19599 VkLatencyTimingsFrameReportNV* pTimings; 19600 } VkGetLatencyMarkerInfoNV; 19601 19602 typedef struct VkLatencySubmissionPresentIdNV { 19603 VkStructureType sType; 19604 const void* pNext; 19605 uint64_t presentID; 19606 } VkLatencySubmissionPresentIdNV; 19607 19608 typedef struct VkSwapchainLatencyCreateInfoNV { 19609 VkStructureType sType; 19610 const void* pNext; 19611 VkBool32 latencyModeEnable; 19612 } VkSwapchainLatencyCreateInfoNV; 19613 19614 typedef struct VkOutOfBandQueueTypeInfoNV { 19615 VkStructureType sType; 19616 const void* pNext; 19617 VkOutOfBandQueueTypeNV queueType; 19618 } VkOutOfBandQueueTypeInfoNV; 19619 19620 typedef struct VkLatencySurfaceCapabilitiesNV { 19621 VkStructureType sType; 19622 const void* pNext; 19623 uint32_t presentModeCount; 19624 VkPresentModeKHR* pPresentModes; 19625 } VkLatencySurfaceCapabilitiesNV; 19626 19627 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 19628 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 19629 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19630 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19631 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 19632 19633 #ifndef VK_NO_PROTOTYPES 19634 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 19635 VkDevice device, 19636 VkSwapchainKHR swapchain, 19637 const VkLatencySleepModeInfoNV* pSleepModeInfo); 19638 19639 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 19640 VkDevice device, 19641 VkSwapchainKHR swapchain, 19642 const VkLatencySleepInfoNV* pSleepInfo); 19643 19644 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 19645 VkDevice device, 19646 VkSwapchainKHR swapchain, 19647 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19648 19649 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 19650 VkDevice device, 19651 VkSwapchainKHR swapchain, 19652 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 19653 19654 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 19655 VkQueue queue, 19656 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 19657 #endif 19658 19659 19660 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 19661 #define VK_QCOM_multiview_per_view_render_areas 1 19662 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 19663 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 19664 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 19665 VkStructureType sType; 19666 void* pNext; 19667 VkBool32 multiviewPerViewRenderAreas; 19668 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 19669 19670 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 19671 VkStructureType sType; 19672 const void* pNext; 19673 uint32_t perViewRenderAreaCount; 19674 const VkRect2D* pPerViewRenderAreas; 19675 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 19676 19677 19678 19679 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 19680 #define VK_NV_per_stage_descriptor_set 1 19681 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 19682 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 19683 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 19684 VkStructureType sType; 19685 void* pNext; 19686 VkBool32 perStageDescriptorSet; 19687 VkBool32 dynamicPipelineLayout; 19688 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 19689 19690 19691 19692 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 19693 #define VK_QCOM_image_processing2 1 19694 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 19695 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 19696 19697 typedef enum VkBlockMatchWindowCompareModeQCOM { 19698 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 19699 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 19700 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 19701 } VkBlockMatchWindowCompareModeQCOM; 19702 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 19703 VkStructureType sType; 19704 void* pNext; 19705 VkBool32 textureBlockMatch2; 19706 } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 19707 19708 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 19709 VkStructureType sType; 19710 void* pNext; 19711 VkExtent2D maxBlockMatchWindow; 19712 } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 19713 19714 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 19715 VkStructureType sType; 19716 const void* pNext; 19717 VkExtent2D windowExtent; 19718 VkBlockMatchWindowCompareModeQCOM windowCompareMode; 19719 } VkSamplerBlockMatchWindowCreateInfoQCOM; 19720 19721 19722 19723 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 19724 #define VK_QCOM_filter_cubic_weights 1 19725 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 19726 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 19727 19728 typedef enum VkCubicFilterWeightsQCOM { 19729 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 19730 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 19731 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 19732 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 19733 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 19734 } VkCubicFilterWeightsQCOM; 19735 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 19736 VkStructureType sType; 19737 void* pNext; 19738 VkBool32 selectableCubicWeights; 19739 } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 19740 19741 typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 19742 VkStructureType sType; 19743 const void* pNext; 19744 VkCubicFilterWeightsQCOM cubicWeights; 19745 } VkSamplerCubicWeightsCreateInfoQCOM; 19746 19747 typedef struct VkBlitImageCubicWeightsInfoQCOM { 19748 VkStructureType sType; 19749 const void* pNext; 19750 VkCubicFilterWeightsQCOM cubicWeights; 19751 } VkBlitImageCubicWeightsInfoQCOM; 19752 19753 19754 19755 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 19756 #define VK_QCOM_ycbcr_degamma 1 19757 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 19758 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 19759 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 19760 VkStructureType sType; 19761 void* pNext; 19762 VkBool32 ycbcrDegamma; 19763 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 19764 19765 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 19766 VkStructureType sType; 19767 void* pNext; 19768 VkBool32 enableYDegamma; 19769 VkBool32 enableCbCrDegamma; 19770 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 19771 19772 19773 19774 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 19775 #define VK_QCOM_filter_cubic_clamp 1 19776 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 19777 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 19778 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 19779 VkStructureType sType; 19780 void* pNext; 19781 VkBool32 cubicRangeClamp; 19782 } VkPhysicalDeviceCubicClampFeaturesQCOM; 19783 19784 19785 19786 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 19787 #define VK_EXT_attachment_feedback_loop_dynamic_state 1 19788 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 19789 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 19790 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 19791 VkStructureType sType; 19792 void* pNext; 19793 VkBool32 attachmentFeedbackLoopDynamicState; 19794 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 19795 19796 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 19797 19798 #ifndef VK_NO_PROTOTYPES 19799 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 19800 VkCommandBuffer commandBuffer, 19801 VkImageAspectFlags aspectMask); 19802 #endif 19803 19804 19805 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 19806 #define VK_MSFT_layered_driver 1 19807 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 19808 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 19809 19810 typedef enum VkLayeredDriverUnderlyingApiMSFT { 19811 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 19812 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 19813 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 19814 } VkLayeredDriverUnderlyingApiMSFT; 19815 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 19816 VkStructureType sType; 19817 void* pNext; 19818 VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 19819 } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 19820 19821 19822 19823 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 19824 #define VK_NV_descriptor_pool_overallocation 1 19825 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 19826 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 19827 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 19828 VkStructureType sType; 19829 void* pNext; 19830 VkBool32 descriptorPoolOverallocation; 19831 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 19832 19833 19834 19835 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls. 19836 #define VK_NV_raw_access_chains 1 19837 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1 19838 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains" 19839 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV { 19840 VkStructureType sType; 19841 void* pNext; 19842 VkBool32 shaderRawAccessChains; 19843 } VkPhysicalDeviceRawAccessChainsFeaturesNV; 19844 19845 19846 19847 // VK_NV_command_buffer_inheritance is a preprocessor guard. Do not pass it to API calls. 19848 #define VK_NV_command_buffer_inheritance 1 19849 #define VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION 1 19850 #define VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME "VK_NV_command_buffer_inheritance" 19851 typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV { 19852 VkStructureType sType; 19853 void* pNext; 19854 VkBool32 commandBufferInheritance; 19855 } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV; 19856 19857 19858 19859 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls. 19860 #define VK_NV_shader_atomic_float16_vector 1 19861 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1 19862 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector" 19863 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { 19864 VkStructureType sType; 19865 void* pNext; 19866 VkBool32 shaderFloat16VectorAtomics; 19867 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; 19868 19869 19870 19871 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls. 19872 #define VK_EXT_shader_replicated_composites 1 19873 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1 19874 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" 19875 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT { 19876 VkStructureType sType; 19877 void* pNext; 19878 VkBool32 shaderReplicatedComposites; 19879 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT; 19880 19881 19882 19883 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls. 19884 #define VK_NV_ray_tracing_validation 1 19885 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 19886 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" 19887 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV { 19888 VkStructureType sType; 19889 void* pNext; 19890 VkBool32 rayTracingValidation; 19891 } VkPhysicalDeviceRayTracingValidationFeaturesNV; 19892 19893 19894 19895 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls. 19896 #define VK_MESA_image_alignment_control 1 19897 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 19898 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" 19899 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA { 19900 VkStructureType sType; 19901 void* pNext; 19902 VkBool32 imageAlignmentControl; 19903 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA; 19904 19905 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA { 19906 VkStructureType sType; 19907 void* pNext; 19908 uint32_t supportedImageAlignmentMask; 19909 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA; 19910 19911 typedef struct VkImageAlignmentControlCreateInfoMESA { 19912 VkStructureType sType; 19913 const void* pNext; 19914 uint32_t maximumRequestedAlignment; 19915 } VkImageAlignmentControlCreateInfoMESA; 19916 19917 19918 19919 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 19920 #define VK_KHR_acceleration_structure 1 19921 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 19922 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 19923 19924 typedef enum VkBuildAccelerationStructureModeKHR { 19925 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 19926 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 19927 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 19928 } VkBuildAccelerationStructureModeKHR; 19929 19930 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 19931 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 19932 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 19933 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 19934 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 19935 } VkAccelerationStructureCreateFlagBitsKHR; 19936 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 19937 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 19938 uint32_t primitiveCount; 19939 uint32_t primitiveOffset; 19940 uint32_t firstVertex; 19941 uint32_t transformOffset; 19942 } VkAccelerationStructureBuildRangeInfoKHR; 19943 19944 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 19945 VkStructureType sType; 19946 const void* pNext; 19947 VkFormat vertexFormat; 19948 VkDeviceOrHostAddressConstKHR vertexData; 19949 VkDeviceSize vertexStride; 19950 uint32_t maxVertex; 19951 VkIndexType indexType; 19952 VkDeviceOrHostAddressConstKHR indexData; 19953 VkDeviceOrHostAddressConstKHR transformData; 19954 } VkAccelerationStructureGeometryTrianglesDataKHR; 19955 19956 typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 19957 VkStructureType sType; 19958 const void* pNext; 19959 VkDeviceOrHostAddressConstKHR data; 19960 VkDeviceSize stride; 19961 } VkAccelerationStructureGeometryAabbsDataKHR; 19962 19963 typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 19964 VkStructureType sType; 19965 const void* pNext; 19966 VkBool32 arrayOfPointers; 19967 VkDeviceOrHostAddressConstKHR data; 19968 } VkAccelerationStructureGeometryInstancesDataKHR; 19969 19970 typedef union VkAccelerationStructureGeometryDataKHR { 19971 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 19972 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 19973 VkAccelerationStructureGeometryInstancesDataKHR instances; 19974 } VkAccelerationStructureGeometryDataKHR; 19975 19976 typedef struct VkAccelerationStructureGeometryKHR { 19977 VkStructureType sType; 19978 const void* pNext; 19979 VkGeometryTypeKHR geometryType; 19980 VkAccelerationStructureGeometryDataKHR geometry; 19981 VkGeometryFlagsKHR flags; 19982 } VkAccelerationStructureGeometryKHR; 19983 19984 typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 19985 VkStructureType sType; 19986 const void* pNext; 19987 VkAccelerationStructureTypeKHR type; 19988 VkBuildAccelerationStructureFlagsKHR flags; 19989 VkBuildAccelerationStructureModeKHR mode; 19990 VkAccelerationStructureKHR srcAccelerationStructure; 19991 VkAccelerationStructureKHR dstAccelerationStructure; 19992 uint32_t geometryCount; 19993 const VkAccelerationStructureGeometryKHR* pGeometries; 19994 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 19995 VkDeviceOrHostAddressKHR scratchData; 19996 } VkAccelerationStructureBuildGeometryInfoKHR; 19997 19998 typedef struct VkAccelerationStructureCreateInfoKHR { 19999 VkStructureType sType; 20000 const void* pNext; 20001 VkAccelerationStructureCreateFlagsKHR createFlags; 20002 VkBuffer buffer; 20003 VkDeviceSize offset; 20004 VkDeviceSize size; 20005 VkAccelerationStructureTypeKHR type; 20006 VkDeviceAddress deviceAddress; 20007 } VkAccelerationStructureCreateInfoKHR; 20008 20009 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 20010 VkStructureType sType; 20011 const void* pNext; 20012 uint32_t accelerationStructureCount; 20013 const VkAccelerationStructureKHR* pAccelerationStructures; 20014 } VkWriteDescriptorSetAccelerationStructureKHR; 20015 20016 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 20017 VkStructureType sType; 20018 void* pNext; 20019 VkBool32 accelerationStructure; 20020 VkBool32 accelerationStructureCaptureReplay; 20021 VkBool32 accelerationStructureIndirectBuild; 20022 VkBool32 accelerationStructureHostCommands; 20023 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 20024 } VkPhysicalDeviceAccelerationStructureFeaturesKHR; 20025 20026 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 20027 VkStructureType sType; 20028 void* pNext; 20029 uint64_t maxGeometryCount; 20030 uint64_t maxInstanceCount; 20031 uint64_t maxPrimitiveCount; 20032 uint32_t maxPerStageDescriptorAccelerationStructures; 20033 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 20034 uint32_t maxDescriptorSetAccelerationStructures; 20035 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; 20036 uint32_t minAccelerationStructureScratchOffsetAlignment; 20037 } VkPhysicalDeviceAccelerationStructurePropertiesKHR; 20038 20039 typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 20040 VkStructureType sType; 20041 const void* pNext; 20042 VkAccelerationStructureKHR accelerationStructure; 20043 } VkAccelerationStructureDeviceAddressInfoKHR; 20044 20045 typedef struct VkAccelerationStructureVersionInfoKHR { 20046 VkStructureType sType; 20047 const void* pNext; 20048 const uint8_t* pVersionData; 20049 } VkAccelerationStructureVersionInfoKHR; 20050 20051 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 20052 VkStructureType sType; 20053 const void* pNext; 20054 VkAccelerationStructureKHR src; 20055 VkDeviceOrHostAddressKHR dst; 20056 VkCopyAccelerationStructureModeKHR mode; 20057 } VkCopyAccelerationStructureToMemoryInfoKHR; 20058 20059 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 20060 VkStructureType sType; 20061 const void* pNext; 20062 VkDeviceOrHostAddressConstKHR src; 20063 VkAccelerationStructureKHR dst; 20064 VkCopyAccelerationStructureModeKHR mode; 20065 } VkCopyMemoryToAccelerationStructureInfoKHR; 20066 20067 typedef struct VkCopyAccelerationStructureInfoKHR { 20068 VkStructureType sType; 20069 const void* pNext; 20070 VkAccelerationStructureKHR src; 20071 VkAccelerationStructureKHR dst; 20072 VkCopyAccelerationStructureModeKHR mode; 20073 } VkCopyAccelerationStructureInfoKHR; 20074 20075 typedef struct VkAccelerationStructureBuildSizesInfoKHR { 20076 VkStructureType sType; 20077 const void* pNext; 20078 VkDeviceSize accelerationStructureSize; 20079 VkDeviceSize updateScratchSize; 20080 VkDeviceSize buildScratchSize; 20081 } VkAccelerationStructureBuildSizesInfoKHR; 20082 20083 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 20084 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 20085 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20086 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); 20087 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20088 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 20089 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20090 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20091 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 20092 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 20093 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20094 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20095 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 20096 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 20097 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 20098 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20099 20100 #ifndef VK_NO_PROTOTYPES 20101 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 20102 VkDevice device, 20103 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 20104 const VkAllocationCallbacks* pAllocator, 20105 VkAccelerationStructureKHR* pAccelerationStructure); 20106 20107 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 20108 VkDevice device, 20109 VkAccelerationStructureKHR accelerationStructure, 20110 const VkAllocationCallbacks* pAllocator); 20111 20112 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 20113 VkCommandBuffer commandBuffer, 20114 uint32_t infoCount, 20115 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20116 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20117 20118 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 20119 VkCommandBuffer commandBuffer, 20120 uint32_t infoCount, 20121 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20122 const VkDeviceAddress* pIndirectDeviceAddresses, 20123 const uint32_t* pIndirectStrides, 20124 const uint32_t* const* ppMaxPrimitiveCounts); 20125 20126 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 20127 VkDevice device, 20128 VkDeferredOperationKHR deferredOperation, 20129 uint32_t infoCount, 20130 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 20131 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 20132 20133 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 20134 VkDevice device, 20135 VkDeferredOperationKHR deferredOperation, 20136 const VkCopyAccelerationStructureInfoKHR* pInfo); 20137 20138 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 20139 VkDevice device, 20140 VkDeferredOperationKHR deferredOperation, 20141 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20142 20143 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 20144 VkDevice device, 20145 VkDeferredOperationKHR deferredOperation, 20146 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20147 20148 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 20149 VkDevice device, 20150 uint32_t accelerationStructureCount, 20151 const VkAccelerationStructureKHR* pAccelerationStructures, 20152 VkQueryType queryType, 20153 size_t dataSize, 20154 void* pData, 20155 size_t stride); 20156 20157 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 20158 VkCommandBuffer commandBuffer, 20159 const VkCopyAccelerationStructureInfoKHR* pInfo); 20160 20161 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 20162 VkCommandBuffer commandBuffer, 20163 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 20164 20165 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 20166 VkCommandBuffer commandBuffer, 20167 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 20168 20169 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 20170 VkDevice device, 20171 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 20172 20173 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 20174 VkCommandBuffer commandBuffer, 20175 uint32_t accelerationStructureCount, 20176 const VkAccelerationStructureKHR* pAccelerationStructures, 20177 VkQueryType queryType, 20178 VkQueryPool queryPool, 20179 uint32_t firstQuery); 20180 20181 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 20182 VkDevice device, 20183 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 20184 VkAccelerationStructureCompatibilityKHR* pCompatibility); 20185 20186 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 20187 VkDevice device, 20188 VkAccelerationStructureBuildTypeKHR buildType, 20189 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 20190 const uint32_t* pMaxPrimitiveCounts, 20191 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 20192 #endif 20193 20194 20195 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 20196 #define VK_KHR_ray_tracing_pipeline 1 20197 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 20198 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 20199 20200 typedef enum VkShaderGroupShaderKHR { 20201 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 20202 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 20203 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 20204 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 20205 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 20206 } VkShaderGroupShaderKHR; 20207 typedef struct VkRayTracingShaderGroupCreateInfoKHR { 20208 VkStructureType sType; 20209 const void* pNext; 20210 VkRayTracingShaderGroupTypeKHR type; 20211 uint32_t generalShader; 20212 uint32_t closestHitShader; 20213 uint32_t anyHitShader; 20214 uint32_t intersectionShader; 20215 const void* pShaderGroupCaptureReplayHandle; 20216 } VkRayTracingShaderGroupCreateInfoKHR; 20217 20218 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 20219 VkStructureType sType; 20220 const void* pNext; 20221 uint32_t maxPipelineRayPayloadSize; 20222 uint32_t maxPipelineRayHitAttributeSize; 20223 } VkRayTracingPipelineInterfaceCreateInfoKHR; 20224 20225 typedef struct VkRayTracingPipelineCreateInfoKHR { 20226 VkStructureType sType; 20227 const void* pNext; 20228 VkPipelineCreateFlags flags; 20229 uint32_t stageCount; 20230 const VkPipelineShaderStageCreateInfo* pStages; 20231 uint32_t groupCount; 20232 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 20233 uint32_t maxPipelineRayRecursionDepth; 20234 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 20235 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 20236 const VkPipelineDynamicStateCreateInfo* pDynamicState; 20237 VkPipelineLayout layout; 20238 VkPipeline basePipelineHandle; 20239 int32_t basePipelineIndex; 20240 } VkRayTracingPipelineCreateInfoKHR; 20241 20242 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 20243 VkStructureType sType; 20244 void* pNext; 20245 VkBool32 rayTracingPipeline; 20246 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 20247 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 20248 VkBool32 rayTracingPipelineTraceRaysIndirect; 20249 VkBool32 rayTraversalPrimitiveCulling; 20250 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 20251 20252 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 20253 VkStructureType sType; 20254 void* pNext; 20255 uint32_t shaderGroupHandleSize; 20256 uint32_t maxRayRecursionDepth; 20257 uint32_t maxShaderGroupStride; 20258 uint32_t shaderGroupBaseAlignment; 20259 uint32_t shaderGroupHandleCaptureReplaySize; 20260 uint32_t maxRayDispatchInvocationCount; 20261 uint32_t shaderGroupHandleAlignment; 20262 uint32_t maxRayHitAttributeSize; 20263 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 20264 20265 typedef struct VkStridedDeviceAddressRegionKHR { 20266 VkDeviceAddress deviceAddress; 20267 VkDeviceSize stride; 20268 VkDeviceSize size; 20269 } VkStridedDeviceAddressRegionKHR; 20270 20271 typedef struct VkTraceRaysIndirectCommandKHR { 20272 uint32_t width; 20273 uint32_t height; 20274 uint32_t depth; 20275 } VkTraceRaysIndirectCommandKHR; 20276 20277 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); 20278 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 20279 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 20280 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 20281 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); 20282 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); 20283 20284 #ifndef VK_NO_PROTOTYPES 20285 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 20286 VkCommandBuffer commandBuffer, 20287 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 20288 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 20289 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 20290 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 20291 uint32_t width, 20292 uint32_t height, 20293 uint32_t depth); 20294 20295 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 20296 VkDevice device, 20297 VkDeferredOperationKHR deferredOperation, 20298 VkPipelineCache pipelineCache, 20299 uint32_t createInfoCount, 20300 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 20301 const VkAllocationCallbacks* pAllocator, 20302 VkPipeline* pPipelines); 20303 20304 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 20305 VkDevice device, 20306 VkPipeline pipeline, 20307 uint32_t firstGroup, 20308 uint32_t groupCount, 20309 size_t dataSize, 20310 void* pData); 20311 20312 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 20313 VkCommandBuffer commandBuffer, 20314 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 20315 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 20316 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 20317 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 20318 VkDeviceAddress indirectDeviceAddress); 20319 20320 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 20321 VkDevice device, 20322 VkPipeline pipeline, 20323 uint32_t group, 20324 VkShaderGroupShaderKHR groupShader); 20325 20326 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 20327 VkCommandBuffer commandBuffer, 20328 uint32_t pipelineStackSize); 20329 #endif 20330 20331 20332 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 20333 #define VK_KHR_ray_query 1 20334 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 20335 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 20336 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 20337 VkStructureType sType; 20338 void* pNext; 20339 VkBool32 rayQuery; 20340 } VkPhysicalDeviceRayQueryFeaturesKHR; 20341 20342 20343 20344 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 20345 #define VK_EXT_mesh_shader 1 20346 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 20347 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 20348 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 20349 VkStructureType sType; 20350 void* pNext; 20351 VkBool32 taskShader; 20352 VkBool32 meshShader; 20353 VkBool32 multiviewMeshShader; 20354 VkBool32 primitiveFragmentShadingRateMeshShader; 20355 VkBool32 meshShaderQueries; 20356 } VkPhysicalDeviceMeshShaderFeaturesEXT; 20357 20358 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 20359 VkStructureType sType; 20360 void* pNext; 20361 uint32_t maxTaskWorkGroupTotalCount; 20362 uint32_t maxTaskWorkGroupCount[3]; 20363 uint32_t maxTaskWorkGroupInvocations; 20364 uint32_t maxTaskWorkGroupSize[3]; 20365 uint32_t maxTaskPayloadSize; 20366 uint32_t maxTaskSharedMemorySize; 20367 uint32_t maxTaskPayloadAndSharedMemorySize; 20368 uint32_t maxMeshWorkGroupTotalCount; 20369 uint32_t maxMeshWorkGroupCount[3]; 20370 uint32_t maxMeshWorkGroupInvocations; 20371 uint32_t maxMeshWorkGroupSize[3]; 20372 uint32_t maxMeshSharedMemorySize; 20373 uint32_t maxMeshPayloadAndSharedMemorySize; 20374 uint32_t maxMeshOutputMemorySize; 20375 uint32_t maxMeshPayloadAndOutputMemorySize; 20376 uint32_t maxMeshOutputComponents; 20377 uint32_t maxMeshOutputVertices; 20378 uint32_t maxMeshOutputPrimitives; 20379 uint32_t maxMeshOutputLayers; 20380 uint32_t maxMeshMultiviewViewCount; 20381 uint32_t meshOutputPerVertexGranularity; 20382 uint32_t meshOutputPerPrimitiveGranularity; 20383 uint32_t maxPreferredTaskWorkGroupInvocations; 20384 uint32_t maxPreferredMeshWorkGroupInvocations; 20385 VkBool32 prefersLocalInvocationVertexOutput; 20386 VkBool32 prefersLocalInvocationPrimitiveOutput; 20387 VkBool32 prefersCompactVertexOutput; 20388 VkBool32 prefersCompactPrimitiveOutput; 20389 } VkPhysicalDeviceMeshShaderPropertiesEXT; 20390 20391 typedef struct VkDrawMeshTasksIndirectCommandEXT { 20392 uint32_t groupCountX; 20393 uint32_t groupCountY; 20394 uint32_t groupCountZ; 20395 } VkDrawMeshTasksIndirectCommandEXT; 20396 20397 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 20398 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 20399 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 20400 20401 #ifndef VK_NO_PROTOTYPES 20402 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 20403 VkCommandBuffer commandBuffer, 20404 uint32_t groupCountX, 20405 uint32_t groupCountY, 20406 uint32_t groupCountZ); 20407 20408 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 20409 VkCommandBuffer commandBuffer, 20410 VkBuffer buffer, 20411 VkDeviceSize offset, 20412 uint32_t drawCount, 20413 uint32_t stride); 20414 20415 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 20416 VkCommandBuffer commandBuffer, 20417 VkBuffer buffer, 20418 VkDeviceSize offset, 20419 VkBuffer countBuffer, 20420 VkDeviceSize countBufferOffset, 20421 uint32_t maxDrawCount, 20422 uint32_t stride); 20423 #endif 20424 20425 #ifdef __cplusplus 20426 } 20427 #endif 20428 20429 #endif 20430