1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * This file was generated by /scripts/gen_framework_c.py 4 */ 5 6#ifndef VULKAN_SC_CORE_H_ 7#define VULKAN_SC_CORE_H_ 1 8 9/* 10** Copyright 2015-2021 The Khronos Group Inc. 11** 12** SPDX-License-Identifier: Apache-2.0 13*/ 14 15/* 16** This header is generated from the Khronos Vulkan XML API Registry. 17** 18*/ 19 20 21#ifdef __cplusplus 22extern "C" { 23#endif 24 25 26 27#define VK_VERSION_1_0 1 28 29 30#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); 31 32 33#ifndef VK_USE_64_BIT_PTR_DEFINES 34 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 35 #define VK_USE_64_BIT_PTR_DEFINES 1 36 #else 37 #define VK_USE_64_BIT_PTR_DEFINES 0 38 #endif 39#endif 40 41 42#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 43 #if (VK_USE_64_BIT_PTR_DEFINES==1) 44 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 45 #define VK_NULL_HANDLE nullptr 46 #else 47 #define VK_NULL_HANDLE ((void*)0) 48 #endif 49 #else 50 #define VK_NULL_HANDLE 0ULL 51 #endif 52#endif 53#ifndef VK_NULL_HANDLE 54 #define VK_NULL_HANDLE 0 55#endif 56 57 58#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 59 #if (VK_USE_64_BIT_PTR_DEFINES==1) 60 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); 61 #else 62 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 (object); 63 #endif 64#endif 65 66#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 67 ((((deUint32)(variant)) << 29U) | (((deUint32)(major)) << 22U) | (((deUint32)(minor)) << 12U) | ((deUint32)(patch))) 68 69// Vulkan 1.0 version number 70#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 71 72// Version of this file 73#define VK_HEADER_VERSION 12 74 75// Vulkan SC variant number 76#define VKSC_API_VARIANT 1 77 78// Complete version of this file 79#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) 80 81#define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29U) 82#define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22U) & 0x7FU) 83#define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12U) & 0x3FFU) 84#define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU) 85typedef deUint32 VkBool32; 86typedef deUint64 VkDeviceAddress; 87typedef deUint64 VkDeviceSize; 88typedef deUint32 VkFlags; 89typedef deUint32 VkSampleMask; 90VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 91VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 92VK_DEFINE_HANDLE(VkInstance) 93VK_DEFINE_HANDLE(VkPhysicalDevice) 94VK_DEFINE_HANDLE(VkDevice) 95VK_DEFINE_HANDLE(VkQueue) 96VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 97VK_DEFINE_HANDLE(VkCommandBuffer) 98VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 99VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 100VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 101VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 102VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 103VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 104VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 105VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 106VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 107VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 108VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 109VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 110VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 111VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 112VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 113VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 114VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 115#define VK_UUID_SIZE 16U 116#define VK_ATTACHMENT_UNUSED (~0U) 117#define VK_FALSE 0U 118#define VK_LOD_CLAMP_NONE 1000.0F 119#define VK_QUEUE_FAMILY_IGNORED (~0U) 120#define VK_REMAINING_ARRAY_LAYERS (~0U) 121#define VK_REMAINING_MIP_LEVELS (~0U) 122#define VK_SUBPASS_EXTERNAL (~0U) 123#define VK_TRUE 1U 124#define VK_WHOLE_SIZE (~0ULL) 125#define VK_MAX_MEMORY_TYPES 32U 126#define VK_MAX_MEMORY_HEAPS 16U 127#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 128#define VK_MAX_EXTENSION_NAME_SIZE 256U 129#define VK_MAX_DESCRIPTION_SIZE 256U 130 131typedef enum VkResult { 132 VK_SUCCESS = 0, 133 VK_NOT_READY = 1, 134 VK_TIMEOUT = 2, 135 VK_EVENT_SET = 3, 136 VK_EVENT_RESET = 4, 137 VK_INCOMPLETE = 5, 138 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 139 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 140 VK_ERROR_INITIALIZATION_FAILED = -3, 141 VK_ERROR_DEVICE_LOST = -4, 142 VK_ERROR_MEMORY_MAP_FAILED = -5, 143 VK_ERROR_LAYER_NOT_PRESENT = -6, 144 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 145 VK_ERROR_FEATURE_NOT_PRESENT = -8, 146 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 147 VK_ERROR_TOO_MANY_OBJECTS = -10, 148 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 149 VK_ERROR_FRAGMENTED_POOL = -12, 150 VK_ERROR_UNKNOWN = -13, 151 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 152 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 153 VK_ERROR_FRAGMENTATION = -1000161000, 154 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 155 VK_ERROR_VALIDATION_FAILED = -1000011001, 156 VK_ERROR_INVALID_PIPELINE_CACHE_DATA = -1000298000, 157 VK_ERROR_NO_PIPELINE_MATCH = -1000298001, 158 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 159 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 160 VK_SUBOPTIMAL_KHR = 1000001003, 161 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 162 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 163 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 164 VK_ERROR_NOT_PERMITTED_EXT = -1000174001, 165 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 166} VkResult; 167 168typedef enum VkStructureType { 169 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 170 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 171 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 172 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 173 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 174 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 175 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 176 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 177 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 178 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 179 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 180 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 181 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 182 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 183 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 184 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 185 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 186 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 187 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 188 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 189 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 190 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 191 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 192 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 193 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 194 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 195 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 196 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 197 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 198 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 199 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 200 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 201 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 202 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 203 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 204 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 205 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 206 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 207 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 208 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 209 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 210 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 211 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 212 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 213 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 214 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 215 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 217 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 218 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 220 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 221 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 222 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 223 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 224 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 225 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 226 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 227 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 229 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 230 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 231 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 232 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 235 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 236 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 238 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 241 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 242 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 243 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 244 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 248 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 251 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 252 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 253 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 254 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 255 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 257 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 259 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 261 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 263 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 264 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 265 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 267 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 268 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 269 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 271 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 273 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 279 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 280 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 281 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 282 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 283 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 284 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 285 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 286 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 292 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 295 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 296 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 298 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 300 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 302 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 305 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 306 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 307 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 311 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 312 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 316 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 317 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 318 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 319 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 321 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 322 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 323 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 324 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES = 1000298000, 326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES = 1000298001, 327 VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO = 1000298002, 328 VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO = 1000298003, 329 VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION = 1000298004, 330 VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE = 1000298005, 331 VK_STRUCTURE_TYPE_FAULT_DATA = 1000298007, 332 VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO = 1000298008, 333 VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO = 1000298010, 334 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 335 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 336 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 337 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 338 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 339 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 340 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 341 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 342 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 343 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 344 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 345 VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV = 1000051000, 346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000, 347 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 349 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 350 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 351 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 352 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 353 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 354 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 355 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 356 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 357 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 358 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 359 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 361 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 363 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 364 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 365 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 366 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 367 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 368 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 369 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 372 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 373 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 374 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 375 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 376 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 377 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR = 1000116007, 378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 379 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 380 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 381 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 382 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 383 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 384 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 385 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 386 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 387 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 388 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 389 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 390 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 391 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 392 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 393 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 395 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 397 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 398 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 399 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 401 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 402 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 403 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 404 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 406 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 407 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, 408 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 409 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 412 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, 413 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 414 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, 415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, 416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000, 418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000, 419 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001, 420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002, 421 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 422 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 424 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 428 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 431 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, 433 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, 434 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, 435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, 437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000, 439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 440 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, 441 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 443 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 446 VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR = 1000308000, 447 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000, 448 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001, 449 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002, 450 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003, 451 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004, 452 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005, 453 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006, 454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007, 455 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 456 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 457 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 458 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000, 459 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000, 460 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001, 461 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002, 462 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003, 463 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004, 464 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005, 465 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006, 466 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007, 467 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008, 468 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, 469 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, 470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 472 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 473 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 474 VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000, 475 VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001, 476 VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002, 477 VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003, 478 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004, 479 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005, 480 VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006, 481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007, 482 VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000, 483 VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001, 484 VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002, 485 VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003, 486 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV = 1000374004, 487 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 489 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 490 VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000, 491 VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV = 1000489000, 492 VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV = 1000489001, 493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV = 1000489002, 494 VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV = 1000489003, 495 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV, 496 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 497} VkStructureType; 498 499typedef enum VkImageLayout { 500 VK_IMAGE_LAYOUT_UNDEFINED = 0, 501 VK_IMAGE_LAYOUT_GENERAL = 1, 502 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 503 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 504 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 505 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 506 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 507 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 508 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 509 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 510 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 511 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 512 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 513 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 514 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 515 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 516 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 517 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 518 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000, 519 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001, 520 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 521} VkImageLayout; 522 523typedef enum VkObjectType { 524 VK_OBJECT_TYPE_UNKNOWN = 0, 525 VK_OBJECT_TYPE_INSTANCE = 1, 526 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 527 VK_OBJECT_TYPE_DEVICE = 3, 528 VK_OBJECT_TYPE_QUEUE = 4, 529 VK_OBJECT_TYPE_SEMAPHORE = 5, 530 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 531 VK_OBJECT_TYPE_FENCE = 7, 532 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 533 VK_OBJECT_TYPE_BUFFER = 9, 534 VK_OBJECT_TYPE_IMAGE = 10, 535 VK_OBJECT_TYPE_EVENT = 11, 536 VK_OBJECT_TYPE_QUERY_POOL = 12, 537 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 538 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 539 VK_OBJECT_TYPE_SHADER_MODULE = 15, 540 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 541 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 542 VK_OBJECT_TYPE_RENDER_PASS = 18, 543 VK_OBJECT_TYPE_PIPELINE = 19, 544 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 545 VK_OBJECT_TYPE_SAMPLER = 21, 546 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 547 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 548 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 549 VK_OBJECT_TYPE_COMMAND_POOL = 25, 550 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 551 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 552 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 553 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 554 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 555 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 556 VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV = 1000489000, 557 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 558} VkObjectType; 559 560typedef enum VkPipelineCacheHeaderVersion { 561 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 562 VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE = 1000298001, 563 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 564} VkPipelineCacheHeaderVersion; 565 566typedef enum VkVendorId { 567 VK_VENDOR_ID_VIV = 0x10001, 568 VK_VENDOR_ID_VSI = 0x10002, 569 VK_VENDOR_ID_KAZAN = 0x10003, 570 VK_VENDOR_ID_CODEPLAY = 0x10004, 571 VK_VENDOR_ID_MESA = 0x10005, 572 VK_VENDOR_ID_POCL = 0x10006, 573 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 574} VkVendorId; 575 576typedef enum VkSystemAllocationScope { 577 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 578 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 579 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 580 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 581 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 582 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 583} VkSystemAllocationScope; 584 585typedef enum VkInternalAllocationType { 586 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 587 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 588} VkInternalAllocationType; 589 590typedef enum VkFormat { 591 VK_FORMAT_UNDEFINED = 0, 592 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 593 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 594 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 595 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 596 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 597 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 598 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 599 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 600 VK_FORMAT_R8_UNORM = 9, 601 VK_FORMAT_R8_SNORM = 10, 602 VK_FORMAT_R8_USCALED = 11, 603 VK_FORMAT_R8_SSCALED = 12, 604 VK_FORMAT_R8_UINT = 13, 605 VK_FORMAT_R8_SINT = 14, 606 VK_FORMAT_R8_SRGB = 15, 607 VK_FORMAT_R8G8_UNORM = 16, 608 VK_FORMAT_R8G8_SNORM = 17, 609 VK_FORMAT_R8G8_USCALED = 18, 610 VK_FORMAT_R8G8_SSCALED = 19, 611 VK_FORMAT_R8G8_UINT = 20, 612 VK_FORMAT_R8G8_SINT = 21, 613 VK_FORMAT_R8G8_SRGB = 22, 614 VK_FORMAT_R8G8B8_UNORM = 23, 615 VK_FORMAT_R8G8B8_SNORM = 24, 616 VK_FORMAT_R8G8B8_USCALED = 25, 617 VK_FORMAT_R8G8B8_SSCALED = 26, 618 VK_FORMAT_R8G8B8_UINT = 27, 619 VK_FORMAT_R8G8B8_SINT = 28, 620 VK_FORMAT_R8G8B8_SRGB = 29, 621 VK_FORMAT_B8G8R8_UNORM = 30, 622 VK_FORMAT_B8G8R8_SNORM = 31, 623 VK_FORMAT_B8G8R8_USCALED = 32, 624 VK_FORMAT_B8G8R8_SSCALED = 33, 625 VK_FORMAT_B8G8R8_UINT = 34, 626 VK_FORMAT_B8G8R8_SINT = 35, 627 VK_FORMAT_B8G8R8_SRGB = 36, 628 VK_FORMAT_R8G8B8A8_UNORM = 37, 629 VK_FORMAT_R8G8B8A8_SNORM = 38, 630 VK_FORMAT_R8G8B8A8_USCALED = 39, 631 VK_FORMAT_R8G8B8A8_SSCALED = 40, 632 VK_FORMAT_R8G8B8A8_UINT = 41, 633 VK_FORMAT_R8G8B8A8_SINT = 42, 634 VK_FORMAT_R8G8B8A8_SRGB = 43, 635 VK_FORMAT_B8G8R8A8_UNORM = 44, 636 VK_FORMAT_B8G8R8A8_SNORM = 45, 637 VK_FORMAT_B8G8R8A8_USCALED = 46, 638 VK_FORMAT_B8G8R8A8_SSCALED = 47, 639 VK_FORMAT_B8G8R8A8_UINT = 48, 640 VK_FORMAT_B8G8R8A8_SINT = 49, 641 VK_FORMAT_B8G8R8A8_SRGB = 50, 642 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 643 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 644 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 645 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 646 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 647 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 648 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 649 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 650 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 651 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 652 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 653 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 654 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 655 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 656 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 657 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 658 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 659 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 660 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 661 VK_FORMAT_R16_UNORM = 70, 662 VK_FORMAT_R16_SNORM = 71, 663 VK_FORMAT_R16_USCALED = 72, 664 VK_FORMAT_R16_SSCALED = 73, 665 VK_FORMAT_R16_UINT = 74, 666 VK_FORMAT_R16_SINT = 75, 667 VK_FORMAT_R16_SFLOAT = 76, 668 VK_FORMAT_R16G16_UNORM = 77, 669 VK_FORMAT_R16G16_SNORM = 78, 670 VK_FORMAT_R16G16_USCALED = 79, 671 VK_FORMAT_R16G16_SSCALED = 80, 672 VK_FORMAT_R16G16_UINT = 81, 673 VK_FORMAT_R16G16_SINT = 82, 674 VK_FORMAT_R16G16_SFLOAT = 83, 675 VK_FORMAT_R16G16B16_UNORM = 84, 676 VK_FORMAT_R16G16B16_SNORM = 85, 677 VK_FORMAT_R16G16B16_USCALED = 86, 678 VK_FORMAT_R16G16B16_SSCALED = 87, 679 VK_FORMAT_R16G16B16_UINT = 88, 680 VK_FORMAT_R16G16B16_SINT = 89, 681 VK_FORMAT_R16G16B16_SFLOAT = 90, 682 VK_FORMAT_R16G16B16A16_UNORM = 91, 683 VK_FORMAT_R16G16B16A16_SNORM = 92, 684 VK_FORMAT_R16G16B16A16_USCALED = 93, 685 VK_FORMAT_R16G16B16A16_SSCALED = 94, 686 VK_FORMAT_R16G16B16A16_UINT = 95, 687 VK_FORMAT_R16G16B16A16_SINT = 96, 688 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 689 VK_FORMAT_R32_UINT = 98, 690 VK_FORMAT_R32_SINT = 99, 691 VK_FORMAT_R32_SFLOAT = 100, 692 VK_FORMAT_R32G32_UINT = 101, 693 VK_FORMAT_R32G32_SINT = 102, 694 VK_FORMAT_R32G32_SFLOAT = 103, 695 VK_FORMAT_R32G32B32_UINT = 104, 696 VK_FORMAT_R32G32B32_SINT = 105, 697 VK_FORMAT_R32G32B32_SFLOAT = 106, 698 VK_FORMAT_R32G32B32A32_UINT = 107, 699 VK_FORMAT_R32G32B32A32_SINT = 108, 700 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 701 VK_FORMAT_R64_UINT = 110, 702 VK_FORMAT_R64_SINT = 111, 703 VK_FORMAT_R64_SFLOAT = 112, 704 VK_FORMAT_R64G64_UINT = 113, 705 VK_FORMAT_R64G64_SINT = 114, 706 VK_FORMAT_R64G64_SFLOAT = 115, 707 VK_FORMAT_R64G64B64_UINT = 116, 708 VK_FORMAT_R64G64B64_SINT = 117, 709 VK_FORMAT_R64G64B64_SFLOAT = 118, 710 VK_FORMAT_R64G64B64A64_UINT = 119, 711 VK_FORMAT_R64G64B64A64_SINT = 120, 712 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 713 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 714 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 715 VK_FORMAT_D16_UNORM = 124, 716 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 717 VK_FORMAT_D32_SFLOAT = 126, 718 VK_FORMAT_S8_UINT = 127, 719 VK_FORMAT_D16_UNORM_S8_UINT = 128, 720 VK_FORMAT_D24_UNORM_S8_UINT = 129, 721 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 722 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 723 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 724 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 725 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 726 VK_FORMAT_BC2_UNORM_BLOCK = 135, 727 VK_FORMAT_BC2_SRGB_BLOCK = 136, 728 VK_FORMAT_BC3_UNORM_BLOCK = 137, 729 VK_FORMAT_BC3_SRGB_BLOCK = 138, 730 VK_FORMAT_BC4_UNORM_BLOCK = 139, 731 VK_FORMAT_BC4_SNORM_BLOCK = 140, 732 VK_FORMAT_BC5_UNORM_BLOCK = 141, 733 VK_FORMAT_BC5_SNORM_BLOCK = 142, 734 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 735 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 736 VK_FORMAT_BC7_UNORM_BLOCK = 145, 737 VK_FORMAT_BC7_SRGB_BLOCK = 146, 738 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 739 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 740 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 741 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 742 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 743 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 744 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 745 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 746 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 747 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 748 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 749 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 750 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 751 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 752 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 753 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 754 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 755 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 756 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 757 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 758 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 759 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 760 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 761 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 762 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 763 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 764 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 765 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 766 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 767 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 768 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 769 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 770 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 771 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 772 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 773 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 774 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 775 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 776 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 777 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 778 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 779 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 780 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 781 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 782 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 783 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 784 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 785 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 786 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 787 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 788 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 789 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 790 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 791 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 792 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 793 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 794 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 795 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 796 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 797 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 798 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 799 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 800 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 801 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 802 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 803 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 804 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 805 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 806 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 807 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 808 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 809 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 810 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000, 811 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001, 812 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002, 813 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003, 814 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004, 815 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005, 816 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006, 817 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007, 818 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008, 819 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009, 820 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010, 821 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011, 822 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012, 823 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013, 824 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000, 825 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001, 826 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002, 827 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003, 828 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000, 829 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001, 830 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 831} VkFormat; 832 833typedef enum VkImageTiling { 834 VK_IMAGE_TILING_OPTIMAL = 0, 835 VK_IMAGE_TILING_LINEAR = 1, 836 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 837 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 838} VkImageTiling; 839 840typedef enum VkImageType { 841 VK_IMAGE_TYPE_1D = 0, 842 VK_IMAGE_TYPE_2D = 1, 843 VK_IMAGE_TYPE_3D = 2, 844 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 845} VkImageType; 846 847typedef enum VkPhysicalDeviceType { 848 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 849 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 850 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 851 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 852 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 853 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 854} VkPhysicalDeviceType; 855 856typedef enum VkQueryType { 857 VK_QUERY_TYPE_OCCLUSION = 0, 858 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 859 VK_QUERY_TYPE_TIMESTAMP = 2, 860 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 861 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 862} VkQueryType; 863 864typedef enum VkSharingMode { 865 VK_SHARING_MODE_EXCLUSIVE = 0, 866 VK_SHARING_MODE_CONCURRENT = 1, 867 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 868} VkSharingMode; 869 870typedef enum VkComponentSwizzle { 871 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 872 VK_COMPONENT_SWIZZLE_ZERO = 1, 873 VK_COMPONENT_SWIZZLE_ONE = 2, 874 VK_COMPONENT_SWIZZLE_R = 3, 875 VK_COMPONENT_SWIZZLE_G = 4, 876 VK_COMPONENT_SWIZZLE_B = 5, 877 VK_COMPONENT_SWIZZLE_A = 6, 878 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 879} VkComponentSwizzle; 880 881typedef enum VkImageViewType { 882 VK_IMAGE_VIEW_TYPE_1D = 0, 883 VK_IMAGE_VIEW_TYPE_2D = 1, 884 VK_IMAGE_VIEW_TYPE_3D = 2, 885 VK_IMAGE_VIEW_TYPE_CUBE = 3, 886 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 887 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 888 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 889 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 890} VkImageViewType; 891 892typedef enum VkBlendFactor { 893 VK_BLEND_FACTOR_ZERO = 0, 894 VK_BLEND_FACTOR_ONE = 1, 895 VK_BLEND_FACTOR_SRC_COLOR = 2, 896 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 897 VK_BLEND_FACTOR_DST_COLOR = 4, 898 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 899 VK_BLEND_FACTOR_SRC_ALPHA = 6, 900 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 901 VK_BLEND_FACTOR_DST_ALPHA = 8, 902 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 903 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 904 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 905 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 906 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 907 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 908 VK_BLEND_FACTOR_SRC1_COLOR = 15, 909 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 910 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 911 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 912 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 913} VkBlendFactor; 914 915typedef enum VkBlendOp { 916 VK_BLEND_OP_ADD = 0, 917 VK_BLEND_OP_SUBTRACT = 1, 918 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 919 VK_BLEND_OP_MIN = 3, 920 VK_BLEND_OP_MAX = 4, 921 VK_BLEND_OP_ZERO_EXT = 1000148000, 922 VK_BLEND_OP_SRC_EXT = 1000148001, 923 VK_BLEND_OP_DST_EXT = 1000148002, 924 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 925 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 926 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 927 VK_BLEND_OP_DST_IN_EXT = 1000148006, 928 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 929 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 930 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 931 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 932 VK_BLEND_OP_XOR_EXT = 1000148011, 933 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 934 VK_BLEND_OP_SCREEN_EXT = 1000148013, 935 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 936 VK_BLEND_OP_DARKEN_EXT = 1000148015, 937 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 938 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 939 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 940 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 941 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 942 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 943 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 944 VK_BLEND_OP_INVERT_EXT = 1000148023, 945 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 946 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 947 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 948 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 949 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 950 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 951 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 952 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 953 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 954 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 955 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 956 VK_BLEND_OP_PLUS_EXT = 1000148035, 957 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 958 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 959 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 960 VK_BLEND_OP_MINUS_EXT = 1000148039, 961 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 962 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 963 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 964 VK_BLEND_OP_RED_EXT = 1000148043, 965 VK_BLEND_OP_GREEN_EXT = 1000148044, 966 VK_BLEND_OP_BLUE_EXT = 1000148045, 967 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 968} VkBlendOp; 969 970typedef enum VkCompareOp { 971 VK_COMPARE_OP_NEVER = 0, 972 VK_COMPARE_OP_LESS = 1, 973 VK_COMPARE_OP_EQUAL = 2, 974 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 975 VK_COMPARE_OP_GREATER = 4, 976 VK_COMPARE_OP_NOT_EQUAL = 5, 977 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 978 VK_COMPARE_OP_ALWAYS = 7, 979 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 980} VkCompareOp; 981 982typedef enum VkDynamicState { 983 VK_DYNAMIC_STATE_VIEWPORT = 0, 984 VK_DYNAMIC_STATE_SCISSOR = 1, 985 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 986 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 987 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 988 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 989 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 990 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 991 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 992 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 993 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 994 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 995 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, 996 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000, 997 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001, 998 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002, 999 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003, 1000 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004, 1001 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005, 1002 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006, 1003 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007, 1004 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008, 1005 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009, 1006 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010, 1007 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011, 1008 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1009 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1010 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001, 1011 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002, 1012 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1013 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004, 1014 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1015 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1016} VkDynamicState; 1017 1018typedef enum VkFrontFace { 1019 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1020 VK_FRONT_FACE_CLOCKWISE = 1, 1021 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1022} VkFrontFace; 1023 1024typedef enum VkVertexInputRate { 1025 VK_VERTEX_INPUT_RATE_VERTEX = 0, 1026 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 1027 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 1028} VkVertexInputRate; 1029 1030typedef enum VkPrimitiveTopology { 1031 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 1032 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 1033 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 1034 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 1035 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 1036 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 1037 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 1038 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 1039 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 1040 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 1041 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 1042 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 1043} VkPrimitiveTopology; 1044 1045typedef enum VkPolygonMode { 1046 VK_POLYGON_MODE_FILL = 0, 1047 VK_POLYGON_MODE_LINE = 1, 1048 VK_POLYGON_MODE_POINT = 2, 1049 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 1050} VkPolygonMode; 1051 1052typedef enum VkStencilOp { 1053 VK_STENCIL_OP_KEEP = 0, 1054 VK_STENCIL_OP_ZERO = 1, 1055 VK_STENCIL_OP_REPLACE = 2, 1056 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 1057 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 1058 VK_STENCIL_OP_INVERT = 5, 1059 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 1060 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 1061 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 1062} VkStencilOp; 1063 1064typedef enum VkLogicOp { 1065 VK_LOGIC_OP_CLEAR = 0, 1066 VK_LOGIC_OP_AND = 1, 1067 VK_LOGIC_OP_AND_REVERSE = 2, 1068 VK_LOGIC_OP_COPY = 3, 1069 VK_LOGIC_OP_AND_INVERTED = 4, 1070 VK_LOGIC_OP_NO_OP = 5, 1071 VK_LOGIC_OP_XOR = 6, 1072 VK_LOGIC_OP_OR = 7, 1073 VK_LOGIC_OP_NOR = 8, 1074 VK_LOGIC_OP_EQUIVALENT = 9, 1075 VK_LOGIC_OP_INVERT = 10, 1076 VK_LOGIC_OP_OR_REVERSE = 11, 1077 VK_LOGIC_OP_COPY_INVERTED = 12, 1078 VK_LOGIC_OP_OR_INVERTED = 13, 1079 VK_LOGIC_OP_NAND = 14, 1080 VK_LOGIC_OP_SET = 15, 1081 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 1082} VkLogicOp; 1083 1084typedef enum VkBorderColor { 1085 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 1086 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 1087 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 1088 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 1089 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 1090 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 1091 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 1092 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 1093 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 1094} VkBorderColor; 1095 1096typedef enum VkFilter { 1097 VK_FILTER_NEAREST = 0, 1098 VK_FILTER_LINEAR = 1, 1099 VK_FILTER_CUBIC_IMG = 1000015000, 1100 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG, 1101 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 1102} VkFilter; 1103 1104typedef enum VkSamplerAddressMode { 1105 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 1106 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 1107 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 1108 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 1109 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 1110 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 1111} VkSamplerAddressMode; 1112 1113typedef enum VkSamplerMipmapMode { 1114 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 1115 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 1116 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 1117} VkSamplerMipmapMode; 1118 1119typedef enum VkDescriptorType { 1120 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 1121 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 1122 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 1123 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 1124 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 1125 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 1126 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 1127 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 1128 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 1129 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 1130 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 1131 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 1132} VkDescriptorType; 1133 1134typedef enum VkAttachmentLoadOp { 1135 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 1136 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 1137 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 1138 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 1139} VkAttachmentLoadOp; 1140 1141typedef enum VkAttachmentStoreOp { 1142 VK_ATTACHMENT_STORE_OP_STORE = 0, 1143 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 1144 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 1145} VkAttachmentStoreOp; 1146 1147typedef enum VkPipelineBindPoint { 1148 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 1149 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 1150 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 1151} VkPipelineBindPoint; 1152 1153typedef enum VkCommandBufferLevel { 1154 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 1155 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 1156 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 1157} VkCommandBufferLevel; 1158 1159typedef enum VkIndexType { 1160 VK_INDEX_TYPE_UINT16 = 0, 1161 VK_INDEX_TYPE_UINT32 = 1, 1162 VK_INDEX_TYPE_UINT8_EXT = 1000265000, 1163 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 1164} VkIndexType; 1165 1166typedef enum VkSubpassContents { 1167 VK_SUBPASS_CONTENTS_INLINE = 0, 1168 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 1169 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 1170} VkSubpassContents; 1171 1172typedef enum VkAccessFlagBits { 1173 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 1174 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 1175 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 1176 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 1177 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 1178 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 1179 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 1180 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 1181 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 1182 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 1183 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 1184 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 1185 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 1186 VK_ACCESS_HOST_READ_BIT = 0x00002000, 1187 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 1188 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 1189 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 1190 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 1191 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 1192 VK_ACCESS_NONE_KHR = 0, 1193 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1194} VkAccessFlagBits; 1195typedef VkFlags VkAccessFlags; 1196 1197typedef enum VkImageAspectFlagBits { 1198 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 1199 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 1200 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 1201 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 1202 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 1203 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 1204 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 1205 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 1206 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 1207 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 1208 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 1209 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1210} VkImageAspectFlagBits; 1211typedef VkFlags VkImageAspectFlags; 1212 1213typedef enum VkFormatFeatureFlagBits { 1214 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 1215 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 1216 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 1217 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 1218 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 1219 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 1220 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 1221 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 1222 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 1223 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 1224 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 1225 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 1226 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 1227 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 1228 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 1229 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 1230 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 1231 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 1232 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 1233 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 1234 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 1235 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 1236 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 1237 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, 1238 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 1239 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, 1240 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1241} VkFormatFeatureFlagBits; 1242typedef VkFlags VkFormatFeatureFlags; 1243 1244typedef enum VkImageCreateFlagBits { 1245 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1246 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1247 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1248 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 1249 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 1250 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 1251 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 1252 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 1253 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 1254 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 1255 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 1256 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 1257 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 1258 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1259} VkImageCreateFlagBits; 1260typedef VkFlags VkImageCreateFlags; 1261 1262typedef enum VkSampleCountFlagBits { 1263 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 1264 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 1265 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 1266 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 1267 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 1268 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 1269 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 1270 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1271} VkSampleCountFlagBits; 1272typedef VkFlags VkSampleCountFlags; 1273 1274typedef enum VkImageUsageFlagBits { 1275 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1276 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 1277 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 1278 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 1279 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 1280 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 1281 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 1282 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 1283 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 1284 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1285} VkImageUsageFlagBits; 1286typedef VkFlags VkImageUsageFlags; 1287typedef VkFlags VkInstanceCreateFlags; 1288 1289typedef enum VkMemoryHeapFlagBits { 1290 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 1291 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 1292 VK_MEMORY_HEAP_SEU_SAFE_BIT = 0x00000004, 1293 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1294} VkMemoryHeapFlagBits; 1295typedef VkFlags VkMemoryHeapFlags; 1296 1297typedef enum VkMemoryPropertyFlagBits { 1298 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 1299 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 1300 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 1301 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 1302 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 1303 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 1304 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1305} VkMemoryPropertyFlagBits; 1306typedef VkFlags VkMemoryPropertyFlags; 1307 1308typedef enum VkQueueFlagBits { 1309 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 1310 VK_QUEUE_COMPUTE_BIT = 0x00000002, 1311 VK_QUEUE_TRANSFER_BIT = 0x00000004, 1312 VK_QUEUE_PROTECTED_BIT = 0x00000010, 1313 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1314} VkQueueFlagBits; 1315typedef VkFlags VkQueueFlags; 1316typedef VkFlags VkDeviceCreateFlags; 1317 1318typedef enum VkDeviceQueueCreateFlagBits { 1319 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 1320 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1321} VkDeviceQueueCreateFlagBits; 1322typedef VkFlags VkDeviceQueueCreateFlags; 1323 1324typedef enum VkPipelineStageFlagBits { 1325 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 1326 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 1327 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 1328 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 1329 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 1330 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 1331 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 1332 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 1333 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 1334 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 1335 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 1336 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 1337 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 1338 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 1339 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 1340 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 1341 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 1342 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 1343 VK_PIPELINE_STAGE_NONE_KHR = 0, 1344 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1345} VkPipelineStageFlagBits; 1346typedef VkFlags VkPipelineStageFlags; 1347typedef VkFlags VkMemoryMapFlags; 1348 1349typedef enum VkFenceCreateFlagBits { 1350 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 1351 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1352} VkFenceCreateFlagBits; 1353typedef VkFlags VkFenceCreateFlags; 1354typedef VkFlags VkSemaphoreCreateFlags; 1355 1356typedef enum VkEventCreateFlagBits { 1357 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001, 1358 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1359} VkEventCreateFlagBits; 1360typedef VkFlags VkEventCreateFlags; 1361 1362typedef enum VkQueryPipelineStatisticFlagBits { 1363 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 1364 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 1365 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 1366 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 1367 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 1368 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 1369 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 1370 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 1371 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 1372 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 1373 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 1374 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1375} VkQueryPipelineStatisticFlagBits; 1376typedef VkFlags VkQueryPipelineStatisticFlags; 1377typedef VkFlags VkQueryPoolCreateFlags; 1378 1379typedef enum VkQueryResultFlagBits { 1380 VK_QUERY_RESULT_64_BIT = 0x00000001, 1381 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 1382 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 1383 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 1384 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1385} VkQueryResultFlagBits; 1386typedef VkFlags VkQueryResultFlags; 1387 1388typedef enum VkBufferCreateFlagBits { 1389 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1390 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1391 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1392 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 1393 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 1394 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1395} VkBufferCreateFlagBits; 1396typedef VkFlags VkBufferCreateFlags; 1397 1398typedef enum VkBufferUsageFlagBits { 1399 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1400 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 1401 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 1402 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 1403 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 1404 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 1405 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 1406 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 1407 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 1408 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 1409 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1410} VkBufferUsageFlagBits; 1411typedef VkFlags VkBufferUsageFlags; 1412typedef VkFlags VkBufferViewCreateFlags; 1413 1414typedef enum VkImageViewCreateFlagBits { 1415 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1416} VkImageViewCreateFlagBits; 1417typedef VkFlags VkImageViewCreateFlags; 1418 1419typedef enum VkPipelineCacheCreateFlagBits { 1420 VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT = 0x00000004, 1421 VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT = 0x00000002, 1422 VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT = VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT, 1423 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1424} VkPipelineCacheCreateFlagBits; 1425typedef VkFlags VkPipelineCacheCreateFlags; 1426 1427typedef enum VkColorComponentFlagBits { 1428 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 1429 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 1430 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 1431 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 1432 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1433} VkColorComponentFlagBits; 1434typedef VkFlags VkColorComponentFlags; 1435 1436typedef enum VkPipelineCreateFlagBits { 1437 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 1438 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 1439 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 1440 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 1441 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1442} VkPipelineCreateFlagBits; 1443typedef VkFlags VkPipelineCreateFlags; 1444 1445typedef enum VkPipelineShaderStageCreateFlagBits { 1446 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001, 1447 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002, 1448 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1449} VkPipelineShaderStageCreateFlagBits; 1450typedef VkFlags VkPipelineShaderStageCreateFlags; 1451 1452typedef enum VkShaderStageFlagBits { 1453 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 1454 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 1455 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 1456 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 1457 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 1458 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 1459 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 1460 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 1461 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1462} VkShaderStageFlagBits; 1463 1464typedef enum VkCullModeFlagBits { 1465 VK_CULL_MODE_NONE = 0, 1466 VK_CULL_MODE_FRONT_BIT = 0x00000001, 1467 VK_CULL_MODE_BACK_BIT = 0x00000002, 1468 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 1469 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1470} VkCullModeFlagBits; 1471typedef VkFlags VkCullModeFlags; 1472typedef VkFlags VkPipelineVertexInputStateCreateFlags; 1473typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 1474typedef VkFlags VkPipelineTessellationStateCreateFlags; 1475typedef VkFlags VkPipelineViewportStateCreateFlags; 1476typedef VkFlags VkPipelineRasterizationStateCreateFlags; 1477typedef VkFlags VkPipelineMultisampleStateCreateFlags; 1478typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 1479typedef VkFlags VkPipelineColorBlendStateCreateFlags; 1480typedef VkFlags VkPipelineDynamicStateCreateFlags; 1481typedef VkFlags VkPipelineLayoutCreateFlags; 1482typedef VkFlags VkShaderStageFlags; 1483 1484typedef enum VkSamplerCreateFlagBits { 1485 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1486} VkSamplerCreateFlagBits; 1487typedef VkFlags VkSamplerCreateFlags; 1488 1489typedef enum VkDescriptorPoolCreateFlagBits { 1490 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 1491 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 1492 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1493} VkDescriptorPoolCreateFlagBits; 1494typedef VkFlags VkDescriptorPoolCreateFlags; 1495typedef VkFlags VkDescriptorPoolResetFlags; 1496 1497typedef enum VkDescriptorSetLayoutCreateFlagBits { 1498 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 1499 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1500} VkDescriptorSetLayoutCreateFlagBits; 1501typedef VkFlags VkDescriptorSetLayoutCreateFlags; 1502 1503typedef enum VkAttachmentDescriptionFlagBits { 1504 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 1505 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1506} VkAttachmentDescriptionFlagBits; 1507typedef VkFlags VkAttachmentDescriptionFlags; 1508 1509typedef enum VkDependencyFlagBits { 1510 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 1511 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 1512 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 1513 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1514} VkDependencyFlagBits; 1515typedef VkFlags VkDependencyFlags; 1516 1517typedef enum VkFramebufferCreateFlagBits { 1518 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 1519 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1520} VkFramebufferCreateFlagBits; 1521typedef VkFlags VkFramebufferCreateFlags; 1522 1523typedef enum VkRenderPassCreateFlagBits { 1524 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1525} VkRenderPassCreateFlagBits; 1526typedef VkFlags VkRenderPassCreateFlags; 1527 1528typedef enum VkSubpassDescriptionFlagBits { 1529 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1530} VkSubpassDescriptionFlagBits; 1531typedef VkFlags VkSubpassDescriptionFlags; 1532 1533typedef enum VkCommandPoolCreateFlagBits { 1534 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 1535 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 1536 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 1537 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1538} VkCommandPoolCreateFlagBits; 1539typedef VkFlags VkCommandPoolCreateFlags; 1540 1541typedef enum VkCommandPoolResetFlagBits { 1542 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1543} VkCommandPoolResetFlagBits; 1544typedef VkFlags VkCommandPoolResetFlags; 1545 1546typedef enum VkCommandBufferUsageFlagBits { 1547 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 1548 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 1549 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 1550 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1551} VkCommandBufferUsageFlagBits; 1552typedef VkFlags VkCommandBufferUsageFlags; 1553 1554typedef enum VkQueryControlFlagBits { 1555 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 1556 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1557} VkQueryControlFlagBits; 1558typedef VkFlags VkQueryControlFlags; 1559 1560typedef enum VkCommandBufferResetFlagBits { 1561 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1562 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1563} VkCommandBufferResetFlagBits; 1564typedef VkFlags VkCommandBufferResetFlags; 1565 1566typedef enum VkStencilFaceFlagBits { 1567 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 1568 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 1569 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 1570 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1571} VkStencilFaceFlagBits; 1572typedef VkFlags VkStencilFaceFlags; 1573typedef struct VkExtent2D { 1574 deUint32 width; 1575 deUint32 height; 1576} VkExtent2D; 1577 1578typedef struct VkExtent3D { 1579 deUint32 width; 1580 deUint32 height; 1581 deUint32 depth; 1582} VkExtent3D; 1583 1584typedef struct VkOffset2D { 1585 deInt32 x; 1586 deInt32 y; 1587} VkOffset2D; 1588 1589typedef struct VkOffset3D { 1590 deInt32 x; 1591 deInt32 y; 1592 deInt32 z; 1593} VkOffset3D; 1594 1595typedef struct VkRect2D { 1596 VkOffset2D offset; 1597 VkExtent2D extent; 1598} VkRect2D; 1599 1600typedef struct VkBaseInStructure { 1601 VkStructureType sType; 1602 const struct VkBaseInStructure* pNext; 1603} VkBaseInStructure; 1604 1605typedef struct VkBaseOutStructure { 1606 VkStructureType sType; 1607 struct VkBaseOutStructure* pNext; 1608} VkBaseOutStructure; 1609 1610typedef struct VkBufferMemoryBarrier { 1611 VkStructureType sType; 1612 const void* pNext; 1613 VkAccessFlags srcAccessMask; 1614 VkAccessFlags dstAccessMask; 1615 deUint32 srcQueueFamilyIndex; 1616 deUint32 dstQueueFamilyIndex; 1617 VkBuffer buffer; 1618 VkDeviceSize offset; 1619 VkDeviceSize size; 1620} VkBufferMemoryBarrier; 1621 1622typedef struct VkDispatchIndirectCommand { 1623 deUint32 x; 1624 deUint32 y; 1625 deUint32 z; 1626} VkDispatchIndirectCommand; 1627 1628typedef struct VkDrawIndexedIndirectCommand { 1629 deUint32 indexCount; 1630 deUint32 instanceCount; 1631 deUint32 firstIndex; 1632 deInt32 vertexOffset; 1633 deUint32 firstInstance; 1634} VkDrawIndexedIndirectCommand; 1635 1636typedef struct VkDrawIndirectCommand { 1637 deUint32 vertexCount; 1638 deUint32 instanceCount; 1639 deUint32 firstVertex; 1640 deUint32 firstInstance; 1641} VkDrawIndirectCommand; 1642 1643typedef struct VkImageSubresourceRange { 1644 VkImageAspectFlags aspectMask; 1645 deUint32 baseMipLevel; 1646 deUint32 levelCount; 1647 deUint32 baseArrayLayer; 1648 deUint32 layerCount; 1649} VkImageSubresourceRange; 1650 1651typedef struct VkImageMemoryBarrier { 1652 VkStructureType sType; 1653 const void* pNext; 1654 VkAccessFlags srcAccessMask; 1655 VkAccessFlags dstAccessMask; 1656 VkImageLayout oldLayout; 1657 VkImageLayout newLayout; 1658 deUint32 srcQueueFamilyIndex; 1659 deUint32 dstQueueFamilyIndex; 1660 VkImage image; 1661 VkImageSubresourceRange subresourceRange; 1662} VkImageMemoryBarrier; 1663 1664typedef struct VkMemoryBarrier { 1665 VkStructureType sType; 1666 const void* pNext; 1667 VkAccessFlags srcAccessMask; 1668 VkAccessFlags dstAccessMask; 1669} VkMemoryBarrier; 1670 1671typedef struct VkPipelineCacheHeaderVersionOne { 1672 deUint32 headerSize; 1673 VkPipelineCacheHeaderVersion headerVersion; 1674 deUint32 vendorID; 1675 deUint32 deviceID; 1676 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 1677} VkPipelineCacheHeaderVersionOne; 1678 1679typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 1680 void* pUserData, 1681 deUintptr size, 1682 deUintptr alignment, 1683 VkSystemAllocationScope allocationScope); 1684 1685typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 1686 void* pUserData, 1687 void* pMemory); 1688 1689typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 1690 void* pUserData, 1691 deUintptr size, 1692 VkInternalAllocationType allocationType, 1693 VkSystemAllocationScope allocationScope); 1694 1695typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 1696 void* pUserData, 1697 deUintptr size, 1698 VkInternalAllocationType allocationType, 1699 VkSystemAllocationScope allocationScope); 1700 1701typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 1702 void* pUserData, 1703 void* pOriginal, 1704 deUintptr size, 1705 deUintptr alignment, 1706 VkSystemAllocationScope allocationScope); 1707 1708typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 1709typedef struct VkAllocationCallbacks { 1710 void* pUserData; 1711 PFN_vkAllocationFunction pfnAllocation; 1712 PFN_vkReallocationFunction pfnReallocation; 1713 PFN_vkFreeFunction pfnFree; 1714 PFN_vkInternalAllocationNotification pfnInternalAllocation; 1715 PFN_vkInternalFreeNotification pfnInternalFree; 1716} VkAllocationCallbacks; 1717 1718typedef struct VkApplicationInfo { 1719 VkStructureType sType; 1720 const void* pNext; 1721 const char* pApplicationName; 1722 deUint32 applicationVersion; 1723 const char* pEngineName; 1724 deUint32 engineVersion; 1725 deUint32 apiVersion; 1726} VkApplicationInfo; 1727 1728typedef struct VkFormatProperties { 1729 VkFormatFeatureFlags linearTilingFeatures; 1730 VkFormatFeatureFlags optimalTilingFeatures; 1731 VkFormatFeatureFlags bufferFeatures; 1732} VkFormatProperties; 1733 1734typedef struct VkImageFormatProperties { 1735 VkExtent3D maxExtent; 1736 deUint32 maxMipLevels; 1737 deUint32 maxArrayLayers; 1738 VkSampleCountFlags sampleCounts; 1739 VkDeviceSize maxResourceSize; 1740} VkImageFormatProperties; 1741 1742typedef struct VkInstanceCreateInfo { 1743 VkStructureType sType; 1744 const void* pNext; 1745 VkInstanceCreateFlags flags; 1746 const VkApplicationInfo* pApplicationInfo; 1747 deUint32 enabledLayerCount; 1748 const char* const* ppEnabledLayerNames; 1749 deUint32 enabledExtensionCount; 1750 const char* const* ppEnabledExtensionNames; 1751} VkInstanceCreateInfo; 1752 1753typedef struct VkMemoryHeap { 1754 VkDeviceSize size; 1755 VkMemoryHeapFlags flags; 1756} VkMemoryHeap; 1757 1758typedef struct VkMemoryType { 1759 VkMemoryPropertyFlags propertyFlags; 1760 deUint32 heapIndex; 1761} VkMemoryType; 1762 1763typedef struct VkPhysicalDeviceFeatures { 1764 VkBool32 robustBufferAccess; 1765 VkBool32 fullDrawIndexUint32; 1766 VkBool32 imageCubeArray; 1767 VkBool32 independentBlend; 1768 VkBool32 geometryShader; 1769 VkBool32 tessellationShader; 1770 VkBool32 sampleRateShading; 1771 VkBool32 dualSrcBlend; 1772 VkBool32 logicOp; 1773 VkBool32 multiDrawIndirect; 1774 VkBool32 drawIndirectFirstInstance; 1775 VkBool32 depthClamp; 1776 VkBool32 depthBiasClamp; 1777 VkBool32 fillModeNonSolid; 1778 VkBool32 depthBounds; 1779 VkBool32 wideLines; 1780 VkBool32 largePoints; 1781 VkBool32 alphaToOne; 1782 VkBool32 multiViewport; 1783 VkBool32 samplerAnisotropy; 1784 VkBool32 textureCompressionETC2; 1785 VkBool32 textureCompressionASTC_LDR; 1786 VkBool32 textureCompressionBC; 1787 VkBool32 occlusionQueryPrecise; 1788 VkBool32 pipelineStatisticsQuery; 1789 VkBool32 vertexPipelineStoresAndAtomics; 1790 VkBool32 fragmentStoresAndAtomics; 1791 VkBool32 shaderTessellationAndGeometryPointSize; 1792 VkBool32 shaderImageGatherExtended; 1793 VkBool32 shaderStorageImageExtendedFormats; 1794 VkBool32 shaderStorageImageMultisample; 1795 VkBool32 shaderStorageImageReadWithoutFormat; 1796 VkBool32 shaderStorageImageWriteWithoutFormat; 1797 VkBool32 shaderUniformBufferArrayDynamicIndexing; 1798 VkBool32 shaderSampledImageArrayDynamicIndexing; 1799 VkBool32 shaderStorageBufferArrayDynamicIndexing; 1800 VkBool32 shaderStorageImageArrayDynamicIndexing; 1801 VkBool32 shaderClipDistance; 1802 VkBool32 shaderCullDistance; 1803 VkBool32 shaderFloat64; 1804 VkBool32 shaderInt64; 1805 VkBool32 shaderInt16; 1806 VkBool32 shaderResourceResidency; 1807 VkBool32 shaderResourceMinLod; 1808 VkBool32 sparseBinding; 1809 VkBool32 sparseResidencyBuffer; 1810 VkBool32 sparseResidencyImage2D; 1811 VkBool32 sparseResidencyImage3D; 1812 VkBool32 sparseResidency2Samples; 1813 VkBool32 sparseResidency4Samples; 1814 VkBool32 sparseResidency8Samples; 1815 VkBool32 sparseResidency16Samples; 1816 VkBool32 sparseResidencyAliased; 1817 VkBool32 variableMultisampleRate; 1818 VkBool32 inheritedQueries; 1819} VkPhysicalDeviceFeatures; 1820 1821typedef struct VkPhysicalDeviceLimits { 1822 deUint32 maxImageDimension1D; 1823 deUint32 maxImageDimension2D; 1824 deUint32 maxImageDimension3D; 1825 deUint32 maxImageDimensionCube; 1826 deUint32 maxImageArrayLayers; 1827 deUint32 maxTexelBufferElements; 1828 deUint32 maxUniformBufferRange; 1829 deUint32 maxStorageBufferRange; 1830 deUint32 maxPushConstantsSize; 1831 deUint32 maxMemoryAllocationCount; 1832 deUint32 maxSamplerAllocationCount; 1833 VkDeviceSize bufferImageGranularity; 1834 VkDeviceSize sparseAddressSpaceSize; 1835 deUint32 maxBoundDescriptorSets; 1836 deUint32 maxPerStageDescriptorSamplers; 1837 deUint32 maxPerStageDescriptorUniformBuffers; 1838 deUint32 maxPerStageDescriptorStorageBuffers; 1839 deUint32 maxPerStageDescriptorSampledImages; 1840 deUint32 maxPerStageDescriptorStorageImages; 1841 deUint32 maxPerStageDescriptorInputAttachments; 1842 deUint32 maxPerStageResources; 1843 deUint32 maxDescriptorSetSamplers; 1844 deUint32 maxDescriptorSetUniformBuffers; 1845 deUint32 maxDescriptorSetUniformBuffersDynamic; 1846 deUint32 maxDescriptorSetStorageBuffers; 1847 deUint32 maxDescriptorSetStorageBuffersDynamic; 1848 deUint32 maxDescriptorSetSampledImages; 1849 deUint32 maxDescriptorSetStorageImages; 1850 deUint32 maxDescriptorSetInputAttachments; 1851 deUint32 maxVertexInputAttributes; 1852 deUint32 maxVertexInputBindings; 1853 deUint32 maxVertexInputAttributeOffset; 1854 deUint32 maxVertexInputBindingStride; 1855 deUint32 maxVertexOutputComponents; 1856 deUint32 maxTessellationGenerationLevel; 1857 deUint32 maxTessellationPatchSize; 1858 deUint32 maxTessellationControlPerVertexInputComponents; 1859 deUint32 maxTessellationControlPerVertexOutputComponents; 1860 deUint32 maxTessellationControlPerPatchOutputComponents; 1861 deUint32 maxTessellationControlTotalOutputComponents; 1862 deUint32 maxTessellationEvaluationInputComponents; 1863 deUint32 maxTessellationEvaluationOutputComponents; 1864 deUint32 maxGeometryShaderInvocations; 1865 deUint32 maxGeometryInputComponents; 1866 deUint32 maxGeometryOutputComponents; 1867 deUint32 maxGeometryOutputVertices; 1868 deUint32 maxGeometryTotalOutputComponents; 1869 deUint32 maxFragmentInputComponents; 1870 deUint32 maxFragmentOutputAttachments; 1871 deUint32 maxFragmentDualSrcAttachments; 1872 deUint32 maxFragmentCombinedOutputResources; 1873 deUint32 maxComputeSharedMemorySize; 1874 deUint32 maxComputeWorkGroupCount[3]; 1875 deUint32 maxComputeWorkGroupInvocations; 1876 deUint32 maxComputeWorkGroupSize[3]; 1877 deUint32 subPixelPrecisionBits; 1878 deUint32 subTexelPrecisionBits; 1879 deUint32 mipmapPrecisionBits; 1880 deUint32 maxDrawIndexedIndexValue; 1881 deUint32 maxDrawIndirectCount; 1882 float maxSamplerLodBias; 1883 float maxSamplerAnisotropy; 1884 deUint32 maxViewports; 1885 deUint32 maxViewportDimensions[2]; 1886 float viewportBoundsRange[2]; 1887 deUint32 viewportSubPixelBits; 1888 deUintptr minMemoryMapAlignment; 1889 VkDeviceSize minTexelBufferOffsetAlignment; 1890 VkDeviceSize minUniformBufferOffsetAlignment; 1891 VkDeviceSize minStorageBufferOffsetAlignment; 1892 deInt32 minTexelOffset; 1893 deUint32 maxTexelOffset; 1894 deInt32 minTexelGatherOffset; 1895 deUint32 maxTexelGatherOffset; 1896 float minInterpolationOffset; 1897 float maxInterpolationOffset; 1898 deUint32 subPixelInterpolationOffsetBits; 1899 deUint32 maxFramebufferWidth; 1900 deUint32 maxFramebufferHeight; 1901 deUint32 maxFramebufferLayers; 1902 VkSampleCountFlags framebufferColorSampleCounts; 1903 VkSampleCountFlags framebufferDepthSampleCounts; 1904 VkSampleCountFlags framebufferStencilSampleCounts; 1905 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 1906 deUint32 maxColorAttachments; 1907 VkSampleCountFlags sampledImageColorSampleCounts; 1908 VkSampleCountFlags sampledImageIntegerSampleCounts; 1909 VkSampleCountFlags sampledImageDepthSampleCounts; 1910 VkSampleCountFlags sampledImageStencilSampleCounts; 1911 VkSampleCountFlags storageImageSampleCounts; 1912 deUint32 maxSampleMaskWords; 1913 VkBool32 timestampComputeAndGraphics; 1914 float timestampPeriod; 1915 deUint32 maxClipDistances; 1916 deUint32 maxCullDistances; 1917 deUint32 maxCombinedClipAndCullDistances; 1918 deUint32 discreteQueuePriorities; 1919 float pointSizeRange[2]; 1920 float lineWidthRange[2]; 1921 float pointSizeGranularity; 1922 float lineWidthGranularity; 1923 VkBool32 strictLines; 1924 VkBool32 standardSampleLocations; 1925 VkDeviceSize optimalBufferCopyOffsetAlignment; 1926 VkDeviceSize optimalBufferCopyRowPitchAlignment; 1927 VkDeviceSize nonCoherentAtomSize; 1928} VkPhysicalDeviceLimits; 1929 1930typedef struct VkPhysicalDeviceMemoryProperties { 1931 deUint32 memoryTypeCount; 1932 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 1933 deUint32 memoryHeapCount; 1934 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 1935} VkPhysicalDeviceMemoryProperties; 1936 1937typedef struct VkPhysicalDeviceSparseProperties { 1938 VkBool32 residencyStandard2DBlockShape; 1939 VkBool32 residencyStandard2DMultisampleBlockShape; 1940 VkBool32 residencyStandard3DBlockShape; 1941 VkBool32 residencyAlignedMipSize; 1942 VkBool32 residencyNonResidentStrict; 1943} VkPhysicalDeviceSparseProperties; 1944 1945typedef struct VkPhysicalDeviceProperties { 1946 deUint32 apiVersion; 1947 deUint32 driverVersion; 1948 deUint32 vendorID; 1949 deUint32 deviceID; 1950 VkPhysicalDeviceType deviceType; 1951 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 1952 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 1953 VkPhysicalDeviceLimits limits; 1954 VkPhysicalDeviceSparseProperties sparseProperties; 1955} VkPhysicalDeviceProperties; 1956 1957typedef struct VkQueueFamilyProperties { 1958 VkQueueFlags queueFlags; 1959 deUint32 queueCount; 1960 deUint32 timestampValidBits; 1961 VkExtent3D minImageTransferGranularity; 1962} VkQueueFamilyProperties; 1963 1964typedef struct VkDeviceQueueCreateInfo { 1965 VkStructureType sType; 1966 const void* pNext; 1967 VkDeviceQueueCreateFlags flags; 1968 deUint32 queueFamilyIndex; 1969 deUint32 queueCount; 1970 const float* pQueuePriorities; 1971} VkDeviceQueueCreateInfo; 1972 1973typedef struct VkDeviceCreateInfo { 1974 VkStructureType sType; 1975 const void* pNext; 1976 VkDeviceCreateFlags flags; 1977 deUint32 queueCreateInfoCount; 1978 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 1979 deUint32 enabledLayerCount; 1980 const char* const* ppEnabledLayerNames; 1981 deUint32 enabledExtensionCount; 1982 const char* const* ppEnabledExtensionNames; 1983 const VkPhysicalDeviceFeatures* pEnabledFeatures; 1984} VkDeviceCreateInfo; 1985 1986typedef struct VkExtensionProperties { 1987 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 1988 deUint32 specVersion; 1989} VkExtensionProperties; 1990 1991typedef struct VkLayerProperties { 1992 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 1993 deUint32 specVersion; 1994 deUint32 implementationVersion; 1995 char description[VK_MAX_DESCRIPTION_SIZE]; 1996} VkLayerProperties; 1997 1998typedef struct VkSubmitInfo { 1999 VkStructureType sType; 2000 const void* pNext; 2001 deUint32 waitSemaphoreCount; 2002 const VkSemaphore* pWaitSemaphores; 2003 const VkPipelineStageFlags* pWaitDstStageMask; 2004 deUint32 commandBufferCount; 2005 const VkCommandBuffer* pCommandBuffers; 2006 deUint32 signalSemaphoreCount; 2007 const VkSemaphore* pSignalSemaphores; 2008} VkSubmitInfo; 2009 2010typedef struct VkMappedMemoryRange { 2011 VkStructureType sType; 2012 const void* pNext; 2013 VkDeviceMemory memory; 2014 VkDeviceSize offset; 2015 VkDeviceSize size; 2016} VkMappedMemoryRange; 2017 2018typedef struct VkMemoryAllocateInfo { 2019 VkStructureType sType; 2020 const void* pNext; 2021 VkDeviceSize allocationSize; 2022 deUint32 memoryTypeIndex; 2023} VkMemoryAllocateInfo; 2024 2025typedef struct VkMemoryRequirements { 2026 VkDeviceSize size; 2027 VkDeviceSize alignment; 2028 deUint32 memoryTypeBits; 2029} VkMemoryRequirements; 2030 2031typedef struct VkImageSubresource { 2032 VkImageAspectFlags aspectMask; 2033 deUint32 mipLevel; 2034 deUint32 arrayLayer; 2035} VkImageSubresource; 2036 2037typedef struct VkFenceCreateInfo { 2038 VkStructureType sType; 2039 const void* pNext; 2040 VkFenceCreateFlags flags; 2041} VkFenceCreateInfo; 2042 2043typedef struct VkSemaphoreCreateInfo { 2044 VkStructureType sType; 2045 const void* pNext; 2046 VkSemaphoreCreateFlags flags; 2047} VkSemaphoreCreateInfo; 2048 2049typedef struct VkEventCreateInfo { 2050 VkStructureType sType; 2051 const void* pNext; 2052 VkEventCreateFlags flags; 2053} VkEventCreateInfo; 2054 2055typedef struct VkQueryPoolCreateInfo { 2056 VkStructureType sType; 2057 const void* pNext; 2058 VkQueryPoolCreateFlags flags; 2059 VkQueryType queryType; 2060 deUint32 queryCount; 2061 VkQueryPipelineStatisticFlags pipelineStatistics; 2062} VkQueryPoolCreateInfo; 2063 2064typedef struct VkBufferCreateInfo { 2065 VkStructureType sType; 2066 const void* pNext; 2067 VkBufferCreateFlags flags; 2068 VkDeviceSize size; 2069 VkBufferUsageFlags usage; 2070 VkSharingMode sharingMode; 2071 deUint32 queueFamilyIndexCount; 2072 const deUint32* pQueueFamilyIndices; 2073} VkBufferCreateInfo; 2074 2075typedef struct VkBufferViewCreateInfo { 2076 VkStructureType sType; 2077 const void* pNext; 2078 VkBufferViewCreateFlags flags; 2079 VkBuffer buffer; 2080 VkFormat format; 2081 VkDeviceSize offset; 2082 VkDeviceSize range; 2083} VkBufferViewCreateInfo; 2084 2085typedef struct VkImageCreateInfo { 2086 VkStructureType sType; 2087 const void* pNext; 2088 VkImageCreateFlags flags; 2089 VkImageType imageType; 2090 VkFormat format; 2091 VkExtent3D extent; 2092 deUint32 mipLevels; 2093 deUint32 arrayLayers; 2094 VkSampleCountFlagBits samples; 2095 VkImageTiling tiling; 2096 VkImageUsageFlags usage; 2097 VkSharingMode sharingMode; 2098 deUint32 queueFamilyIndexCount; 2099 const deUint32* pQueueFamilyIndices; 2100 VkImageLayout initialLayout; 2101} VkImageCreateInfo; 2102 2103typedef struct VkSubresourceLayout { 2104 VkDeviceSize offset; 2105 VkDeviceSize size; 2106 VkDeviceSize rowPitch; 2107 VkDeviceSize arrayPitch; 2108 VkDeviceSize depthPitch; 2109} VkSubresourceLayout; 2110 2111typedef struct VkComponentMapping { 2112 VkComponentSwizzle r; 2113 VkComponentSwizzle g; 2114 VkComponentSwizzle b; 2115 VkComponentSwizzle a; 2116} VkComponentMapping; 2117 2118typedef struct VkImageViewCreateInfo { 2119 VkStructureType sType; 2120 const void* pNext; 2121 VkImageViewCreateFlags flags; 2122 VkImage image; 2123 VkImageViewType viewType; 2124 VkFormat format; 2125 VkComponentMapping components; 2126 VkImageSubresourceRange subresourceRange; 2127} VkImageViewCreateInfo; 2128 2129typedef struct VkPipelineCacheCreateInfo { 2130 VkStructureType sType; 2131 const void* pNext; 2132 VkPipelineCacheCreateFlags flags; 2133 deUintptr initialDataSize; 2134 const void* pInitialData; 2135} VkPipelineCacheCreateInfo; 2136 2137typedef struct VkSpecializationMapEntry { 2138 deUint32 constantID; 2139 deUint32 offset; 2140 deUintptr size; 2141} VkSpecializationMapEntry; 2142 2143typedef struct VkSpecializationInfo { 2144 deUint32 mapEntryCount; 2145 const VkSpecializationMapEntry* pMapEntries; 2146 deUintptr dataSize; 2147 const void* pData; 2148} VkSpecializationInfo; 2149 2150typedef struct VkPipelineShaderStageCreateInfo { 2151 VkStructureType sType; 2152 const void* pNext; 2153 VkPipelineShaderStageCreateFlags flags; 2154 VkShaderStageFlagBits stage; 2155 VkShaderModule module; 2156 const char* pName; 2157 const VkSpecializationInfo* pSpecializationInfo; 2158} VkPipelineShaderStageCreateInfo; 2159 2160typedef struct VkComputePipelineCreateInfo { 2161 VkStructureType sType; 2162 const void* pNext; 2163 VkPipelineCreateFlags flags; 2164 VkPipelineShaderStageCreateInfo stage; 2165 VkPipelineLayout layout; 2166 VkPipeline basePipelineHandle; 2167 deInt32 basePipelineIndex; 2168} VkComputePipelineCreateInfo; 2169 2170typedef struct VkVertexInputBindingDescription { 2171 deUint32 binding; 2172 deUint32 stride; 2173 VkVertexInputRate inputRate; 2174} VkVertexInputBindingDescription; 2175 2176typedef struct VkVertexInputAttributeDescription { 2177 deUint32 location; 2178 deUint32 binding; 2179 VkFormat format; 2180 deUint32 offset; 2181} VkVertexInputAttributeDescription; 2182 2183typedef struct VkPipelineVertexInputStateCreateInfo { 2184 VkStructureType sType; 2185 const void* pNext; 2186 VkPipelineVertexInputStateCreateFlags flags; 2187 deUint32 vertexBindingDescriptionCount; 2188 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 2189 deUint32 vertexAttributeDescriptionCount; 2190 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 2191} VkPipelineVertexInputStateCreateInfo; 2192 2193typedef struct VkPipelineInputAssemblyStateCreateInfo { 2194 VkStructureType sType; 2195 const void* pNext; 2196 VkPipelineInputAssemblyStateCreateFlags flags; 2197 VkPrimitiveTopology topology; 2198 VkBool32 primitiveRestartEnable; 2199} VkPipelineInputAssemblyStateCreateInfo; 2200 2201typedef struct VkPipelineTessellationStateCreateInfo { 2202 VkStructureType sType; 2203 const void* pNext; 2204 VkPipelineTessellationStateCreateFlags flags; 2205 deUint32 patchControlPoints; 2206} VkPipelineTessellationStateCreateInfo; 2207 2208typedef struct VkViewport { 2209 float x; 2210 float y; 2211 float width; 2212 float height; 2213 float minDepth; 2214 float maxDepth; 2215} VkViewport; 2216 2217typedef struct VkPipelineViewportStateCreateInfo { 2218 VkStructureType sType; 2219 const void* pNext; 2220 VkPipelineViewportStateCreateFlags flags; 2221 deUint32 viewportCount; 2222 const VkViewport* pViewports; 2223 deUint32 scissorCount; 2224 const VkRect2D* pScissors; 2225} VkPipelineViewportStateCreateInfo; 2226 2227typedef struct VkPipelineRasterizationStateCreateInfo { 2228 VkStructureType sType; 2229 const void* pNext; 2230 VkPipelineRasterizationStateCreateFlags flags; 2231 VkBool32 depthClampEnable; 2232 VkBool32 rasterizerDiscardEnable; 2233 VkPolygonMode polygonMode; 2234 VkCullModeFlags cullMode; 2235 VkFrontFace frontFace; 2236 VkBool32 depthBiasEnable; 2237 float depthBiasConstantFactor; 2238 float depthBiasClamp; 2239 float depthBiasSlopeFactor; 2240 float lineWidth; 2241} VkPipelineRasterizationStateCreateInfo; 2242 2243typedef struct VkPipelineMultisampleStateCreateInfo { 2244 VkStructureType sType; 2245 const void* pNext; 2246 VkPipelineMultisampleStateCreateFlags flags; 2247 VkSampleCountFlagBits rasterizationSamples; 2248 VkBool32 sampleShadingEnable; 2249 float minSampleShading; 2250 const VkSampleMask* pSampleMask; 2251 VkBool32 alphaToCoverageEnable; 2252 VkBool32 alphaToOneEnable; 2253} VkPipelineMultisampleStateCreateInfo; 2254 2255typedef struct VkStencilOpState { 2256 VkStencilOp failOp; 2257 VkStencilOp passOp; 2258 VkStencilOp depthFailOp; 2259 VkCompareOp compareOp; 2260 deUint32 compareMask; 2261 deUint32 writeMask; 2262 deUint32 reference; 2263} VkStencilOpState; 2264 2265typedef struct VkPipelineDepthStencilStateCreateInfo { 2266 VkStructureType sType; 2267 const void* pNext; 2268 VkPipelineDepthStencilStateCreateFlags flags; 2269 VkBool32 depthTestEnable; 2270 VkBool32 depthWriteEnable; 2271 VkCompareOp depthCompareOp; 2272 VkBool32 depthBoundsTestEnable; 2273 VkBool32 stencilTestEnable; 2274 VkStencilOpState front; 2275 VkStencilOpState back; 2276 float minDepthBounds; 2277 float maxDepthBounds; 2278} VkPipelineDepthStencilStateCreateInfo; 2279 2280typedef struct VkPipelineColorBlendAttachmentState { 2281 VkBool32 blendEnable; 2282 VkBlendFactor srcColorBlendFactor; 2283 VkBlendFactor dstColorBlendFactor; 2284 VkBlendOp colorBlendOp; 2285 VkBlendFactor srcAlphaBlendFactor; 2286 VkBlendFactor dstAlphaBlendFactor; 2287 VkBlendOp alphaBlendOp; 2288 VkColorComponentFlags colorWriteMask; 2289} VkPipelineColorBlendAttachmentState; 2290 2291typedef struct VkPipelineColorBlendStateCreateInfo { 2292 VkStructureType sType; 2293 const void* pNext; 2294 VkPipelineColorBlendStateCreateFlags flags; 2295 VkBool32 logicOpEnable; 2296 VkLogicOp logicOp; 2297 deUint32 attachmentCount; 2298 const VkPipelineColorBlendAttachmentState* pAttachments; 2299 float blendConstants[4]; 2300} VkPipelineColorBlendStateCreateInfo; 2301 2302typedef struct VkPipelineDynamicStateCreateInfo { 2303 VkStructureType sType; 2304 const void* pNext; 2305 VkPipelineDynamicStateCreateFlags flags; 2306 deUint32 dynamicStateCount; 2307 const VkDynamicState* pDynamicStates; 2308} VkPipelineDynamicStateCreateInfo; 2309 2310typedef struct VkGraphicsPipelineCreateInfo { 2311 VkStructureType sType; 2312 const void* pNext; 2313 VkPipelineCreateFlags flags; 2314 deUint32 stageCount; 2315 const VkPipelineShaderStageCreateInfo* pStages; 2316 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 2317 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 2318 const VkPipelineTessellationStateCreateInfo* pTessellationState; 2319 const VkPipelineViewportStateCreateInfo* pViewportState; 2320 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 2321 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 2322 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 2323 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 2324 const VkPipelineDynamicStateCreateInfo* pDynamicState; 2325 VkPipelineLayout layout; 2326 VkRenderPass renderPass; 2327 deUint32 subpass; 2328 VkPipeline basePipelineHandle; 2329 deInt32 basePipelineIndex; 2330} VkGraphicsPipelineCreateInfo; 2331 2332typedef struct VkPushConstantRange { 2333 VkShaderStageFlags stageFlags; 2334 deUint32 offset; 2335 deUint32 size; 2336} VkPushConstantRange; 2337 2338typedef struct VkPipelineLayoutCreateInfo { 2339 VkStructureType sType; 2340 const void* pNext; 2341 VkPipelineLayoutCreateFlags flags; 2342 deUint32 setLayoutCount; 2343 const VkDescriptorSetLayout* pSetLayouts; 2344 deUint32 pushConstantRangeCount; 2345 const VkPushConstantRange* pPushConstantRanges; 2346} VkPipelineLayoutCreateInfo; 2347 2348typedef struct VkSamplerCreateInfo { 2349 VkStructureType sType; 2350 const void* pNext; 2351 VkSamplerCreateFlags flags; 2352 VkFilter magFilter; 2353 VkFilter minFilter; 2354 VkSamplerMipmapMode mipmapMode; 2355 VkSamplerAddressMode addressModeU; 2356 VkSamplerAddressMode addressModeV; 2357 VkSamplerAddressMode addressModeW; 2358 float mipLodBias; 2359 VkBool32 anisotropyEnable; 2360 float maxAnisotropy; 2361 VkBool32 compareEnable; 2362 VkCompareOp compareOp; 2363 float minLod; 2364 float maxLod; 2365 VkBorderColor borderColor; 2366 VkBool32 unnormalizedCoordinates; 2367} VkSamplerCreateInfo; 2368 2369typedef struct VkCopyDescriptorSet { 2370 VkStructureType sType; 2371 const void* pNext; 2372 VkDescriptorSet srcSet; 2373 deUint32 srcBinding; 2374 deUint32 srcArrayElement; 2375 VkDescriptorSet dstSet; 2376 deUint32 dstBinding; 2377 deUint32 dstArrayElement; 2378 deUint32 descriptorCount; 2379} VkCopyDescriptorSet; 2380 2381typedef struct VkDescriptorBufferInfo { 2382 VkBuffer buffer; 2383 VkDeviceSize offset; 2384 VkDeviceSize range; 2385} VkDescriptorBufferInfo; 2386 2387typedef struct VkDescriptorImageInfo { 2388 VkSampler sampler; 2389 VkImageView imageView; 2390 VkImageLayout imageLayout; 2391} VkDescriptorImageInfo; 2392 2393typedef struct VkDescriptorPoolSize { 2394 VkDescriptorType type; 2395 deUint32 descriptorCount; 2396} VkDescriptorPoolSize; 2397 2398typedef struct VkDescriptorPoolCreateInfo { 2399 VkStructureType sType; 2400 const void* pNext; 2401 VkDescriptorPoolCreateFlags flags; 2402 deUint32 maxSets; 2403 deUint32 poolSizeCount; 2404 const VkDescriptorPoolSize* pPoolSizes; 2405} VkDescriptorPoolCreateInfo; 2406 2407typedef struct VkDescriptorSetAllocateInfo { 2408 VkStructureType sType; 2409 const void* pNext; 2410 VkDescriptorPool descriptorPool; 2411 deUint32 descriptorSetCount; 2412 const VkDescriptorSetLayout* pSetLayouts; 2413} VkDescriptorSetAllocateInfo; 2414 2415typedef struct VkDescriptorSetLayoutBinding { 2416 deUint32 binding; 2417 VkDescriptorType descriptorType; 2418 deUint32 descriptorCount; 2419 VkShaderStageFlags stageFlags; 2420 const VkSampler* pImmutableSamplers; 2421} VkDescriptorSetLayoutBinding; 2422 2423typedef struct VkDescriptorSetLayoutCreateInfo { 2424 VkStructureType sType; 2425 const void* pNext; 2426 VkDescriptorSetLayoutCreateFlags flags; 2427 deUint32 bindingCount; 2428 const VkDescriptorSetLayoutBinding* pBindings; 2429} VkDescriptorSetLayoutCreateInfo; 2430 2431typedef struct VkWriteDescriptorSet { 2432 VkStructureType sType; 2433 const void* pNext; 2434 VkDescriptorSet dstSet; 2435 deUint32 dstBinding; 2436 deUint32 dstArrayElement; 2437 deUint32 descriptorCount; 2438 VkDescriptorType descriptorType; 2439 const VkDescriptorImageInfo* pImageInfo; 2440 const VkDescriptorBufferInfo* pBufferInfo; 2441 const VkBufferView* pTexelBufferView; 2442} VkWriteDescriptorSet; 2443 2444typedef struct VkAttachmentDescription { 2445 VkAttachmentDescriptionFlags flags; 2446 VkFormat format; 2447 VkSampleCountFlagBits samples; 2448 VkAttachmentLoadOp loadOp; 2449 VkAttachmentStoreOp storeOp; 2450 VkAttachmentLoadOp stencilLoadOp; 2451 VkAttachmentStoreOp stencilStoreOp; 2452 VkImageLayout initialLayout; 2453 VkImageLayout finalLayout; 2454} VkAttachmentDescription; 2455 2456typedef struct VkAttachmentReference { 2457 deUint32 attachment; 2458 VkImageLayout layout; 2459} VkAttachmentReference; 2460 2461typedef struct VkFramebufferCreateInfo { 2462 VkStructureType sType; 2463 const void* pNext; 2464 VkFramebufferCreateFlags flags; 2465 VkRenderPass renderPass; 2466 deUint32 attachmentCount; 2467 const VkImageView* pAttachments; 2468 deUint32 width; 2469 deUint32 height; 2470 deUint32 layers; 2471} VkFramebufferCreateInfo; 2472 2473typedef struct VkSubpassDescription { 2474 VkSubpassDescriptionFlags flags; 2475 VkPipelineBindPoint pipelineBindPoint; 2476 deUint32 inputAttachmentCount; 2477 const VkAttachmentReference* pInputAttachments; 2478 deUint32 colorAttachmentCount; 2479 const VkAttachmentReference* pColorAttachments; 2480 const VkAttachmentReference* pResolveAttachments; 2481 const VkAttachmentReference* pDepthStencilAttachment; 2482 deUint32 preserveAttachmentCount; 2483 const deUint32* pPreserveAttachments; 2484} VkSubpassDescription; 2485 2486typedef struct VkSubpassDependency { 2487 deUint32 srcSubpass; 2488 deUint32 dstSubpass; 2489 VkPipelineStageFlags srcStageMask; 2490 VkPipelineStageFlags dstStageMask; 2491 VkAccessFlags srcAccessMask; 2492 VkAccessFlags dstAccessMask; 2493 VkDependencyFlags dependencyFlags; 2494} VkSubpassDependency; 2495 2496typedef struct VkRenderPassCreateInfo { 2497 VkStructureType sType; 2498 const void* pNext; 2499 VkRenderPassCreateFlags flags; 2500 deUint32 attachmentCount; 2501 const VkAttachmentDescription* pAttachments; 2502 deUint32 subpassCount; 2503 const VkSubpassDescription* pSubpasses; 2504 deUint32 dependencyCount; 2505 const VkSubpassDependency* pDependencies; 2506} VkRenderPassCreateInfo; 2507 2508typedef struct VkCommandPoolCreateInfo { 2509 VkStructureType sType; 2510 const void* pNext; 2511 VkCommandPoolCreateFlags flags; 2512 deUint32 queueFamilyIndex; 2513} VkCommandPoolCreateInfo; 2514 2515typedef struct VkCommandBufferAllocateInfo { 2516 VkStructureType sType; 2517 const void* pNext; 2518 VkCommandPool commandPool; 2519 VkCommandBufferLevel level; 2520 deUint32 commandBufferCount; 2521} VkCommandBufferAllocateInfo; 2522 2523typedef struct VkCommandBufferInheritanceInfo { 2524 VkStructureType sType; 2525 const void* pNext; 2526 VkRenderPass renderPass; 2527 deUint32 subpass; 2528 VkFramebuffer framebuffer; 2529 VkBool32 occlusionQueryEnable; 2530 VkQueryControlFlags queryFlags; 2531 VkQueryPipelineStatisticFlags pipelineStatistics; 2532} VkCommandBufferInheritanceInfo; 2533 2534typedef struct VkCommandBufferBeginInfo { 2535 VkStructureType sType; 2536 const void* pNext; 2537 VkCommandBufferUsageFlags flags; 2538 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 2539} VkCommandBufferBeginInfo; 2540 2541typedef struct VkBufferCopy { 2542 VkDeviceSize srcOffset; 2543 VkDeviceSize dstOffset; 2544 VkDeviceSize size; 2545} VkBufferCopy; 2546 2547typedef struct VkImageSubresourceLayers { 2548 VkImageAspectFlags aspectMask; 2549 deUint32 mipLevel; 2550 deUint32 baseArrayLayer; 2551 deUint32 layerCount; 2552} VkImageSubresourceLayers; 2553 2554typedef struct VkBufferImageCopy { 2555 VkDeviceSize bufferOffset; 2556 deUint32 bufferRowLength; 2557 deUint32 bufferImageHeight; 2558 VkImageSubresourceLayers imageSubresource; 2559 VkOffset3D imageOffset; 2560 VkExtent3D imageExtent; 2561} VkBufferImageCopy; 2562 2563typedef union VkClearColorValue { 2564 float float32[4]; 2565 deInt32 int32[4]; 2566 deUint32 uint32[4]; 2567} VkClearColorValue; 2568 2569typedef struct VkClearDepthStencilValue { 2570 float depth; 2571 deUint32 stencil; 2572} VkClearDepthStencilValue; 2573 2574typedef union VkClearValue { 2575 VkClearColorValue color; 2576 VkClearDepthStencilValue depthStencil; 2577} VkClearValue; 2578 2579typedef struct VkClearAttachment { 2580 VkImageAspectFlags aspectMask; 2581 deUint32 colorAttachment; 2582 VkClearValue clearValue; 2583} VkClearAttachment; 2584 2585typedef struct VkClearRect { 2586 VkRect2D rect; 2587 deUint32 baseArrayLayer; 2588 deUint32 layerCount; 2589} VkClearRect; 2590 2591typedef struct VkImageBlit { 2592 VkImageSubresourceLayers srcSubresource; 2593 VkOffset3D srcOffsets[2]; 2594 VkImageSubresourceLayers dstSubresource; 2595 VkOffset3D dstOffsets[2]; 2596} VkImageBlit; 2597 2598typedef struct VkImageCopy { 2599 VkImageSubresourceLayers srcSubresource; 2600 VkOffset3D srcOffset; 2601 VkImageSubresourceLayers dstSubresource; 2602 VkOffset3D dstOffset; 2603 VkExtent3D extent; 2604} VkImageCopy; 2605 2606typedef struct VkImageResolve { 2607 VkImageSubresourceLayers srcSubresource; 2608 VkOffset3D srcOffset; 2609 VkImageSubresourceLayers dstSubresource; 2610 VkOffset3D dstOffset; 2611 VkExtent3D extent; 2612} VkImageResolve; 2613 2614typedef struct VkRenderPassBeginInfo { 2615 VkStructureType sType; 2616 const void* pNext; 2617 VkRenderPass renderPass; 2618 VkFramebuffer framebuffer; 2619 VkRect2D renderArea; 2620 deUint32 clearValueCount; 2621 const VkClearValue* pClearValues; 2622} VkRenderPassBeginInfo; 2623 2624typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 2625typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 2626typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 2627typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 2628typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 2629typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 2630typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 2631typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 2632typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2633typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 2634typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 2635typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 2636typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 2637typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); 2638typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); 2639typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties); 2640typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties); 2641typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue); 2642typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 2643typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 2644typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 2645typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 2646typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 2647typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 2648typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 2649typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 2650typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 2651typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 2652typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 2653typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 2654typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 2655typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 2656typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 2657typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences); 2658typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 2659typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout); 2660typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 2661typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 2662typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 2663typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 2664typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 2665typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 2666typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 2667typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 2668typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 2669typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 2670typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 2671typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 2672typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 2673typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 2674typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 2675typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 2676typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 2677typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 2678typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 2679typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 2680typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 2681typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 2682typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 2683typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 2684typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 2685typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 2686typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 2687typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 2688typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 2689typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 2690typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 2691typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 2692typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 2693typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 2694typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 2695typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 2696typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 2697typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 2698typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 2699typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 2700typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 2701typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 2702typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); 2703typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 2704typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 2705typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 2706typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 2707typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports); 2708typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors); 2709typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 2710typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 2711typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 2712typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 2713typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask); 2714typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask); 2715typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference); 2716typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets); 2717typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 2718typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 2719typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance); 2720typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance); 2721typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 2722typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 2723typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 2724typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 2725typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions); 2726typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions); 2727typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter); 2728typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions); 2729typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions); 2730typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 2731typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data); 2732typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); 2733typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); 2734typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects); 2735typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions); 2736typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2737typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2738typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 2739typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 2740typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags); 2741typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query); 2742typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); 2743typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query); 2744typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 2745typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues); 2746typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 2747typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 2748typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 2749typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); 2750 2751#ifndef VK_NO_PROTOTYPES 2752VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 2753 const VkInstanceCreateInfo* pCreateInfo, 2754 const VkAllocationCallbacks* pAllocator, 2755 VkInstance* pInstance); 2756 2757VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 2758 VkInstance instance, 2759 const VkAllocationCallbacks* pAllocator); 2760 2761VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 2762 VkInstance instance, 2763 deUint32* pPhysicalDeviceCount, 2764 VkPhysicalDevice* pPhysicalDevices); 2765 2766VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 2767 VkPhysicalDevice physicalDevice, 2768 VkPhysicalDeviceFeatures* pFeatures); 2769 2770VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 2771 VkPhysicalDevice physicalDevice, 2772 VkFormat format, 2773 VkFormatProperties* pFormatProperties); 2774 2775VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 2776 VkPhysicalDevice physicalDevice, 2777 VkFormat format, 2778 VkImageType type, 2779 VkImageTiling tiling, 2780 VkImageUsageFlags usage, 2781 VkImageCreateFlags flags, 2782 VkImageFormatProperties* pImageFormatProperties); 2783 2784VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 2785 VkPhysicalDevice physicalDevice, 2786 VkPhysicalDeviceProperties* pProperties); 2787 2788VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 2789 VkPhysicalDevice physicalDevice, 2790 deUint32* pQueueFamilyPropertyCount, 2791 VkQueueFamilyProperties* pQueueFamilyProperties); 2792 2793VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 2794 VkPhysicalDevice physicalDevice, 2795 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2796 2797VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 2798 VkInstance instance, 2799 const char* pName); 2800 2801VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 2802 VkDevice device, 2803 const char* pName); 2804 2805VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 2806 VkPhysicalDevice physicalDevice, 2807 const VkDeviceCreateInfo* pCreateInfo, 2808 const VkAllocationCallbacks* pAllocator, 2809 VkDevice* pDevice); 2810 2811VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 2812 VkDevice device, 2813 const VkAllocationCallbacks* pAllocator); 2814 2815VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 2816 const char* pLayerName, 2817 deUint32* pPropertyCount, 2818 VkExtensionProperties* pProperties); 2819 2820VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 2821 VkPhysicalDevice physicalDevice, 2822 const char* pLayerName, 2823 deUint32* pPropertyCount, 2824 VkExtensionProperties* pProperties); 2825 2826VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 2827 deUint32* pPropertyCount, 2828 VkLayerProperties* pProperties); 2829 2830VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 2831 VkPhysicalDevice physicalDevice, 2832 deUint32* pPropertyCount, 2833 VkLayerProperties* pProperties); 2834 2835VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 2836 VkDevice device, 2837 deUint32 queueFamilyIndex, 2838 deUint32 queueIndex, 2839 VkQueue* pQueue); 2840 2841VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 2842 VkQueue queue, 2843 deUint32 submitCount, 2844 const VkSubmitInfo* pSubmits, 2845 VkFence fence); 2846 2847VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 2848 VkQueue queue); 2849 2850VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 2851 VkDevice device); 2852 2853VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 2854 VkDevice device, 2855 const VkMemoryAllocateInfo* pAllocateInfo, 2856 const VkAllocationCallbacks* pAllocator, 2857 VkDeviceMemory* pMemory); 2858 2859VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 2860 VkDevice device, 2861 VkDeviceMemory memory, 2862 VkDeviceSize offset, 2863 VkDeviceSize size, 2864 VkMemoryMapFlags flags, 2865 void** ppData); 2866 2867VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 2868 VkDevice device, 2869 VkDeviceMemory memory); 2870 2871VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 2872 VkDevice device, 2873 deUint32 memoryRangeCount, 2874 const VkMappedMemoryRange* pMemoryRanges); 2875 2876VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 2877 VkDevice device, 2878 deUint32 memoryRangeCount, 2879 const VkMappedMemoryRange* pMemoryRanges); 2880 2881VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 2882 VkDevice device, 2883 VkDeviceMemory memory, 2884 VkDeviceSize* pCommittedMemoryInBytes); 2885 2886VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 2887 VkDevice device, 2888 VkBuffer buffer, 2889 VkDeviceMemory memory, 2890 VkDeviceSize memoryOffset); 2891 2892VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 2893 VkDevice device, 2894 VkImage image, 2895 VkDeviceMemory memory, 2896 VkDeviceSize memoryOffset); 2897 2898VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 2899 VkDevice device, 2900 VkBuffer buffer, 2901 VkMemoryRequirements* pMemoryRequirements); 2902 2903VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 2904 VkDevice device, 2905 VkImage image, 2906 VkMemoryRequirements* pMemoryRequirements); 2907 2908VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 2909 VkDevice device, 2910 const VkFenceCreateInfo* pCreateInfo, 2911 const VkAllocationCallbacks* pAllocator, 2912 VkFence* pFence); 2913 2914VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 2915 VkDevice device, 2916 VkFence fence, 2917 const VkAllocationCallbacks* pAllocator); 2918 2919VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 2920 VkDevice device, 2921 deUint32 fenceCount, 2922 const VkFence* pFences); 2923 2924VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 2925 VkDevice device, 2926 VkFence fence); 2927 2928VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 2929 VkDevice device, 2930 deUint32 fenceCount, 2931 const VkFence* pFences, 2932 VkBool32 waitAll, 2933 deUint64 timeout); 2934 2935VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 2936 VkDevice device, 2937 const VkSemaphoreCreateInfo* pCreateInfo, 2938 const VkAllocationCallbacks* pAllocator, 2939 VkSemaphore* pSemaphore); 2940 2941VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 2942 VkDevice device, 2943 VkSemaphore semaphore, 2944 const VkAllocationCallbacks* pAllocator); 2945 2946VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 2947 VkDevice device, 2948 const VkEventCreateInfo* pCreateInfo, 2949 const VkAllocationCallbacks* pAllocator, 2950 VkEvent* pEvent); 2951 2952VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 2953 VkDevice device, 2954 VkEvent event, 2955 const VkAllocationCallbacks* pAllocator); 2956 2957VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 2958 VkDevice device, 2959 VkEvent event); 2960 2961VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 2962 VkDevice device, 2963 VkEvent event); 2964 2965VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 2966 VkDevice device, 2967 VkEvent event); 2968 2969VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 2970 VkDevice device, 2971 const VkQueryPoolCreateInfo* pCreateInfo, 2972 const VkAllocationCallbacks* pAllocator, 2973 VkQueryPool* pQueryPool); 2974 2975VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 2976 VkDevice device, 2977 VkQueryPool queryPool, 2978 deUint32 firstQuery, 2979 deUint32 queryCount, 2980 deUintptr dataSize, 2981 void* pData, 2982 VkDeviceSize stride, 2983 VkQueryResultFlags flags); 2984 2985VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 2986 VkDevice device, 2987 const VkBufferCreateInfo* pCreateInfo, 2988 const VkAllocationCallbacks* pAllocator, 2989 VkBuffer* pBuffer); 2990 2991VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 2992 VkDevice device, 2993 VkBuffer buffer, 2994 const VkAllocationCallbacks* pAllocator); 2995 2996VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 2997 VkDevice device, 2998 const VkBufferViewCreateInfo* pCreateInfo, 2999 const VkAllocationCallbacks* pAllocator, 3000 VkBufferView* pView); 3001 3002VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 3003 VkDevice device, 3004 VkBufferView bufferView, 3005 const VkAllocationCallbacks* pAllocator); 3006 3007VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 3008 VkDevice device, 3009 const VkImageCreateInfo* pCreateInfo, 3010 const VkAllocationCallbacks* pAllocator, 3011 VkImage* pImage); 3012 3013VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 3014 VkDevice device, 3015 VkImage image, 3016 const VkAllocationCallbacks* pAllocator); 3017 3018VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 3019 VkDevice device, 3020 VkImage image, 3021 const VkImageSubresource* pSubresource, 3022 VkSubresourceLayout* pLayout); 3023 3024VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 3025 VkDevice device, 3026 const VkImageViewCreateInfo* pCreateInfo, 3027 const VkAllocationCallbacks* pAllocator, 3028 VkImageView* pView); 3029 3030VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 3031 VkDevice device, 3032 VkImageView imageView, 3033 const VkAllocationCallbacks* pAllocator); 3034 3035VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 3036 VkDevice device, 3037 const VkPipelineCacheCreateInfo* pCreateInfo, 3038 const VkAllocationCallbacks* pAllocator, 3039 VkPipelineCache* pPipelineCache); 3040 3041VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 3042 VkDevice device, 3043 VkPipelineCache pipelineCache, 3044 const VkAllocationCallbacks* pAllocator); 3045 3046VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 3047 VkDevice device, 3048 VkPipelineCache pipelineCache, 3049 deUint32 createInfoCount, 3050 const VkGraphicsPipelineCreateInfo* pCreateInfos, 3051 const VkAllocationCallbacks* pAllocator, 3052 VkPipeline* pPipelines); 3053 3054VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 3055 VkDevice device, 3056 VkPipelineCache pipelineCache, 3057 deUint32 createInfoCount, 3058 const VkComputePipelineCreateInfo* pCreateInfos, 3059 const VkAllocationCallbacks* pAllocator, 3060 VkPipeline* pPipelines); 3061 3062VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 3063 VkDevice device, 3064 VkPipeline pipeline, 3065 const VkAllocationCallbacks* pAllocator); 3066 3067VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 3068 VkDevice device, 3069 const VkPipelineLayoutCreateInfo* pCreateInfo, 3070 const VkAllocationCallbacks* pAllocator, 3071 VkPipelineLayout* pPipelineLayout); 3072 3073VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 3074 VkDevice device, 3075 VkPipelineLayout pipelineLayout, 3076 const VkAllocationCallbacks* pAllocator); 3077 3078VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 3079 VkDevice device, 3080 const VkSamplerCreateInfo* pCreateInfo, 3081 const VkAllocationCallbacks* pAllocator, 3082 VkSampler* pSampler); 3083 3084VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 3085 VkDevice device, 3086 VkSampler sampler, 3087 const VkAllocationCallbacks* pAllocator); 3088 3089VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 3090 VkDevice device, 3091 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 3092 const VkAllocationCallbacks* pAllocator, 3093 VkDescriptorSetLayout* pSetLayout); 3094 3095VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 3096 VkDevice device, 3097 VkDescriptorSetLayout descriptorSetLayout, 3098 const VkAllocationCallbacks* pAllocator); 3099 3100VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 3101 VkDevice device, 3102 const VkDescriptorPoolCreateInfo* pCreateInfo, 3103 const VkAllocationCallbacks* pAllocator, 3104 VkDescriptorPool* pDescriptorPool); 3105 3106VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 3107 VkDevice device, 3108 VkDescriptorPool descriptorPool, 3109 VkDescriptorPoolResetFlags flags); 3110 3111VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 3112 VkDevice device, 3113 const VkDescriptorSetAllocateInfo* pAllocateInfo, 3114 VkDescriptorSet* pDescriptorSets); 3115 3116VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 3117 VkDevice device, 3118 VkDescriptorPool descriptorPool, 3119 deUint32 descriptorSetCount, 3120 const VkDescriptorSet* pDescriptorSets); 3121 3122VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 3123 VkDevice device, 3124 deUint32 descriptorWriteCount, 3125 const VkWriteDescriptorSet* pDescriptorWrites, 3126 deUint32 descriptorCopyCount, 3127 const VkCopyDescriptorSet* pDescriptorCopies); 3128 3129VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 3130 VkDevice device, 3131 const VkFramebufferCreateInfo* pCreateInfo, 3132 const VkAllocationCallbacks* pAllocator, 3133 VkFramebuffer* pFramebuffer); 3134 3135VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 3136 VkDevice device, 3137 VkFramebuffer framebuffer, 3138 const VkAllocationCallbacks* pAllocator); 3139 3140VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 3141 VkDevice device, 3142 const VkRenderPassCreateInfo* pCreateInfo, 3143 const VkAllocationCallbacks* pAllocator, 3144 VkRenderPass* pRenderPass); 3145 3146VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 3147 VkDevice device, 3148 VkRenderPass renderPass, 3149 const VkAllocationCallbacks* pAllocator); 3150 3151VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 3152 VkDevice device, 3153 VkRenderPass renderPass, 3154 VkExtent2D* pGranularity); 3155 3156VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 3157 VkDevice device, 3158 const VkCommandPoolCreateInfo* pCreateInfo, 3159 const VkAllocationCallbacks* pAllocator, 3160 VkCommandPool* pCommandPool); 3161 3162VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 3163 VkDevice device, 3164 VkCommandPool commandPool, 3165 VkCommandPoolResetFlags flags); 3166 3167VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 3168 VkDevice device, 3169 const VkCommandBufferAllocateInfo* pAllocateInfo, 3170 VkCommandBuffer* pCommandBuffers); 3171 3172VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 3173 VkDevice device, 3174 VkCommandPool commandPool, 3175 deUint32 commandBufferCount, 3176 const VkCommandBuffer* pCommandBuffers); 3177 3178VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 3179 VkCommandBuffer commandBuffer, 3180 const VkCommandBufferBeginInfo* pBeginInfo); 3181 3182VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 3183 VkCommandBuffer commandBuffer); 3184 3185VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 3186 VkCommandBuffer commandBuffer, 3187 VkCommandBufferResetFlags flags); 3188 3189VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 3190 VkCommandBuffer commandBuffer, 3191 VkPipelineBindPoint pipelineBindPoint, 3192 VkPipeline pipeline); 3193 3194VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 3195 VkCommandBuffer commandBuffer, 3196 deUint32 firstViewport, 3197 deUint32 viewportCount, 3198 const VkViewport* pViewports); 3199 3200VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 3201 VkCommandBuffer commandBuffer, 3202 deUint32 firstScissor, 3203 deUint32 scissorCount, 3204 const VkRect2D* pScissors); 3205 3206VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 3207 VkCommandBuffer commandBuffer, 3208 float lineWidth); 3209 3210VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 3211 VkCommandBuffer commandBuffer, 3212 float depthBiasConstantFactor, 3213 float depthBiasClamp, 3214 float depthBiasSlopeFactor); 3215 3216VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 3217 VkCommandBuffer commandBuffer, 3218 const float blendConstants[4]); 3219 3220VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 3221 VkCommandBuffer commandBuffer, 3222 float minDepthBounds, 3223 float maxDepthBounds); 3224 3225VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 3226 VkCommandBuffer commandBuffer, 3227 VkStencilFaceFlags faceMask, 3228 deUint32 compareMask); 3229 3230VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 3231 VkCommandBuffer commandBuffer, 3232 VkStencilFaceFlags faceMask, 3233 deUint32 writeMask); 3234 3235VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 3236 VkCommandBuffer commandBuffer, 3237 VkStencilFaceFlags faceMask, 3238 deUint32 reference); 3239 3240VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 3241 VkCommandBuffer commandBuffer, 3242 VkPipelineBindPoint pipelineBindPoint, 3243 VkPipelineLayout layout, 3244 deUint32 firstSet, 3245 deUint32 descriptorSetCount, 3246 const VkDescriptorSet* pDescriptorSets, 3247 deUint32 dynamicOffsetCount, 3248 const deUint32* pDynamicOffsets); 3249 3250VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 3251 VkCommandBuffer commandBuffer, 3252 VkBuffer buffer, 3253 VkDeviceSize offset, 3254 VkIndexType indexType); 3255 3256VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 3257 VkCommandBuffer commandBuffer, 3258 deUint32 firstBinding, 3259 deUint32 bindingCount, 3260 const VkBuffer* pBuffers, 3261 const VkDeviceSize* pOffsets); 3262 3263VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 3264 VkCommandBuffer commandBuffer, 3265 deUint32 vertexCount, 3266 deUint32 instanceCount, 3267 deUint32 firstVertex, 3268 deUint32 firstInstance); 3269 3270VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 3271 VkCommandBuffer commandBuffer, 3272 deUint32 indexCount, 3273 deUint32 instanceCount, 3274 deUint32 firstIndex, 3275 deInt32 vertexOffset, 3276 deUint32 firstInstance); 3277 3278VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 3279 VkCommandBuffer commandBuffer, 3280 VkBuffer buffer, 3281 VkDeviceSize offset, 3282 deUint32 drawCount, 3283 deUint32 stride); 3284 3285VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 3286 VkCommandBuffer commandBuffer, 3287 VkBuffer buffer, 3288 VkDeviceSize offset, 3289 deUint32 drawCount, 3290 deUint32 stride); 3291 3292VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 3293 VkCommandBuffer commandBuffer, 3294 deUint32 groupCountX, 3295 deUint32 groupCountY, 3296 deUint32 groupCountZ); 3297 3298VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 3299 VkCommandBuffer commandBuffer, 3300 VkBuffer buffer, 3301 VkDeviceSize offset); 3302 3303VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 3304 VkCommandBuffer commandBuffer, 3305 VkBuffer srcBuffer, 3306 VkBuffer dstBuffer, 3307 deUint32 regionCount, 3308 const VkBufferCopy* pRegions); 3309 3310VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 3311 VkCommandBuffer commandBuffer, 3312 VkImage srcImage, 3313 VkImageLayout srcImageLayout, 3314 VkImage dstImage, 3315 VkImageLayout dstImageLayout, 3316 deUint32 regionCount, 3317 const VkImageCopy* pRegions); 3318 3319VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 3320 VkCommandBuffer commandBuffer, 3321 VkImage srcImage, 3322 VkImageLayout srcImageLayout, 3323 VkImage dstImage, 3324 VkImageLayout dstImageLayout, 3325 deUint32 regionCount, 3326 const VkImageBlit* pRegions, 3327 VkFilter filter); 3328 3329VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 3330 VkCommandBuffer commandBuffer, 3331 VkBuffer srcBuffer, 3332 VkImage dstImage, 3333 VkImageLayout dstImageLayout, 3334 deUint32 regionCount, 3335 const VkBufferImageCopy* pRegions); 3336 3337VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 3338 VkCommandBuffer commandBuffer, 3339 VkImage srcImage, 3340 VkImageLayout srcImageLayout, 3341 VkBuffer dstBuffer, 3342 deUint32 regionCount, 3343 const VkBufferImageCopy* pRegions); 3344 3345VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 3346 VkCommandBuffer commandBuffer, 3347 VkBuffer dstBuffer, 3348 VkDeviceSize dstOffset, 3349 VkDeviceSize dataSize, 3350 const void* pData); 3351 3352VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 3353 VkCommandBuffer commandBuffer, 3354 VkBuffer dstBuffer, 3355 VkDeviceSize dstOffset, 3356 VkDeviceSize size, 3357 deUint32 data); 3358 3359VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 3360 VkCommandBuffer commandBuffer, 3361 VkImage image, 3362 VkImageLayout imageLayout, 3363 const VkClearColorValue* pColor, 3364 deUint32 rangeCount, 3365 const VkImageSubresourceRange* pRanges); 3366 3367VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 3368 VkCommandBuffer commandBuffer, 3369 VkImage image, 3370 VkImageLayout imageLayout, 3371 const VkClearDepthStencilValue* pDepthStencil, 3372 deUint32 rangeCount, 3373 const VkImageSubresourceRange* pRanges); 3374 3375VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 3376 VkCommandBuffer commandBuffer, 3377 deUint32 attachmentCount, 3378 const VkClearAttachment* pAttachments, 3379 deUint32 rectCount, 3380 const VkClearRect* pRects); 3381 3382VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 3383 VkCommandBuffer commandBuffer, 3384 VkImage srcImage, 3385 VkImageLayout srcImageLayout, 3386 VkImage dstImage, 3387 VkImageLayout dstImageLayout, 3388 deUint32 regionCount, 3389 const VkImageResolve* pRegions); 3390 3391VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 3392 VkCommandBuffer commandBuffer, 3393 VkEvent event, 3394 VkPipelineStageFlags stageMask); 3395 3396VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 3397 VkCommandBuffer commandBuffer, 3398 VkEvent event, 3399 VkPipelineStageFlags stageMask); 3400 3401VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 3402 VkCommandBuffer commandBuffer, 3403 deUint32 eventCount, 3404 const VkEvent* pEvents, 3405 VkPipelineStageFlags srcStageMask, 3406 VkPipelineStageFlags dstStageMask, 3407 deUint32 memoryBarrierCount, 3408 const VkMemoryBarrier* pMemoryBarriers, 3409 deUint32 bufferMemoryBarrierCount, 3410 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3411 deUint32 imageMemoryBarrierCount, 3412 const VkImageMemoryBarrier* pImageMemoryBarriers); 3413 3414VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 3415 VkCommandBuffer commandBuffer, 3416 VkPipelineStageFlags srcStageMask, 3417 VkPipelineStageFlags dstStageMask, 3418 VkDependencyFlags dependencyFlags, 3419 deUint32 memoryBarrierCount, 3420 const VkMemoryBarrier* pMemoryBarriers, 3421 deUint32 bufferMemoryBarrierCount, 3422 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3423 deUint32 imageMemoryBarrierCount, 3424 const VkImageMemoryBarrier* pImageMemoryBarriers); 3425 3426VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 3427 VkCommandBuffer commandBuffer, 3428 VkQueryPool queryPool, 3429 deUint32 query, 3430 VkQueryControlFlags flags); 3431 3432VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 3433 VkCommandBuffer commandBuffer, 3434 VkQueryPool queryPool, 3435 deUint32 query); 3436 3437VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 3438 VkCommandBuffer commandBuffer, 3439 VkQueryPool queryPool, 3440 deUint32 firstQuery, 3441 deUint32 queryCount); 3442 3443VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 3444 VkCommandBuffer commandBuffer, 3445 VkPipelineStageFlagBits pipelineStage, 3446 VkQueryPool queryPool, 3447 deUint32 query); 3448 3449VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 3450 VkCommandBuffer commandBuffer, 3451 VkQueryPool queryPool, 3452 deUint32 firstQuery, 3453 deUint32 queryCount, 3454 VkBuffer dstBuffer, 3455 VkDeviceSize dstOffset, 3456 VkDeviceSize stride, 3457 VkQueryResultFlags flags); 3458 3459VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 3460 VkCommandBuffer commandBuffer, 3461 VkPipelineLayout layout, 3462 VkShaderStageFlags stageFlags, 3463 deUint32 offset, 3464 deUint32 size, 3465 const void* pValues); 3466 3467VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 3468 VkCommandBuffer commandBuffer, 3469 const VkRenderPassBeginInfo* pRenderPassBegin, 3470 VkSubpassContents contents); 3471 3472VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 3473 VkCommandBuffer commandBuffer, 3474 VkSubpassContents contents); 3475 3476VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 3477 VkCommandBuffer commandBuffer); 3478 3479VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 3480 VkCommandBuffer commandBuffer, 3481 deUint32 commandBufferCount, 3482 const VkCommandBuffer* pCommandBuffers); 3483#endif 3484 3485 3486#define VK_VERSION_1_1 1 3487// Vulkan 1.1 version number 3488#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 3489 3490VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 3491#define VK_MAX_DEVICE_GROUP_SIZE 32U 3492#define VK_LUID_SIZE 8U 3493#define VK_QUEUE_FAMILY_EXTERNAL (~1U) 3494 3495typedef enum VkPointClippingBehavior { 3496 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 3497 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 3498 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 3499} VkPointClippingBehavior; 3500 3501typedef enum VkTessellationDomainOrigin { 3502 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 3503 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 3504 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 3505} VkTessellationDomainOrigin; 3506 3507typedef enum VkSamplerYcbcrModelConversion { 3508 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 3509 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 3510 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 3511 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 3512 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 3513 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 3514} VkSamplerYcbcrModelConversion; 3515 3516typedef enum VkSamplerYcbcrRange { 3517 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 3518 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 3519 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 3520} VkSamplerYcbcrRange; 3521 3522typedef enum VkChromaLocation { 3523 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 3524 VK_CHROMA_LOCATION_MIDPOINT = 1, 3525 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 3526} VkChromaLocation; 3527 3528typedef enum VkSubgroupFeatureFlagBits { 3529 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 3530 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 3531 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 3532 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 3533 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 3534 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 3535 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 3536 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 3537 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3538} VkSubgroupFeatureFlagBits; 3539typedef VkFlags VkSubgroupFeatureFlags; 3540 3541typedef enum VkPeerMemoryFeatureFlagBits { 3542 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 3543 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 3544 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 3545 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 3546 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3547} VkPeerMemoryFeatureFlagBits; 3548typedef VkFlags VkPeerMemoryFeatureFlags; 3549 3550typedef enum VkMemoryAllocateFlagBits { 3551 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 3552 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 3553 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 3554 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3555} VkMemoryAllocateFlagBits; 3556typedef VkFlags VkMemoryAllocateFlags; 3557 3558typedef enum VkExternalMemoryHandleTypeFlagBits { 3559 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 3560 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 3561 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 3562 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 3563 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 3564 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 3565 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 3566 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 3567 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 3568 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 3569 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV = 0x00002000, 3570 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3571} VkExternalMemoryHandleTypeFlagBits; 3572typedef VkFlags VkExternalMemoryHandleTypeFlags; 3573 3574typedef enum VkExternalMemoryFeatureFlagBits { 3575 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 3576 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 3577 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 3578 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3579} VkExternalMemoryFeatureFlagBits; 3580typedef VkFlags VkExternalMemoryFeatureFlags; 3581 3582typedef enum VkExternalFenceHandleTypeFlagBits { 3583 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 3584 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 3585 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 3586 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 3587 VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 0x00000010, 3588 VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV = 0x00000020, 3589 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3590} VkExternalFenceHandleTypeFlagBits; 3591typedef VkFlags VkExternalFenceHandleTypeFlags; 3592 3593typedef enum VkExternalFenceFeatureFlagBits { 3594 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 3595 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 3596 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3597} VkExternalFenceFeatureFlagBits; 3598typedef VkFlags VkExternalFenceFeatureFlags; 3599 3600typedef enum VkFenceImportFlagBits { 3601 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 3602 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3603} VkFenceImportFlagBits; 3604typedef VkFlags VkFenceImportFlags; 3605 3606typedef enum VkSemaphoreImportFlagBits { 3607 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 3608 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3609} VkSemaphoreImportFlagBits; 3610typedef VkFlags VkSemaphoreImportFlags; 3611 3612typedef enum VkExternalSemaphoreHandleTypeFlagBits { 3613 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 3614 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 3615 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 3616 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 3617 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 3618 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 0x00000020, 3619 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 3620 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3621} VkExternalSemaphoreHandleTypeFlagBits; 3622typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 3623 3624typedef enum VkExternalSemaphoreFeatureFlagBits { 3625 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 3626 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 3627 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3628} VkExternalSemaphoreFeatureFlagBits; 3629typedef VkFlags VkExternalSemaphoreFeatureFlags; 3630typedef struct VkPhysicalDeviceSubgroupProperties { 3631 VkStructureType sType; 3632 void* pNext; 3633 deUint32 subgroupSize; 3634 VkShaderStageFlags supportedStages; 3635 VkSubgroupFeatureFlags supportedOperations; 3636 VkBool32 quadOperationsInAllStages; 3637} VkPhysicalDeviceSubgroupProperties; 3638 3639typedef struct VkBindBufferMemoryInfo { 3640 VkStructureType sType; 3641 const void* pNext; 3642 VkBuffer buffer; 3643 VkDeviceMemory memory; 3644 VkDeviceSize memoryOffset; 3645} VkBindBufferMemoryInfo; 3646 3647typedef struct VkBindImageMemoryInfo { 3648 VkStructureType sType; 3649 const void* pNext; 3650 VkImage image; 3651 VkDeviceMemory memory; 3652 VkDeviceSize memoryOffset; 3653} VkBindImageMemoryInfo; 3654 3655typedef struct VkPhysicalDevice16BitStorageFeatures { 3656 VkStructureType sType; 3657 void* pNext; 3658 VkBool32 storageBuffer16BitAccess; 3659 VkBool32 uniformAndStorageBuffer16BitAccess; 3660 VkBool32 storagePushConstant16; 3661 VkBool32 storageInputOutput16; 3662} VkPhysicalDevice16BitStorageFeatures; 3663 3664typedef struct VkMemoryDedicatedRequirements { 3665 VkStructureType sType; 3666 void* pNext; 3667 VkBool32 prefersDedicatedAllocation; 3668 VkBool32 requiresDedicatedAllocation; 3669} VkMemoryDedicatedRequirements; 3670 3671typedef struct VkMemoryDedicatedAllocateInfo { 3672 VkStructureType sType; 3673 const void* pNext; 3674 VkImage image; 3675 VkBuffer buffer; 3676} VkMemoryDedicatedAllocateInfo; 3677 3678typedef struct VkMemoryAllocateFlagsInfo { 3679 VkStructureType sType; 3680 const void* pNext; 3681 VkMemoryAllocateFlags flags; 3682 deUint32 deviceMask; 3683} VkMemoryAllocateFlagsInfo; 3684 3685typedef struct VkDeviceGroupRenderPassBeginInfo { 3686 VkStructureType sType; 3687 const void* pNext; 3688 deUint32 deviceMask; 3689 deUint32 deviceRenderAreaCount; 3690 const VkRect2D* pDeviceRenderAreas; 3691} VkDeviceGroupRenderPassBeginInfo; 3692 3693typedef struct VkDeviceGroupCommandBufferBeginInfo { 3694 VkStructureType sType; 3695 const void* pNext; 3696 deUint32 deviceMask; 3697} VkDeviceGroupCommandBufferBeginInfo; 3698 3699typedef struct VkDeviceGroupSubmitInfo { 3700 VkStructureType sType; 3701 const void* pNext; 3702 deUint32 waitSemaphoreCount; 3703 const deUint32* pWaitSemaphoreDeviceIndices; 3704 deUint32 commandBufferCount; 3705 const deUint32* pCommandBufferDeviceMasks; 3706 deUint32 signalSemaphoreCount; 3707 const deUint32* pSignalSemaphoreDeviceIndices; 3708} VkDeviceGroupSubmitInfo; 3709 3710typedef struct VkBindBufferMemoryDeviceGroupInfo { 3711 VkStructureType sType; 3712 const void* pNext; 3713 deUint32 deviceIndexCount; 3714 const deUint32* pDeviceIndices; 3715} VkBindBufferMemoryDeviceGroupInfo; 3716 3717typedef struct VkBindImageMemoryDeviceGroupInfo { 3718 VkStructureType sType; 3719 const void* pNext; 3720 deUint32 deviceIndexCount; 3721 const deUint32* pDeviceIndices; 3722 deUint32 splitInstanceBindRegionCount; 3723 const VkRect2D* pSplitInstanceBindRegions; 3724} VkBindImageMemoryDeviceGroupInfo; 3725 3726typedef struct VkPhysicalDeviceGroupProperties { 3727 VkStructureType sType; 3728 void* pNext; 3729 deUint32 physicalDeviceCount; 3730 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 3731 VkBool32 subsetAllocation; 3732} VkPhysicalDeviceGroupProperties; 3733 3734typedef struct VkDeviceGroupDeviceCreateInfo { 3735 VkStructureType sType; 3736 const void* pNext; 3737 deUint32 physicalDeviceCount; 3738 const VkPhysicalDevice* pPhysicalDevices; 3739} VkDeviceGroupDeviceCreateInfo; 3740 3741typedef struct VkBufferMemoryRequirementsInfo2 { 3742 VkStructureType sType; 3743 const void* pNext; 3744 VkBuffer buffer; 3745} VkBufferMemoryRequirementsInfo2; 3746 3747typedef struct VkImageMemoryRequirementsInfo2 { 3748 VkStructureType sType; 3749 const void* pNext; 3750 VkImage image; 3751} VkImageMemoryRequirementsInfo2; 3752 3753typedef struct VkMemoryRequirements2 { 3754 VkStructureType sType; 3755 void* pNext; 3756 VkMemoryRequirements memoryRequirements; 3757} VkMemoryRequirements2; 3758 3759typedef struct VkPhysicalDeviceFeatures2 { 3760 VkStructureType sType; 3761 void* pNext; 3762 VkPhysicalDeviceFeatures features; 3763} VkPhysicalDeviceFeatures2; 3764 3765typedef struct VkPhysicalDeviceProperties2 { 3766 VkStructureType sType; 3767 void* pNext; 3768 VkPhysicalDeviceProperties properties; 3769} VkPhysicalDeviceProperties2; 3770 3771typedef struct VkFormatProperties2 { 3772 VkStructureType sType; 3773 void* pNext; 3774 VkFormatProperties formatProperties; 3775} VkFormatProperties2; 3776 3777typedef struct VkImageFormatProperties2 { 3778 VkStructureType sType; 3779 void* pNext; 3780 VkImageFormatProperties imageFormatProperties; 3781} VkImageFormatProperties2; 3782 3783typedef struct VkPhysicalDeviceImageFormatInfo2 { 3784 VkStructureType sType; 3785 const void* pNext; 3786 VkFormat format; 3787 VkImageType type; 3788 VkImageTiling tiling; 3789 VkImageUsageFlags usage; 3790 VkImageCreateFlags flags; 3791} VkPhysicalDeviceImageFormatInfo2; 3792 3793typedef struct VkQueueFamilyProperties2 { 3794 VkStructureType sType; 3795 void* pNext; 3796 VkQueueFamilyProperties queueFamilyProperties; 3797} VkQueueFamilyProperties2; 3798 3799typedef struct VkPhysicalDeviceMemoryProperties2 { 3800 VkStructureType sType; 3801 void* pNext; 3802 VkPhysicalDeviceMemoryProperties memoryProperties; 3803} VkPhysicalDeviceMemoryProperties2; 3804 3805typedef struct VkPhysicalDevicePointClippingProperties { 3806 VkStructureType sType; 3807 void* pNext; 3808 VkPointClippingBehavior pointClippingBehavior; 3809} VkPhysicalDevicePointClippingProperties; 3810 3811typedef struct VkInputAttachmentAspectReference { 3812 deUint32 subpass; 3813 deUint32 inputAttachmentIndex; 3814 VkImageAspectFlags aspectMask; 3815} VkInputAttachmentAspectReference; 3816 3817typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 3818 VkStructureType sType; 3819 const void* pNext; 3820 deUint32 aspectReferenceCount; 3821 const VkInputAttachmentAspectReference* pAspectReferences; 3822} VkRenderPassInputAttachmentAspectCreateInfo; 3823 3824typedef struct VkImageViewUsageCreateInfo { 3825 VkStructureType sType; 3826 const void* pNext; 3827 VkImageUsageFlags usage; 3828} VkImageViewUsageCreateInfo; 3829 3830typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 3831 VkStructureType sType; 3832 const void* pNext; 3833 VkTessellationDomainOrigin domainOrigin; 3834} VkPipelineTessellationDomainOriginStateCreateInfo; 3835 3836typedef struct VkRenderPassMultiviewCreateInfo { 3837 VkStructureType sType; 3838 const void* pNext; 3839 deUint32 subpassCount; 3840 const deUint32* pViewMasks; 3841 deUint32 dependencyCount; 3842 const deInt32* pViewOffsets; 3843 deUint32 correlationMaskCount; 3844 const deUint32* pCorrelationMasks; 3845} VkRenderPassMultiviewCreateInfo; 3846 3847typedef struct VkPhysicalDeviceMultiviewFeatures { 3848 VkStructureType sType; 3849 void* pNext; 3850 VkBool32 multiview; 3851 VkBool32 multiviewGeometryShader; 3852 VkBool32 multiviewTessellationShader; 3853} VkPhysicalDeviceMultiviewFeatures; 3854 3855typedef struct VkPhysicalDeviceMultiviewProperties { 3856 VkStructureType sType; 3857 void* pNext; 3858 deUint32 maxMultiviewViewCount; 3859 deUint32 maxMultiviewInstanceIndex; 3860} VkPhysicalDeviceMultiviewProperties; 3861 3862typedef struct VkPhysicalDeviceVariablePointersFeatures { 3863 VkStructureType sType; 3864 void* pNext; 3865 VkBool32 variablePointersStorageBuffer; 3866 VkBool32 variablePointers; 3867} VkPhysicalDeviceVariablePointersFeatures; 3868 3869typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 3870 3871typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 3872 VkStructureType sType; 3873 void* pNext; 3874 VkBool32 protectedMemory; 3875} VkPhysicalDeviceProtectedMemoryFeatures; 3876 3877typedef struct VkPhysicalDeviceProtectedMemoryProperties { 3878 VkStructureType sType; 3879 void* pNext; 3880 VkBool32 protectedNoFault; 3881} VkPhysicalDeviceProtectedMemoryProperties; 3882 3883typedef struct VkDeviceQueueInfo2 { 3884 VkStructureType sType; 3885 const void* pNext; 3886 VkDeviceQueueCreateFlags flags; 3887 deUint32 queueFamilyIndex; 3888 deUint32 queueIndex; 3889} VkDeviceQueueInfo2; 3890 3891typedef struct VkProtectedSubmitInfo { 3892 VkStructureType sType; 3893 const void* pNext; 3894 VkBool32 protectedSubmit; 3895} VkProtectedSubmitInfo; 3896 3897typedef struct VkSamplerYcbcrConversionCreateInfo { 3898 VkStructureType sType; 3899 const void* pNext; 3900 VkFormat format; 3901 VkSamplerYcbcrModelConversion ycbcrModel; 3902 VkSamplerYcbcrRange ycbcrRange; 3903 VkComponentMapping components; 3904 VkChromaLocation xChromaOffset; 3905 VkChromaLocation yChromaOffset; 3906 VkFilter chromaFilter; 3907 VkBool32 forceExplicitReconstruction; 3908} VkSamplerYcbcrConversionCreateInfo; 3909 3910typedef struct VkSamplerYcbcrConversionInfo { 3911 VkStructureType sType; 3912 const void* pNext; 3913 VkSamplerYcbcrConversion conversion; 3914} VkSamplerYcbcrConversionInfo; 3915 3916typedef struct VkBindImagePlaneMemoryInfo { 3917 VkStructureType sType; 3918 const void* pNext; 3919 VkImageAspectFlagBits planeAspect; 3920} VkBindImagePlaneMemoryInfo; 3921 3922typedef struct VkImagePlaneMemoryRequirementsInfo { 3923 VkStructureType sType; 3924 const void* pNext; 3925 VkImageAspectFlagBits planeAspect; 3926} VkImagePlaneMemoryRequirementsInfo; 3927 3928typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 3929 VkStructureType sType; 3930 void* pNext; 3931 VkBool32 samplerYcbcrConversion; 3932} VkPhysicalDeviceSamplerYcbcrConversionFeatures; 3933 3934typedef struct VkSamplerYcbcrConversionImageFormatProperties { 3935 VkStructureType sType; 3936 void* pNext; 3937 deUint32 combinedImageSamplerDescriptorCount; 3938} VkSamplerYcbcrConversionImageFormatProperties; 3939 3940typedef struct VkExternalMemoryProperties { 3941 VkExternalMemoryFeatureFlags externalMemoryFeatures; 3942 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 3943 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 3944} VkExternalMemoryProperties; 3945 3946typedef struct VkPhysicalDeviceExternalImageFormatInfo { 3947 VkStructureType sType; 3948 const void* pNext; 3949 VkExternalMemoryHandleTypeFlagBits handleType; 3950} VkPhysicalDeviceExternalImageFormatInfo; 3951 3952typedef struct VkExternalImageFormatProperties { 3953 VkStructureType sType; 3954 void* pNext; 3955 VkExternalMemoryProperties externalMemoryProperties; 3956} VkExternalImageFormatProperties; 3957 3958typedef struct VkPhysicalDeviceExternalBufferInfo { 3959 VkStructureType sType; 3960 const void* pNext; 3961 VkBufferCreateFlags flags; 3962 VkBufferUsageFlags usage; 3963 VkExternalMemoryHandleTypeFlagBits handleType; 3964} VkPhysicalDeviceExternalBufferInfo; 3965 3966typedef struct VkExternalBufferProperties { 3967 VkStructureType sType; 3968 void* pNext; 3969 VkExternalMemoryProperties externalMemoryProperties; 3970} VkExternalBufferProperties; 3971 3972typedef struct VkPhysicalDeviceIDProperties { 3973 VkStructureType sType; 3974 void* pNext; 3975 deUint8 deviceUUID[VK_UUID_SIZE]; 3976 deUint8 driverUUID[VK_UUID_SIZE]; 3977 deUint8 deviceLUID[VK_LUID_SIZE]; 3978 deUint32 deviceNodeMask; 3979 VkBool32 deviceLUIDValid; 3980} VkPhysicalDeviceIDProperties; 3981 3982typedef struct VkExternalMemoryImageCreateInfo { 3983 VkStructureType sType; 3984 const void* pNext; 3985 VkExternalMemoryHandleTypeFlags handleTypes; 3986} VkExternalMemoryImageCreateInfo; 3987 3988typedef struct VkExternalMemoryBufferCreateInfo { 3989 VkStructureType sType; 3990 const void* pNext; 3991 VkExternalMemoryHandleTypeFlags handleTypes; 3992} VkExternalMemoryBufferCreateInfo; 3993 3994typedef struct VkExportMemoryAllocateInfo { 3995 VkStructureType sType; 3996 const void* pNext; 3997 VkExternalMemoryHandleTypeFlags handleTypes; 3998} VkExportMemoryAllocateInfo; 3999 4000typedef struct VkPhysicalDeviceExternalFenceInfo { 4001 VkStructureType sType; 4002 const void* pNext; 4003 VkExternalFenceHandleTypeFlagBits handleType; 4004} VkPhysicalDeviceExternalFenceInfo; 4005 4006typedef struct VkExternalFenceProperties { 4007 VkStructureType sType; 4008 void* pNext; 4009 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 4010 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 4011 VkExternalFenceFeatureFlags externalFenceFeatures; 4012} VkExternalFenceProperties; 4013 4014typedef struct VkExportFenceCreateInfo { 4015 VkStructureType sType; 4016 const void* pNext; 4017 VkExternalFenceHandleTypeFlags handleTypes; 4018} VkExportFenceCreateInfo; 4019 4020typedef struct VkExportSemaphoreCreateInfo { 4021 VkStructureType sType; 4022 const void* pNext; 4023 VkExternalSemaphoreHandleTypeFlags handleTypes; 4024} VkExportSemaphoreCreateInfo; 4025 4026typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 4027 VkStructureType sType; 4028 const void* pNext; 4029 VkExternalSemaphoreHandleTypeFlagBits handleType; 4030} VkPhysicalDeviceExternalSemaphoreInfo; 4031 4032typedef struct VkExternalSemaphoreProperties { 4033 VkStructureType sType; 4034 void* pNext; 4035 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 4036 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 4037 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 4038} VkExternalSemaphoreProperties; 4039 4040typedef struct VkPhysicalDeviceMaintenance3Properties { 4041 VkStructureType sType; 4042 void* pNext; 4043 deUint32 maxPerSetDescriptors; 4044 VkDeviceSize maxMemoryAllocationSize; 4045} VkPhysicalDeviceMaintenance3Properties; 4046 4047typedef struct VkDescriptorSetLayoutSupport { 4048 VkStructureType sType; 4049 void* pNext; 4050 VkBool32 supported; 4051} VkDescriptorSetLayoutSupport; 4052 4053typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 4054 VkStructureType sType; 4055 void* pNext; 4056 VkBool32 shaderDrawParameters; 4057} VkPhysicalDeviceShaderDrawParametersFeatures; 4058 4059typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 4060 4061typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion); 4062typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 4063typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 4064typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 4065typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask); 4066typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 4067typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 4068typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 4069typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 4070typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 4071typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 4072typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 4073typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 4074typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 4075typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 4076typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 4077typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 4078typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 4079typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 4080typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 4081typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 4082typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 4083 4084#ifndef VK_NO_PROTOTYPES 4085VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 4086 deUint32* pApiVersion); 4087 4088VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 4089 VkDevice device, 4090 deUint32 bindInfoCount, 4091 const VkBindBufferMemoryInfo* pBindInfos); 4092 4093VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 4094 VkDevice device, 4095 deUint32 bindInfoCount, 4096 const VkBindImageMemoryInfo* pBindInfos); 4097 4098VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 4099 VkDevice device, 4100 deUint32 heapIndex, 4101 deUint32 localDeviceIndex, 4102 deUint32 remoteDeviceIndex, 4103 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 4104 4105VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 4106 VkCommandBuffer commandBuffer, 4107 deUint32 deviceMask); 4108 4109VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 4110 VkCommandBuffer commandBuffer, 4111 deUint32 baseGroupX, 4112 deUint32 baseGroupY, 4113 deUint32 baseGroupZ, 4114 deUint32 groupCountX, 4115 deUint32 groupCountY, 4116 deUint32 groupCountZ); 4117 4118VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 4119 VkInstance instance, 4120 deUint32* pPhysicalDeviceGroupCount, 4121 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 4122 4123VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 4124 VkDevice device, 4125 const VkImageMemoryRequirementsInfo2* pInfo, 4126 VkMemoryRequirements2* pMemoryRequirements); 4127 4128VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 4129 VkDevice device, 4130 const VkBufferMemoryRequirementsInfo2* pInfo, 4131 VkMemoryRequirements2* pMemoryRequirements); 4132 4133VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 4134 VkPhysicalDevice physicalDevice, 4135 VkPhysicalDeviceFeatures2* pFeatures); 4136 4137VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 4138 VkPhysicalDevice physicalDevice, 4139 VkPhysicalDeviceProperties2* pProperties); 4140 4141VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 4142 VkPhysicalDevice physicalDevice, 4143 VkFormat format, 4144 VkFormatProperties2* pFormatProperties); 4145 4146VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 4147 VkPhysicalDevice physicalDevice, 4148 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 4149 VkImageFormatProperties2* pImageFormatProperties); 4150 4151VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 4152 VkPhysicalDevice physicalDevice, 4153 deUint32* pQueueFamilyPropertyCount, 4154 VkQueueFamilyProperties2* pQueueFamilyProperties); 4155 4156VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 4157 VkPhysicalDevice physicalDevice, 4158 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 4159 4160VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 4161 VkDevice device, 4162 const VkDeviceQueueInfo2* pQueueInfo, 4163 VkQueue* pQueue); 4164 4165VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 4166 VkDevice device, 4167 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 4168 const VkAllocationCallbacks* pAllocator, 4169 VkSamplerYcbcrConversion* pYcbcrConversion); 4170 4171VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 4172 VkDevice device, 4173 VkSamplerYcbcrConversion ycbcrConversion, 4174 const VkAllocationCallbacks* pAllocator); 4175 4176VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 4177 VkPhysicalDevice physicalDevice, 4178 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 4179 VkExternalBufferProperties* pExternalBufferProperties); 4180 4181VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 4182 VkPhysicalDevice physicalDevice, 4183 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 4184 VkExternalFenceProperties* pExternalFenceProperties); 4185 4186VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 4187 VkPhysicalDevice physicalDevice, 4188 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 4189 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 4190 4191VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 4192 VkDevice device, 4193 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4194 VkDescriptorSetLayoutSupport* pSupport); 4195#endif 4196 4197 4198#define VK_VERSION_1_2 1 4199// Vulkan 1.2 version number 4200#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 4201 4202#define VK_MAX_DRIVER_NAME_SIZE 256U 4203#define VK_MAX_DRIVER_INFO_SIZE 256U 4204 4205typedef enum VkDriverId { 4206 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 4207 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 4208 VK_DRIVER_ID_MESA_RADV = 3, 4209 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 4210 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 4211 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 4212 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 4213 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 4214 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 4215 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 4216 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 4217 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 4218 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 4219 VK_DRIVER_ID_MOLTENVK = 14, 4220 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 4221 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 4222 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 4223 VK_DRIVER_ID_MESA_TURNIP = 18, 4224 VK_DRIVER_ID_MESA_V3DV = 19, 4225 VK_DRIVER_ID_MESA_PANVK = 20, 4226 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 4227 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 4228} VkDriverId; 4229 4230typedef enum VkShaderFloatControlsIndependence { 4231 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 4232 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 4233 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 4234 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 4235} VkShaderFloatControlsIndependence; 4236 4237typedef enum VkSamplerReductionMode { 4238 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 4239 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 4240 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 4241 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 4242} VkSamplerReductionMode; 4243 4244typedef enum VkSemaphoreType { 4245 VK_SEMAPHORE_TYPE_BINARY = 0, 4246 VK_SEMAPHORE_TYPE_TIMELINE = 1, 4247 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 4248} VkSemaphoreType; 4249 4250typedef enum VkResolveModeFlagBits { 4251 VK_RESOLVE_MODE_NONE = 0, 4252 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 4253 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 4254 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 4255 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 4256 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4257} VkResolveModeFlagBits; 4258typedef VkFlags VkResolveModeFlags; 4259 4260typedef enum VkDescriptorBindingFlagBits { 4261 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 4262 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 4263 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 4264 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 4265 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4266} VkDescriptorBindingFlagBits; 4267typedef VkFlags VkDescriptorBindingFlags; 4268 4269typedef enum VkSemaphoreWaitFlagBits { 4270 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 4271 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4272} VkSemaphoreWaitFlagBits; 4273typedef VkFlags VkSemaphoreWaitFlags; 4274typedef struct VkPhysicalDeviceVulkan11Features { 4275 VkStructureType sType; 4276 void* pNext; 4277 VkBool32 storageBuffer16BitAccess; 4278 VkBool32 uniformAndStorageBuffer16BitAccess; 4279 VkBool32 storagePushConstant16; 4280 VkBool32 storageInputOutput16; 4281 VkBool32 multiview; 4282 VkBool32 multiviewGeometryShader; 4283 VkBool32 multiviewTessellationShader; 4284 VkBool32 variablePointersStorageBuffer; 4285 VkBool32 variablePointers; 4286 VkBool32 protectedMemory; 4287 VkBool32 samplerYcbcrConversion; 4288 VkBool32 shaderDrawParameters; 4289} VkPhysicalDeviceVulkan11Features; 4290 4291typedef struct VkPhysicalDeviceVulkan11Properties { 4292 VkStructureType sType; 4293 void* pNext; 4294 deUint8 deviceUUID[VK_UUID_SIZE]; 4295 deUint8 driverUUID[VK_UUID_SIZE]; 4296 deUint8 deviceLUID[VK_LUID_SIZE]; 4297 deUint32 deviceNodeMask; 4298 VkBool32 deviceLUIDValid; 4299 deUint32 subgroupSize; 4300 VkShaderStageFlags subgroupSupportedStages; 4301 VkSubgroupFeatureFlags subgroupSupportedOperations; 4302 VkBool32 subgroupQuadOperationsInAllStages; 4303 VkPointClippingBehavior pointClippingBehavior; 4304 deUint32 maxMultiviewViewCount; 4305 deUint32 maxMultiviewInstanceIndex; 4306 VkBool32 protectedNoFault; 4307 deUint32 maxPerSetDescriptors; 4308 VkDeviceSize maxMemoryAllocationSize; 4309} VkPhysicalDeviceVulkan11Properties; 4310 4311typedef struct VkPhysicalDeviceVulkan12Features { 4312 VkStructureType sType; 4313 void* pNext; 4314 VkBool32 samplerMirrorClampToEdge; 4315 VkBool32 drawIndirectCount; 4316 VkBool32 storageBuffer8BitAccess; 4317 VkBool32 uniformAndStorageBuffer8BitAccess; 4318 VkBool32 storagePushConstant8; 4319 VkBool32 shaderBufferInt64Atomics; 4320 VkBool32 shaderSharedInt64Atomics; 4321 VkBool32 shaderFloat16; 4322 VkBool32 shaderInt8; 4323 VkBool32 descriptorIndexing; 4324 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 4325 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 4326 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 4327 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 4328 VkBool32 shaderSampledImageArrayNonUniformIndexing; 4329 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 4330 VkBool32 shaderStorageImageArrayNonUniformIndexing; 4331 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 4332 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 4333 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 4334 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 4335 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 4336 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 4337 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 4338 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 4339 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 4340 VkBool32 descriptorBindingUpdateUnusedWhilePending; 4341 VkBool32 descriptorBindingPartiallyBound; 4342 VkBool32 descriptorBindingVariableDescriptorCount; 4343 VkBool32 runtimeDescriptorArray; 4344 VkBool32 samplerFilterMinmax; 4345 VkBool32 scalarBlockLayout; 4346 VkBool32 imagelessFramebuffer; 4347 VkBool32 uniformBufferStandardLayout; 4348 VkBool32 shaderSubgroupExtendedTypes; 4349 VkBool32 separateDepthStencilLayouts; 4350 VkBool32 hostQueryReset; 4351 VkBool32 timelineSemaphore; 4352 VkBool32 bufferDeviceAddress; 4353 VkBool32 bufferDeviceAddressCaptureReplay; 4354 VkBool32 bufferDeviceAddressMultiDevice; 4355 VkBool32 vulkanMemoryModel; 4356 VkBool32 vulkanMemoryModelDeviceScope; 4357 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 4358 VkBool32 shaderOutputViewportIndex; 4359 VkBool32 shaderOutputLayer; 4360 VkBool32 subgroupBroadcastDynamicId; 4361} VkPhysicalDeviceVulkan12Features; 4362 4363typedef struct VkConformanceVersion { 4364 deUint8 major; 4365 deUint8 minor; 4366 deUint8 subminor; 4367 deUint8 patch; 4368} VkConformanceVersion; 4369 4370typedef struct VkPhysicalDeviceVulkan12Properties { 4371 VkStructureType sType; 4372 void* pNext; 4373 VkDriverId driverID; 4374 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 4375 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 4376 VkConformanceVersion conformanceVersion; 4377 VkShaderFloatControlsIndependence denormBehaviorIndependence; 4378 VkShaderFloatControlsIndependence roundingModeIndependence; 4379 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 4380 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 4381 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 4382 VkBool32 shaderDenormPreserveFloat16; 4383 VkBool32 shaderDenormPreserveFloat32; 4384 VkBool32 shaderDenormPreserveFloat64; 4385 VkBool32 shaderDenormFlushToZeroFloat16; 4386 VkBool32 shaderDenormFlushToZeroFloat32; 4387 VkBool32 shaderDenormFlushToZeroFloat64; 4388 VkBool32 shaderRoundingModeRTEFloat16; 4389 VkBool32 shaderRoundingModeRTEFloat32; 4390 VkBool32 shaderRoundingModeRTEFloat64; 4391 VkBool32 shaderRoundingModeRTZFloat16; 4392 VkBool32 shaderRoundingModeRTZFloat32; 4393 VkBool32 shaderRoundingModeRTZFloat64; 4394 deUint32 maxUpdateAfterBindDescriptorsInAllPools; 4395 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 4396 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 4397 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 4398 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 4399 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 4400 VkBool32 robustBufferAccessUpdateAfterBind; 4401 VkBool32 quadDivergentImplicitLod; 4402 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; 4403 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; 4404 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; 4405 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; 4406 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; 4407 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; 4408 deUint32 maxPerStageUpdateAfterBindResources; 4409 deUint32 maxDescriptorSetUpdateAfterBindSamplers; 4410 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; 4411 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 4412 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; 4413 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 4414 deUint32 maxDescriptorSetUpdateAfterBindSampledImages; 4415 deUint32 maxDescriptorSetUpdateAfterBindStorageImages; 4416 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; 4417 VkResolveModeFlags supportedDepthResolveModes; 4418 VkResolveModeFlags supportedStencilResolveModes; 4419 VkBool32 independentResolveNone; 4420 VkBool32 independentResolve; 4421 VkBool32 filterMinmaxSingleComponentFormats; 4422 VkBool32 filterMinmaxImageComponentMapping; 4423 deUint64 maxTimelineSemaphoreValueDifference; 4424 VkSampleCountFlags framebufferIntegerColorSampleCounts; 4425} VkPhysicalDeviceVulkan12Properties; 4426 4427typedef struct VkImageFormatListCreateInfo { 4428 VkStructureType sType; 4429 const void* pNext; 4430 deUint32 viewFormatCount; 4431 const VkFormat* pViewFormats; 4432} VkImageFormatListCreateInfo; 4433 4434typedef struct VkAttachmentDescription2 { 4435 VkStructureType sType; 4436 const void* pNext; 4437 VkAttachmentDescriptionFlags flags; 4438 VkFormat format; 4439 VkSampleCountFlagBits samples; 4440 VkAttachmentLoadOp loadOp; 4441 VkAttachmentStoreOp storeOp; 4442 VkAttachmentLoadOp stencilLoadOp; 4443 VkAttachmentStoreOp stencilStoreOp; 4444 VkImageLayout initialLayout; 4445 VkImageLayout finalLayout; 4446} VkAttachmentDescription2; 4447 4448typedef struct VkAttachmentReference2 { 4449 VkStructureType sType; 4450 const void* pNext; 4451 deUint32 attachment; 4452 VkImageLayout layout; 4453 VkImageAspectFlags aspectMask; 4454} VkAttachmentReference2; 4455 4456typedef struct VkSubpassDescription2 { 4457 VkStructureType sType; 4458 const void* pNext; 4459 VkSubpassDescriptionFlags flags; 4460 VkPipelineBindPoint pipelineBindPoint; 4461 deUint32 viewMask; 4462 deUint32 inputAttachmentCount; 4463 const VkAttachmentReference2* pInputAttachments; 4464 deUint32 colorAttachmentCount; 4465 const VkAttachmentReference2* pColorAttachments; 4466 const VkAttachmentReference2* pResolveAttachments; 4467 const VkAttachmentReference2* pDepthStencilAttachment; 4468 deUint32 preserveAttachmentCount; 4469 const deUint32* pPreserveAttachments; 4470} VkSubpassDescription2; 4471 4472typedef struct VkSubpassDependency2 { 4473 VkStructureType sType; 4474 const void* pNext; 4475 deUint32 srcSubpass; 4476 deUint32 dstSubpass; 4477 VkPipelineStageFlags srcStageMask; 4478 VkPipelineStageFlags dstStageMask; 4479 VkAccessFlags srcAccessMask; 4480 VkAccessFlags dstAccessMask; 4481 VkDependencyFlags dependencyFlags; 4482 deInt32 viewOffset; 4483} VkSubpassDependency2; 4484 4485typedef struct VkRenderPassCreateInfo2 { 4486 VkStructureType sType; 4487 const void* pNext; 4488 VkRenderPassCreateFlags flags; 4489 deUint32 attachmentCount; 4490 const VkAttachmentDescription2* pAttachments; 4491 deUint32 subpassCount; 4492 const VkSubpassDescription2* pSubpasses; 4493 deUint32 dependencyCount; 4494 const VkSubpassDependency2* pDependencies; 4495 deUint32 correlatedViewMaskCount; 4496 const deUint32* pCorrelatedViewMasks; 4497} VkRenderPassCreateInfo2; 4498 4499typedef struct VkSubpassBeginInfo { 4500 VkStructureType sType; 4501 const void* pNext; 4502 VkSubpassContents contents; 4503} VkSubpassBeginInfo; 4504 4505typedef struct VkSubpassEndInfo { 4506 VkStructureType sType; 4507 const void* pNext; 4508} VkSubpassEndInfo; 4509 4510typedef struct VkPhysicalDevice8BitStorageFeatures { 4511 VkStructureType sType; 4512 void* pNext; 4513 VkBool32 storageBuffer8BitAccess; 4514 VkBool32 uniformAndStorageBuffer8BitAccess; 4515 VkBool32 storagePushConstant8; 4516} VkPhysicalDevice8BitStorageFeatures; 4517 4518typedef struct VkPhysicalDeviceDriverProperties { 4519 VkStructureType sType; 4520 void* pNext; 4521 VkDriverId driverID; 4522 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 4523 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 4524 VkConformanceVersion conformanceVersion; 4525} VkPhysicalDeviceDriverProperties; 4526 4527typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 4528 VkStructureType sType; 4529 void* pNext; 4530 VkBool32 shaderBufferInt64Atomics; 4531 VkBool32 shaderSharedInt64Atomics; 4532} VkPhysicalDeviceShaderAtomicInt64Features; 4533 4534typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 4535 VkStructureType sType; 4536 void* pNext; 4537 VkBool32 shaderFloat16; 4538 VkBool32 shaderInt8; 4539} VkPhysicalDeviceShaderFloat16Int8Features; 4540 4541typedef struct VkPhysicalDeviceFloatControlsProperties { 4542 VkStructureType sType; 4543 void* pNext; 4544 VkShaderFloatControlsIndependence denormBehaviorIndependence; 4545 VkShaderFloatControlsIndependence roundingModeIndependence; 4546 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 4547 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 4548 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 4549 VkBool32 shaderDenormPreserveFloat16; 4550 VkBool32 shaderDenormPreserveFloat32; 4551 VkBool32 shaderDenormPreserveFloat64; 4552 VkBool32 shaderDenormFlushToZeroFloat16; 4553 VkBool32 shaderDenormFlushToZeroFloat32; 4554 VkBool32 shaderDenormFlushToZeroFloat64; 4555 VkBool32 shaderRoundingModeRTEFloat16; 4556 VkBool32 shaderRoundingModeRTEFloat32; 4557 VkBool32 shaderRoundingModeRTEFloat64; 4558 VkBool32 shaderRoundingModeRTZFloat16; 4559 VkBool32 shaderRoundingModeRTZFloat32; 4560 VkBool32 shaderRoundingModeRTZFloat64; 4561} VkPhysicalDeviceFloatControlsProperties; 4562 4563typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 4564 VkStructureType sType; 4565 const void* pNext; 4566 deUint32 bindingCount; 4567 const VkDescriptorBindingFlags* pBindingFlags; 4568} VkDescriptorSetLayoutBindingFlagsCreateInfo; 4569 4570typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 4571 VkStructureType sType; 4572 void* pNext; 4573 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 4574 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 4575 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 4576 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 4577 VkBool32 shaderSampledImageArrayNonUniformIndexing; 4578 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 4579 VkBool32 shaderStorageImageArrayNonUniformIndexing; 4580 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 4581 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 4582 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 4583 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 4584 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 4585 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 4586 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 4587 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 4588 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 4589 VkBool32 descriptorBindingUpdateUnusedWhilePending; 4590 VkBool32 descriptorBindingPartiallyBound; 4591 VkBool32 descriptorBindingVariableDescriptorCount; 4592 VkBool32 runtimeDescriptorArray; 4593} VkPhysicalDeviceDescriptorIndexingFeatures; 4594 4595typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 4596 VkStructureType sType; 4597 void* pNext; 4598 deUint32 maxUpdateAfterBindDescriptorsInAllPools; 4599 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 4600 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 4601 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 4602 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 4603 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 4604 VkBool32 robustBufferAccessUpdateAfterBind; 4605 VkBool32 quadDivergentImplicitLod; 4606 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; 4607 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; 4608 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; 4609 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; 4610 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; 4611 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; 4612 deUint32 maxPerStageUpdateAfterBindResources; 4613 deUint32 maxDescriptorSetUpdateAfterBindSamplers; 4614 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; 4615 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 4616 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; 4617 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 4618 deUint32 maxDescriptorSetUpdateAfterBindSampledImages; 4619 deUint32 maxDescriptorSetUpdateAfterBindStorageImages; 4620 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; 4621} VkPhysicalDeviceDescriptorIndexingProperties; 4622 4623typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 4624 VkStructureType sType; 4625 const void* pNext; 4626 deUint32 descriptorSetCount; 4627 const deUint32* pDescriptorCounts; 4628} VkDescriptorSetVariableDescriptorCountAllocateInfo; 4629 4630typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 4631 VkStructureType sType; 4632 void* pNext; 4633 deUint32 maxVariableDescriptorCount; 4634} VkDescriptorSetVariableDescriptorCountLayoutSupport; 4635 4636typedef struct VkSubpassDescriptionDepthStencilResolve { 4637 VkStructureType sType; 4638 const void* pNext; 4639 VkResolveModeFlagBits depthResolveMode; 4640 VkResolveModeFlagBits stencilResolveMode; 4641 const VkAttachmentReference2* pDepthStencilResolveAttachment; 4642} VkSubpassDescriptionDepthStencilResolve; 4643 4644typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 4645 VkStructureType sType; 4646 void* pNext; 4647 VkResolveModeFlags supportedDepthResolveModes; 4648 VkResolveModeFlags supportedStencilResolveModes; 4649 VkBool32 independentResolveNone; 4650 VkBool32 independentResolve; 4651} VkPhysicalDeviceDepthStencilResolveProperties; 4652 4653typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 4654 VkStructureType sType; 4655 void* pNext; 4656 VkBool32 scalarBlockLayout; 4657} VkPhysicalDeviceScalarBlockLayoutFeatures; 4658 4659typedef struct VkImageStencilUsageCreateInfo { 4660 VkStructureType sType; 4661 const void* pNext; 4662 VkImageUsageFlags stencilUsage; 4663} VkImageStencilUsageCreateInfo; 4664 4665typedef struct VkSamplerReductionModeCreateInfo { 4666 VkStructureType sType; 4667 const void* pNext; 4668 VkSamplerReductionMode reductionMode; 4669} VkSamplerReductionModeCreateInfo; 4670 4671typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 4672 VkStructureType sType; 4673 void* pNext; 4674 VkBool32 filterMinmaxSingleComponentFormats; 4675 VkBool32 filterMinmaxImageComponentMapping; 4676} VkPhysicalDeviceSamplerFilterMinmaxProperties; 4677 4678typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 4679 VkStructureType sType; 4680 void* pNext; 4681 VkBool32 vulkanMemoryModel; 4682 VkBool32 vulkanMemoryModelDeviceScope; 4683 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 4684} VkPhysicalDeviceVulkanMemoryModelFeatures; 4685 4686typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 4687 VkStructureType sType; 4688 void* pNext; 4689 VkBool32 imagelessFramebuffer; 4690} VkPhysicalDeviceImagelessFramebufferFeatures; 4691 4692typedef struct VkFramebufferAttachmentImageInfo { 4693 VkStructureType sType; 4694 const void* pNext; 4695 VkImageCreateFlags flags; 4696 VkImageUsageFlags usage; 4697 deUint32 width; 4698 deUint32 height; 4699 deUint32 layerCount; 4700 deUint32 viewFormatCount; 4701 const VkFormat* pViewFormats; 4702} VkFramebufferAttachmentImageInfo; 4703 4704typedef struct VkFramebufferAttachmentsCreateInfo { 4705 VkStructureType sType; 4706 const void* pNext; 4707 deUint32 attachmentImageInfoCount; 4708 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 4709} VkFramebufferAttachmentsCreateInfo; 4710 4711typedef struct VkRenderPassAttachmentBeginInfo { 4712 VkStructureType sType; 4713 const void* pNext; 4714 deUint32 attachmentCount; 4715 const VkImageView* pAttachments; 4716} VkRenderPassAttachmentBeginInfo; 4717 4718typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 4719 VkStructureType sType; 4720 void* pNext; 4721 VkBool32 uniformBufferStandardLayout; 4722} VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 4723 4724typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 4725 VkStructureType sType; 4726 void* pNext; 4727 VkBool32 shaderSubgroupExtendedTypes; 4728} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 4729 4730typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 4731 VkStructureType sType; 4732 void* pNext; 4733 VkBool32 separateDepthStencilLayouts; 4734} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 4735 4736typedef struct VkAttachmentReferenceStencilLayout { 4737 VkStructureType sType; 4738 void* pNext; 4739 VkImageLayout stencilLayout; 4740} VkAttachmentReferenceStencilLayout; 4741 4742typedef struct VkAttachmentDescriptionStencilLayout { 4743 VkStructureType sType; 4744 void* pNext; 4745 VkImageLayout stencilInitialLayout; 4746 VkImageLayout stencilFinalLayout; 4747} VkAttachmentDescriptionStencilLayout; 4748 4749typedef struct VkPhysicalDeviceHostQueryResetFeatures { 4750 VkStructureType sType; 4751 void* pNext; 4752 VkBool32 hostQueryReset; 4753} VkPhysicalDeviceHostQueryResetFeatures; 4754 4755typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 4756 VkStructureType sType; 4757 void* pNext; 4758 VkBool32 timelineSemaphore; 4759} VkPhysicalDeviceTimelineSemaphoreFeatures; 4760 4761typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 4762 VkStructureType sType; 4763 void* pNext; 4764 deUint64 maxTimelineSemaphoreValueDifference; 4765} VkPhysicalDeviceTimelineSemaphoreProperties; 4766 4767typedef struct VkSemaphoreTypeCreateInfo { 4768 VkStructureType sType; 4769 const void* pNext; 4770 VkSemaphoreType semaphoreType; 4771 deUint64 initialValue; 4772} VkSemaphoreTypeCreateInfo; 4773 4774typedef struct VkTimelineSemaphoreSubmitInfo { 4775 VkStructureType sType; 4776 const void* pNext; 4777 deUint32 waitSemaphoreValueCount; 4778 const deUint64* pWaitSemaphoreValues; 4779 deUint32 signalSemaphoreValueCount; 4780 const deUint64* pSignalSemaphoreValues; 4781} VkTimelineSemaphoreSubmitInfo; 4782 4783typedef struct VkSemaphoreWaitInfo { 4784 VkStructureType sType; 4785 const void* pNext; 4786 VkSemaphoreWaitFlags flags; 4787 deUint32 semaphoreCount; 4788 const VkSemaphore* pSemaphores; 4789 const deUint64* pValues; 4790} VkSemaphoreWaitInfo; 4791 4792typedef struct VkSemaphoreSignalInfo { 4793 VkStructureType sType; 4794 const void* pNext; 4795 VkSemaphore semaphore; 4796 deUint64 value; 4797} VkSemaphoreSignalInfo; 4798 4799typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 4800 VkStructureType sType; 4801 void* pNext; 4802 VkBool32 bufferDeviceAddress; 4803 VkBool32 bufferDeviceAddressCaptureReplay; 4804 VkBool32 bufferDeviceAddressMultiDevice; 4805} VkPhysicalDeviceBufferDeviceAddressFeatures; 4806 4807typedef struct VkBufferDeviceAddressInfo { 4808 VkStructureType sType; 4809 const void* pNext; 4810 VkBuffer buffer; 4811} VkBufferDeviceAddressInfo; 4812 4813typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 4814 VkStructureType sType; 4815 const void* pNext; 4816 deUint64 opaqueCaptureAddress; 4817} VkBufferOpaqueCaptureAddressCreateInfo; 4818 4819typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 4820 VkStructureType sType; 4821 const void* pNext; 4822 deUint64 opaqueCaptureAddress; 4823} VkMemoryOpaqueCaptureAddressAllocateInfo; 4824 4825typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 4826 VkStructureType sType; 4827 const void* pNext; 4828 VkDeviceMemory memory; 4829} VkDeviceMemoryOpaqueCaptureAddressInfo; 4830 4831typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 4832typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 4833typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4834typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 4835typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 4836typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 4837typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); 4838typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue); 4839typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout); 4840typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 4841typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 4842typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 4843typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 4844 4845#ifndef VK_NO_PROTOTYPES 4846VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 4847 VkCommandBuffer commandBuffer, 4848 VkBuffer buffer, 4849 VkDeviceSize offset, 4850 VkBuffer countBuffer, 4851 VkDeviceSize countBufferOffset, 4852 deUint32 maxDrawCount, 4853 deUint32 stride); 4854 4855VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 4856 VkCommandBuffer commandBuffer, 4857 VkBuffer buffer, 4858 VkDeviceSize offset, 4859 VkBuffer countBuffer, 4860 VkDeviceSize countBufferOffset, 4861 deUint32 maxDrawCount, 4862 deUint32 stride); 4863 4864VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 4865 VkDevice device, 4866 const VkRenderPassCreateInfo2* pCreateInfo, 4867 const VkAllocationCallbacks* pAllocator, 4868 VkRenderPass* pRenderPass); 4869 4870VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 4871 VkCommandBuffer commandBuffer, 4872 const VkRenderPassBeginInfo* pRenderPassBegin, 4873 const VkSubpassBeginInfo* pSubpassBeginInfo); 4874 4875VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 4876 VkCommandBuffer commandBuffer, 4877 const VkSubpassBeginInfo* pSubpassBeginInfo, 4878 const VkSubpassEndInfo* pSubpassEndInfo); 4879 4880VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 4881 VkCommandBuffer commandBuffer, 4882 const VkSubpassEndInfo* pSubpassEndInfo); 4883 4884VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 4885 VkDevice device, 4886 VkQueryPool queryPool, 4887 deUint32 firstQuery, 4888 deUint32 queryCount); 4889 4890VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 4891 VkDevice device, 4892 VkSemaphore semaphore, 4893 deUint64* pValue); 4894 4895VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 4896 VkDevice device, 4897 const VkSemaphoreWaitInfo* pWaitInfo, 4898 deUint64 timeout); 4899 4900VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 4901 VkDevice device, 4902 const VkSemaphoreSignalInfo* pSignalInfo); 4903 4904VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 4905 VkDevice device, 4906 const VkBufferDeviceAddressInfo* pInfo); 4907 4908VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 4909 VkDevice device, 4910 const VkBufferDeviceAddressInfo* pInfo); 4911 4912VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 4913 VkDevice device, 4914 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 4915#endif 4916 4917 4918#define VKSC_VERSION_1_0 1 4919// Vulkan SC 1.0 version number 4920#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 4921 4922 4923typedef enum VkFaultLevel { 4924 VK_FAULT_LEVEL_UNASSIGNED = 0, 4925 VK_FAULT_LEVEL_CRITICAL = 1, 4926 VK_FAULT_LEVEL_RECOVERABLE = 2, 4927 VK_FAULT_LEVEL_WARNING = 3, 4928 VK_FAULT_LEVEL_MAX_ENUM = 0x7FFFFFFF 4929} VkFaultLevel; 4930 4931typedef enum VkFaultType { 4932 VK_FAULT_TYPE_INVALID = 0, 4933 VK_FAULT_TYPE_UNASSIGNED = 1, 4934 VK_FAULT_TYPE_IMPLEMENTATION = 2, 4935 VK_FAULT_TYPE_SYSTEM = 3, 4936 VK_FAULT_TYPE_PHYSICAL_DEVICE = 4, 4937 VK_FAULT_TYPE_COMMAND_BUFFER_FULL = 5, 4938 VK_FAULT_TYPE_INVALID_API_USAGE = 6, 4939 VK_FAULT_TYPE_MAX_ENUM = 0x7FFFFFFF 4940} VkFaultType; 4941 4942typedef enum VkFaultQueryBehavior { 4943 VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS = 0, 4944 VK_FAULT_QUERY_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4945} VkFaultQueryBehavior; 4946 4947typedef enum VkPipelineMatchControl { 4948 VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH = 0, 4949 VK_PIPELINE_MATCH_CONTROL_MAX_ENUM = 0x7FFFFFFF 4950} VkPipelineMatchControl; 4951 4952typedef enum VkPipelineCacheValidationVersion { 4953 VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE = 1, 4954 VK_PIPELINE_CACHE_VALIDATION_VERSION_MAX_ENUM = 0x7FFFFFFF 4955} VkPipelineCacheValidationVersion; 4956typedef struct VkPhysicalDeviceVulkanSC10Features { 4957 VkStructureType sType; 4958 void* pNext; 4959 VkBool32 shaderAtomicInstructions; 4960} VkPhysicalDeviceVulkanSC10Features; 4961 4962typedef struct VkPhysicalDeviceVulkanSC10Properties { 4963 VkStructureType sType; 4964 void* pNext; 4965 VkBool32 deviceNoDynamicHostAllocations; 4966 VkBool32 deviceDestroyFreesMemory; 4967 VkBool32 commandPoolMultipleCommandBuffersRecording; 4968 VkBool32 commandPoolResetCommandBuffer; 4969 VkBool32 commandBufferSimultaneousUse; 4970 VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer; 4971 VkBool32 recycleDescriptorSetMemory; 4972 VkBool32 recyclePipelineMemory; 4973 deUint32 maxRenderPassSubpasses; 4974 deUint32 maxRenderPassDependencies; 4975 deUint32 maxSubpassInputAttachments; 4976 deUint32 maxSubpassPreserveAttachments; 4977 deUint32 maxFramebufferAttachments; 4978 deUint32 maxDescriptorSetLayoutBindings; 4979 deUint32 maxQueryFaultCount; 4980 deUint32 maxCallbackFaultCount; 4981 deUint32 maxCommandPoolCommandBuffers; 4982 VkDeviceSize maxCommandBufferSize; 4983} VkPhysicalDeviceVulkanSC10Properties; 4984 4985typedef struct VkPipelinePoolSize { 4986 VkStructureType sType; 4987 const void* pNext; 4988 VkDeviceSize poolEntrySize; 4989 deUint32 poolEntryCount; 4990} VkPipelinePoolSize; 4991 4992typedef struct VkDeviceObjectReservationCreateInfo { 4993 VkStructureType sType; 4994 const void* pNext; 4995 deUint32 pipelineCacheCreateInfoCount; 4996 const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos; 4997 deUint32 pipelinePoolSizeCount; 4998 const VkPipelinePoolSize* pPipelinePoolSizes; 4999 deUint32 semaphoreRequestCount; 5000 deUint32 commandBufferRequestCount; 5001 deUint32 fenceRequestCount; 5002 deUint32 deviceMemoryRequestCount; 5003 deUint32 bufferRequestCount; 5004 deUint32 imageRequestCount; 5005 deUint32 eventRequestCount; 5006 deUint32 queryPoolRequestCount; 5007 deUint32 bufferViewRequestCount; 5008 deUint32 imageViewRequestCount; 5009 deUint32 layeredImageViewRequestCount; 5010 deUint32 pipelineCacheRequestCount; 5011 deUint32 pipelineLayoutRequestCount; 5012 deUint32 renderPassRequestCount; 5013 deUint32 graphicsPipelineRequestCount; 5014 deUint32 computePipelineRequestCount; 5015 deUint32 descriptorSetLayoutRequestCount; 5016 deUint32 samplerRequestCount; 5017 deUint32 descriptorPoolRequestCount; 5018 deUint32 descriptorSetRequestCount; 5019 deUint32 framebufferRequestCount; 5020 deUint32 commandPoolRequestCount; 5021 deUint32 samplerYcbcrConversionRequestCount; 5022 deUint32 surfaceRequestCount; 5023 deUint32 swapchainRequestCount; 5024 deUint32 displayModeRequestCount; 5025 deUint32 subpassDescriptionRequestCount; 5026 deUint32 attachmentDescriptionRequestCount; 5027 deUint32 descriptorSetLayoutBindingRequestCount; 5028 deUint32 descriptorSetLayoutBindingLimit; 5029 deUint32 maxImageViewMipLevels; 5030 deUint32 maxImageViewArrayLayers; 5031 deUint32 maxLayeredImageViewMipLevels; 5032 deUint32 maxOcclusionQueriesPerPool; 5033 deUint32 maxPipelineStatisticsQueriesPerPool; 5034 deUint32 maxTimestampQueriesPerPool; 5035 deUint32 maxImmutableSamplersPerDescriptorSetLayout; 5036} VkDeviceObjectReservationCreateInfo; 5037 5038typedef struct VkCommandPoolMemoryReservationCreateInfo { 5039 VkStructureType sType; 5040 const void* pNext; 5041 VkDeviceSize commandPoolReservedSize; 5042 deUint32 commandPoolMaxCommandBuffers; 5043} VkCommandPoolMemoryReservationCreateInfo; 5044 5045typedef struct VkCommandPoolMemoryConsumption { 5046 VkStructureType sType; 5047 void* pNext; 5048 VkDeviceSize commandPoolAllocated; 5049 VkDeviceSize commandPoolReservedSize; 5050 VkDeviceSize commandBufferAllocated; 5051} VkCommandPoolMemoryConsumption; 5052 5053typedef struct VkFaultData { 5054 VkStructureType sType; 5055 void* pNext; 5056 VkFaultLevel faultLevel; 5057 VkFaultType faultType; 5058} VkFaultData; 5059 5060typedef void (VKAPI_PTR *PFN_vkFaultCallbackFunction)( 5061 VkBool32 unrecordedFaults, 5062 deUint32 faultCount, 5063 const VkFaultData* pFaults); 5064 5065typedef struct VkFaultCallbackInfo { 5066 VkStructureType sType; 5067 void* pNext; 5068 deUint32 faultCount; 5069 VkFaultData* pFaults; 5070 PFN_vkFaultCallbackFunction pfnFaultCallback; 5071} VkFaultCallbackInfo; 5072 5073typedef struct VkPipelineOfflineCreateInfo { 5074 VkStructureType sType; 5075 const void* pNext; 5076 deUint8 pipelineIdentifier[VK_UUID_SIZE]; 5077 VkPipelineMatchControl matchControl; 5078 VkDeviceSize poolEntrySize; 5079} VkPipelineOfflineCreateInfo; 5080 5081typedef struct VkPipelineCacheStageValidationIndexEntry { 5082 deUint64 codeSize; 5083 deUint64 codeOffset; 5084} VkPipelineCacheStageValidationIndexEntry; 5085 5086typedef struct VkPipelineCacheSafetyCriticalIndexEntry { 5087 deUint8 pipelineIdentifier[VK_UUID_SIZE]; 5088 deUint64 pipelineMemorySize; 5089 deUint64 jsonSize; 5090 deUint64 jsonOffset; 5091 deUint32 stageIndexCount; 5092 deUint32 stageIndexStride; 5093 deUint64 stageIndexOffset; 5094} VkPipelineCacheSafetyCriticalIndexEntry; 5095 5096typedef struct VkPipelineCacheHeaderVersionSafetyCriticalOne { 5097 VkPipelineCacheHeaderVersionOne headerVersionOne; 5098 VkPipelineCacheValidationVersion validationVersion; 5099 deUint32 implementationData; 5100 deUint32 pipelineIndexCount; 5101 deUint32 pipelineIndexStride; 5102 deUint64 pipelineIndexOffset; 5103} VkPipelineCacheHeaderVersionSafetyCriticalOne; 5104 5105typedef void (VKAPI_PTR *PFN_vkGetCommandPoolMemoryConsumption)(VkDevice device, VkCommandPool commandPool, VkCommandBuffer commandBuffer, VkCommandPoolMemoryConsumption* pConsumption); 5106typedef VkResult (VKAPI_PTR *PFN_vkGetFaultData)(VkDevice device, VkFaultQueryBehavior faultQueryBehavior, VkBool32* pUnrecordedFaults, deUint32* pFaultCount, VkFaultData* pFaults); 5107 5108#ifndef VK_NO_PROTOTYPES 5109VKAPI_ATTR void VKAPI_CALL vkGetCommandPoolMemoryConsumption( 5110 VkDevice device, 5111 VkCommandPool commandPool, 5112 VkCommandBuffer commandBuffer, 5113 VkCommandPoolMemoryConsumption* pConsumption); 5114 5115VKAPI_ATTR VkResult VKAPI_CALL vkGetFaultData( 5116 VkDevice device, 5117 VkFaultQueryBehavior faultQueryBehavior, 5118 VkBool32* pUnrecordedFaults, 5119 deUint32* pFaultCount, 5120 VkFaultData* pFaults); 5121#endif 5122 5123 5124#define VK_KHR_surface 1 5125VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 5126#define VK_KHR_SURFACE_SPEC_VERSION 25 5127#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 5128 5129typedef enum VkPresentModeKHR { 5130 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 5131 VK_PRESENT_MODE_MAILBOX_KHR = 1, 5132 VK_PRESENT_MODE_FIFO_KHR = 2, 5133 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 5134 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 5135 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 5136 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 5137} VkPresentModeKHR; 5138 5139typedef enum VkColorSpaceKHR { 5140 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 5141 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 5142 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 5143 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 5144 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 5145 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 5146 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 5147 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 5148 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 5149 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 5150 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 5151 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 5152 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 5153 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 5154 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 5155 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 5156} VkColorSpaceKHR; 5157 5158typedef enum VkSurfaceTransformFlagBitsKHR { 5159 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 5160 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 5161 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 5162 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 5163 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 5164 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 5165 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 5166 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 5167 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 5168 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5169} VkSurfaceTransformFlagBitsKHR; 5170 5171typedef enum VkCompositeAlphaFlagBitsKHR { 5172 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 5173 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 5174 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 5175 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 5176 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5177} VkCompositeAlphaFlagBitsKHR; 5178typedef VkFlags VkCompositeAlphaFlagsKHR; 5179typedef VkFlags VkSurfaceTransformFlagsKHR; 5180typedef struct VkSurfaceCapabilitiesKHR { 5181 deUint32 minImageCount; 5182 deUint32 maxImageCount; 5183 VkExtent2D currentExtent; 5184 VkExtent2D minImageExtent; 5185 VkExtent2D maxImageExtent; 5186 deUint32 maxImageArrayLayers; 5187 VkSurfaceTransformFlagsKHR supportedTransforms; 5188 VkSurfaceTransformFlagBitsKHR currentTransform; 5189 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 5190 VkImageUsageFlags supportedUsageFlags; 5191} VkSurfaceCapabilitiesKHR; 5192 5193typedef struct VkSurfaceFormatKHR { 5194 VkFormat format; 5195 VkColorSpaceKHR colorSpace; 5196} VkSurfaceFormatKHR; 5197 5198typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 5199typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 5200typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 5201typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 5202typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes); 5203 5204#ifndef VK_NO_PROTOTYPES 5205VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 5206 VkInstance instance, 5207 VkSurfaceKHR surface, 5208 const VkAllocationCallbacks* pAllocator); 5209 5210VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 5211 VkPhysicalDevice physicalDevice, 5212 deUint32 queueFamilyIndex, 5213 VkSurfaceKHR surface, 5214 VkBool32* pSupported); 5215 5216VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 5217 VkPhysicalDevice physicalDevice, 5218 VkSurfaceKHR surface, 5219 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 5220 5221VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 5222 VkPhysicalDevice physicalDevice, 5223 VkSurfaceKHR surface, 5224 deUint32* pSurfaceFormatCount, 5225 VkSurfaceFormatKHR* pSurfaceFormats); 5226 5227VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 5228 VkPhysicalDevice physicalDevice, 5229 VkSurfaceKHR surface, 5230 deUint32* pPresentModeCount, 5231 VkPresentModeKHR* pPresentModes); 5232#endif 5233 5234 5235#define VK_KHR_swapchain 1 5236VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 5237#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 5238#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 5239 5240typedef enum VkSwapchainCreateFlagBitsKHR { 5241 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 5242 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 5243 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 5244 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5245} VkSwapchainCreateFlagBitsKHR; 5246typedef VkFlags VkSwapchainCreateFlagsKHR; 5247 5248typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 5249 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 5250 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 5251 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 5252 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 5253 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5254} VkDeviceGroupPresentModeFlagBitsKHR; 5255typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 5256typedef struct VkSwapchainCreateInfoKHR { 5257 VkStructureType sType; 5258 const void* pNext; 5259 VkSwapchainCreateFlagsKHR flags; 5260 VkSurfaceKHR surface; 5261 deUint32 minImageCount; 5262 VkFormat imageFormat; 5263 VkColorSpaceKHR imageColorSpace; 5264 VkExtent2D imageExtent; 5265 deUint32 imageArrayLayers; 5266 VkImageUsageFlags imageUsage; 5267 VkSharingMode imageSharingMode; 5268 deUint32 queueFamilyIndexCount; 5269 const deUint32* pQueueFamilyIndices; 5270 VkSurfaceTransformFlagBitsKHR preTransform; 5271 VkCompositeAlphaFlagBitsKHR compositeAlpha; 5272 VkPresentModeKHR presentMode; 5273 VkBool32 clipped; 5274 VkSwapchainKHR oldSwapchain; 5275} VkSwapchainCreateInfoKHR; 5276 5277typedef struct VkPresentInfoKHR { 5278 VkStructureType sType; 5279 const void* pNext; 5280 deUint32 waitSemaphoreCount; 5281 const VkSemaphore* pWaitSemaphores; 5282 deUint32 swapchainCount; 5283 const VkSwapchainKHR* pSwapchains; 5284 const deUint32* pImageIndices; 5285 VkResult* pResults; 5286} VkPresentInfoKHR; 5287 5288typedef struct VkImageSwapchainCreateInfoKHR { 5289 VkStructureType sType; 5290 const void* pNext; 5291 VkSwapchainKHR swapchain; 5292} VkImageSwapchainCreateInfoKHR; 5293 5294typedef struct VkBindImageMemorySwapchainInfoKHR { 5295 VkStructureType sType; 5296 const void* pNext; 5297 VkSwapchainKHR swapchain; 5298 deUint32 imageIndex; 5299} VkBindImageMemorySwapchainInfoKHR; 5300 5301typedef struct VkAcquireNextImageInfoKHR { 5302 VkStructureType sType; 5303 const void* pNext; 5304 VkSwapchainKHR swapchain; 5305 deUint64 timeout; 5306 VkSemaphore semaphore; 5307 VkFence fence; 5308 deUint32 deviceMask; 5309} VkAcquireNextImageInfoKHR; 5310 5311typedef struct VkDeviceGroupPresentCapabilitiesKHR { 5312 VkStructureType sType; 5313 void* pNext; 5314 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 5315 VkDeviceGroupPresentModeFlagsKHR modes; 5316} VkDeviceGroupPresentCapabilitiesKHR; 5317 5318typedef struct VkDeviceGroupPresentInfoKHR { 5319 VkStructureType sType; 5320 const void* pNext; 5321 deUint32 swapchainCount; 5322 const deUint32* pDeviceMasks; 5323 VkDeviceGroupPresentModeFlagBitsKHR mode; 5324} VkDeviceGroupPresentInfoKHR; 5325 5326typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 5327 VkStructureType sType; 5328 const void* pNext; 5329 VkDeviceGroupPresentModeFlagsKHR modes; 5330} VkDeviceGroupSwapchainCreateInfoKHR; 5331 5332typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 5333typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages); 5334typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex); 5335typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 5336typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 5337typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 5338typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects); 5339typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex); 5340 5341#ifndef VK_NO_PROTOTYPES 5342VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 5343 VkDevice device, 5344 const VkSwapchainCreateInfoKHR* pCreateInfo, 5345 const VkAllocationCallbacks* pAllocator, 5346 VkSwapchainKHR* pSwapchain); 5347 5348VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 5349 VkDevice device, 5350 VkSwapchainKHR swapchain, 5351 deUint32* pSwapchainImageCount, 5352 VkImage* pSwapchainImages); 5353 5354VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 5355 VkDevice device, 5356 VkSwapchainKHR swapchain, 5357 deUint64 timeout, 5358 VkSemaphore semaphore, 5359 VkFence fence, 5360 deUint32* pImageIndex); 5361 5362VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 5363 VkQueue queue, 5364 const VkPresentInfoKHR* pPresentInfo); 5365 5366VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 5367 VkDevice device, 5368 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 5369 5370VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 5371 VkDevice device, 5372 VkSurfaceKHR surface, 5373 VkDeviceGroupPresentModeFlagsKHR* pModes); 5374 5375VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 5376 VkPhysicalDevice physicalDevice, 5377 VkSurfaceKHR surface, 5378 deUint32* pRectCount, 5379 VkRect2D* pRects); 5380 5381VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 5382 VkDevice device, 5383 const VkAcquireNextImageInfoKHR* pAcquireInfo, 5384 deUint32* pImageIndex); 5385#endif 5386 5387 5388#define VK_KHR_display 1 5389VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 5390VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 5391#define VK_KHR_DISPLAY_SPEC_VERSION 23 5392#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 5393typedef VkFlags VkDisplayModeCreateFlagsKHR; 5394 5395typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 5396 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 5397 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 5398 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 5399 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 5400 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5401} VkDisplayPlaneAlphaFlagBitsKHR; 5402typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 5403typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 5404typedef struct VkDisplayModeParametersKHR { 5405 VkExtent2D visibleRegion; 5406 deUint32 refreshRate; 5407} VkDisplayModeParametersKHR; 5408 5409typedef struct VkDisplayModeCreateInfoKHR { 5410 VkStructureType sType; 5411 const void* pNext; 5412 VkDisplayModeCreateFlagsKHR flags; 5413 VkDisplayModeParametersKHR parameters; 5414} VkDisplayModeCreateInfoKHR; 5415 5416typedef struct VkDisplayModePropertiesKHR { 5417 VkDisplayModeKHR displayMode; 5418 VkDisplayModeParametersKHR parameters; 5419} VkDisplayModePropertiesKHR; 5420 5421typedef struct VkDisplayPlaneCapabilitiesKHR { 5422 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 5423 VkOffset2D minSrcPosition; 5424 VkOffset2D maxSrcPosition; 5425 VkExtent2D minSrcExtent; 5426 VkExtent2D maxSrcExtent; 5427 VkOffset2D minDstPosition; 5428 VkOffset2D maxDstPosition; 5429 VkExtent2D minDstExtent; 5430 VkExtent2D maxDstExtent; 5431} VkDisplayPlaneCapabilitiesKHR; 5432 5433typedef struct VkDisplayPlanePropertiesKHR { 5434 VkDisplayKHR currentDisplay; 5435 deUint32 currentStackIndex; 5436} VkDisplayPlanePropertiesKHR; 5437 5438typedef struct VkDisplayPropertiesKHR { 5439 VkDisplayKHR display; 5440 const char* displayName; 5441 VkExtent2D physicalDimensions; 5442 VkExtent2D physicalResolution; 5443 VkSurfaceTransformFlagsKHR supportedTransforms; 5444 VkBool32 planeReorderPossible; 5445 VkBool32 persistentContent; 5446} VkDisplayPropertiesKHR; 5447 5448typedef struct VkDisplaySurfaceCreateInfoKHR { 5449 VkStructureType sType; 5450 const void* pNext; 5451 VkDisplaySurfaceCreateFlagsKHR flags; 5452 VkDisplayModeKHR displayMode; 5453 deUint32 planeIndex; 5454 deUint32 planeStackIndex; 5455 VkSurfaceTransformFlagBitsKHR transform; 5456 float globalAlpha; 5457 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 5458 VkExtent2D imageExtent; 5459} VkDisplaySurfaceCreateInfoKHR; 5460 5461typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 5462typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 5463typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays); 5464typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 5465typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 5466typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 5467typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 5468 5469#ifndef VK_NO_PROTOTYPES 5470VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 5471 VkPhysicalDevice physicalDevice, 5472 deUint32* pPropertyCount, 5473 VkDisplayPropertiesKHR* pProperties); 5474 5475VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 5476 VkPhysicalDevice physicalDevice, 5477 deUint32* pPropertyCount, 5478 VkDisplayPlanePropertiesKHR* pProperties); 5479 5480VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 5481 VkPhysicalDevice physicalDevice, 5482 deUint32 planeIndex, 5483 deUint32* pDisplayCount, 5484 VkDisplayKHR* pDisplays); 5485 5486VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 5487 VkPhysicalDevice physicalDevice, 5488 VkDisplayKHR display, 5489 deUint32* pPropertyCount, 5490 VkDisplayModePropertiesKHR* pProperties); 5491 5492VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 5493 VkPhysicalDevice physicalDevice, 5494 VkDisplayKHR display, 5495 const VkDisplayModeCreateInfoKHR* pCreateInfo, 5496 const VkAllocationCallbacks* pAllocator, 5497 VkDisplayModeKHR* pMode); 5498 5499VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 5500 VkPhysicalDevice physicalDevice, 5501 VkDisplayModeKHR mode, 5502 deUint32 planeIndex, 5503 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 5504 5505VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 5506 VkInstance instance, 5507 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 5508 const VkAllocationCallbacks* pAllocator, 5509 VkSurfaceKHR* pSurface); 5510#endif 5511 5512 5513#define VK_KHR_display_swapchain 1 5514#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 5515#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 5516typedef struct VkDisplayPresentInfoKHR { 5517 VkStructureType sType; 5518 const void* pNext; 5519 VkRect2D srcRect; 5520 VkRect2D dstRect; 5521 VkBool32 persistent; 5522} VkDisplayPresentInfoKHR; 5523 5524typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 5525 5526#ifndef VK_NO_PROTOTYPES 5527VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 5528 VkDevice device, 5529 deUint32 swapchainCount, 5530 const VkSwapchainCreateInfoKHR* pCreateInfos, 5531 const VkAllocationCallbacks* pAllocator, 5532 VkSwapchainKHR* pSwapchains); 5533#endif 5534 5535 5536#define VK_KHR_external_memory_fd 1 5537#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 5538#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 5539typedef struct VkImportMemoryFdInfoKHR { 5540 VkStructureType sType; 5541 const void* pNext; 5542 VkExternalMemoryHandleTypeFlagBits handleType; 5543 int fd; 5544} VkImportMemoryFdInfoKHR; 5545 5546typedef struct VkMemoryFdPropertiesKHR { 5547 VkStructureType sType; 5548 void* pNext; 5549 deUint32 memoryTypeBits; 5550} VkMemoryFdPropertiesKHR; 5551 5552typedef struct VkMemoryGetFdInfoKHR { 5553 VkStructureType sType; 5554 const void* pNext; 5555 VkDeviceMemory memory; 5556 VkExternalMemoryHandleTypeFlagBits handleType; 5557} VkMemoryGetFdInfoKHR; 5558 5559typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 5560typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 5561 5562#ifndef VK_NO_PROTOTYPES 5563VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 5564 VkDevice device, 5565 const VkMemoryGetFdInfoKHR* pGetFdInfo, 5566 int* pFd); 5567 5568VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 5569 VkDevice device, 5570 VkExternalMemoryHandleTypeFlagBits handleType, 5571 int fd, 5572 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 5573#endif 5574 5575 5576#define VK_KHR_external_semaphore_fd 1 5577#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 5578#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 5579typedef struct VkImportSemaphoreFdInfoKHR { 5580 VkStructureType sType; 5581 const void* pNext; 5582 VkSemaphore semaphore; 5583 VkSemaphoreImportFlags flags; 5584 VkExternalSemaphoreHandleTypeFlagBits handleType; 5585 int fd; 5586} VkImportSemaphoreFdInfoKHR; 5587 5588typedef struct VkSemaphoreGetFdInfoKHR { 5589 VkStructureType sType; 5590 const void* pNext; 5591 VkSemaphore semaphore; 5592 VkExternalSemaphoreHandleTypeFlagBits handleType; 5593} VkSemaphoreGetFdInfoKHR; 5594 5595typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 5596typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 5597 5598#ifndef VK_NO_PROTOTYPES 5599VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 5600 VkDevice device, 5601 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 5602 5603VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 5604 VkDevice device, 5605 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 5606 int* pFd); 5607#endif 5608 5609 5610#define VK_KHR_incremental_present 1 5611#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 5612#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 5613typedef struct VkRectLayerKHR { 5614 VkOffset2D offset; 5615 VkExtent2D extent; 5616 deUint32 layer; 5617} VkRectLayerKHR; 5618 5619typedef struct VkPresentRegionKHR { 5620 deUint32 rectangleCount; 5621 const VkRectLayerKHR* pRectangles; 5622} VkPresentRegionKHR; 5623 5624typedef struct VkPresentRegionsKHR { 5625 VkStructureType sType; 5626 const void* pNext; 5627 deUint32 swapchainCount; 5628 const VkPresentRegionKHR* pRegions; 5629} VkPresentRegionsKHR; 5630 5631 5632 5633#define VK_KHR_shared_presentable_image 1 5634#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 5635#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 5636typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 5637 VkStructureType sType; 5638 void* pNext; 5639 VkImageUsageFlags sharedPresentSupportedUsageFlags; 5640} VkSharedPresentSurfaceCapabilitiesKHR; 5641 5642typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 5643 5644#ifndef VK_NO_PROTOTYPES 5645VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 5646 VkDevice device, 5647 VkSwapchainKHR swapchain); 5648#endif 5649 5650 5651#define VK_KHR_external_fence_fd 1 5652#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 5653#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 5654typedef struct VkImportFenceFdInfoKHR { 5655 VkStructureType sType; 5656 const void* pNext; 5657 VkFence fence; 5658 VkFenceImportFlags flags; 5659 VkExternalFenceHandleTypeFlagBits handleType; 5660 int fd; 5661} VkImportFenceFdInfoKHR; 5662 5663typedef struct VkFenceGetFdInfoKHR { 5664 VkStructureType sType; 5665 const void* pNext; 5666 VkFence fence; 5667 VkExternalFenceHandleTypeFlagBits handleType; 5668} VkFenceGetFdInfoKHR; 5669 5670typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 5671typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 5672 5673#ifndef VK_NO_PROTOTYPES 5674VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 5675 VkDevice device, 5676 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 5677 5678VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 5679 VkDevice device, 5680 const VkFenceGetFdInfoKHR* pGetFdInfo, 5681 int* pFd); 5682#endif 5683 5684 5685#define VK_KHR_performance_query 1 5686#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 5687#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 5688 5689typedef enum VkPerformanceCounterUnitKHR { 5690 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 5691 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 5692 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 5693 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 5694 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 5695 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 5696 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 5697 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 5698 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 5699 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 5700 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 5701 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 5702} VkPerformanceCounterUnitKHR; 5703 5704typedef enum VkPerformanceCounterScopeKHR { 5705 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 5706 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 5707 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 5708 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 5709 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 5710 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 5711 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 5712} VkPerformanceCounterScopeKHR; 5713 5714typedef enum VkPerformanceCounterStorageKHR { 5715 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 5716 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 5717 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 5718 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 5719 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 5720 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 5721 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 5722} VkPerformanceCounterStorageKHR; 5723 5724typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 5725 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 5726 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 5727 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 5728 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 5729 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5730} VkPerformanceCounterDescriptionFlagBitsKHR; 5731typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 5732 5733typedef enum VkAcquireProfilingLockFlagBitsKHR { 5734 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5735} VkAcquireProfilingLockFlagBitsKHR; 5736typedef VkFlags VkAcquireProfilingLockFlagsKHR; 5737typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 5738 VkStructureType sType; 5739 void* pNext; 5740 VkBool32 performanceCounterQueryPools; 5741 VkBool32 performanceCounterMultipleQueryPools; 5742} VkPhysicalDevicePerformanceQueryFeaturesKHR; 5743 5744typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 5745 VkStructureType sType; 5746 void* pNext; 5747 VkBool32 allowCommandBufferQueryCopies; 5748} VkPhysicalDevicePerformanceQueryPropertiesKHR; 5749 5750typedef struct VkPerformanceCounterKHR { 5751 VkStructureType sType; 5752 void* pNext; 5753 VkPerformanceCounterUnitKHR unit; 5754 VkPerformanceCounterScopeKHR scope; 5755 VkPerformanceCounterStorageKHR storage; 5756 deUint8 uuid[VK_UUID_SIZE]; 5757} VkPerformanceCounterKHR; 5758 5759typedef struct VkPerformanceCounterDescriptionKHR { 5760 VkStructureType sType; 5761 void* pNext; 5762 VkPerformanceCounterDescriptionFlagsKHR flags; 5763 char name[VK_MAX_DESCRIPTION_SIZE]; 5764 char category[VK_MAX_DESCRIPTION_SIZE]; 5765 char description[VK_MAX_DESCRIPTION_SIZE]; 5766} VkPerformanceCounterDescriptionKHR; 5767 5768typedef struct VkQueryPoolPerformanceCreateInfoKHR { 5769 VkStructureType sType; 5770 const void* pNext; 5771 deUint32 queueFamilyIndex; 5772 deUint32 counterIndexCount; 5773 const deUint32* pCounterIndices; 5774} VkQueryPoolPerformanceCreateInfoKHR; 5775 5776typedef union VkPerformanceCounterResultKHR { 5777 deInt32 int32; 5778 deInt64 int64; 5779 deUint32 uint32; 5780 deUint64 uint64; 5781 float float32; 5782 double float64; 5783} VkPerformanceCounterResultKHR; 5784 5785typedef struct VkAcquireProfilingLockInfoKHR { 5786 VkStructureType sType; 5787 const void* pNext; 5788 VkAcquireProfilingLockFlagsKHR flags; 5789 deUint64 timeout; 5790} VkAcquireProfilingLockInfoKHR; 5791 5792typedef struct VkPerformanceQuerySubmitInfoKHR { 5793 VkStructureType sType; 5794 const void* pNext; 5795 deUint32 counterPassIndex; 5796} VkPerformanceQuerySubmitInfoKHR; 5797 5798typedef struct VkPerformanceQueryReservationInfoKHR { 5799 VkStructureType sType; 5800 const void* pNext; 5801 deUint32 maxPerformanceQueriesPerPool; 5802} VkPerformanceQueryReservationInfoKHR; 5803 5804typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 5805typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses); 5806typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 5807typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 5808 5809#ifndef VK_NO_PROTOTYPES 5810VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 5811 VkPhysicalDevice physicalDevice, 5812 deUint32 queueFamilyIndex, 5813 deUint32* pCounterCount, 5814 VkPerformanceCounterKHR* pCounters, 5815 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 5816 5817VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 5818 VkPhysicalDevice physicalDevice, 5819 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 5820 deUint32* pNumPasses); 5821 5822VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 5823 VkDevice device, 5824 const VkAcquireProfilingLockInfoKHR* pInfo); 5825 5826VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 5827 VkDevice device); 5828#endif 5829 5830 5831#define VK_KHR_get_surface_capabilities2 1 5832#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 5833#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 5834typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 5835 VkStructureType sType; 5836 const void* pNext; 5837 VkSurfaceKHR surface; 5838} VkPhysicalDeviceSurfaceInfo2KHR; 5839 5840typedef struct VkSurfaceCapabilities2KHR { 5841 VkStructureType sType; 5842 void* pNext; 5843 VkSurfaceCapabilitiesKHR surfaceCapabilities; 5844} VkSurfaceCapabilities2KHR; 5845 5846typedef struct VkSurfaceFormat2KHR { 5847 VkStructureType sType; 5848 void* pNext; 5849 VkSurfaceFormatKHR surfaceFormat; 5850} VkSurfaceFormat2KHR; 5851 5852typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 5853typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 5854 5855#ifndef VK_NO_PROTOTYPES 5856VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 5857 VkPhysicalDevice physicalDevice, 5858 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 5859 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 5860 5861VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 5862 VkPhysicalDevice physicalDevice, 5863 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 5864 deUint32* pSurfaceFormatCount, 5865 VkSurfaceFormat2KHR* pSurfaceFormats); 5866#endif 5867 5868 5869#define VK_KHR_get_display_properties2 1 5870#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 5871#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 5872typedef struct VkDisplayProperties2KHR { 5873 VkStructureType sType; 5874 void* pNext; 5875 VkDisplayPropertiesKHR displayProperties; 5876} VkDisplayProperties2KHR; 5877 5878typedef struct VkDisplayPlaneProperties2KHR { 5879 VkStructureType sType; 5880 void* pNext; 5881 VkDisplayPlanePropertiesKHR displayPlaneProperties; 5882} VkDisplayPlaneProperties2KHR; 5883 5884typedef struct VkDisplayModeProperties2KHR { 5885 VkStructureType sType; 5886 void* pNext; 5887 VkDisplayModePropertiesKHR displayModeProperties; 5888} VkDisplayModeProperties2KHR; 5889 5890typedef struct VkDisplayPlaneInfo2KHR { 5891 VkStructureType sType; 5892 const void* pNext; 5893 VkDisplayModeKHR mode; 5894 deUint32 planeIndex; 5895} VkDisplayPlaneInfo2KHR; 5896 5897typedef struct VkDisplayPlaneCapabilities2KHR { 5898 VkStructureType sType; 5899 void* pNext; 5900 VkDisplayPlaneCapabilitiesKHR capabilities; 5901} VkDisplayPlaneCapabilities2KHR; 5902 5903typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties); 5904typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 5905typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 5906typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 5907 5908#ifndef VK_NO_PROTOTYPES 5909VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 5910 VkPhysicalDevice physicalDevice, 5911 deUint32* pPropertyCount, 5912 VkDisplayProperties2KHR* pProperties); 5913 5914VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 5915 VkPhysicalDevice physicalDevice, 5916 deUint32* pPropertyCount, 5917 VkDisplayPlaneProperties2KHR* pProperties); 5918 5919VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 5920 VkPhysicalDevice physicalDevice, 5921 VkDisplayKHR display, 5922 deUint32* pPropertyCount, 5923 VkDisplayModeProperties2KHR* pProperties); 5924 5925VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 5926 VkPhysicalDevice physicalDevice, 5927 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 5928 VkDisplayPlaneCapabilities2KHR* pCapabilities); 5929#endif 5930 5931 5932#define VK_KHR_shader_clock 1 5933#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 5934#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 5935typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 5936 VkStructureType sType; 5937 void* pNext; 5938 VkBool32 shaderSubgroupClock; 5939 VkBool32 shaderDeviceClock; 5940} VkPhysicalDeviceShaderClockFeaturesKHR; 5941 5942 5943 5944#define VK_KHR_swapchain_mutable_format 1 5945#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 5946#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 5947 5948 5949#define VK_KHR_shader_terminate_invocation 1 5950#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 5951#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 5952typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR { 5953 VkStructureType sType; 5954 void* pNext; 5955 VkBool32 shaderTerminateInvocation; 5956} VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 5957 5958 5959 5960#define VK_KHR_fragment_shading_rate 1 5961#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 5962#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 5963 5964typedef enum VkFragmentShadingRateCombinerOpKHR { 5965 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 5966 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 5967 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 5968 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 5969 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 5970 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 5971} VkFragmentShadingRateCombinerOpKHR; 5972typedef struct VkFragmentShadingRateAttachmentInfoKHR { 5973 VkStructureType sType; 5974 const void* pNext; 5975 const VkAttachmentReference2* pFragmentShadingRateAttachment; 5976 VkExtent2D shadingRateAttachmentTexelSize; 5977} VkFragmentShadingRateAttachmentInfoKHR; 5978 5979typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 5980 VkStructureType sType; 5981 const void* pNext; 5982 VkExtent2D fragmentSize; 5983 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 5984} VkPipelineFragmentShadingRateStateCreateInfoKHR; 5985 5986typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 5987 VkStructureType sType; 5988 void* pNext; 5989 VkBool32 pipelineFragmentShadingRate; 5990 VkBool32 primitiveFragmentShadingRate; 5991 VkBool32 attachmentFragmentShadingRate; 5992} VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 5993 5994typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 5995 VkStructureType sType; 5996 void* pNext; 5997 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 5998 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 5999 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 6000 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 6001 VkBool32 layeredShadingRateAttachments; 6002 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 6003 VkExtent2D maxFragmentSize; 6004 deUint32 maxFragmentSizeAspectRatio; 6005 deUint32 maxFragmentShadingRateCoverageSamples; 6006 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 6007 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 6008 VkBool32 fragmentShadingRateWithSampleMask; 6009 VkBool32 fragmentShadingRateWithShaderSampleMask; 6010 VkBool32 fragmentShadingRateWithConservativeRasterization; 6011 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 6012 VkBool32 fragmentShadingRateWithCustomSampleLocations; 6013 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 6014} VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 6015 6016typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 6017 VkStructureType sType; 6018 void* pNext; 6019 VkSampleCountFlags sampleCounts; 6020 VkExtent2D fragmentSize; 6021} VkPhysicalDeviceFragmentShadingRateKHR; 6022 6023typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 6024typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 6025 6026#ifndef VK_NO_PROTOTYPES 6027VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 6028 VkPhysicalDevice physicalDevice, 6029 deUint32* pFragmentShadingRateCount, 6030 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 6031 6032VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 6033 VkCommandBuffer commandBuffer, 6034 const VkExtent2D* pFragmentSize, 6035 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 6036#endif 6037 6038 6039#define VK_KHR_object_refresh 1 6040#define VK_KHR_OBJECT_REFRESH_SPEC_VERSION 1 6041#define VK_KHR_OBJECT_REFRESH_EXTENSION_NAME "VK_KHR_object_refresh" 6042 6043typedef enum VkRefreshObjectFlagBitsKHR { 6044 VK_REFRESH_OBJECT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 6045} VkRefreshObjectFlagBitsKHR; 6046typedef VkFlags VkRefreshObjectFlagsKHR; 6047typedef struct VkRefreshObjectKHR { 6048 VkObjectType objectType; 6049 deUint64 objectHandle; 6050 VkRefreshObjectFlagsKHR flags; 6051} VkRefreshObjectKHR; 6052 6053typedef struct VkRefreshObjectListKHR { 6054 VkStructureType sType; 6055 const void* pNext; 6056 deUint32 objectCount; 6057 const VkRefreshObjectKHR* pObjects; 6058} VkRefreshObjectListKHR; 6059 6060typedef void (VKAPI_PTR *PFN_vkCmdRefreshObjectsKHR)(VkCommandBuffer commandBuffer, const VkRefreshObjectListKHR* pRefreshObjects); 6061typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceRefreshableObjectTypesKHR)(VkPhysicalDevice physicalDevice, deUint32* pRefreshableObjectTypeCount, VkObjectType* pRefreshableObjectTypes); 6062 6063#ifndef VK_NO_PROTOTYPES 6064VKAPI_ATTR void VKAPI_CALL vkCmdRefreshObjectsKHR( 6065 VkCommandBuffer commandBuffer, 6066 const VkRefreshObjectListKHR* pRefreshObjects); 6067 6068VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceRefreshableObjectTypesKHR( 6069 VkPhysicalDevice physicalDevice, 6070 deUint32* pRefreshableObjectTypeCount, 6071 VkObjectType* pRefreshableObjectTypes); 6072#endif 6073 6074 6075#define VK_KHR_synchronization2 1 6076typedef deUint64 VkFlags64; 6077#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 6078#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 6079typedef VkFlags64 VkPipelineStageFlags2KHR; 6080 6081// Flag bits for VkPipelineStageFlagBits2KHR 6082typedef VkFlags64 VkPipelineStageFlagBits2KHR; 6083static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 6084static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 6085static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 6086static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 6087static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 6088static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 6089static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 6090static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 6091static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 6092static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 6093static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 6094static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 6095static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 6096static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 6097static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 6098static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 6099static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 6100static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 6101static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 6102static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 6103static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 6104static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 6105static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 6106static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 6107static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6108static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6109static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6110static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6111static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 6112static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 6113static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 6114static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 6115static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 6116static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 6117static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 6118static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 6119static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 6120static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6121 6122typedef VkFlags64 VkAccessFlags2KHR; 6123 6124// Flag bits for VkAccessFlagBits2KHR 6125typedef VkFlags64 VkAccessFlagBits2KHR; 6126static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL; 6127static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 6128static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 6129static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 6130static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 6131static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 6132static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 6133static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 6134static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 6135static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 6136static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 6137static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 6138static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 6139static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 6140static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 6141static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 6142static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 6143static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 6144static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 6145static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6146static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6147static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6148static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6149static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 6150static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 6151static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 6152static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 6153static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 6154static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 6155static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 6156static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 6157static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 6158static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6159static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6160static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6161 6162 6163typedef enum VkSubmitFlagBitsKHR { 6164 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001, 6165 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 6166} VkSubmitFlagBitsKHR; 6167typedef VkFlags VkSubmitFlagsKHR; 6168typedef struct VkMemoryBarrier2KHR { 6169 VkStructureType sType; 6170 const void* pNext; 6171 VkPipelineStageFlags2KHR srcStageMask; 6172 VkAccessFlags2KHR srcAccessMask; 6173 VkPipelineStageFlags2KHR dstStageMask; 6174 VkAccessFlags2KHR dstAccessMask; 6175} VkMemoryBarrier2KHR; 6176 6177typedef struct VkBufferMemoryBarrier2KHR { 6178 VkStructureType sType; 6179 const void* pNext; 6180 VkPipelineStageFlags2KHR srcStageMask; 6181 VkAccessFlags2KHR srcAccessMask; 6182 VkPipelineStageFlags2KHR dstStageMask; 6183 VkAccessFlags2KHR dstAccessMask; 6184 deUint32 srcQueueFamilyIndex; 6185 deUint32 dstQueueFamilyIndex; 6186 VkBuffer buffer; 6187 VkDeviceSize offset; 6188 VkDeviceSize size; 6189} VkBufferMemoryBarrier2KHR; 6190 6191typedef struct VkImageMemoryBarrier2KHR { 6192 VkStructureType sType; 6193 const void* pNext; 6194 VkPipelineStageFlags2KHR srcStageMask; 6195 VkAccessFlags2KHR srcAccessMask; 6196 VkPipelineStageFlags2KHR dstStageMask; 6197 VkAccessFlags2KHR dstAccessMask; 6198 VkImageLayout oldLayout; 6199 VkImageLayout newLayout; 6200 deUint32 srcQueueFamilyIndex; 6201 deUint32 dstQueueFamilyIndex; 6202 VkImage image; 6203 VkImageSubresourceRange subresourceRange; 6204} VkImageMemoryBarrier2KHR; 6205 6206typedef struct VkDependencyInfoKHR { 6207 VkStructureType sType; 6208 const void* pNext; 6209 VkDependencyFlags dependencyFlags; 6210 deUint32 memoryBarrierCount; 6211 const VkMemoryBarrier2KHR* pMemoryBarriers; 6212 deUint32 bufferMemoryBarrierCount; 6213 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers; 6214 deUint32 imageMemoryBarrierCount; 6215 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers; 6216} VkDependencyInfoKHR; 6217 6218typedef struct VkSemaphoreSubmitInfoKHR { 6219 VkStructureType sType; 6220 const void* pNext; 6221 VkSemaphore semaphore; 6222 deUint64 value; 6223 VkPipelineStageFlags2KHR stageMask; 6224 deUint32 deviceIndex; 6225} VkSemaphoreSubmitInfoKHR; 6226 6227typedef struct VkCommandBufferSubmitInfoKHR { 6228 VkStructureType sType; 6229 const void* pNext; 6230 VkCommandBuffer commandBuffer; 6231 deUint32 deviceMask; 6232} VkCommandBufferSubmitInfoKHR; 6233 6234typedef struct VkSubmitInfo2KHR { 6235 VkStructureType sType; 6236 const void* pNext; 6237 VkSubmitFlagsKHR flags; 6238 deUint32 waitSemaphoreInfoCount; 6239 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos; 6240 deUint32 commandBufferInfoCount; 6241 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos; 6242 deUint32 signalSemaphoreInfoCount; 6243 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos; 6244} VkSubmitInfo2KHR; 6245 6246typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR { 6247 VkStructureType sType; 6248 void* pNext; 6249 VkBool32 synchronization2; 6250} VkPhysicalDeviceSynchronization2FeaturesKHR; 6251 6252typedef struct VkQueueFamilyCheckpointProperties2NV { 6253 VkStructureType sType; 6254 void* pNext; 6255 VkPipelineStageFlags2KHR checkpointExecutionStageMask; 6256} VkQueueFamilyCheckpointProperties2NV; 6257 6258typedef struct VkCheckpointData2NV { 6259 VkStructureType sType; 6260 void* pNext; 6261 VkPipelineStageFlags2KHR stage; 6262 void* pCheckpointMarker; 6263} VkCheckpointData2NV; 6264 6265typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo); 6266typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask); 6267typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos); 6268typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo); 6269typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query); 6270typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence); 6271typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker); 6272typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 6273 6274#ifndef VK_NO_PROTOTYPES 6275VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 6276 VkCommandBuffer commandBuffer, 6277 VkEvent event, 6278 const VkDependencyInfoKHR* pDependencyInfo); 6279 6280VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 6281 VkCommandBuffer commandBuffer, 6282 VkEvent event, 6283 VkPipelineStageFlags2KHR stageMask); 6284 6285VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 6286 VkCommandBuffer commandBuffer, 6287 deUint32 eventCount, 6288 const VkEvent* pEvents, 6289 const VkDependencyInfoKHR* pDependencyInfos); 6290 6291VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 6292 VkCommandBuffer commandBuffer, 6293 const VkDependencyInfoKHR* pDependencyInfo); 6294 6295VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 6296 VkCommandBuffer commandBuffer, 6297 VkPipelineStageFlags2KHR stage, 6298 VkQueryPool queryPool, 6299 deUint32 query); 6300 6301VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 6302 VkQueue queue, 6303 deUint32 submitCount, 6304 const VkSubmitInfo2KHR* pSubmits, 6305 VkFence fence); 6306 6307VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 6308 VkCommandBuffer commandBuffer, 6309 VkPipelineStageFlags2KHR stage, 6310 VkBuffer dstBuffer, 6311 VkDeviceSize dstOffset, 6312 deUint32 marker); 6313 6314VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 6315 VkQueue queue, 6316 deUint32* pCheckpointDataCount, 6317 VkCheckpointData2NV* pCheckpointData); 6318#endif 6319 6320 6321#define VK_KHR_copy_commands2 1 6322#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 6323#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 6324typedef struct VkBufferCopy2KHR { 6325 VkStructureType sType; 6326 const void* pNext; 6327 VkDeviceSize srcOffset; 6328 VkDeviceSize dstOffset; 6329 VkDeviceSize size; 6330} VkBufferCopy2KHR; 6331 6332typedef struct VkCopyBufferInfo2KHR { 6333 VkStructureType sType; 6334 const void* pNext; 6335 VkBuffer srcBuffer; 6336 VkBuffer dstBuffer; 6337 deUint32 regionCount; 6338 const VkBufferCopy2KHR* pRegions; 6339} VkCopyBufferInfo2KHR; 6340 6341typedef struct VkImageCopy2KHR { 6342 VkStructureType sType; 6343 const void* pNext; 6344 VkImageSubresourceLayers srcSubresource; 6345 VkOffset3D srcOffset; 6346 VkImageSubresourceLayers dstSubresource; 6347 VkOffset3D dstOffset; 6348 VkExtent3D extent; 6349} VkImageCopy2KHR; 6350 6351typedef struct VkCopyImageInfo2KHR { 6352 VkStructureType sType; 6353 const void* pNext; 6354 VkImage srcImage; 6355 VkImageLayout srcImageLayout; 6356 VkImage dstImage; 6357 VkImageLayout dstImageLayout; 6358 deUint32 regionCount; 6359 const VkImageCopy2KHR* pRegions; 6360} VkCopyImageInfo2KHR; 6361 6362typedef struct VkBufferImageCopy2KHR { 6363 VkStructureType sType; 6364 const void* pNext; 6365 VkDeviceSize bufferOffset; 6366 deUint32 bufferRowLength; 6367 deUint32 bufferImageHeight; 6368 VkImageSubresourceLayers imageSubresource; 6369 VkOffset3D imageOffset; 6370 VkExtent3D imageExtent; 6371} VkBufferImageCopy2KHR; 6372 6373typedef struct VkCopyBufferToImageInfo2KHR { 6374 VkStructureType sType; 6375 const void* pNext; 6376 VkBuffer srcBuffer; 6377 VkImage dstImage; 6378 VkImageLayout dstImageLayout; 6379 deUint32 regionCount; 6380 const VkBufferImageCopy2KHR* pRegions; 6381} VkCopyBufferToImageInfo2KHR; 6382 6383typedef struct VkCopyImageToBufferInfo2KHR { 6384 VkStructureType sType; 6385 const void* pNext; 6386 VkImage srcImage; 6387 VkImageLayout srcImageLayout; 6388 VkBuffer dstBuffer; 6389 deUint32 regionCount; 6390 const VkBufferImageCopy2KHR* pRegions; 6391} VkCopyImageToBufferInfo2KHR; 6392 6393typedef struct VkImageBlit2KHR { 6394 VkStructureType sType; 6395 const void* pNext; 6396 VkImageSubresourceLayers srcSubresource; 6397 VkOffset3D srcOffsets[2]; 6398 VkImageSubresourceLayers dstSubresource; 6399 VkOffset3D dstOffsets[2]; 6400} VkImageBlit2KHR; 6401 6402typedef struct VkBlitImageInfo2KHR { 6403 VkStructureType sType; 6404 const void* pNext; 6405 VkImage srcImage; 6406 VkImageLayout srcImageLayout; 6407 VkImage dstImage; 6408 VkImageLayout dstImageLayout; 6409 deUint32 regionCount; 6410 const VkImageBlit2KHR* pRegions; 6411 VkFilter filter; 6412} VkBlitImageInfo2KHR; 6413 6414typedef struct VkImageResolve2KHR { 6415 VkStructureType sType; 6416 const void* pNext; 6417 VkImageSubresourceLayers srcSubresource; 6418 VkOffset3D srcOffset; 6419 VkImageSubresourceLayers dstSubresource; 6420 VkOffset3D dstOffset; 6421 VkExtent3D extent; 6422} VkImageResolve2KHR; 6423 6424typedef struct VkResolveImageInfo2KHR { 6425 VkStructureType sType; 6426 const void* pNext; 6427 VkImage srcImage; 6428 VkImageLayout srcImageLayout; 6429 VkImage dstImage; 6430 VkImageLayout dstImageLayout; 6431 deUint32 regionCount; 6432 const VkImageResolve2KHR* pRegions; 6433} VkResolveImageInfo2KHR; 6434 6435typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo); 6436typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo); 6437typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); 6438typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); 6439typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo); 6440typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo); 6441 6442#ifndef VK_NO_PROTOTYPES 6443VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 6444 VkCommandBuffer commandBuffer, 6445 const VkCopyBufferInfo2KHR* pCopyBufferInfo); 6446 6447VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 6448 VkCommandBuffer commandBuffer, 6449 const VkCopyImageInfo2KHR* pCopyImageInfo); 6450 6451VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 6452 VkCommandBuffer commandBuffer, 6453 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); 6454 6455VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 6456 VkCommandBuffer commandBuffer, 6457 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); 6458 6459VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 6460 VkCommandBuffer commandBuffer, 6461 const VkBlitImageInfo2KHR* pBlitImageInfo); 6462 6463VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 6464 VkCommandBuffer commandBuffer, 6465 const VkResolveImageInfo2KHR* pResolveImageInfo); 6466#endif 6467 6468 6469#define VK_EXT_depth_range_unrestricted 1 6470#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 6471#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 6472 6473 6474#define VK_NV_private_vendor_info 1 6475#define VK_NV_PRIVATE_VENDOR_INFO_SPEC_VERSION 2 6476#define VK_NV_PRIVATE_VENDOR_INFO_EXTENSION_NAME "VK_NV_private_vendor_info" 6477 6478 6479#define VK_EXT_texture_compression_astc_hdr 1 6480#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 6481#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 6482typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { 6483 VkStructureType sType; 6484 void* pNext; 6485 VkBool32 textureCompressionASTC_HDR; 6486} VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 6487 6488 6489 6490#define VK_EXT_astc_decode_mode 1 6491#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 6492#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 6493typedef struct VkImageViewASTCDecodeModeEXT { 6494 VkStructureType sType; 6495 const void* pNext; 6496 VkFormat decodeMode; 6497} VkImageViewASTCDecodeModeEXT; 6498 6499typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 6500 VkStructureType sType; 6501 void* pNext; 6502 VkBool32 decodeModeSharedExponent; 6503} VkPhysicalDeviceASTCDecodeFeaturesEXT; 6504 6505 6506 6507#define VK_EXT_direct_mode_display 1 6508#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 6509#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 6510typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 6511 6512#ifndef VK_NO_PROTOTYPES 6513VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 6514 VkPhysicalDevice physicalDevice, 6515 VkDisplayKHR display); 6516#endif 6517 6518 6519#define VK_EXT_display_surface_counter 1 6520#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 6521#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 6522 6523typedef enum VkSurfaceCounterFlagBitsEXT { 6524 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 6525 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 6526 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 6527} VkSurfaceCounterFlagBitsEXT; 6528typedef VkFlags VkSurfaceCounterFlagsEXT; 6529typedef struct VkSurfaceCapabilities2EXT { 6530 VkStructureType sType; 6531 void* pNext; 6532 deUint32 minImageCount; 6533 deUint32 maxImageCount; 6534 VkExtent2D currentExtent; 6535 VkExtent2D minImageExtent; 6536 VkExtent2D maxImageExtent; 6537 deUint32 maxImageArrayLayers; 6538 VkSurfaceTransformFlagsKHR supportedTransforms; 6539 VkSurfaceTransformFlagBitsKHR currentTransform; 6540 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 6541 VkImageUsageFlags supportedUsageFlags; 6542 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 6543} VkSurfaceCapabilities2EXT; 6544 6545typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 6546 6547#ifndef VK_NO_PROTOTYPES 6548VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 6549 VkPhysicalDevice physicalDevice, 6550 VkSurfaceKHR surface, 6551 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 6552#endif 6553 6554 6555#define VK_EXT_display_control 1 6556#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 6557#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 6558 6559typedef enum VkDisplayPowerStateEXT { 6560 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 6561 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 6562 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 6563 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 6564} VkDisplayPowerStateEXT; 6565 6566typedef enum VkDeviceEventTypeEXT { 6567 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 6568 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 6569} VkDeviceEventTypeEXT; 6570 6571typedef enum VkDisplayEventTypeEXT { 6572 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 6573 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 6574} VkDisplayEventTypeEXT; 6575typedef struct VkDisplayPowerInfoEXT { 6576 VkStructureType sType; 6577 const void* pNext; 6578 VkDisplayPowerStateEXT powerState; 6579} VkDisplayPowerInfoEXT; 6580 6581typedef struct VkDeviceEventInfoEXT { 6582 VkStructureType sType; 6583 const void* pNext; 6584 VkDeviceEventTypeEXT deviceEvent; 6585} VkDeviceEventInfoEXT; 6586 6587typedef struct VkDisplayEventInfoEXT { 6588 VkStructureType sType; 6589 const void* pNext; 6590 VkDisplayEventTypeEXT displayEvent; 6591} VkDisplayEventInfoEXT; 6592 6593typedef struct VkSwapchainCounterCreateInfoEXT { 6594 VkStructureType sType; 6595 const void* pNext; 6596 VkSurfaceCounterFlagsEXT surfaceCounters; 6597} VkSwapchainCounterCreateInfoEXT; 6598 6599typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 6600typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 6601typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 6602typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue); 6603 6604#ifndef VK_NO_PROTOTYPES 6605VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 6606 VkDevice device, 6607 VkDisplayKHR display, 6608 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 6609 6610VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 6611 VkDevice device, 6612 const VkDeviceEventInfoEXT* pDeviceEventInfo, 6613 const VkAllocationCallbacks* pAllocator, 6614 VkFence* pFence); 6615 6616VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 6617 VkDevice device, 6618 VkDisplayKHR display, 6619 const VkDisplayEventInfoEXT* pDisplayEventInfo, 6620 const VkAllocationCallbacks* pAllocator, 6621 VkFence* pFence); 6622 6623VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 6624 VkDevice device, 6625 VkSwapchainKHR swapchain, 6626 VkSurfaceCounterFlagBitsEXT counter, 6627 deUint64* pCounterValue); 6628#endif 6629 6630 6631#define VK_EXT_discard_rectangles 1 6632#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 6633#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 6634 6635typedef enum VkDiscardRectangleModeEXT { 6636 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 6637 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 6638 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 6639} VkDiscardRectangleModeEXT; 6640typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 6641typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 6642 VkStructureType sType; 6643 void* pNext; 6644 deUint32 maxDiscardRectangles; 6645} VkPhysicalDeviceDiscardRectanglePropertiesEXT; 6646 6647typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 6648 VkStructureType sType; 6649 const void* pNext; 6650 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 6651 VkDiscardRectangleModeEXT discardRectangleMode; 6652 deUint32 discardRectangleCount; 6653 const VkRect2D* pDiscardRectangles; 6654} VkPipelineDiscardRectangleStateCreateInfoEXT; 6655 6656typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles); 6657 6658#ifndef VK_NO_PROTOTYPES 6659VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 6660 VkCommandBuffer commandBuffer, 6661 deUint32 firstDiscardRectangle, 6662 deUint32 discardRectangleCount, 6663 const VkRect2D* pDiscardRectangles); 6664#endif 6665 6666 6667#define VK_EXT_conservative_rasterization 1 6668#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 6669#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 6670 6671typedef enum VkConservativeRasterizationModeEXT { 6672 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 6673 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 6674 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 6675 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 6676} VkConservativeRasterizationModeEXT; 6677typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 6678typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 6679 VkStructureType sType; 6680 void* pNext; 6681 float primitiveOverestimationSize; 6682 float maxExtraPrimitiveOverestimationSize; 6683 float extraPrimitiveOverestimationSizeGranularity; 6684 VkBool32 primitiveUnderestimation; 6685 VkBool32 conservativePointAndLineRasterization; 6686 VkBool32 degenerateTrianglesRasterized; 6687 VkBool32 degenerateLinesRasterized; 6688 VkBool32 fullyCoveredFragmentShaderInputVariable; 6689 VkBool32 conservativeRasterizationPostDepthCoverage; 6690} VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 6691 6692typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 6693 VkStructureType sType; 6694 const void* pNext; 6695 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 6696 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 6697 float extraPrimitiveOverestimationSize; 6698} VkPipelineRasterizationConservativeStateCreateInfoEXT; 6699 6700 6701 6702#define VK_EXT_depth_clip_enable 1 6703#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 6704#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 6705typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 6706typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 6707 VkStructureType sType; 6708 void* pNext; 6709 VkBool32 depthClipEnable; 6710} VkPhysicalDeviceDepthClipEnableFeaturesEXT; 6711 6712typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 6713 VkStructureType sType; 6714 const void* pNext; 6715 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 6716 VkBool32 depthClipEnable; 6717} VkPipelineRasterizationDepthClipStateCreateInfoEXT; 6718 6719 6720 6721#define VK_EXT_swapchain_colorspace 1 6722#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 6723#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 6724 6725 6726#define VK_EXT_hdr_metadata 1 6727#define VK_EXT_HDR_METADATA_SPEC_VERSION 2 6728#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 6729typedef struct VkXYColorEXT { 6730 float x; 6731 float y; 6732} VkXYColorEXT; 6733 6734typedef struct VkHdrMetadataEXT { 6735 VkStructureType sType; 6736 const void* pNext; 6737 VkXYColorEXT displayPrimaryRed; 6738 VkXYColorEXT displayPrimaryGreen; 6739 VkXYColorEXT displayPrimaryBlue; 6740 VkXYColorEXT whitePoint; 6741 float maxLuminance; 6742 float minLuminance; 6743 float maxContentLightLevel; 6744 float maxFrameAverageLightLevel; 6745} VkHdrMetadataEXT; 6746 6747typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 6748 6749#ifndef VK_NO_PROTOTYPES 6750VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 6751 VkDevice device, 6752 deUint32 swapchainCount, 6753 const VkSwapchainKHR* pSwapchains, 6754 const VkHdrMetadataEXT* pMetadata); 6755#endif 6756 6757 6758#define VK_EXT_external_memory_dma_buf 1 6759#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 6760#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 6761 6762 6763#define VK_EXT_queue_family_foreign 1 6764#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 6765#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 6766#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 6767 6768 6769#define VK_EXT_debug_utils 1 6770VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 6771#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 6772#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 6773typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 6774 6775typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 6776 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 6777 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 6778 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 6779 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 6780 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 6781} VkDebugUtilsMessageSeverityFlagBitsEXT; 6782 6783typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 6784 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 6785 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 6786 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 6787 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 6788} VkDebugUtilsMessageTypeFlagBitsEXT; 6789typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 6790typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 6791typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 6792typedef struct VkDebugUtilsLabelEXT { 6793 VkStructureType sType; 6794 const void* pNext; 6795 const char* pLabelName; 6796 float color[4]; 6797} VkDebugUtilsLabelEXT; 6798 6799typedef struct VkDebugUtilsObjectNameInfoEXT { 6800 VkStructureType sType; 6801 const void* pNext; 6802 VkObjectType objectType; 6803 deUint64 objectHandle; 6804 const char* pObjectName; 6805} VkDebugUtilsObjectNameInfoEXT; 6806 6807typedef struct VkDebugUtilsMessengerCallbackDataEXT { 6808 VkStructureType sType; 6809 const void* pNext; 6810 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 6811 const char* pMessageIdName; 6812 deInt32 messageIdNumber; 6813 const char* pMessage; 6814 deUint32 queueLabelCount; 6815 const VkDebugUtilsLabelEXT* pQueueLabels; 6816 deUint32 cmdBufLabelCount; 6817 const VkDebugUtilsLabelEXT* pCmdBufLabels; 6818 deUint32 objectCount; 6819 const VkDebugUtilsObjectNameInfoEXT* pObjects; 6820} VkDebugUtilsMessengerCallbackDataEXT; 6821 6822typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 6823 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 6824 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 6825 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 6826 void* pUserData); 6827 6828typedef struct VkDebugUtilsMessengerCreateInfoEXT { 6829 VkStructureType sType; 6830 const void* pNext; 6831 VkDebugUtilsMessengerCreateFlagsEXT flags; 6832 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 6833 VkDebugUtilsMessageTypeFlagsEXT messageType; 6834 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 6835 void* pUserData; 6836} VkDebugUtilsMessengerCreateInfoEXT; 6837 6838typedef struct VkDebugUtilsObjectTagInfoEXT { 6839 VkStructureType sType; 6840 const void* pNext; 6841 VkObjectType objectType; 6842 deUint64 objectHandle; 6843 deUint64 tagName; 6844 deUintptr tagSize; 6845 const void* pTag; 6846} VkDebugUtilsObjectTagInfoEXT; 6847 6848typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 6849typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 6850typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 6851typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 6852typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 6853typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 6854typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 6855typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 6856typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 6857typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 6858typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 6859 6860#ifndef VK_NO_PROTOTYPES 6861VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 6862 VkDevice device, 6863 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 6864 6865VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 6866 VkDevice device, 6867 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 6868 6869VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 6870 VkQueue queue, 6871 const VkDebugUtilsLabelEXT* pLabelInfo); 6872 6873VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 6874 VkQueue queue); 6875 6876VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 6877 VkQueue queue, 6878 const VkDebugUtilsLabelEXT* pLabelInfo); 6879 6880VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 6881 VkCommandBuffer commandBuffer, 6882 const VkDebugUtilsLabelEXT* pLabelInfo); 6883 6884VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 6885 VkCommandBuffer commandBuffer); 6886 6887VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 6888 VkCommandBuffer commandBuffer, 6889 const VkDebugUtilsLabelEXT* pLabelInfo); 6890 6891VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 6892 VkInstance instance, 6893 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 6894 const VkAllocationCallbacks* pAllocator, 6895 VkDebugUtilsMessengerEXT* pMessenger); 6896 6897VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 6898 VkInstance instance, 6899 VkDebugUtilsMessengerEXT messenger, 6900 const VkAllocationCallbacks* pAllocator); 6901 6902VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 6903 VkInstance instance, 6904 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 6905 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 6906 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 6907#endif 6908 6909 6910#define VK_EXT_shader_stencil_export 1 6911#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 6912#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 6913 6914 6915#define VK_EXT_sample_locations 1 6916#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 6917#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 6918typedef struct VkSampleLocationEXT { 6919 float x; 6920 float y; 6921} VkSampleLocationEXT; 6922 6923typedef struct VkSampleLocationsInfoEXT { 6924 VkStructureType sType; 6925 const void* pNext; 6926 VkSampleCountFlagBits sampleLocationsPerPixel; 6927 VkExtent2D sampleLocationGridSize; 6928 deUint32 sampleLocationsCount; 6929 const VkSampleLocationEXT* pSampleLocations; 6930} VkSampleLocationsInfoEXT; 6931 6932typedef struct VkAttachmentSampleLocationsEXT { 6933 deUint32 attachmentIndex; 6934 VkSampleLocationsInfoEXT sampleLocationsInfo; 6935} VkAttachmentSampleLocationsEXT; 6936 6937typedef struct VkSubpassSampleLocationsEXT { 6938 deUint32 subpassIndex; 6939 VkSampleLocationsInfoEXT sampleLocationsInfo; 6940} VkSubpassSampleLocationsEXT; 6941 6942typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 6943 VkStructureType sType; 6944 const void* pNext; 6945 deUint32 attachmentInitialSampleLocationsCount; 6946 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 6947 deUint32 postSubpassSampleLocationsCount; 6948 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 6949} VkRenderPassSampleLocationsBeginInfoEXT; 6950 6951typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 6952 VkStructureType sType; 6953 const void* pNext; 6954 VkBool32 sampleLocationsEnable; 6955 VkSampleLocationsInfoEXT sampleLocationsInfo; 6956} VkPipelineSampleLocationsStateCreateInfoEXT; 6957 6958typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 6959 VkStructureType sType; 6960 void* pNext; 6961 VkSampleCountFlags sampleLocationSampleCounts; 6962 VkExtent2D maxSampleLocationGridSize; 6963 float sampleLocationCoordinateRange[2]; 6964 deUint32 sampleLocationSubPixelBits; 6965 VkBool32 variableSampleLocations; 6966} VkPhysicalDeviceSampleLocationsPropertiesEXT; 6967 6968typedef struct VkMultisamplePropertiesEXT { 6969 VkStructureType sType; 6970 void* pNext; 6971 VkExtent2D maxSampleLocationGridSize; 6972} VkMultisamplePropertiesEXT; 6973 6974typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 6975typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 6976 6977#ifndef VK_NO_PROTOTYPES 6978VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 6979 VkCommandBuffer commandBuffer, 6980 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 6981 6982VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 6983 VkPhysicalDevice physicalDevice, 6984 VkSampleCountFlagBits samples, 6985 VkMultisamplePropertiesEXT* pMultisampleProperties); 6986#endif 6987 6988 6989#define VK_EXT_blend_operation_advanced 1 6990#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 6991#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 6992 6993typedef enum VkBlendOverlapEXT { 6994 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 6995 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 6996 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 6997 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 6998} VkBlendOverlapEXT; 6999typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 7000 VkStructureType sType; 7001 void* pNext; 7002 VkBool32 advancedBlendCoherentOperations; 7003} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 7004 7005typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 7006 VkStructureType sType; 7007 void* pNext; 7008 deUint32 advancedBlendMaxColorAttachments; 7009 VkBool32 advancedBlendIndependentBlend; 7010 VkBool32 advancedBlendNonPremultipliedSrcColor; 7011 VkBool32 advancedBlendNonPremultipliedDstColor; 7012 VkBool32 advancedBlendCorrelatedOverlap; 7013 VkBool32 advancedBlendAllOperations; 7014} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 7015 7016typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 7017 VkStructureType sType; 7018 const void* pNext; 7019 VkBool32 srcPremultiplied; 7020 VkBool32 dstPremultiplied; 7021 VkBlendOverlapEXT blendOverlap; 7022} VkPipelineColorBlendAdvancedStateCreateInfoEXT; 7023 7024 7025 7026#define VK_EXT_post_depth_coverage 1 7027#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 7028#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 7029 7030 7031#define VK_EXT_image_drm_format_modifier 1 7032#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 7033#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 7034typedef VkFlags64 VkFormatFeatureFlags2KHR; 7035 7036// Flag bits for VkFormatFeatureFlagBits2KHR 7037typedef VkFlags64 VkFormatFeatureFlagBits2KHR; 7038static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 7039static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 7040static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 7041static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 7042static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 7043static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 7044static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 7045static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 7046static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 7047static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 7048static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 7049static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 7050static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 7051static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 7052static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 7053static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 7054static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 7055static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 7056static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 7057static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 7058static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 7059static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 7060static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 7061static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 7062static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 7063static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 7064static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 7065static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 7066 7067typedef struct VkDrmFormatModifierPropertiesEXT { 7068 deUint64 drmFormatModifier; 7069 deUint32 drmFormatModifierPlaneCount; 7070 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 7071} VkDrmFormatModifierPropertiesEXT; 7072 7073typedef struct VkDrmFormatModifierPropertiesListEXT { 7074 VkStructureType sType; 7075 void* pNext; 7076 deUint32 drmFormatModifierCount; 7077 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 7078} VkDrmFormatModifierPropertiesListEXT; 7079 7080typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 7081 VkStructureType sType; 7082 const void* pNext; 7083 deUint64 drmFormatModifier; 7084 VkSharingMode sharingMode; 7085 deUint32 queueFamilyIndexCount; 7086 const deUint32* pQueueFamilyIndices; 7087} VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 7088 7089typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 7090 VkStructureType sType; 7091 const void* pNext; 7092 deUint32 drmFormatModifierCount; 7093 const deUint64* pDrmFormatModifiers; 7094} VkImageDrmFormatModifierListCreateInfoEXT; 7095 7096typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 7097 VkStructureType sType; 7098 const void* pNext; 7099 deUint64 drmFormatModifier; 7100 deUint32 drmFormatModifierPlaneCount; 7101 const VkSubresourceLayout* pPlaneLayouts; 7102} VkImageDrmFormatModifierExplicitCreateInfoEXT; 7103 7104typedef struct VkImageDrmFormatModifierPropertiesEXT { 7105 VkStructureType sType; 7106 void* pNext; 7107 deUint64 drmFormatModifier; 7108} VkImageDrmFormatModifierPropertiesEXT; 7109 7110typedef struct VkDrmFormatModifierProperties2EXT { 7111 deUint64 drmFormatModifier; 7112 deUint32 drmFormatModifierPlaneCount; 7113 VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures; 7114} VkDrmFormatModifierProperties2EXT; 7115 7116typedef struct VkDrmFormatModifierPropertiesList2EXT { 7117 VkStructureType sType; 7118 void* pNext; 7119 deUint32 drmFormatModifierCount; 7120 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 7121} VkDrmFormatModifierPropertiesList2EXT; 7122 7123typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 7124 7125#ifndef VK_NO_PROTOTYPES 7126VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 7127 VkDevice device, 7128 VkImage image, 7129 VkImageDrmFormatModifierPropertiesEXT* pProperties); 7130#endif 7131 7132 7133#define VK_EXT_filter_cubic 1 7134#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 7135#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 7136typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 7137 VkStructureType sType; 7138 void* pNext; 7139 VkImageViewType imageViewType; 7140} VkPhysicalDeviceImageViewImageFormatInfoEXT; 7141 7142typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 7143 VkStructureType sType; 7144 void* pNext; 7145 VkBool32 filterCubic; 7146 VkBool32 filterCubicMinmax; 7147} VkFilterCubicImageViewImageFormatPropertiesEXT; 7148 7149 7150 7151#define VK_EXT_global_priority 1 7152#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 7153#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 7154 7155typedef enum VkQueueGlobalPriorityEXT { 7156 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, 7157 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, 7158 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, 7159 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024, 7160 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF 7161} VkQueueGlobalPriorityEXT; 7162typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT { 7163 VkStructureType sType; 7164 const void* pNext; 7165 VkQueueGlobalPriorityEXT globalPriority; 7166} VkDeviceQueueGlobalPriorityCreateInfoEXT; 7167 7168 7169 7170#define VK_EXT_external_memory_host 1 7171#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 7172#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 7173typedef struct VkImportMemoryHostPointerInfoEXT { 7174 VkStructureType sType; 7175 const void* pNext; 7176 VkExternalMemoryHandleTypeFlagBits handleType; 7177 void* pHostPointer; 7178} VkImportMemoryHostPointerInfoEXT; 7179 7180typedef struct VkMemoryHostPointerPropertiesEXT { 7181 VkStructureType sType; 7182 void* pNext; 7183 deUint32 memoryTypeBits; 7184} VkMemoryHostPointerPropertiesEXT; 7185 7186typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 7187 VkStructureType sType; 7188 void* pNext; 7189 VkDeviceSize minImportedHostPointerAlignment; 7190} VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 7191 7192typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 7193 7194#ifndef VK_NO_PROTOTYPES 7195VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 7196 VkDevice device, 7197 VkExternalMemoryHandleTypeFlagBits handleType, 7198 const void* pHostPointer, 7199 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 7200#endif 7201 7202 7203#define VK_EXT_calibrated_timestamps 1 7204#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 7205#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 7206 7207typedef enum VkTimeDomainEXT { 7208 VK_TIME_DOMAIN_DEVICE_EXT = 0, 7209 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, 7210 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, 7211 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, 7212 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF 7213} VkTimeDomainEXT; 7214typedef struct VkCalibratedTimestampInfoEXT { 7215 VkStructureType sType; 7216 const void* pNext; 7217 VkTimeDomainEXT timeDomain; 7218} VkCalibratedTimestampInfoEXT; 7219 7220typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); 7221typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation); 7222 7223#ifndef VK_NO_PROTOTYPES 7224VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 7225 VkPhysicalDevice physicalDevice, 7226 deUint32* pTimeDomainCount, 7227 VkTimeDomainEXT* pTimeDomains); 7228 7229VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 7230 VkDevice device, 7231 deUint32 timestampCount, 7232 const VkCalibratedTimestampInfoEXT* pTimestampInfos, 7233 deUint64* pTimestamps, 7234 deUint64* pMaxDeviation); 7235#endif 7236 7237 7238#define VK_EXT_vertex_attribute_divisor 1 7239#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 7240#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 7241typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 7242 VkStructureType sType; 7243 void* pNext; 7244 deUint32 maxVertexAttribDivisor; 7245} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 7246 7247typedef struct VkVertexInputBindingDivisorDescriptionEXT { 7248 deUint32 binding; 7249 deUint32 divisor; 7250} VkVertexInputBindingDivisorDescriptionEXT; 7251 7252typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { 7253 VkStructureType sType; 7254 const void* pNext; 7255 deUint32 vertexBindingDivisorCount; 7256 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 7257} VkPipelineVertexInputDivisorStateCreateInfoEXT; 7258 7259typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { 7260 VkStructureType sType; 7261 void* pNext; 7262 VkBool32 vertexAttributeInstanceRateDivisor; 7263 VkBool32 vertexAttributeInstanceRateZeroDivisor; 7264} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 7265 7266 7267 7268#define VK_EXT_pci_bus_info 1 7269#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 7270#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 7271typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 7272 VkStructureType sType; 7273 void* pNext; 7274 deUint32 pciDomain; 7275 deUint32 pciBus; 7276 deUint32 pciDevice; 7277 deUint32 pciFunction; 7278} VkPhysicalDevicePCIBusInfoPropertiesEXT; 7279 7280 7281 7282#define VK_EXT_subgroup_size_control 1 7283#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 7284#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 7285typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { 7286 VkStructureType sType; 7287 void* pNext; 7288 VkBool32 subgroupSizeControl; 7289 VkBool32 computeFullSubgroups; 7290} VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 7291 7292typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT { 7293 VkStructureType sType; 7294 void* pNext; 7295 deUint32 minSubgroupSize; 7296 deUint32 maxSubgroupSize; 7297 deUint32 maxComputeWorkgroupSubgroups; 7298 VkShaderStageFlags requiredSubgroupSizeStages; 7299} VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 7300 7301typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { 7302 VkStructureType sType; 7303 void* pNext; 7304 deUint32 requiredSubgroupSize; 7305} VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 7306 7307 7308 7309#define VK_EXT_shader_image_atomic_int64 1 7310#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 7311#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 7312typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 7313 VkStructureType sType; 7314 void* pNext; 7315 VkBool32 shaderImageInt64Atomics; 7316 VkBool32 sparseImageInt64Atomics; 7317} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 7318 7319 7320 7321#define VK_EXT_memory_budget 1 7322#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 7323#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 7324typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 7325 VkStructureType sType; 7326 void* pNext; 7327 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 7328 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 7329} VkPhysicalDeviceMemoryBudgetPropertiesEXT; 7330 7331 7332 7333#define VK_EXT_validation_features 1 7334#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 7335#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 7336 7337typedef enum VkValidationFeatureEnableEXT { 7338 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 7339 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 7340 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 7341 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 7342 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 7343 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 7344} VkValidationFeatureEnableEXT; 7345 7346typedef enum VkValidationFeatureDisableEXT { 7347 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 7348 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 7349 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 7350 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 7351 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 7352 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 7353 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 7354 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 7355 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 7356} VkValidationFeatureDisableEXT; 7357typedef struct VkValidationFeaturesEXT { 7358 VkStructureType sType; 7359 const void* pNext; 7360 deUint32 enabledValidationFeatureCount; 7361 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 7362 deUint32 disabledValidationFeatureCount; 7363 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 7364} VkValidationFeaturesEXT; 7365 7366 7367 7368#define VK_EXT_fragment_shader_interlock 1 7369#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 7370#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 7371typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 7372 VkStructureType sType; 7373 void* pNext; 7374 VkBool32 fragmentShaderSampleInterlock; 7375 VkBool32 fragmentShaderPixelInterlock; 7376 VkBool32 fragmentShaderShadingRateInterlock; 7377} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 7378 7379 7380 7381#define VK_EXT_ycbcr_image_arrays 1 7382#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 7383#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 7384typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 7385 VkStructureType sType; 7386 void* pNext; 7387 VkBool32 ycbcrImageArrays; 7388} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 7389 7390 7391 7392#define VK_EXT_headless_surface 1 7393#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 7394#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 7395typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 7396typedef struct VkHeadlessSurfaceCreateInfoEXT { 7397 VkStructureType sType; 7398 const void* pNext; 7399 VkHeadlessSurfaceCreateFlagsEXT flags; 7400} VkHeadlessSurfaceCreateInfoEXT; 7401 7402typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 7403 7404#ifndef VK_NO_PROTOTYPES 7405VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 7406 VkInstance instance, 7407 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 7408 const VkAllocationCallbacks* pAllocator, 7409 VkSurfaceKHR* pSurface); 7410#endif 7411 7412 7413#define VK_EXT_line_rasterization 1 7414#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 7415#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 7416 7417typedef enum VkLineRasterizationModeEXT { 7418 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, 7419 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, 7420 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, 7421 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, 7422 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 7423} VkLineRasterizationModeEXT; 7424typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { 7425 VkStructureType sType; 7426 void* pNext; 7427 VkBool32 rectangularLines; 7428 VkBool32 bresenhamLines; 7429 VkBool32 smoothLines; 7430 VkBool32 stippledRectangularLines; 7431 VkBool32 stippledBresenhamLines; 7432 VkBool32 stippledSmoothLines; 7433} VkPhysicalDeviceLineRasterizationFeaturesEXT; 7434 7435typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { 7436 VkStructureType sType; 7437 void* pNext; 7438 deUint32 lineSubPixelPrecisionBits; 7439} VkPhysicalDeviceLineRasterizationPropertiesEXT; 7440 7441typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { 7442 VkStructureType sType; 7443 const void* pNext; 7444 VkLineRasterizationModeEXT lineRasterizationMode; 7445 VkBool32 stippledLineEnable; 7446 deUint32 lineStippleFactor; 7447 deUint16 lineStipplePattern; 7448} VkPipelineRasterizationLineStateCreateInfoEXT; 7449 7450typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern); 7451 7452#ifndef VK_NO_PROTOTYPES 7453VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 7454 VkCommandBuffer commandBuffer, 7455 deUint32 lineStippleFactor, 7456 deUint16 lineStipplePattern); 7457#endif 7458 7459 7460#define VK_EXT_shader_atomic_float 1 7461#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 7462#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 7463typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 7464 VkStructureType sType; 7465 void* pNext; 7466 VkBool32 shaderBufferFloat32Atomics; 7467 VkBool32 shaderBufferFloat32AtomicAdd; 7468 VkBool32 shaderBufferFloat64Atomics; 7469 VkBool32 shaderBufferFloat64AtomicAdd; 7470 VkBool32 shaderSharedFloat32Atomics; 7471 VkBool32 shaderSharedFloat32AtomicAdd; 7472 VkBool32 shaderSharedFloat64Atomics; 7473 VkBool32 shaderSharedFloat64AtomicAdd; 7474 VkBool32 shaderImageFloat32Atomics; 7475 VkBool32 shaderImageFloat32AtomicAdd; 7476 VkBool32 sparseImageFloat32Atomics; 7477 VkBool32 sparseImageFloat32AtomicAdd; 7478} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 7479 7480 7481 7482#define VK_EXT_index_type_uint8 1 7483#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 7484#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 7485typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { 7486 VkStructureType sType; 7487 void* pNext; 7488 VkBool32 indexTypeUint8; 7489} VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 7490 7491 7492 7493#define VK_EXT_extended_dynamic_state 1 7494#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 7495#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 7496typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 7497 VkStructureType sType; 7498 void* pNext; 7499 VkBool32 extendedDynamicState; 7500} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 7501 7502typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 7503typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 7504typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 7505typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports); 7506typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors); 7507typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 7508typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 7509typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 7510typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 7511typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 7512typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 7513typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 7514 7515#ifndef VK_NO_PROTOTYPES 7516VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 7517 VkCommandBuffer commandBuffer, 7518 VkCullModeFlags cullMode); 7519 7520VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 7521 VkCommandBuffer commandBuffer, 7522 VkFrontFace frontFace); 7523 7524VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 7525 VkCommandBuffer commandBuffer, 7526 VkPrimitiveTopology primitiveTopology); 7527 7528VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 7529 VkCommandBuffer commandBuffer, 7530 deUint32 viewportCount, 7531 const VkViewport* pViewports); 7532 7533VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 7534 VkCommandBuffer commandBuffer, 7535 deUint32 scissorCount, 7536 const VkRect2D* pScissors); 7537 7538VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 7539 VkCommandBuffer commandBuffer, 7540 deUint32 firstBinding, 7541 deUint32 bindingCount, 7542 const VkBuffer* pBuffers, 7543 const VkDeviceSize* pOffsets, 7544 const VkDeviceSize* pSizes, 7545 const VkDeviceSize* pStrides); 7546 7547VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 7548 VkCommandBuffer commandBuffer, 7549 VkBool32 depthTestEnable); 7550 7551VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 7552 VkCommandBuffer commandBuffer, 7553 VkBool32 depthWriteEnable); 7554 7555VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 7556 VkCommandBuffer commandBuffer, 7557 VkCompareOp depthCompareOp); 7558 7559VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 7560 VkCommandBuffer commandBuffer, 7561 VkBool32 depthBoundsTestEnable); 7562 7563VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 7564 VkCommandBuffer commandBuffer, 7565 VkBool32 stencilTestEnable); 7566 7567VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 7568 VkCommandBuffer commandBuffer, 7569 VkStencilFaceFlags faceMask, 7570 VkStencilOp failOp, 7571 VkStencilOp passOp, 7572 VkStencilOp depthFailOp, 7573 VkCompareOp compareOp); 7574#endif 7575 7576 7577#define VK_EXT_shader_demote_to_helper_invocation 1 7578#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 7579#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 7580typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { 7581 VkStructureType sType; 7582 void* pNext; 7583 VkBool32 shaderDemoteToHelperInvocation; 7584} VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 7585 7586 7587 7588#define VK_EXT_texel_buffer_alignment 1 7589#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 7590#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 7591typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 7592 VkStructureType sType; 7593 void* pNext; 7594 VkBool32 texelBufferAlignment; 7595} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 7596 7597typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT { 7598 VkStructureType sType; 7599 void* pNext; 7600 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7601 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7602 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7603 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7604} VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 7605 7606 7607 7608#define VK_EXT_robustness2 1 7609#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 7610#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 7611typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 7612 VkStructureType sType; 7613 void* pNext; 7614 VkBool32 robustBufferAccess2; 7615 VkBool32 robustImageAccess2; 7616 VkBool32 nullDescriptor; 7617} VkPhysicalDeviceRobustness2FeaturesEXT; 7618 7619typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 7620 VkStructureType sType; 7621 void* pNext; 7622 VkDeviceSize robustStorageBufferAccessSizeAlignment; 7623 VkDeviceSize robustUniformBufferAccessSizeAlignment; 7624} VkPhysicalDeviceRobustness2PropertiesEXT; 7625 7626 7627 7628#define VK_EXT_custom_border_color 1 7629#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 7630#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 7631typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 7632 VkStructureType sType; 7633 const void* pNext; 7634 VkClearColorValue customBorderColor; 7635 VkFormat format; 7636} VkSamplerCustomBorderColorCreateInfoEXT; 7637 7638typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 7639 VkStructureType sType; 7640 void* pNext; 7641 deUint32 maxCustomBorderColorSamplers; 7642} VkPhysicalDeviceCustomBorderColorPropertiesEXT; 7643 7644typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 7645 VkStructureType sType; 7646 void* pNext; 7647 VkBool32 customBorderColors; 7648 VkBool32 customBorderColorWithoutFormat; 7649} VkPhysicalDeviceCustomBorderColorFeaturesEXT; 7650 7651 7652 7653#define VK_EXT_ycbcr_2plane_444_formats 1 7654#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 7655#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 7656typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 7657 VkStructureType sType; 7658 void* pNext; 7659 VkBool32 ycbcr2plane444Formats; 7660} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 7661 7662 7663 7664#define VK_EXT_image_robustness 1 7665#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 7666#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 7667typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT { 7668 VkStructureType sType; 7669 void* pNext; 7670 VkBool32 robustImageAccess; 7671} VkPhysicalDeviceImageRobustnessFeaturesEXT; 7672 7673 7674 7675#define VK_EXT_4444_formats 1 7676#define VK_EXT_4444_FORMATS_SPEC_VERSION 1 7677#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 7678typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 7679 VkStructureType sType; 7680 void* pNext; 7681 VkBool32 formatA4R4G4B4; 7682 VkBool32 formatA4B4G4R4; 7683} VkPhysicalDevice4444FormatsFeaturesEXT; 7684 7685 7686 7687#define VK_EXT_vertex_input_dynamic_state 1 7688#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 7689#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 7690typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 7691 VkStructureType sType; 7692 void* pNext; 7693 VkBool32 vertexInputDynamicState; 7694} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 7695 7696typedef struct VkVertexInputBindingDescription2EXT { 7697 VkStructureType sType; 7698 void* pNext; 7699 deUint32 binding; 7700 deUint32 stride; 7701 VkVertexInputRate inputRate; 7702 deUint32 divisor; 7703} VkVertexInputBindingDescription2EXT; 7704 7705typedef struct VkVertexInputAttributeDescription2EXT { 7706 VkStructureType sType; 7707 void* pNext; 7708 deUint32 location; 7709 deUint32 binding; 7710 VkFormat format; 7711 deUint32 offset; 7712} VkVertexInputAttributeDescription2EXT; 7713 7714typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 7715 7716#ifndef VK_NO_PROTOTYPES 7717VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 7718 VkCommandBuffer commandBuffer, 7719 deUint32 vertexBindingDescriptionCount, 7720 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 7721 deUint32 vertexAttributeDescriptionCount, 7722 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 7723#endif 7724 7725 7726#define VK_EXT_extended_dynamic_state2 1 7727#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 7728#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 7729typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 7730 VkStructureType sType; 7731 void* pNext; 7732 VkBool32 extendedDynamicState2; 7733 VkBool32 extendedDynamicState2LogicOp; 7734 VkBool32 extendedDynamicState2PatchControlPoints; 7735} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 7736 7737typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints); 7738typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 7739typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 7740typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 7741typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 7742 7743#ifndef VK_NO_PROTOTYPES 7744VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 7745 VkCommandBuffer commandBuffer, 7746 deUint32 patchControlPoints); 7747 7748VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 7749 VkCommandBuffer commandBuffer, 7750 VkBool32 rasterizerDiscardEnable); 7751 7752VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 7753 VkCommandBuffer commandBuffer, 7754 VkBool32 depthBiasEnable); 7755 7756VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 7757 VkCommandBuffer commandBuffer, 7758 VkLogicOp logicOp); 7759 7760VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 7761 VkCommandBuffer commandBuffer, 7762 VkBool32 primitiveRestartEnable); 7763#endif 7764 7765 7766#define VK_EXT_color_write_enable 1 7767#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 7768#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 7769typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 7770 VkStructureType sType; 7771 void* pNext; 7772 VkBool32 colorWriteEnable; 7773} VkPhysicalDeviceColorWriteEnableFeaturesEXT; 7774 7775typedef struct VkPipelineColorWriteCreateInfoEXT { 7776 VkStructureType sType; 7777 const void* pNext; 7778 deUint32 attachmentCount; 7779 const VkBool32* pColorWriteEnables; 7780} VkPipelineColorWriteCreateInfoEXT; 7781 7782typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables); 7783 7784#ifndef VK_NO_PROTOTYPES 7785VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 7786 VkCommandBuffer commandBuffer, 7787 deUint32 attachmentCount, 7788 const VkBool32* pColorWriteEnables); 7789#endif 7790 7791 7792#define VK_EXT_application_parameters 1 7793#define VK_EXT_APPLICATION_PARAMETERS_SPEC_VERSION 1 7794#define VK_EXT_APPLICATION_PARAMETERS_EXTENSION_NAME "VK_EXT_application_parameters" 7795typedef struct VkApplicationParametersEXT { 7796 VkStructureType sType; 7797 const void* pNext; 7798 deUint32 vendorID; 7799 deUint32 deviceID; 7800 deUint32 key; 7801 deUint64 value; 7802} VkApplicationParametersEXT; 7803 7804 7805#ifdef __cplusplus 7806} 7807#endif 7808 7809#endif 7810 7811