1 #ifndef VULKAN_CORE_H_ 2 #define VULKAN_CORE_H_ 1 3 4 /* 5 ** Copyright (c) 2015-2020 The Khronos Group Inc. 6 ** 7 ** SPDX-License-Identifier: Apache-2.0 8 */ 9 10 /* 11 ** This header is generated from the Khronos Vulkan XML API Registry. 12 ** 13 */ 14 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 22 #define VK_VERSION_1_0 1 23 #include "vk_platform.h" 24 25 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 26 27 28 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) 29 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 30 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 31 #else 32 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 33 #endif 34 #endif 35 36 #define VK_MAKE_VERSION(major, minor, patch) \ 37 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 38 39 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 40 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 41 42 // Vulkan 1.0 version number 43 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 44 45 // Version of this file 46 #define VK_HEADER_VERSION 158 47 48 // Complete version of this file 49 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) 50 51 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) 52 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) 53 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) 54 55 #define VK_NULL_HANDLE 0 56 57 typedef uint32_t VkBool32; 58 typedef uint64_t VkDeviceAddress; 59 typedef uint64_t VkDeviceSize; 60 typedef uint32_t VkFlags; 61 typedef uint32_t VkSampleMask; 62 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 63 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 64 VK_DEFINE_HANDLE(VkInstance) 65 VK_DEFINE_HANDLE(VkPhysicalDevice) 66 VK_DEFINE_HANDLE(VkDevice) 67 VK_DEFINE_HANDLE(VkQueue) 68 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 69 VK_DEFINE_HANDLE(VkCommandBuffer) 70 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 71 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 72 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 73 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 74 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 76 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 87 #define VK_ATTACHMENT_UNUSED (~0U) 88 #define VK_FALSE 0 89 #define VK_LOD_CLAMP_NONE 1000.0f 90 #define VK_QUEUE_FAMILY_IGNORED (~0U) 91 #define VK_REMAINING_ARRAY_LAYERS (~0U) 92 #define VK_REMAINING_MIP_LEVELS (~0U) 93 #define VK_SUBPASS_EXTERNAL (~0U) 94 #define VK_TRUE 1 95 #define VK_WHOLE_SIZE (~0ULL) 96 #define VK_MAX_MEMORY_TYPES 32 97 #define VK_MAX_MEMORY_HEAPS 16 98 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 99 #define VK_UUID_SIZE 16 100 #define VK_MAX_EXTENSION_NAME_SIZE 256 101 #define VK_MAX_DESCRIPTION_SIZE 256 102 103 typedef enum VkResult { 104 VK_SUCCESS = 0, 105 VK_NOT_READY = 1, 106 VK_TIMEOUT = 2, 107 VK_EVENT_SET = 3, 108 VK_EVENT_RESET = 4, 109 VK_INCOMPLETE = 5, 110 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 111 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 112 VK_ERROR_INITIALIZATION_FAILED = -3, 113 VK_ERROR_DEVICE_LOST = -4, 114 VK_ERROR_MEMORY_MAP_FAILED = -5, 115 VK_ERROR_LAYER_NOT_PRESENT = -6, 116 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 117 VK_ERROR_FEATURE_NOT_PRESENT = -8, 118 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 119 VK_ERROR_TOO_MANY_OBJECTS = -10, 120 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 121 VK_ERROR_FRAGMENTED_POOL = -12, 122 VK_ERROR_UNKNOWN = -13, 123 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 124 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 125 VK_ERROR_FRAGMENTATION = -1000161000, 126 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 127 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 128 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 129 VK_SUBOPTIMAL_KHR = 1000001003, 130 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 131 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 132 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 133 VK_ERROR_INVALID_SHADER_NV = -1000012000, 134 VK_ERROR_INCOMPATIBLE_VERSION_KHR = -1000150000, 135 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 136 VK_ERROR_NOT_PERMITTED_EXT = -1000174001, 137 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 138 VK_THREAD_IDLE_KHR = 1000268000, 139 VK_THREAD_DONE_KHR = 1000268001, 140 VK_OPERATION_DEFERRED_KHR = 1000268002, 141 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 142 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000, 143 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 144 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 145 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 146 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 147 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 148 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT, 149 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 150 } VkResult; 151 152 typedef enum VkStructureType { 153 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 154 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 155 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 156 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 157 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 158 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 159 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 160 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 161 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 162 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 163 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 164 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 165 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 166 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 167 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 168 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 169 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 170 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 171 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 172 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 173 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 174 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 175 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 176 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 177 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 178 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 179 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 180 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 181 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 182 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 183 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 184 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 185 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 186 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 187 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 188 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 189 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 190 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 191 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 192 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 193 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 194 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 195 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 196 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 197 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 198 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 199 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 200 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 201 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 202 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 203 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 204 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 206 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 207 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 208 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 209 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 210 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 211 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 212 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 213 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 214 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 216 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 217 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 218 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 219 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 220 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 221 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 224 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 225 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 227 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 229 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 232 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 233 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 234 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 235 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 239 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 242 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 243 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 244 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 245 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 246 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 248 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 249 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 251 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 253 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 255 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 256 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 257 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 259 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 260 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 261 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 263 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 265 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 271 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 272 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 273 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 274 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 275 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 276 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 277 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 278 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 284 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 287 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 288 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 290 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 292 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 294 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 297 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 298 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 299 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 303 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 304 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 308 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 309 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 310 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 311 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 312 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 313 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 314 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 315 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 316 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 317 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 318 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 319 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 320 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 321 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 322 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 323 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 324 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 325 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 326 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 327 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 328 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 329 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 330 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 331 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 332 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 333 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 334 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 335 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 336 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 337 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 338 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 339 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 340 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 343 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 344 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 345 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 346 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 347 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 349 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 350 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 351 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 352 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 353 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 354 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 355 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000, 357 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 359 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 360 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 361 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 362 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 363 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 364 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 365 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 366 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 367 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 368 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 369 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 370 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 371 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 372 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 374 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 376 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 377 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 378 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 379 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 380 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 381 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 382 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 383 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 384 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 386 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 388 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 390 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 392 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 393 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 394 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 395 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 396 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 397 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 398 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 399 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 402 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 403 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 404 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 405 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 406 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 408 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 409 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 410 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 411 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 412 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 413 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 414 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 415 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 416 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 417 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 418 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 419 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 420 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 421 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 422 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 423 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 424 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 425 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 426 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 427 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000, 429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001, 430 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002, 431 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003, 432 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 433 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 434 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 436 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 439 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 440 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 441 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR = 1000165006, 442 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000165007, 443 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 444 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR = 1000150001, 445 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 446 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 447 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 448 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 449 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 450 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR = 1000150008, 451 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR = 1000150009, 452 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 453 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 454 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR = 1000150013, 456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR = 1000150014, 457 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 458 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 459 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 460 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 461 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 464 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 466 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 467 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 468 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 469 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 470 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 473 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 474 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 476 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 477 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 478 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 479 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 480 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 481 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 482 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 483 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 484 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 485 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 486 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 487 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 489 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 490 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, 491 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 492 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 494 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 495 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 496 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, 497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 498 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 500 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, 501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, 502 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 503 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000, 504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000, 508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 509 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 511 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 512 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 513 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 514 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 515 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 516 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 517 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 518 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 519 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 521 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 522 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 523 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000, 525 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 528 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000, 530 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001, 531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002, 532 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 533 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 535 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 540 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 542 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 543 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 546 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000, 548 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 549 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 550 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 553 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 554 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 557 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 558 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 559 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 560 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, 562 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, 563 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, 564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, 566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 567 VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = 1000268000, 568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 569 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 570 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 571 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 572 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 573 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000, 575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 576 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 577 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 578 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 579 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 580 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 581 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, 585 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 586 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 588 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 589 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 590 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 592 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 593 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 595 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000, 597 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001, 598 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002, 599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000, 600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 601 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000, 605 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000, 606 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001, 607 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002, 608 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003, 609 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004, 610 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005, 611 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006, 612 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007, 613 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008, 614 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, 615 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, 616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 617 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 620 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 621 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 626 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 627 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 629 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 631 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 633 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 634 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 635 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 636 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 637 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 638 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 639 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 641 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 643 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 645 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 647 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 648 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 649 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 651 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 652 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 655 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 656 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 657 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 659 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 660 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 661 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 662 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 663 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 664 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 665 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 666 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 667 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 668 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 670 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 671 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 673 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 674 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 675 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 678 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 679 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 681 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 682 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 683 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 684 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 685 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 686 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 687 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 688 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 689 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 690 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 691 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 693 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 694 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 695 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 696 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 699 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 700 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 701 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR, 702 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR, 703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 704 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 711 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 714 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 715 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 716 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 717 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 718 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 722 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 723 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 725 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 726 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 729 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 730 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 731 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 732 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 734 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 735 } VkStructureType; 736 737 typedef enum VkImageLayout { 738 VK_IMAGE_LAYOUT_UNDEFINED = 0, 739 VK_IMAGE_LAYOUT_GENERAL = 1, 740 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 741 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 742 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 743 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 744 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 745 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 746 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 747 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 748 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 749 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 750 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 751 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 752 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 753 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 754 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 755 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003, 756 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 757 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 758 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 759 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV, 760 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 761 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 762 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 763 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 764 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 765 } VkImageLayout; 766 767 typedef enum VkObjectType { 768 VK_OBJECT_TYPE_UNKNOWN = 0, 769 VK_OBJECT_TYPE_INSTANCE = 1, 770 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 771 VK_OBJECT_TYPE_DEVICE = 3, 772 VK_OBJECT_TYPE_QUEUE = 4, 773 VK_OBJECT_TYPE_SEMAPHORE = 5, 774 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 775 VK_OBJECT_TYPE_FENCE = 7, 776 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 777 VK_OBJECT_TYPE_BUFFER = 9, 778 VK_OBJECT_TYPE_IMAGE = 10, 779 VK_OBJECT_TYPE_EVENT = 11, 780 VK_OBJECT_TYPE_QUERY_POOL = 12, 781 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 782 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 783 VK_OBJECT_TYPE_SHADER_MODULE = 15, 784 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 785 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 786 VK_OBJECT_TYPE_RENDER_PASS = 18, 787 VK_OBJECT_TYPE_PIPELINE = 19, 788 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 789 VK_OBJECT_TYPE_SAMPLER = 21, 790 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 791 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 792 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 793 VK_OBJECT_TYPE_COMMAND_POOL = 25, 794 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 795 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 796 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 797 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 798 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 799 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 800 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 801 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 802 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000, 803 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 804 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 805 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 806 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 807 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000, 808 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 809 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 810 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR, 811 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 812 } VkObjectType; 813 814 typedef enum VkVendorId { 815 VK_VENDOR_ID_VIV = 0x10001, 816 VK_VENDOR_ID_VSI = 0x10002, 817 VK_VENDOR_ID_KAZAN = 0x10003, 818 VK_VENDOR_ID_CODEPLAY = 0x10004, 819 VK_VENDOR_ID_MESA = 0x10005, 820 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 821 } VkVendorId; 822 823 typedef enum VkPipelineCacheHeaderVersion { 824 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 825 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 826 } VkPipelineCacheHeaderVersion; 827 828 typedef enum VkSystemAllocationScope { 829 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 830 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 831 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 832 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 833 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 834 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 835 } VkSystemAllocationScope; 836 837 typedef enum VkInternalAllocationType { 838 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 839 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 840 } VkInternalAllocationType; 841 842 typedef enum VkFormat { 843 VK_FORMAT_UNDEFINED = 0, 844 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 845 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 846 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 847 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 848 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 849 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 850 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 851 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 852 VK_FORMAT_R8_UNORM = 9, 853 VK_FORMAT_R8_SNORM = 10, 854 VK_FORMAT_R8_USCALED = 11, 855 VK_FORMAT_R8_SSCALED = 12, 856 VK_FORMAT_R8_UINT = 13, 857 VK_FORMAT_R8_SINT = 14, 858 VK_FORMAT_R8_SRGB = 15, 859 VK_FORMAT_R8G8_UNORM = 16, 860 VK_FORMAT_R8G8_SNORM = 17, 861 VK_FORMAT_R8G8_USCALED = 18, 862 VK_FORMAT_R8G8_SSCALED = 19, 863 VK_FORMAT_R8G8_UINT = 20, 864 VK_FORMAT_R8G8_SINT = 21, 865 VK_FORMAT_R8G8_SRGB = 22, 866 VK_FORMAT_R8G8B8_UNORM = 23, 867 VK_FORMAT_R8G8B8_SNORM = 24, 868 VK_FORMAT_R8G8B8_USCALED = 25, 869 VK_FORMAT_R8G8B8_SSCALED = 26, 870 VK_FORMAT_R8G8B8_UINT = 27, 871 VK_FORMAT_R8G8B8_SINT = 28, 872 VK_FORMAT_R8G8B8_SRGB = 29, 873 VK_FORMAT_B8G8R8_UNORM = 30, 874 VK_FORMAT_B8G8R8_SNORM = 31, 875 VK_FORMAT_B8G8R8_USCALED = 32, 876 VK_FORMAT_B8G8R8_SSCALED = 33, 877 VK_FORMAT_B8G8R8_UINT = 34, 878 VK_FORMAT_B8G8R8_SINT = 35, 879 VK_FORMAT_B8G8R8_SRGB = 36, 880 VK_FORMAT_R8G8B8A8_UNORM = 37, 881 VK_FORMAT_R8G8B8A8_SNORM = 38, 882 VK_FORMAT_R8G8B8A8_USCALED = 39, 883 VK_FORMAT_R8G8B8A8_SSCALED = 40, 884 VK_FORMAT_R8G8B8A8_UINT = 41, 885 VK_FORMAT_R8G8B8A8_SINT = 42, 886 VK_FORMAT_R8G8B8A8_SRGB = 43, 887 VK_FORMAT_B8G8R8A8_UNORM = 44, 888 VK_FORMAT_B8G8R8A8_SNORM = 45, 889 VK_FORMAT_B8G8R8A8_USCALED = 46, 890 VK_FORMAT_B8G8R8A8_SSCALED = 47, 891 VK_FORMAT_B8G8R8A8_UINT = 48, 892 VK_FORMAT_B8G8R8A8_SINT = 49, 893 VK_FORMAT_B8G8R8A8_SRGB = 50, 894 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 895 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 896 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 897 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 898 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 899 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 900 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 901 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 902 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 903 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 904 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 905 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 906 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 907 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 908 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 909 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 910 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 911 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 912 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 913 VK_FORMAT_R16_UNORM = 70, 914 VK_FORMAT_R16_SNORM = 71, 915 VK_FORMAT_R16_USCALED = 72, 916 VK_FORMAT_R16_SSCALED = 73, 917 VK_FORMAT_R16_UINT = 74, 918 VK_FORMAT_R16_SINT = 75, 919 VK_FORMAT_R16_SFLOAT = 76, 920 VK_FORMAT_R16G16_UNORM = 77, 921 VK_FORMAT_R16G16_SNORM = 78, 922 VK_FORMAT_R16G16_USCALED = 79, 923 VK_FORMAT_R16G16_SSCALED = 80, 924 VK_FORMAT_R16G16_UINT = 81, 925 VK_FORMAT_R16G16_SINT = 82, 926 VK_FORMAT_R16G16_SFLOAT = 83, 927 VK_FORMAT_R16G16B16_UNORM = 84, 928 VK_FORMAT_R16G16B16_SNORM = 85, 929 VK_FORMAT_R16G16B16_USCALED = 86, 930 VK_FORMAT_R16G16B16_SSCALED = 87, 931 VK_FORMAT_R16G16B16_UINT = 88, 932 VK_FORMAT_R16G16B16_SINT = 89, 933 VK_FORMAT_R16G16B16_SFLOAT = 90, 934 VK_FORMAT_R16G16B16A16_UNORM = 91, 935 VK_FORMAT_R16G16B16A16_SNORM = 92, 936 VK_FORMAT_R16G16B16A16_USCALED = 93, 937 VK_FORMAT_R16G16B16A16_SSCALED = 94, 938 VK_FORMAT_R16G16B16A16_UINT = 95, 939 VK_FORMAT_R16G16B16A16_SINT = 96, 940 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 941 VK_FORMAT_R32_UINT = 98, 942 VK_FORMAT_R32_SINT = 99, 943 VK_FORMAT_R32_SFLOAT = 100, 944 VK_FORMAT_R32G32_UINT = 101, 945 VK_FORMAT_R32G32_SINT = 102, 946 VK_FORMAT_R32G32_SFLOAT = 103, 947 VK_FORMAT_R32G32B32_UINT = 104, 948 VK_FORMAT_R32G32B32_SINT = 105, 949 VK_FORMAT_R32G32B32_SFLOAT = 106, 950 VK_FORMAT_R32G32B32A32_UINT = 107, 951 VK_FORMAT_R32G32B32A32_SINT = 108, 952 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 953 VK_FORMAT_R64_UINT = 110, 954 VK_FORMAT_R64_SINT = 111, 955 VK_FORMAT_R64_SFLOAT = 112, 956 VK_FORMAT_R64G64_UINT = 113, 957 VK_FORMAT_R64G64_SINT = 114, 958 VK_FORMAT_R64G64_SFLOAT = 115, 959 VK_FORMAT_R64G64B64_UINT = 116, 960 VK_FORMAT_R64G64B64_SINT = 117, 961 VK_FORMAT_R64G64B64_SFLOAT = 118, 962 VK_FORMAT_R64G64B64A64_UINT = 119, 963 VK_FORMAT_R64G64B64A64_SINT = 120, 964 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 965 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 966 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 967 VK_FORMAT_D16_UNORM = 124, 968 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 969 VK_FORMAT_D32_SFLOAT = 126, 970 VK_FORMAT_S8_UINT = 127, 971 VK_FORMAT_D16_UNORM_S8_UINT = 128, 972 VK_FORMAT_D24_UNORM_S8_UINT = 129, 973 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 974 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 975 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 976 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 977 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 978 VK_FORMAT_BC2_UNORM_BLOCK = 135, 979 VK_FORMAT_BC2_SRGB_BLOCK = 136, 980 VK_FORMAT_BC3_UNORM_BLOCK = 137, 981 VK_FORMAT_BC3_SRGB_BLOCK = 138, 982 VK_FORMAT_BC4_UNORM_BLOCK = 139, 983 VK_FORMAT_BC4_SNORM_BLOCK = 140, 984 VK_FORMAT_BC5_UNORM_BLOCK = 141, 985 VK_FORMAT_BC5_SNORM_BLOCK = 142, 986 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 987 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 988 VK_FORMAT_BC7_UNORM_BLOCK = 145, 989 VK_FORMAT_BC7_SRGB_BLOCK = 146, 990 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 991 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 992 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 993 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 994 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 995 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 996 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 997 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 998 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 999 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1000 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1001 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1002 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1003 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1004 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1005 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1006 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1007 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1008 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1009 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1010 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1011 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1012 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1013 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1014 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1015 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1016 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1017 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1018 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1019 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1020 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1021 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1022 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1023 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1024 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1025 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1026 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1027 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1028 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1029 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1030 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1031 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1032 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1033 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1034 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1035 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1036 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1037 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1038 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1039 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1040 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1041 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1042 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1043 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1044 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1045 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1046 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1047 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1048 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1049 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1050 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1051 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1052 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1053 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1054 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1055 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1056 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1057 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1058 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1059 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1060 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1061 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1062 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1063 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1064 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1065 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1066 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1067 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1068 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1069 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1070 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000, 1071 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001, 1072 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002, 1073 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003, 1074 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004, 1075 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005, 1076 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006, 1077 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007, 1078 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008, 1079 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009, 1080 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010, 1081 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011, 1082 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012, 1083 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013, 1084 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000, 1085 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001, 1086 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1087 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1088 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1089 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1090 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1091 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1092 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1093 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1094 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1095 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1096 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1097 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1098 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1099 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1100 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1101 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1102 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1103 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1104 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1105 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1106 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1107 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1108 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1109 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1110 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1111 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1112 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1113 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1114 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1115 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1116 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1117 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1118 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1119 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1120 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1121 } VkFormat; 1122 1123 typedef enum VkImageTiling { 1124 VK_IMAGE_TILING_OPTIMAL = 0, 1125 VK_IMAGE_TILING_LINEAR = 1, 1126 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1127 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1128 } VkImageTiling; 1129 1130 typedef enum VkImageType { 1131 VK_IMAGE_TYPE_1D = 0, 1132 VK_IMAGE_TYPE_2D = 1, 1133 VK_IMAGE_TYPE_3D = 2, 1134 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1135 } VkImageType; 1136 1137 typedef enum VkPhysicalDeviceType { 1138 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 1139 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 1140 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 1141 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 1142 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 1143 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 1144 } VkPhysicalDeviceType; 1145 1146 typedef enum VkQueryType { 1147 VK_QUERY_TYPE_OCCLUSION = 0, 1148 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1149 VK_QUERY_TYPE_TIMESTAMP = 2, 1150 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1151 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1152 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000, 1153 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000, 1154 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1155 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR, 1156 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1157 } VkQueryType; 1158 1159 typedef enum VkSharingMode { 1160 VK_SHARING_MODE_EXCLUSIVE = 0, 1161 VK_SHARING_MODE_CONCURRENT = 1, 1162 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1163 } VkSharingMode; 1164 1165 typedef enum VkComponentSwizzle { 1166 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 1167 VK_COMPONENT_SWIZZLE_ZERO = 1, 1168 VK_COMPONENT_SWIZZLE_ONE = 2, 1169 VK_COMPONENT_SWIZZLE_R = 3, 1170 VK_COMPONENT_SWIZZLE_G = 4, 1171 VK_COMPONENT_SWIZZLE_B = 5, 1172 VK_COMPONENT_SWIZZLE_A = 6, 1173 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 1174 } VkComponentSwizzle; 1175 1176 typedef enum VkImageViewType { 1177 VK_IMAGE_VIEW_TYPE_1D = 0, 1178 VK_IMAGE_VIEW_TYPE_2D = 1, 1179 VK_IMAGE_VIEW_TYPE_3D = 2, 1180 VK_IMAGE_VIEW_TYPE_CUBE = 3, 1181 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 1182 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 1183 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 1184 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 1185 } VkImageViewType; 1186 1187 typedef enum VkBlendFactor { 1188 VK_BLEND_FACTOR_ZERO = 0, 1189 VK_BLEND_FACTOR_ONE = 1, 1190 VK_BLEND_FACTOR_SRC_COLOR = 2, 1191 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 1192 VK_BLEND_FACTOR_DST_COLOR = 4, 1193 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 1194 VK_BLEND_FACTOR_SRC_ALPHA = 6, 1195 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 1196 VK_BLEND_FACTOR_DST_ALPHA = 8, 1197 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 1198 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 1199 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 1200 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 1201 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 1202 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 1203 VK_BLEND_FACTOR_SRC1_COLOR = 15, 1204 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 1205 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 1206 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 1207 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 1208 } VkBlendFactor; 1209 1210 typedef enum VkBlendOp { 1211 VK_BLEND_OP_ADD = 0, 1212 VK_BLEND_OP_SUBTRACT = 1, 1213 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 1214 VK_BLEND_OP_MIN = 3, 1215 VK_BLEND_OP_MAX = 4, 1216 VK_BLEND_OP_ZERO_EXT = 1000148000, 1217 VK_BLEND_OP_SRC_EXT = 1000148001, 1218 VK_BLEND_OP_DST_EXT = 1000148002, 1219 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 1220 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 1221 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 1222 VK_BLEND_OP_DST_IN_EXT = 1000148006, 1223 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 1224 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 1225 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 1226 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 1227 VK_BLEND_OP_XOR_EXT = 1000148011, 1228 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 1229 VK_BLEND_OP_SCREEN_EXT = 1000148013, 1230 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 1231 VK_BLEND_OP_DARKEN_EXT = 1000148015, 1232 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 1233 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 1234 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 1235 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 1236 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 1237 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 1238 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 1239 VK_BLEND_OP_INVERT_EXT = 1000148023, 1240 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 1241 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 1242 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 1243 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 1244 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 1245 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 1246 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 1247 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 1248 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 1249 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 1250 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 1251 VK_BLEND_OP_PLUS_EXT = 1000148035, 1252 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 1253 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 1254 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 1255 VK_BLEND_OP_MINUS_EXT = 1000148039, 1256 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 1257 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 1258 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 1259 VK_BLEND_OP_RED_EXT = 1000148043, 1260 VK_BLEND_OP_GREEN_EXT = 1000148044, 1261 VK_BLEND_OP_BLUE_EXT = 1000148045, 1262 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 1263 } VkBlendOp; 1264 1265 typedef enum VkCompareOp { 1266 VK_COMPARE_OP_NEVER = 0, 1267 VK_COMPARE_OP_LESS = 1, 1268 VK_COMPARE_OP_EQUAL = 2, 1269 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1270 VK_COMPARE_OP_GREATER = 4, 1271 VK_COMPARE_OP_NOT_EQUAL = 5, 1272 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1273 VK_COMPARE_OP_ALWAYS = 7, 1274 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1275 } VkCompareOp; 1276 1277 typedef enum VkDynamicState { 1278 VK_DYNAMIC_STATE_VIEWPORT = 0, 1279 VK_DYNAMIC_STATE_SCISSOR = 1, 1280 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1281 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1282 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1283 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1284 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1285 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1286 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1287 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1288 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1289 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1290 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1291 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1292 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1293 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1294 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, 1295 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000, 1296 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001, 1297 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002, 1298 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003, 1299 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004, 1300 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005, 1301 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006, 1302 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007, 1303 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008, 1304 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009, 1305 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010, 1306 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011, 1307 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1308 } VkDynamicState; 1309 1310 typedef enum VkFrontFace { 1311 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1312 VK_FRONT_FACE_CLOCKWISE = 1, 1313 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1314 } VkFrontFace; 1315 1316 typedef enum VkVertexInputRate { 1317 VK_VERTEX_INPUT_RATE_VERTEX = 0, 1318 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 1319 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 1320 } VkVertexInputRate; 1321 1322 typedef enum VkPrimitiveTopology { 1323 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 1324 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 1325 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 1326 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 1327 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 1328 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 1329 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 1330 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 1331 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 1332 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 1333 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 1334 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 1335 } VkPrimitiveTopology; 1336 1337 typedef enum VkPolygonMode { 1338 VK_POLYGON_MODE_FILL = 0, 1339 VK_POLYGON_MODE_LINE = 1, 1340 VK_POLYGON_MODE_POINT = 2, 1341 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 1342 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 1343 } VkPolygonMode; 1344 1345 typedef enum VkStencilOp { 1346 VK_STENCIL_OP_KEEP = 0, 1347 VK_STENCIL_OP_ZERO = 1, 1348 VK_STENCIL_OP_REPLACE = 2, 1349 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 1350 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 1351 VK_STENCIL_OP_INVERT = 5, 1352 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 1353 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 1354 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 1355 } VkStencilOp; 1356 1357 typedef enum VkLogicOp { 1358 VK_LOGIC_OP_CLEAR = 0, 1359 VK_LOGIC_OP_AND = 1, 1360 VK_LOGIC_OP_AND_REVERSE = 2, 1361 VK_LOGIC_OP_COPY = 3, 1362 VK_LOGIC_OP_AND_INVERTED = 4, 1363 VK_LOGIC_OP_NO_OP = 5, 1364 VK_LOGIC_OP_XOR = 6, 1365 VK_LOGIC_OP_OR = 7, 1366 VK_LOGIC_OP_NOR = 8, 1367 VK_LOGIC_OP_EQUIVALENT = 9, 1368 VK_LOGIC_OP_INVERT = 10, 1369 VK_LOGIC_OP_OR_REVERSE = 11, 1370 VK_LOGIC_OP_COPY_INVERTED = 12, 1371 VK_LOGIC_OP_OR_INVERTED = 13, 1372 VK_LOGIC_OP_NAND = 14, 1373 VK_LOGIC_OP_SET = 15, 1374 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 1375 } VkLogicOp; 1376 1377 typedef enum VkBorderColor { 1378 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 1379 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 1380 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 1381 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 1382 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 1383 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 1384 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 1385 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 1386 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 1387 } VkBorderColor; 1388 1389 typedef enum VkFilter { 1390 VK_FILTER_NEAREST = 0, 1391 VK_FILTER_LINEAR = 1, 1392 VK_FILTER_CUBIC_IMG = 1000015000, 1393 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG, 1394 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 1395 } VkFilter; 1396 1397 typedef enum VkSamplerAddressMode { 1398 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 1399 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 1400 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 1401 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 1402 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 1403 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 1404 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 1405 } VkSamplerAddressMode; 1406 1407 typedef enum VkSamplerMipmapMode { 1408 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 1409 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 1410 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 1411 } VkSamplerMipmapMode; 1412 1413 typedef enum VkDescriptorType { 1414 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 1415 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 1416 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 1417 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 1418 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 1419 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 1420 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 1421 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 1422 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 1423 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 1424 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 1425 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000, 1426 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000, 1427 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, 1428 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 1429 } VkDescriptorType; 1430 1431 typedef enum VkAttachmentLoadOp { 1432 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 1433 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 1434 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 1435 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 1436 } VkAttachmentLoadOp; 1437 1438 typedef enum VkAttachmentStoreOp { 1439 VK_ATTACHMENT_STORE_OP_STORE = 0, 1440 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 1441 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000, 1442 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 1443 } VkAttachmentStoreOp; 1444 1445 typedef enum VkPipelineBindPoint { 1446 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 1447 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 1448 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 1449 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 1450 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 1451 } VkPipelineBindPoint; 1452 1453 typedef enum VkCommandBufferLevel { 1454 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 1455 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 1456 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 1457 } VkCommandBufferLevel; 1458 1459 typedef enum VkIndexType { 1460 VK_INDEX_TYPE_UINT16 = 0, 1461 VK_INDEX_TYPE_UINT32 = 1, 1462 VK_INDEX_TYPE_NONE_KHR = 1000165000, 1463 VK_INDEX_TYPE_UINT8_EXT = 1000265000, 1464 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 1465 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 1466 } VkIndexType; 1467 1468 typedef enum VkSubpassContents { 1469 VK_SUBPASS_CONTENTS_INLINE = 0, 1470 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 1471 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 1472 } VkSubpassContents; 1473 1474 typedef enum VkAccessFlagBits { 1475 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 1476 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 1477 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 1478 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 1479 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 1480 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 1481 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 1482 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 1483 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 1484 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 1485 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 1486 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 1487 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 1488 VK_ACCESS_HOST_READ_BIT = 0x00002000, 1489 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 1490 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 1491 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 1492 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 1493 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 1494 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 1495 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 1496 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 1497 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 1498 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 1499 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000, 1500 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 1501 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 1502 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 1503 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 1504 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 1505 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV, 1506 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1507 } VkAccessFlagBits; 1508 typedef VkFlags VkAccessFlags; 1509 1510 typedef enum VkImageAspectFlagBits { 1511 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 1512 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 1513 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 1514 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 1515 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 1516 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 1517 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 1518 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 1519 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 1520 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 1521 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 1522 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 1523 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 1524 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 1525 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1526 } VkImageAspectFlagBits; 1527 typedef VkFlags VkImageAspectFlags; 1528 1529 typedef enum VkFormatFeatureFlagBits { 1530 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 1531 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 1532 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 1533 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 1534 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 1535 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 1536 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 1537 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 1538 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 1539 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 1540 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 1541 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 1542 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 1543 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 1544 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 1545 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 1546 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 1547 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 1548 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 1549 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 1550 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 1551 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 1552 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 1553 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, 1554 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 1555 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 1556 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 1557 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 1558 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 1559 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 1560 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 1561 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 1562 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 1563 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 1564 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 1565 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 1566 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 1567 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, 1568 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1569 } VkFormatFeatureFlagBits; 1570 typedef VkFlags VkFormatFeatureFlags; 1571 1572 typedef enum VkImageCreateFlagBits { 1573 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1574 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1575 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1576 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 1577 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 1578 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 1579 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 1580 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 1581 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 1582 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 1583 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 1584 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 1585 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 1586 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 1587 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 1588 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 1589 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 1590 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 1591 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 1592 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 1593 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 1594 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1595 } VkImageCreateFlagBits; 1596 typedef VkFlags VkImageCreateFlags; 1597 1598 typedef enum VkSampleCountFlagBits { 1599 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 1600 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 1601 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 1602 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 1603 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 1604 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 1605 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 1606 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1607 } VkSampleCountFlagBits; 1608 typedef VkFlags VkSampleCountFlags; 1609 1610 typedef enum VkImageUsageFlagBits { 1611 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1612 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 1613 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 1614 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 1615 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 1616 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 1617 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 1618 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 1619 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100, 1620 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 1621 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, 1622 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1623 } VkImageUsageFlagBits; 1624 typedef VkFlags VkImageUsageFlags; 1625 typedef VkFlags VkInstanceCreateFlags; 1626 1627 typedef enum VkMemoryHeapFlagBits { 1628 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 1629 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 1630 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 1631 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1632 } VkMemoryHeapFlagBits; 1633 typedef VkFlags VkMemoryHeapFlags; 1634 1635 typedef enum VkMemoryPropertyFlagBits { 1636 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 1637 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 1638 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 1639 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 1640 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 1641 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 1642 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 1643 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 1644 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1645 } VkMemoryPropertyFlagBits; 1646 typedef VkFlags VkMemoryPropertyFlags; 1647 1648 typedef enum VkQueueFlagBits { 1649 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 1650 VK_QUEUE_COMPUTE_BIT = 0x00000002, 1651 VK_QUEUE_TRANSFER_BIT = 0x00000004, 1652 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 1653 VK_QUEUE_PROTECTED_BIT = 0x00000010, 1654 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1655 } VkQueueFlagBits; 1656 typedef VkFlags VkQueueFlags; 1657 typedef VkFlags VkDeviceCreateFlags; 1658 1659 typedef enum VkDeviceQueueCreateFlagBits { 1660 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 1661 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1662 } VkDeviceQueueCreateFlagBits; 1663 typedef VkFlags VkDeviceQueueCreateFlags; 1664 1665 typedef enum VkPipelineStageFlagBits { 1666 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 1667 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 1668 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 1669 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 1670 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 1671 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 1672 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 1673 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 1674 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 1675 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 1676 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 1677 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 1678 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 1679 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 1680 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 1681 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 1682 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 1683 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 1684 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 1685 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 1686 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 1687 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000, 1688 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000, 1689 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000, 1690 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 1691 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 1692 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 1693 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 1694 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, 1695 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1696 } VkPipelineStageFlagBits; 1697 typedef VkFlags VkPipelineStageFlags; 1698 typedef VkFlags VkMemoryMapFlags; 1699 1700 typedef enum VkSparseMemoryBindFlagBits { 1701 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 1702 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1703 } VkSparseMemoryBindFlagBits; 1704 typedef VkFlags VkSparseMemoryBindFlags; 1705 1706 typedef enum VkSparseImageFormatFlagBits { 1707 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 1708 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 1709 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 1710 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1711 } VkSparseImageFormatFlagBits; 1712 typedef VkFlags VkSparseImageFormatFlags; 1713 1714 typedef enum VkFenceCreateFlagBits { 1715 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 1716 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1717 } VkFenceCreateFlagBits; 1718 typedef VkFlags VkFenceCreateFlags; 1719 typedef VkFlags VkSemaphoreCreateFlags; 1720 typedef VkFlags VkEventCreateFlags; 1721 1722 typedef enum VkQueryPipelineStatisticFlagBits { 1723 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 1724 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 1725 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 1726 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 1727 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 1728 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 1729 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 1730 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 1731 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 1732 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 1733 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 1734 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1735 } VkQueryPipelineStatisticFlagBits; 1736 typedef VkFlags VkQueryPipelineStatisticFlags; 1737 typedef VkFlags VkQueryPoolCreateFlags; 1738 1739 typedef enum VkQueryResultFlagBits { 1740 VK_QUERY_RESULT_64_BIT = 0x00000001, 1741 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 1742 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 1743 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 1744 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1745 } VkQueryResultFlagBits; 1746 typedef VkFlags VkQueryResultFlags; 1747 1748 typedef enum VkBufferCreateFlagBits { 1749 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1750 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1751 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1752 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 1753 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 1754 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 1755 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 1756 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1757 } VkBufferCreateFlagBits; 1758 typedef VkFlags VkBufferCreateFlags; 1759 1760 typedef enum VkBufferUsageFlagBits { 1761 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1762 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 1763 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 1764 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 1765 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 1766 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 1767 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 1768 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 1769 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 1770 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 1771 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 1772 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 1773 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 1774 VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400, 1775 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR, 1776 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 1777 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 1778 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1779 } VkBufferUsageFlagBits; 1780 typedef VkFlags VkBufferUsageFlags; 1781 typedef VkFlags VkBufferViewCreateFlags; 1782 1783 typedef enum VkImageViewCreateFlagBits { 1784 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 1785 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 1786 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1787 } VkImageViewCreateFlagBits; 1788 typedef VkFlags VkImageViewCreateFlags; 1789 1790 typedef enum VkShaderModuleCreateFlagBits { 1791 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1792 } VkShaderModuleCreateFlagBits; 1793 typedef VkFlags VkShaderModuleCreateFlags; 1794 1795 typedef enum VkPipelineCacheCreateFlagBits { 1796 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001, 1797 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1798 } VkPipelineCacheCreateFlagBits; 1799 typedef VkFlags VkPipelineCacheCreateFlags; 1800 1801 typedef enum VkColorComponentFlagBits { 1802 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 1803 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 1804 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 1805 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 1806 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1807 } VkColorComponentFlagBits; 1808 typedef VkFlags VkColorComponentFlags; 1809 1810 typedef enum VkPipelineCreateFlagBits { 1811 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 1812 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 1813 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 1814 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 1815 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 1816 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 1817 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 1818 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 1819 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 1820 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 1821 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 1822 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 1823 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 1824 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 1825 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 1826 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 1827 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100, 1828 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200, 1829 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 1830 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 1831 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 1832 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1833 } VkPipelineCreateFlagBits; 1834 typedef VkFlags VkPipelineCreateFlags; 1835 1836 typedef enum VkPipelineShaderStageCreateFlagBits { 1837 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001, 1838 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002, 1839 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1840 } VkPipelineShaderStageCreateFlagBits; 1841 typedef VkFlags VkPipelineShaderStageCreateFlags; 1842 1843 typedef enum VkShaderStageFlagBits { 1844 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 1845 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 1846 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 1847 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 1848 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 1849 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 1850 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 1851 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 1852 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 1853 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 1854 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 1855 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 1856 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 1857 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 1858 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040, 1859 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080, 1860 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 1861 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 1862 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 1863 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 1864 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 1865 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 1866 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1867 } VkShaderStageFlagBits; 1868 1869 typedef enum VkCullModeFlagBits { 1870 VK_CULL_MODE_NONE = 0, 1871 VK_CULL_MODE_FRONT_BIT = 0x00000001, 1872 VK_CULL_MODE_BACK_BIT = 0x00000002, 1873 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 1874 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1875 } VkCullModeFlagBits; 1876 typedef VkFlags VkCullModeFlags; 1877 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 1878 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 1879 typedef VkFlags VkPipelineTessellationStateCreateFlags; 1880 typedef VkFlags VkPipelineViewportStateCreateFlags; 1881 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 1882 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 1883 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 1884 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 1885 typedef VkFlags VkPipelineDynamicStateCreateFlags; 1886 typedef VkFlags VkPipelineLayoutCreateFlags; 1887 typedef VkFlags VkShaderStageFlags; 1888 1889 typedef enum VkSamplerCreateFlagBits { 1890 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 1891 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 1892 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1893 } VkSamplerCreateFlagBits; 1894 typedef VkFlags VkSamplerCreateFlags; 1895 1896 typedef enum VkDescriptorPoolCreateFlagBits { 1897 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 1898 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 1899 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 1900 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1901 } VkDescriptorPoolCreateFlagBits; 1902 typedef VkFlags VkDescriptorPoolCreateFlags; 1903 typedef VkFlags VkDescriptorPoolResetFlags; 1904 1905 typedef enum VkDescriptorSetLayoutCreateFlagBits { 1906 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 1907 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 1908 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 1909 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1910 } VkDescriptorSetLayoutCreateFlagBits; 1911 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 1912 1913 typedef enum VkAttachmentDescriptionFlagBits { 1914 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 1915 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1916 } VkAttachmentDescriptionFlagBits; 1917 typedef VkFlags VkAttachmentDescriptionFlags; 1918 1919 typedef enum VkDependencyFlagBits { 1920 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 1921 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 1922 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 1923 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 1924 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 1925 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1926 } VkDependencyFlagBits; 1927 typedef VkFlags VkDependencyFlags; 1928 1929 typedef enum VkFramebufferCreateFlagBits { 1930 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 1931 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 1932 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1933 } VkFramebufferCreateFlagBits; 1934 typedef VkFlags VkFramebufferCreateFlags; 1935 1936 typedef enum VkRenderPassCreateFlagBits { 1937 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 1938 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1939 } VkRenderPassCreateFlagBits; 1940 typedef VkFlags VkRenderPassCreateFlags; 1941 1942 typedef enum VkSubpassDescriptionFlagBits { 1943 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 1944 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 1945 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 1946 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 1947 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1948 } VkSubpassDescriptionFlagBits; 1949 typedef VkFlags VkSubpassDescriptionFlags; 1950 1951 typedef enum VkCommandPoolCreateFlagBits { 1952 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 1953 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 1954 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 1955 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1956 } VkCommandPoolCreateFlagBits; 1957 typedef VkFlags VkCommandPoolCreateFlags; 1958 1959 typedef enum VkCommandPoolResetFlagBits { 1960 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1961 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1962 } VkCommandPoolResetFlagBits; 1963 typedef VkFlags VkCommandPoolResetFlags; 1964 1965 typedef enum VkCommandBufferUsageFlagBits { 1966 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 1967 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 1968 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 1969 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1970 } VkCommandBufferUsageFlagBits; 1971 typedef VkFlags VkCommandBufferUsageFlags; 1972 1973 typedef enum VkQueryControlFlagBits { 1974 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 1975 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1976 } VkQueryControlFlagBits; 1977 typedef VkFlags VkQueryControlFlags; 1978 1979 typedef enum VkCommandBufferResetFlagBits { 1980 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1981 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1982 } VkCommandBufferResetFlagBits; 1983 typedef VkFlags VkCommandBufferResetFlags; 1984 1985 typedef enum VkStencilFaceFlagBits { 1986 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 1987 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 1988 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 1989 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 1990 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1991 } VkStencilFaceFlagBits; 1992 typedef VkFlags VkStencilFaceFlags; 1993 typedef struct VkExtent2D { 1994 uint32_t width; 1995 uint32_t height; 1996 } VkExtent2D; 1997 1998 typedef struct VkExtent3D { 1999 uint32_t width; 2000 uint32_t height; 2001 uint32_t depth; 2002 } VkExtent3D; 2003 2004 typedef struct VkOffset2D { 2005 int32_t x; 2006 int32_t y; 2007 } VkOffset2D; 2008 2009 typedef struct VkOffset3D { 2010 int32_t x; 2011 int32_t y; 2012 int32_t z; 2013 } VkOffset3D; 2014 2015 typedef struct VkRect2D { 2016 VkOffset2D offset; 2017 VkExtent2D extent; 2018 } VkRect2D; 2019 2020 typedef struct VkBaseInStructure { 2021 VkStructureType sType; 2022 const struct VkBaseInStructure* pNext; 2023 } VkBaseInStructure; 2024 2025 typedef struct VkBaseOutStructure { 2026 VkStructureType sType; 2027 struct VkBaseOutStructure* pNext; 2028 } VkBaseOutStructure; 2029 2030 typedef struct VkBufferMemoryBarrier { 2031 VkStructureType sType; 2032 const void* pNext; 2033 VkAccessFlags srcAccessMask; 2034 VkAccessFlags dstAccessMask; 2035 uint32_t srcQueueFamilyIndex; 2036 uint32_t dstQueueFamilyIndex; 2037 VkBuffer buffer; 2038 VkDeviceSize offset; 2039 VkDeviceSize size; 2040 } VkBufferMemoryBarrier; 2041 2042 typedef struct VkDispatchIndirectCommand { 2043 uint32_t x; 2044 uint32_t y; 2045 uint32_t z; 2046 } VkDispatchIndirectCommand; 2047 2048 typedef struct VkDrawIndexedIndirectCommand { 2049 uint32_t indexCount; 2050 uint32_t instanceCount; 2051 uint32_t firstIndex; 2052 int32_t vertexOffset; 2053 uint32_t firstInstance; 2054 } VkDrawIndexedIndirectCommand; 2055 2056 typedef struct VkDrawIndirectCommand { 2057 uint32_t vertexCount; 2058 uint32_t instanceCount; 2059 uint32_t firstVertex; 2060 uint32_t firstInstance; 2061 } VkDrawIndirectCommand; 2062 2063 typedef struct VkImageSubresourceRange { 2064 VkImageAspectFlags aspectMask; 2065 uint32_t baseMipLevel; 2066 uint32_t levelCount; 2067 uint32_t baseArrayLayer; 2068 uint32_t layerCount; 2069 } VkImageSubresourceRange; 2070 2071 typedef struct VkImageMemoryBarrier { 2072 VkStructureType sType; 2073 const void* pNext; 2074 VkAccessFlags srcAccessMask; 2075 VkAccessFlags dstAccessMask; 2076 VkImageLayout oldLayout; 2077 VkImageLayout newLayout; 2078 uint32_t srcQueueFamilyIndex; 2079 uint32_t dstQueueFamilyIndex; 2080 VkImage image; 2081 VkImageSubresourceRange subresourceRange; 2082 } VkImageMemoryBarrier; 2083 2084 typedef struct VkMemoryBarrier { 2085 VkStructureType sType; 2086 const void* pNext; 2087 VkAccessFlags srcAccessMask; 2088 VkAccessFlags dstAccessMask; 2089 } VkMemoryBarrier; 2090 2091 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 2092 void* pUserData, 2093 size_t size, 2094 size_t alignment, 2095 VkSystemAllocationScope allocationScope); 2096 2097 typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 2098 void* pUserData, 2099 void* pMemory); 2100 2101 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 2102 void* pUserData, 2103 size_t size, 2104 VkInternalAllocationType allocationType, 2105 VkSystemAllocationScope allocationScope); 2106 2107 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 2108 void* pUserData, 2109 size_t size, 2110 VkInternalAllocationType allocationType, 2111 VkSystemAllocationScope allocationScope); 2112 2113 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 2114 void* pUserData, 2115 void* pOriginal, 2116 size_t size, 2117 size_t alignment, 2118 VkSystemAllocationScope allocationScope); 2119 2120 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 2121 typedef struct VkAllocationCallbacks { 2122 void* pUserData; 2123 PFN_vkAllocationFunction pfnAllocation; 2124 PFN_vkReallocationFunction pfnReallocation; 2125 PFN_vkFreeFunction pfnFree; 2126 PFN_vkInternalAllocationNotification pfnInternalAllocation; 2127 PFN_vkInternalFreeNotification pfnInternalFree; 2128 } VkAllocationCallbacks; 2129 2130 typedef struct VkApplicationInfo { 2131 VkStructureType sType; 2132 const void* pNext; 2133 const char* pApplicationName; 2134 uint32_t applicationVersion; 2135 const char* pEngineName; 2136 uint32_t engineVersion; 2137 uint32_t apiVersion; 2138 } VkApplicationInfo; 2139 2140 typedef struct VkFormatProperties { 2141 VkFormatFeatureFlags linearTilingFeatures; 2142 VkFormatFeatureFlags optimalTilingFeatures; 2143 VkFormatFeatureFlags bufferFeatures; 2144 } VkFormatProperties; 2145 2146 typedef struct VkImageFormatProperties { 2147 VkExtent3D maxExtent; 2148 uint32_t maxMipLevels; 2149 uint32_t maxArrayLayers; 2150 VkSampleCountFlags sampleCounts; 2151 VkDeviceSize maxResourceSize; 2152 } VkImageFormatProperties; 2153 2154 typedef struct VkInstanceCreateInfo { 2155 VkStructureType sType; 2156 const void* pNext; 2157 VkInstanceCreateFlags flags; 2158 const VkApplicationInfo* pApplicationInfo; 2159 uint32_t enabledLayerCount; 2160 const char* const* ppEnabledLayerNames; 2161 uint32_t enabledExtensionCount; 2162 const char* const* ppEnabledExtensionNames; 2163 } VkInstanceCreateInfo; 2164 2165 typedef struct VkMemoryHeap { 2166 VkDeviceSize size; 2167 VkMemoryHeapFlags flags; 2168 } VkMemoryHeap; 2169 2170 typedef struct VkMemoryType { 2171 VkMemoryPropertyFlags propertyFlags; 2172 uint32_t heapIndex; 2173 } VkMemoryType; 2174 2175 typedef struct VkPhysicalDeviceFeatures { 2176 VkBool32 robustBufferAccess; 2177 VkBool32 fullDrawIndexUint32; 2178 VkBool32 imageCubeArray; 2179 VkBool32 independentBlend; 2180 VkBool32 geometryShader; 2181 VkBool32 tessellationShader; 2182 VkBool32 sampleRateShading; 2183 VkBool32 dualSrcBlend; 2184 VkBool32 logicOp; 2185 VkBool32 multiDrawIndirect; 2186 VkBool32 drawIndirectFirstInstance; 2187 VkBool32 depthClamp; 2188 VkBool32 depthBiasClamp; 2189 VkBool32 fillModeNonSolid; 2190 VkBool32 depthBounds; 2191 VkBool32 wideLines; 2192 VkBool32 largePoints; 2193 VkBool32 alphaToOne; 2194 VkBool32 multiViewport; 2195 VkBool32 samplerAnisotropy; 2196 VkBool32 textureCompressionETC2; 2197 VkBool32 textureCompressionASTC_LDR; 2198 VkBool32 textureCompressionBC; 2199 VkBool32 occlusionQueryPrecise; 2200 VkBool32 pipelineStatisticsQuery; 2201 VkBool32 vertexPipelineStoresAndAtomics; 2202 VkBool32 fragmentStoresAndAtomics; 2203 VkBool32 shaderTessellationAndGeometryPointSize; 2204 VkBool32 shaderImageGatherExtended; 2205 VkBool32 shaderStorageImageExtendedFormats; 2206 VkBool32 shaderStorageImageMultisample; 2207 VkBool32 shaderStorageImageReadWithoutFormat; 2208 VkBool32 shaderStorageImageWriteWithoutFormat; 2209 VkBool32 shaderUniformBufferArrayDynamicIndexing; 2210 VkBool32 shaderSampledImageArrayDynamicIndexing; 2211 VkBool32 shaderStorageBufferArrayDynamicIndexing; 2212 VkBool32 shaderStorageImageArrayDynamicIndexing; 2213 VkBool32 shaderClipDistance; 2214 VkBool32 shaderCullDistance; 2215 VkBool32 shaderFloat64; 2216 VkBool32 shaderInt64; 2217 VkBool32 shaderInt16; 2218 VkBool32 shaderResourceResidency; 2219 VkBool32 shaderResourceMinLod; 2220 VkBool32 sparseBinding; 2221 VkBool32 sparseResidencyBuffer; 2222 VkBool32 sparseResidencyImage2D; 2223 VkBool32 sparseResidencyImage3D; 2224 VkBool32 sparseResidency2Samples; 2225 VkBool32 sparseResidency4Samples; 2226 VkBool32 sparseResidency8Samples; 2227 VkBool32 sparseResidency16Samples; 2228 VkBool32 sparseResidencyAliased; 2229 VkBool32 variableMultisampleRate; 2230 VkBool32 inheritedQueries; 2231 } VkPhysicalDeviceFeatures; 2232 2233 typedef struct VkPhysicalDeviceLimits { 2234 uint32_t maxImageDimension1D; 2235 uint32_t maxImageDimension2D; 2236 uint32_t maxImageDimension3D; 2237 uint32_t maxImageDimensionCube; 2238 uint32_t maxImageArrayLayers; 2239 uint32_t maxTexelBufferElements; 2240 uint32_t maxUniformBufferRange; 2241 uint32_t maxStorageBufferRange; 2242 uint32_t maxPushConstantsSize; 2243 uint32_t maxMemoryAllocationCount; 2244 uint32_t maxSamplerAllocationCount; 2245 VkDeviceSize bufferImageGranularity; 2246 VkDeviceSize sparseAddressSpaceSize; 2247 uint32_t maxBoundDescriptorSets; 2248 uint32_t maxPerStageDescriptorSamplers; 2249 uint32_t maxPerStageDescriptorUniformBuffers; 2250 uint32_t maxPerStageDescriptorStorageBuffers; 2251 uint32_t maxPerStageDescriptorSampledImages; 2252 uint32_t maxPerStageDescriptorStorageImages; 2253 uint32_t maxPerStageDescriptorInputAttachments; 2254 uint32_t maxPerStageResources; 2255 uint32_t maxDescriptorSetSamplers; 2256 uint32_t maxDescriptorSetUniformBuffers; 2257 uint32_t maxDescriptorSetUniformBuffersDynamic; 2258 uint32_t maxDescriptorSetStorageBuffers; 2259 uint32_t maxDescriptorSetStorageBuffersDynamic; 2260 uint32_t maxDescriptorSetSampledImages; 2261 uint32_t maxDescriptorSetStorageImages; 2262 uint32_t maxDescriptorSetInputAttachments; 2263 uint32_t maxVertexInputAttributes; 2264 uint32_t maxVertexInputBindings; 2265 uint32_t maxVertexInputAttributeOffset; 2266 uint32_t maxVertexInputBindingStride; 2267 uint32_t maxVertexOutputComponents; 2268 uint32_t maxTessellationGenerationLevel; 2269 uint32_t maxTessellationPatchSize; 2270 uint32_t maxTessellationControlPerVertexInputComponents; 2271 uint32_t maxTessellationControlPerVertexOutputComponents; 2272 uint32_t maxTessellationControlPerPatchOutputComponents; 2273 uint32_t maxTessellationControlTotalOutputComponents; 2274 uint32_t maxTessellationEvaluationInputComponents; 2275 uint32_t maxTessellationEvaluationOutputComponents; 2276 uint32_t maxGeometryShaderInvocations; 2277 uint32_t maxGeometryInputComponents; 2278 uint32_t maxGeometryOutputComponents; 2279 uint32_t maxGeometryOutputVertices; 2280 uint32_t maxGeometryTotalOutputComponents; 2281 uint32_t maxFragmentInputComponents; 2282 uint32_t maxFragmentOutputAttachments; 2283 uint32_t maxFragmentDualSrcAttachments; 2284 uint32_t maxFragmentCombinedOutputResources; 2285 uint32_t maxComputeSharedMemorySize; 2286 uint32_t maxComputeWorkGroupCount[3]; 2287 uint32_t maxComputeWorkGroupInvocations; 2288 uint32_t maxComputeWorkGroupSize[3]; 2289 uint32_t subPixelPrecisionBits; 2290 uint32_t subTexelPrecisionBits; 2291 uint32_t mipmapPrecisionBits; 2292 uint32_t maxDrawIndexedIndexValue; 2293 uint32_t maxDrawIndirectCount; 2294 float maxSamplerLodBias; 2295 float maxSamplerAnisotropy; 2296 uint32_t maxViewports; 2297 uint32_t maxViewportDimensions[2]; 2298 float viewportBoundsRange[2]; 2299 uint32_t viewportSubPixelBits; 2300 size_t minMemoryMapAlignment; 2301 VkDeviceSize minTexelBufferOffsetAlignment; 2302 VkDeviceSize minUniformBufferOffsetAlignment; 2303 VkDeviceSize minStorageBufferOffsetAlignment; 2304 int32_t minTexelOffset; 2305 uint32_t maxTexelOffset; 2306 int32_t minTexelGatherOffset; 2307 uint32_t maxTexelGatherOffset; 2308 float minInterpolationOffset; 2309 float maxInterpolationOffset; 2310 uint32_t subPixelInterpolationOffsetBits; 2311 uint32_t maxFramebufferWidth; 2312 uint32_t maxFramebufferHeight; 2313 uint32_t maxFramebufferLayers; 2314 VkSampleCountFlags framebufferColorSampleCounts; 2315 VkSampleCountFlags framebufferDepthSampleCounts; 2316 VkSampleCountFlags framebufferStencilSampleCounts; 2317 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 2318 uint32_t maxColorAttachments; 2319 VkSampleCountFlags sampledImageColorSampleCounts; 2320 VkSampleCountFlags sampledImageIntegerSampleCounts; 2321 VkSampleCountFlags sampledImageDepthSampleCounts; 2322 VkSampleCountFlags sampledImageStencilSampleCounts; 2323 VkSampleCountFlags storageImageSampleCounts; 2324 uint32_t maxSampleMaskWords; 2325 VkBool32 timestampComputeAndGraphics; 2326 float timestampPeriod; 2327 uint32_t maxClipDistances; 2328 uint32_t maxCullDistances; 2329 uint32_t maxCombinedClipAndCullDistances; 2330 uint32_t discreteQueuePriorities; 2331 float pointSizeRange[2]; 2332 float lineWidthRange[2]; 2333 float pointSizeGranularity; 2334 float lineWidthGranularity; 2335 VkBool32 strictLines; 2336 VkBool32 standardSampleLocations; 2337 VkDeviceSize optimalBufferCopyOffsetAlignment; 2338 VkDeviceSize optimalBufferCopyRowPitchAlignment; 2339 VkDeviceSize nonCoherentAtomSize; 2340 } VkPhysicalDeviceLimits; 2341 2342 typedef struct VkPhysicalDeviceMemoryProperties { 2343 uint32_t memoryTypeCount; 2344 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 2345 uint32_t memoryHeapCount; 2346 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 2347 } VkPhysicalDeviceMemoryProperties; 2348 2349 typedef struct VkPhysicalDeviceSparseProperties { 2350 VkBool32 residencyStandard2DBlockShape; 2351 VkBool32 residencyStandard2DMultisampleBlockShape; 2352 VkBool32 residencyStandard3DBlockShape; 2353 VkBool32 residencyAlignedMipSize; 2354 VkBool32 residencyNonResidentStrict; 2355 } VkPhysicalDeviceSparseProperties; 2356 2357 typedef struct VkPhysicalDeviceProperties { 2358 uint32_t apiVersion; 2359 uint32_t driverVersion; 2360 uint32_t vendorID; 2361 uint32_t deviceID; 2362 VkPhysicalDeviceType deviceType; 2363 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 2364 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2365 VkPhysicalDeviceLimits limits; 2366 VkPhysicalDeviceSparseProperties sparseProperties; 2367 } VkPhysicalDeviceProperties; 2368 2369 typedef struct VkQueueFamilyProperties { 2370 VkQueueFlags queueFlags; 2371 uint32_t queueCount; 2372 uint32_t timestampValidBits; 2373 VkExtent3D minImageTransferGranularity; 2374 } VkQueueFamilyProperties; 2375 2376 typedef struct VkDeviceQueueCreateInfo { 2377 VkStructureType sType; 2378 const void* pNext; 2379 VkDeviceQueueCreateFlags flags; 2380 uint32_t queueFamilyIndex; 2381 uint32_t queueCount; 2382 const float* pQueuePriorities; 2383 } VkDeviceQueueCreateInfo; 2384 2385 typedef struct VkDeviceCreateInfo { 2386 VkStructureType sType; 2387 const void* pNext; 2388 VkDeviceCreateFlags flags; 2389 uint32_t queueCreateInfoCount; 2390 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 2391 uint32_t enabledLayerCount; 2392 const char* const* ppEnabledLayerNames; 2393 uint32_t enabledExtensionCount; 2394 const char* const* ppEnabledExtensionNames; 2395 const VkPhysicalDeviceFeatures* pEnabledFeatures; 2396 } VkDeviceCreateInfo; 2397 2398 typedef struct VkExtensionProperties { 2399 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 2400 uint32_t specVersion; 2401 } VkExtensionProperties; 2402 2403 typedef struct VkLayerProperties { 2404 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 2405 uint32_t specVersion; 2406 uint32_t implementationVersion; 2407 char description[VK_MAX_DESCRIPTION_SIZE]; 2408 } VkLayerProperties; 2409 2410 typedef struct VkSubmitInfo { 2411 VkStructureType sType; 2412 const void* pNext; 2413 uint32_t waitSemaphoreCount; 2414 const VkSemaphore* pWaitSemaphores; 2415 const VkPipelineStageFlags* pWaitDstStageMask; 2416 uint32_t commandBufferCount; 2417 const VkCommandBuffer* pCommandBuffers; 2418 uint32_t signalSemaphoreCount; 2419 const VkSemaphore* pSignalSemaphores; 2420 } VkSubmitInfo; 2421 2422 typedef struct VkMappedMemoryRange { 2423 VkStructureType sType; 2424 const void* pNext; 2425 VkDeviceMemory memory; 2426 VkDeviceSize offset; 2427 VkDeviceSize size; 2428 } VkMappedMemoryRange; 2429 2430 typedef struct VkMemoryAllocateInfo { 2431 VkStructureType sType; 2432 const void* pNext; 2433 VkDeviceSize allocationSize; 2434 uint32_t memoryTypeIndex; 2435 } VkMemoryAllocateInfo; 2436 2437 typedef struct VkMemoryRequirements { 2438 VkDeviceSize size; 2439 VkDeviceSize alignment; 2440 uint32_t memoryTypeBits; 2441 } VkMemoryRequirements; 2442 2443 typedef struct VkSparseMemoryBind { 2444 VkDeviceSize resourceOffset; 2445 VkDeviceSize size; 2446 VkDeviceMemory memory; 2447 VkDeviceSize memoryOffset; 2448 VkSparseMemoryBindFlags flags; 2449 } VkSparseMemoryBind; 2450 2451 typedef struct VkSparseBufferMemoryBindInfo { 2452 VkBuffer buffer; 2453 uint32_t bindCount; 2454 const VkSparseMemoryBind* pBinds; 2455 } VkSparseBufferMemoryBindInfo; 2456 2457 typedef struct VkSparseImageOpaqueMemoryBindInfo { 2458 VkImage image; 2459 uint32_t bindCount; 2460 const VkSparseMemoryBind* pBinds; 2461 } VkSparseImageOpaqueMemoryBindInfo; 2462 2463 typedef struct VkImageSubresource { 2464 VkImageAspectFlags aspectMask; 2465 uint32_t mipLevel; 2466 uint32_t arrayLayer; 2467 } VkImageSubresource; 2468 2469 typedef struct VkSparseImageMemoryBind { 2470 VkImageSubresource subresource; 2471 VkOffset3D offset; 2472 VkExtent3D extent; 2473 VkDeviceMemory memory; 2474 VkDeviceSize memoryOffset; 2475 VkSparseMemoryBindFlags flags; 2476 } VkSparseImageMemoryBind; 2477 2478 typedef struct VkSparseImageMemoryBindInfo { 2479 VkImage image; 2480 uint32_t bindCount; 2481 const VkSparseImageMemoryBind* pBinds; 2482 } VkSparseImageMemoryBindInfo; 2483 2484 typedef struct VkBindSparseInfo { 2485 VkStructureType sType; 2486 const void* pNext; 2487 uint32_t waitSemaphoreCount; 2488 const VkSemaphore* pWaitSemaphores; 2489 uint32_t bufferBindCount; 2490 const VkSparseBufferMemoryBindInfo* pBufferBinds; 2491 uint32_t imageOpaqueBindCount; 2492 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 2493 uint32_t imageBindCount; 2494 const VkSparseImageMemoryBindInfo* pImageBinds; 2495 uint32_t signalSemaphoreCount; 2496 const VkSemaphore* pSignalSemaphores; 2497 } VkBindSparseInfo; 2498 2499 typedef struct VkSparseImageFormatProperties { 2500 VkImageAspectFlags aspectMask; 2501 VkExtent3D imageGranularity; 2502 VkSparseImageFormatFlags flags; 2503 } VkSparseImageFormatProperties; 2504 2505 typedef struct VkSparseImageMemoryRequirements { 2506 VkSparseImageFormatProperties formatProperties; 2507 uint32_t imageMipTailFirstLod; 2508 VkDeviceSize imageMipTailSize; 2509 VkDeviceSize imageMipTailOffset; 2510 VkDeviceSize imageMipTailStride; 2511 } VkSparseImageMemoryRequirements; 2512 2513 typedef struct VkFenceCreateInfo { 2514 VkStructureType sType; 2515 const void* pNext; 2516 VkFenceCreateFlags flags; 2517 } VkFenceCreateInfo; 2518 2519 typedef struct VkSemaphoreCreateInfo { 2520 VkStructureType sType; 2521 const void* pNext; 2522 VkSemaphoreCreateFlags flags; 2523 } VkSemaphoreCreateInfo; 2524 2525 typedef struct VkEventCreateInfo { 2526 VkStructureType sType; 2527 const void* pNext; 2528 VkEventCreateFlags flags; 2529 } VkEventCreateInfo; 2530 2531 typedef struct VkQueryPoolCreateInfo { 2532 VkStructureType sType; 2533 const void* pNext; 2534 VkQueryPoolCreateFlags flags; 2535 VkQueryType queryType; 2536 uint32_t queryCount; 2537 VkQueryPipelineStatisticFlags pipelineStatistics; 2538 } VkQueryPoolCreateInfo; 2539 2540 typedef struct VkBufferCreateInfo { 2541 VkStructureType sType; 2542 const void* pNext; 2543 VkBufferCreateFlags flags; 2544 VkDeviceSize size; 2545 VkBufferUsageFlags usage; 2546 VkSharingMode sharingMode; 2547 uint32_t queueFamilyIndexCount; 2548 const uint32_t* pQueueFamilyIndices; 2549 } VkBufferCreateInfo; 2550 2551 typedef struct VkBufferViewCreateInfo { 2552 VkStructureType sType; 2553 const void* pNext; 2554 VkBufferViewCreateFlags flags; 2555 VkBuffer buffer; 2556 VkFormat format; 2557 VkDeviceSize offset; 2558 VkDeviceSize range; 2559 } VkBufferViewCreateInfo; 2560 2561 typedef struct VkImageCreateInfo { 2562 VkStructureType sType; 2563 const void* pNext; 2564 VkImageCreateFlags flags; 2565 VkImageType imageType; 2566 VkFormat format; 2567 VkExtent3D extent; 2568 uint32_t mipLevels; 2569 uint32_t arrayLayers; 2570 VkSampleCountFlagBits samples; 2571 VkImageTiling tiling; 2572 VkImageUsageFlags usage; 2573 VkSharingMode sharingMode; 2574 uint32_t queueFamilyIndexCount; 2575 const uint32_t* pQueueFamilyIndices; 2576 VkImageLayout initialLayout; 2577 } VkImageCreateInfo; 2578 2579 typedef struct VkSubresourceLayout { 2580 VkDeviceSize offset; 2581 VkDeviceSize size; 2582 VkDeviceSize rowPitch; 2583 VkDeviceSize arrayPitch; 2584 VkDeviceSize depthPitch; 2585 } VkSubresourceLayout; 2586 2587 typedef struct VkComponentMapping { 2588 VkComponentSwizzle r; 2589 VkComponentSwizzle g; 2590 VkComponentSwizzle b; 2591 VkComponentSwizzle a; 2592 } VkComponentMapping; 2593 2594 typedef struct VkImageViewCreateInfo { 2595 VkStructureType sType; 2596 const void* pNext; 2597 VkImageViewCreateFlags flags; 2598 VkImage image; 2599 VkImageViewType viewType; 2600 VkFormat format; 2601 VkComponentMapping components; 2602 VkImageSubresourceRange subresourceRange; 2603 } VkImageViewCreateInfo; 2604 2605 typedef struct VkShaderModuleCreateInfo { 2606 VkStructureType sType; 2607 const void* pNext; 2608 VkShaderModuleCreateFlags flags; 2609 size_t codeSize; 2610 const uint32_t* pCode; 2611 } VkShaderModuleCreateInfo; 2612 2613 typedef struct VkPipelineCacheCreateInfo { 2614 VkStructureType sType; 2615 const void* pNext; 2616 VkPipelineCacheCreateFlags flags; 2617 size_t initialDataSize; 2618 const void* pInitialData; 2619 } VkPipelineCacheCreateInfo; 2620 2621 typedef struct VkSpecializationMapEntry { 2622 uint32_t constantID; 2623 uint32_t offset; 2624 size_t size; 2625 } VkSpecializationMapEntry; 2626 2627 typedef struct VkSpecializationInfo { 2628 uint32_t mapEntryCount; 2629 const VkSpecializationMapEntry* pMapEntries; 2630 size_t dataSize; 2631 const void* pData; 2632 } VkSpecializationInfo; 2633 2634 typedef struct VkPipelineShaderStageCreateInfo { 2635 VkStructureType sType; 2636 const void* pNext; 2637 VkPipelineShaderStageCreateFlags flags; 2638 VkShaderStageFlagBits stage; 2639 VkShaderModule module; 2640 const char* pName; 2641 const VkSpecializationInfo* pSpecializationInfo; 2642 } VkPipelineShaderStageCreateInfo; 2643 2644 typedef struct VkComputePipelineCreateInfo { 2645 VkStructureType sType; 2646 const void* pNext; 2647 VkPipelineCreateFlags flags; 2648 VkPipelineShaderStageCreateInfo stage; 2649 VkPipelineLayout layout; 2650 VkPipeline basePipelineHandle; 2651 int32_t basePipelineIndex; 2652 } VkComputePipelineCreateInfo; 2653 2654 typedef struct VkVertexInputBindingDescription { 2655 uint32_t binding; 2656 uint32_t stride; 2657 VkVertexInputRate inputRate; 2658 } VkVertexInputBindingDescription; 2659 2660 typedef struct VkVertexInputAttributeDescription { 2661 uint32_t location; 2662 uint32_t binding; 2663 VkFormat format; 2664 uint32_t offset; 2665 } VkVertexInputAttributeDescription; 2666 2667 typedef struct VkPipelineVertexInputStateCreateInfo { 2668 VkStructureType sType; 2669 const void* pNext; 2670 VkPipelineVertexInputStateCreateFlags flags; 2671 uint32_t vertexBindingDescriptionCount; 2672 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 2673 uint32_t vertexAttributeDescriptionCount; 2674 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 2675 } VkPipelineVertexInputStateCreateInfo; 2676 2677 typedef struct VkPipelineInputAssemblyStateCreateInfo { 2678 VkStructureType sType; 2679 const void* pNext; 2680 VkPipelineInputAssemblyStateCreateFlags flags; 2681 VkPrimitiveTopology topology; 2682 VkBool32 primitiveRestartEnable; 2683 } VkPipelineInputAssemblyStateCreateInfo; 2684 2685 typedef struct VkPipelineTessellationStateCreateInfo { 2686 VkStructureType sType; 2687 const void* pNext; 2688 VkPipelineTessellationStateCreateFlags flags; 2689 uint32_t patchControlPoints; 2690 } VkPipelineTessellationStateCreateInfo; 2691 2692 typedef struct VkViewport { 2693 float x; 2694 float y; 2695 float width; 2696 float height; 2697 float minDepth; 2698 float maxDepth; 2699 } VkViewport; 2700 2701 typedef struct VkPipelineViewportStateCreateInfo { 2702 VkStructureType sType; 2703 const void* pNext; 2704 VkPipelineViewportStateCreateFlags flags; 2705 uint32_t viewportCount; 2706 const VkViewport* pViewports; 2707 uint32_t scissorCount; 2708 const VkRect2D* pScissors; 2709 } VkPipelineViewportStateCreateInfo; 2710 2711 typedef struct VkPipelineRasterizationStateCreateInfo { 2712 VkStructureType sType; 2713 const void* pNext; 2714 VkPipelineRasterizationStateCreateFlags flags; 2715 VkBool32 depthClampEnable; 2716 VkBool32 rasterizerDiscardEnable; 2717 VkPolygonMode polygonMode; 2718 VkCullModeFlags cullMode; 2719 VkFrontFace frontFace; 2720 VkBool32 depthBiasEnable; 2721 float depthBiasConstantFactor; 2722 float depthBiasClamp; 2723 float depthBiasSlopeFactor; 2724 float lineWidth; 2725 } VkPipelineRasterizationStateCreateInfo; 2726 2727 typedef struct VkPipelineMultisampleStateCreateInfo { 2728 VkStructureType sType; 2729 const void* pNext; 2730 VkPipelineMultisampleStateCreateFlags flags; 2731 VkSampleCountFlagBits rasterizationSamples; 2732 VkBool32 sampleShadingEnable; 2733 float minSampleShading; 2734 const VkSampleMask* pSampleMask; 2735 VkBool32 alphaToCoverageEnable; 2736 VkBool32 alphaToOneEnable; 2737 } VkPipelineMultisampleStateCreateInfo; 2738 2739 typedef struct VkStencilOpState { 2740 VkStencilOp failOp; 2741 VkStencilOp passOp; 2742 VkStencilOp depthFailOp; 2743 VkCompareOp compareOp; 2744 uint32_t compareMask; 2745 uint32_t writeMask; 2746 uint32_t reference; 2747 } VkStencilOpState; 2748 2749 typedef struct VkPipelineDepthStencilStateCreateInfo { 2750 VkStructureType sType; 2751 const void* pNext; 2752 VkPipelineDepthStencilStateCreateFlags flags; 2753 VkBool32 depthTestEnable; 2754 VkBool32 depthWriteEnable; 2755 VkCompareOp depthCompareOp; 2756 VkBool32 depthBoundsTestEnable; 2757 VkBool32 stencilTestEnable; 2758 VkStencilOpState front; 2759 VkStencilOpState back; 2760 float minDepthBounds; 2761 float maxDepthBounds; 2762 } VkPipelineDepthStencilStateCreateInfo; 2763 2764 typedef struct VkPipelineColorBlendAttachmentState { 2765 VkBool32 blendEnable; 2766 VkBlendFactor srcColorBlendFactor; 2767 VkBlendFactor dstColorBlendFactor; 2768 VkBlendOp colorBlendOp; 2769 VkBlendFactor srcAlphaBlendFactor; 2770 VkBlendFactor dstAlphaBlendFactor; 2771 VkBlendOp alphaBlendOp; 2772 VkColorComponentFlags colorWriteMask; 2773 } VkPipelineColorBlendAttachmentState; 2774 2775 typedef struct VkPipelineColorBlendStateCreateInfo { 2776 VkStructureType sType; 2777 const void* pNext; 2778 VkPipelineColorBlendStateCreateFlags flags; 2779 VkBool32 logicOpEnable; 2780 VkLogicOp logicOp; 2781 uint32_t attachmentCount; 2782 const VkPipelineColorBlendAttachmentState* pAttachments; 2783 float blendConstants[4]; 2784 } VkPipelineColorBlendStateCreateInfo; 2785 2786 typedef struct VkPipelineDynamicStateCreateInfo { 2787 VkStructureType sType; 2788 const void* pNext; 2789 VkPipelineDynamicStateCreateFlags flags; 2790 uint32_t dynamicStateCount; 2791 const VkDynamicState* pDynamicStates; 2792 } VkPipelineDynamicStateCreateInfo; 2793 2794 typedef struct VkGraphicsPipelineCreateInfo { 2795 VkStructureType sType; 2796 const void* pNext; 2797 VkPipelineCreateFlags flags; 2798 uint32_t stageCount; 2799 const VkPipelineShaderStageCreateInfo* pStages; 2800 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 2801 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 2802 const VkPipelineTessellationStateCreateInfo* pTessellationState; 2803 const VkPipelineViewportStateCreateInfo* pViewportState; 2804 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 2805 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 2806 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 2807 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 2808 const VkPipelineDynamicStateCreateInfo* pDynamicState; 2809 VkPipelineLayout layout; 2810 VkRenderPass renderPass; 2811 uint32_t subpass; 2812 VkPipeline basePipelineHandle; 2813 int32_t basePipelineIndex; 2814 } VkGraphicsPipelineCreateInfo; 2815 2816 typedef struct VkPushConstantRange { 2817 VkShaderStageFlags stageFlags; 2818 uint32_t offset; 2819 uint32_t size; 2820 } VkPushConstantRange; 2821 2822 typedef struct VkPipelineLayoutCreateInfo { 2823 VkStructureType sType; 2824 const void* pNext; 2825 VkPipelineLayoutCreateFlags flags; 2826 uint32_t setLayoutCount; 2827 const VkDescriptorSetLayout* pSetLayouts; 2828 uint32_t pushConstantRangeCount; 2829 const VkPushConstantRange* pPushConstantRanges; 2830 } VkPipelineLayoutCreateInfo; 2831 2832 typedef struct VkSamplerCreateInfo { 2833 VkStructureType sType; 2834 const void* pNext; 2835 VkSamplerCreateFlags flags; 2836 VkFilter magFilter; 2837 VkFilter minFilter; 2838 VkSamplerMipmapMode mipmapMode; 2839 VkSamplerAddressMode addressModeU; 2840 VkSamplerAddressMode addressModeV; 2841 VkSamplerAddressMode addressModeW; 2842 float mipLodBias; 2843 VkBool32 anisotropyEnable; 2844 float maxAnisotropy; 2845 VkBool32 compareEnable; 2846 VkCompareOp compareOp; 2847 float minLod; 2848 float maxLod; 2849 VkBorderColor borderColor; 2850 VkBool32 unnormalizedCoordinates; 2851 } VkSamplerCreateInfo; 2852 2853 typedef struct VkCopyDescriptorSet { 2854 VkStructureType sType; 2855 const void* pNext; 2856 VkDescriptorSet srcSet; 2857 uint32_t srcBinding; 2858 uint32_t srcArrayElement; 2859 VkDescriptorSet dstSet; 2860 uint32_t dstBinding; 2861 uint32_t dstArrayElement; 2862 uint32_t descriptorCount; 2863 } VkCopyDescriptorSet; 2864 2865 typedef struct VkDescriptorBufferInfo { 2866 VkBuffer buffer; 2867 VkDeviceSize offset; 2868 VkDeviceSize range; 2869 } VkDescriptorBufferInfo; 2870 2871 typedef struct VkDescriptorImageInfo { 2872 VkSampler sampler; 2873 VkImageView imageView; 2874 VkImageLayout imageLayout; 2875 } VkDescriptorImageInfo; 2876 2877 typedef struct VkDescriptorPoolSize { 2878 VkDescriptorType type; 2879 uint32_t descriptorCount; 2880 } VkDescriptorPoolSize; 2881 2882 typedef struct VkDescriptorPoolCreateInfo { 2883 VkStructureType sType; 2884 const void* pNext; 2885 VkDescriptorPoolCreateFlags flags; 2886 uint32_t maxSets; 2887 uint32_t poolSizeCount; 2888 const VkDescriptorPoolSize* pPoolSizes; 2889 } VkDescriptorPoolCreateInfo; 2890 2891 typedef struct VkDescriptorSetAllocateInfo { 2892 VkStructureType sType; 2893 const void* pNext; 2894 VkDescriptorPool descriptorPool; 2895 uint32_t descriptorSetCount; 2896 const VkDescriptorSetLayout* pSetLayouts; 2897 } VkDescriptorSetAllocateInfo; 2898 2899 typedef struct VkDescriptorSetLayoutBinding { 2900 uint32_t binding; 2901 VkDescriptorType descriptorType; 2902 uint32_t descriptorCount; 2903 VkShaderStageFlags stageFlags; 2904 const VkSampler* pImmutableSamplers; 2905 } VkDescriptorSetLayoutBinding; 2906 2907 typedef struct VkDescriptorSetLayoutCreateInfo { 2908 VkStructureType sType; 2909 const void* pNext; 2910 VkDescriptorSetLayoutCreateFlags flags; 2911 uint32_t bindingCount; 2912 const VkDescriptorSetLayoutBinding* pBindings; 2913 } VkDescriptorSetLayoutCreateInfo; 2914 2915 typedef struct VkWriteDescriptorSet { 2916 VkStructureType sType; 2917 const void* pNext; 2918 VkDescriptorSet dstSet; 2919 uint32_t dstBinding; 2920 uint32_t dstArrayElement; 2921 uint32_t descriptorCount; 2922 VkDescriptorType descriptorType; 2923 const VkDescriptorImageInfo* pImageInfo; 2924 const VkDescriptorBufferInfo* pBufferInfo; 2925 const VkBufferView* pTexelBufferView; 2926 } VkWriteDescriptorSet; 2927 2928 typedef struct VkAttachmentDescription { 2929 VkAttachmentDescriptionFlags flags; 2930 VkFormat format; 2931 VkSampleCountFlagBits samples; 2932 VkAttachmentLoadOp loadOp; 2933 VkAttachmentStoreOp storeOp; 2934 VkAttachmentLoadOp stencilLoadOp; 2935 VkAttachmentStoreOp stencilStoreOp; 2936 VkImageLayout initialLayout; 2937 VkImageLayout finalLayout; 2938 } VkAttachmentDescription; 2939 2940 typedef struct VkAttachmentReference { 2941 uint32_t attachment; 2942 VkImageLayout layout; 2943 } VkAttachmentReference; 2944 2945 typedef struct VkFramebufferCreateInfo { 2946 VkStructureType sType; 2947 const void* pNext; 2948 VkFramebufferCreateFlags flags; 2949 VkRenderPass renderPass; 2950 uint32_t attachmentCount; 2951 const VkImageView* pAttachments; 2952 uint32_t width; 2953 uint32_t height; 2954 uint32_t layers; 2955 } VkFramebufferCreateInfo; 2956 2957 typedef struct VkSubpassDescription { 2958 VkSubpassDescriptionFlags flags; 2959 VkPipelineBindPoint pipelineBindPoint; 2960 uint32_t inputAttachmentCount; 2961 const VkAttachmentReference* pInputAttachments; 2962 uint32_t colorAttachmentCount; 2963 const VkAttachmentReference* pColorAttachments; 2964 const VkAttachmentReference* pResolveAttachments; 2965 const VkAttachmentReference* pDepthStencilAttachment; 2966 uint32_t preserveAttachmentCount; 2967 const uint32_t* pPreserveAttachments; 2968 } VkSubpassDescription; 2969 2970 typedef struct VkSubpassDependency { 2971 uint32_t srcSubpass; 2972 uint32_t dstSubpass; 2973 VkPipelineStageFlags srcStageMask; 2974 VkPipelineStageFlags dstStageMask; 2975 VkAccessFlags srcAccessMask; 2976 VkAccessFlags dstAccessMask; 2977 VkDependencyFlags dependencyFlags; 2978 } VkSubpassDependency; 2979 2980 typedef struct VkRenderPassCreateInfo { 2981 VkStructureType sType; 2982 const void* pNext; 2983 VkRenderPassCreateFlags flags; 2984 uint32_t attachmentCount; 2985 const VkAttachmentDescription* pAttachments; 2986 uint32_t subpassCount; 2987 const VkSubpassDescription* pSubpasses; 2988 uint32_t dependencyCount; 2989 const VkSubpassDependency* pDependencies; 2990 } VkRenderPassCreateInfo; 2991 2992 typedef struct VkCommandPoolCreateInfo { 2993 VkStructureType sType; 2994 const void* pNext; 2995 VkCommandPoolCreateFlags flags; 2996 uint32_t queueFamilyIndex; 2997 } VkCommandPoolCreateInfo; 2998 2999 typedef struct VkCommandBufferAllocateInfo { 3000 VkStructureType sType; 3001 const void* pNext; 3002 VkCommandPool commandPool; 3003 VkCommandBufferLevel level; 3004 uint32_t commandBufferCount; 3005 } VkCommandBufferAllocateInfo; 3006 3007 typedef struct VkCommandBufferInheritanceInfo { 3008 VkStructureType sType; 3009 const void* pNext; 3010 VkRenderPass renderPass; 3011 uint32_t subpass; 3012 VkFramebuffer framebuffer; 3013 VkBool32 occlusionQueryEnable; 3014 VkQueryControlFlags queryFlags; 3015 VkQueryPipelineStatisticFlags pipelineStatistics; 3016 } VkCommandBufferInheritanceInfo; 3017 3018 typedef struct VkCommandBufferBeginInfo { 3019 VkStructureType sType; 3020 const void* pNext; 3021 VkCommandBufferUsageFlags flags; 3022 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 3023 } VkCommandBufferBeginInfo; 3024 3025 typedef struct VkBufferCopy { 3026 VkDeviceSize srcOffset; 3027 VkDeviceSize dstOffset; 3028 VkDeviceSize size; 3029 } VkBufferCopy; 3030 3031 typedef struct VkImageSubresourceLayers { 3032 VkImageAspectFlags aspectMask; 3033 uint32_t mipLevel; 3034 uint32_t baseArrayLayer; 3035 uint32_t layerCount; 3036 } VkImageSubresourceLayers; 3037 3038 typedef struct VkBufferImageCopy { 3039 VkDeviceSize bufferOffset; 3040 uint32_t bufferRowLength; 3041 uint32_t bufferImageHeight; 3042 VkImageSubresourceLayers imageSubresource; 3043 VkOffset3D imageOffset; 3044 VkExtent3D imageExtent; 3045 } VkBufferImageCopy; 3046 3047 typedef union VkClearColorValue { 3048 float float32[4]; 3049 int32_t int32[4]; 3050 uint32_t uint32[4]; 3051 } VkClearColorValue; 3052 3053 typedef struct VkClearDepthStencilValue { 3054 float depth; 3055 uint32_t stencil; 3056 } VkClearDepthStencilValue; 3057 3058 typedef union VkClearValue { 3059 VkClearColorValue color; 3060 VkClearDepthStencilValue depthStencil; 3061 } VkClearValue; 3062 3063 typedef struct VkClearAttachment { 3064 VkImageAspectFlags aspectMask; 3065 uint32_t colorAttachment; 3066 VkClearValue clearValue; 3067 } VkClearAttachment; 3068 3069 typedef struct VkClearRect { 3070 VkRect2D rect; 3071 uint32_t baseArrayLayer; 3072 uint32_t layerCount; 3073 } VkClearRect; 3074 3075 typedef struct VkImageBlit { 3076 VkImageSubresourceLayers srcSubresource; 3077 VkOffset3D srcOffsets[2]; 3078 VkImageSubresourceLayers dstSubresource; 3079 VkOffset3D dstOffsets[2]; 3080 } VkImageBlit; 3081 3082 typedef struct VkImageCopy { 3083 VkImageSubresourceLayers srcSubresource; 3084 VkOffset3D srcOffset; 3085 VkImageSubresourceLayers dstSubresource; 3086 VkOffset3D dstOffset; 3087 VkExtent3D extent; 3088 } VkImageCopy; 3089 3090 typedef struct VkImageResolve { 3091 VkImageSubresourceLayers srcSubresource; 3092 VkOffset3D srcOffset; 3093 VkImageSubresourceLayers dstSubresource; 3094 VkOffset3D dstOffset; 3095 VkExtent3D extent; 3096 } VkImageResolve; 3097 3098 typedef struct VkRenderPassBeginInfo { 3099 VkStructureType sType; 3100 const void* pNext; 3101 VkRenderPass renderPass; 3102 VkFramebuffer framebuffer; 3103 VkRect2D renderArea; 3104 uint32_t clearValueCount; 3105 const VkClearValue* pClearValues; 3106 } VkRenderPassBeginInfo; 3107 3108 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 3109 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 3110 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 3111 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 3112 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 3113 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 3114 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 3115 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 3116 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3117 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 3118 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 3119 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 3120 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 3121 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3122 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 3123 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3124 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 3125 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 3126 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 3127 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 3128 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 3129 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 3130 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 3131 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 3132 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 3133 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3134 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 3135 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 3136 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3137 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 3138 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 3139 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 3140 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3141 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 3142 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 3143 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 3144 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 3145 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 3146 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 3147 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 3148 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 3149 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 3150 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 3151 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 3152 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 3153 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 3154 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 3155 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 3156 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 3157 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 3158 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 3159 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 3160 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 3161 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 3162 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 3163 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 3164 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 3165 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 3166 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 3167 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 3168 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 3169 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 3170 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 3171 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 3172 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 3173 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 3174 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 3175 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 3176 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 3177 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 3178 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 3179 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 3180 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 3181 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 3182 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 3183 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 3184 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 3185 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 3186 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 3187 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 3188 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 3189 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 3190 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 3191 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 3192 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 3193 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 3194 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 3195 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 3196 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 3197 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 3198 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 3199 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 3200 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 3201 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 3202 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 3203 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 3204 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 3205 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 3206 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 3207 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 3208 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 3209 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 3210 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 3211 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); 3212 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 3213 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 3214 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 3215 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 3216 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 3217 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 3218 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 3219 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 3220 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 3221 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 3222 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 3223 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 3224 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 3225 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 3226 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 3227 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 3228 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 3229 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 3230 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 3231 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 3232 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 3233 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 3234 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 3235 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 3236 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 3237 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 3238 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 3239 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 3240 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 3241 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 3242 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 3243 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 3244 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 3245 3246 #ifndef VK_NO_PROTOTYPES 3247 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 3248 const VkInstanceCreateInfo* pCreateInfo, 3249 const VkAllocationCallbacks* pAllocator, 3250 VkInstance* pInstance); 3251 3252 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 3253 VkInstance instance, 3254 const VkAllocationCallbacks* pAllocator); 3255 3256 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 3257 VkInstance instance, 3258 uint32_t* pPhysicalDeviceCount, 3259 VkPhysicalDevice* pPhysicalDevices); 3260 3261 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 3262 VkPhysicalDevice physicalDevice, 3263 VkPhysicalDeviceFeatures* pFeatures); 3264 3265 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 3266 VkPhysicalDevice physicalDevice, 3267 VkFormat format, 3268 VkFormatProperties* pFormatProperties); 3269 3270 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 3271 VkPhysicalDevice physicalDevice, 3272 VkFormat format, 3273 VkImageType type, 3274 VkImageTiling tiling, 3275 VkImageUsageFlags usage, 3276 VkImageCreateFlags flags, 3277 VkImageFormatProperties* pImageFormatProperties); 3278 3279 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 3280 VkPhysicalDevice physicalDevice, 3281 VkPhysicalDeviceProperties* pProperties); 3282 3283 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 3284 VkPhysicalDevice physicalDevice, 3285 uint32_t* pQueueFamilyPropertyCount, 3286 VkQueueFamilyProperties* pQueueFamilyProperties); 3287 3288 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 3289 VkPhysicalDevice physicalDevice, 3290 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 3291 3292 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 3293 VkInstance instance, 3294 const char* pName); 3295 3296 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 3297 VkDevice device, 3298 const char* pName); 3299 3300 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 3301 VkPhysicalDevice physicalDevice, 3302 const VkDeviceCreateInfo* pCreateInfo, 3303 const VkAllocationCallbacks* pAllocator, 3304 VkDevice* pDevice); 3305 3306 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 3307 VkDevice device, 3308 const VkAllocationCallbacks* pAllocator); 3309 3310 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 3311 const char* pLayerName, 3312 uint32_t* pPropertyCount, 3313 VkExtensionProperties* pProperties); 3314 3315 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 3316 VkPhysicalDevice physicalDevice, 3317 const char* pLayerName, 3318 uint32_t* pPropertyCount, 3319 VkExtensionProperties* pProperties); 3320 3321 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 3322 uint32_t* pPropertyCount, 3323 VkLayerProperties* pProperties); 3324 3325 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 3326 VkPhysicalDevice physicalDevice, 3327 uint32_t* pPropertyCount, 3328 VkLayerProperties* pProperties); 3329 3330 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 3331 VkDevice device, 3332 uint32_t queueFamilyIndex, 3333 uint32_t queueIndex, 3334 VkQueue* pQueue); 3335 3336 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 3337 VkQueue queue, 3338 uint32_t submitCount, 3339 const VkSubmitInfo* pSubmits, 3340 VkFence fence); 3341 3342 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 3343 VkQueue queue); 3344 3345 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 3346 VkDevice device); 3347 3348 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 3349 VkDevice device, 3350 const VkMemoryAllocateInfo* pAllocateInfo, 3351 const VkAllocationCallbacks* pAllocator, 3352 VkDeviceMemory* pMemory); 3353 3354 VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 3355 VkDevice device, 3356 VkDeviceMemory memory, 3357 const VkAllocationCallbacks* pAllocator); 3358 3359 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 3360 VkDevice device, 3361 VkDeviceMemory memory, 3362 VkDeviceSize offset, 3363 VkDeviceSize size, 3364 VkMemoryMapFlags flags, 3365 void** ppData); 3366 3367 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 3368 VkDevice device, 3369 VkDeviceMemory memory); 3370 3371 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 3372 VkDevice device, 3373 uint32_t memoryRangeCount, 3374 const VkMappedMemoryRange* pMemoryRanges); 3375 3376 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 3377 VkDevice device, 3378 uint32_t memoryRangeCount, 3379 const VkMappedMemoryRange* pMemoryRanges); 3380 3381 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 3382 VkDevice device, 3383 VkDeviceMemory memory, 3384 VkDeviceSize* pCommittedMemoryInBytes); 3385 3386 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 3387 VkDevice device, 3388 VkBuffer buffer, 3389 VkDeviceMemory memory, 3390 VkDeviceSize memoryOffset); 3391 3392 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 3393 VkDevice device, 3394 VkImage image, 3395 VkDeviceMemory memory, 3396 VkDeviceSize memoryOffset); 3397 3398 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 3399 VkDevice device, 3400 VkBuffer buffer, 3401 VkMemoryRequirements* pMemoryRequirements); 3402 3403 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 3404 VkDevice device, 3405 VkImage image, 3406 VkMemoryRequirements* pMemoryRequirements); 3407 3408 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 3409 VkDevice device, 3410 VkImage image, 3411 uint32_t* pSparseMemoryRequirementCount, 3412 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 3413 3414 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 3415 VkPhysicalDevice physicalDevice, 3416 VkFormat format, 3417 VkImageType type, 3418 VkSampleCountFlagBits samples, 3419 VkImageUsageFlags usage, 3420 VkImageTiling tiling, 3421 uint32_t* pPropertyCount, 3422 VkSparseImageFormatProperties* pProperties); 3423 3424 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 3425 VkQueue queue, 3426 uint32_t bindInfoCount, 3427 const VkBindSparseInfo* pBindInfo, 3428 VkFence fence); 3429 3430 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 3431 VkDevice device, 3432 const VkFenceCreateInfo* pCreateInfo, 3433 const VkAllocationCallbacks* pAllocator, 3434 VkFence* pFence); 3435 3436 VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 3437 VkDevice device, 3438 VkFence fence, 3439 const VkAllocationCallbacks* pAllocator); 3440 3441 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 3442 VkDevice device, 3443 uint32_t fenceCount, 3444 const VkFence* pFences); 3445 3446 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 3447 VkDevice device, 3448 VkFence fence); 3449 3450 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 3451 VkDevice device, 3452 uint32_t fenceCount, 3453 const VkFence* pFences, 3454 VkBool32 waitAll, 3455 uint64_t timeout); 3456 3457 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 3458 VkDevice device, 3459 const VkSemaphoreCreateInfo* pCreateInfo, 3460 const VkAllocationCallbacks* pAllocator, 3461 VkSemaphore* pSemaphore); 3462 3463 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 3464 VkDevice device, 3465 VkSemaphore semaphore, 3466 const VkAllocationCallbacks* pAllocator); 3467 3468 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 3469 VkDevice device, 3470 const VkEventCreateInfo* pCreateInfo, 3471 const VkAllocationCallbacks* pAllocator, 3472 VkEvent* pEvent); 3473 3474 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 3475 VkDevice device, 3476 VkEvent event, 3477 const VkAllocationCallbacks* pAllocator); 3478 3479 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 3480 VkDevice device, 3481 VkEvent event); 3482 3483 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 3484 VkDevice device, 3485 VkEvent event); 3486 3487 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 3488 VkDevice device, 3489 VkEvent event); 3490 3491 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 3492 VkDevice device, 3493 const VkQueryPoolCreateInfo* pCreateInfo, 3494 const VkAllocationCallbacks* pAllocator, 3495 VkQueryPool* pQueryPool); 3496 3497 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 3498 VkDevice device, 3499 VkQueryPool queryPool, 3500 const VkAllocationCallbacks* pAllocator); 3501 3502 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 3503 VkDevice device, 3504 VkQueryPool queryPool, 3505 uint32_t firstQuery, 3506 uint32_t queryCount, 3507 size_t dataSize, 3508 void* pData, 3509 VkDeviceSize stride, 3510 VkQueryResultFlags flags); 3511 3512 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 3513 VkDevice device, 3514 const VkBufferCreateInfo* pCreateInfo, 3515 const VkAllocationCallbacks* pAllocator, 3516 VkBuffer* pBuffer); 3517 3518 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 3519 VkDevice device, 3520 VkBuffer buffer, 3521 const VkAllocationCallbacks* pAllocator); 3522 3523 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 3524 VkDevice device, 3525 const VkBufferViewCreateInfo* pCreateInfo, 3526 const VkAllocationCallbacks* pAllocator, 3527 VkBufferView* pView); 3528 3529 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 3530 VkDevice device, 3531 VkBufferView bufferView, 3532 const VkAllocationCallbacks* pAllocator); 3533 3534 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 3535 VkDevice device, 3536 const VkImageCreateInfo* pCreateInfo, 3537 const VkAllocationCallbacks* pAllocator, 3538 VkImage* pImage); 3539 3540 VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 3541 VkDevice device, 3542 VkImage image, 3543 const VkAllocationCallbacks* pAllocator); 3544 3545 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 3546 VkDevice device, 3547 VkImage image, 3548 const VkImageSubresource* pSubresource, 3549 VkSubresourceLayout* pLayout); 3550 3551 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 3552 VkDevice device, 3553 const VkImageViewCreateInfo* pCreateInfo, 3554 const VkAllocationCallbacks* pAllocator, 3555 VkImageView* pView); 3556 3557 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 3558 VkDevice device, 3559 VkImageView imageView, 3560 const VkAllocationCallbacks* pAllocator); 3561 3562 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 3563 VkDevice device, 3564 const VkShaderModuleCreateInfo* pCreateInfo, 3565 const VkAllocationCallbacks* pAllocator, 3566 VkShaderModule* pShaderModule); 3567 3568 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 3569 VkDevice device, 3570 VkShaderModule shaderModule, 3571 const VkAllocationCallbacks* pAllocator); 3572 3573 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 3574 VkDevice device, 3575 const VkPipelineCacheCreateInfo* pCreateInfo, 3576 const VkAllocationCallbacks* pAllocator, 3577 VkPipelineCache* pPipelineCache); 3578 3579 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 3580 VkDevice device, 3581 VkPipelineCache pipelineCache, 3582 const VkAllocationCallbacks* pAllocator); 3583 3584 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 3585 VkDevice device, 3586 VkPipelineCache pipelineCache, 3587 size_t* pDataSize, 3588 void* pData); 3589 3590 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 3591 VkDevice device, 3592 VkPipelineCache dstCache, 3593 uint32_t srcCacheCount, 3594 const VkPipelineCache* pSrcCaches); 3595 3596 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 3597 VkDevice device, 3598 VkPipelineCache pipelineCache, 3599 uint32_t createInfoCount, 3600 const VkGraphicsPipelineCreateInfo* pCreateInfos, 3601 const VkAllocationCallbacks* pAllocator, 3602 VkPipeline* pPipelines); 3603 3604 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 3605 VkDevice device, 3606 VkPipelineCache pipelineCache, 3607 uint32_t createInfoCount, 3608 const VkComputePipelineCreateInfo* pCreateInfos, 3609 const VkAllocationCallbacks* pAllocator, 3610 VkPipeline* pPipelines); 3611 3612 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 3613 VkDevice device, 3614 VkPipeline pipeline, 3615 const VkAllocationCallbacks* pAllocator); 3616 3617 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 3618 VkDevice device, 3619 const VkPipelineLayoutCreateInfo* pCreateInfo, 3620 const VkAllocationCallbacks* pAllocator, 3621 VkPipelineLayout* pPipelineLayout); 3622 3623 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 3624 VkDevice device, 3625 VkPipelineLayout pipelineLayout, 3626 const VkAllocationCallbacks* pAllocator); 3627 3628 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 3629 VkDevice device, 3630 const VkSamplerCreateInfo* pCreateInfo, 3631 const VkAllocationCallbacks* pAllocator, 3632 VkSampler* pSampler); 3633 3634 VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 3635 VkDevice device, 3636 VkSampler sampler, 3637 const VkAllocationCallbacks* pAllocator); 3638 3639 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 3640 VkDevice device, 3641 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 3642 const VkAllocationCallbacks* pAllocator, 3643 VkDescriptorSetLayout* pSetLayout); 3644 3645 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 3646 VkDevice device, 3647 VkDescriptorSetLayout descriptorSetLayout, 3648 const VkAllocationCallbacks* pAllocator); 3649 3650 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 3651 VkDevice device, 3652 const VkDescriptorPoolCreateInfo* pCreateInfo, 3653 const VkAllocationCallbacks* pAllocator, 3654 VkDescriptorPool* pDescriptorPool); 3655 3656 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 3657 VkDevice device, 3658 VkDescriptorPool descriptorPool, 3659 const VkAllocationCallbacks* pAllocator); 3660 3661 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 3662 VkDevice device, 3663 VkDescriptorPool descriptorPool, 3664 VkDescriptorPoolResetFlags flags); 3665 3666 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 3667 VkDevice device, 3668 const VkDescriptorSetAllocateInfo* pAllocateInfo, 3669 VkDescriptorSet* pDescriptorSets); 3670 3671 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 3672 VkDevice device, 3673 VkDescriptorPool descriptorPool, 3674 uint32_t descriptorSetCount, 3675 const VkDescriptorSet* pDescriptorSets); 3676 3677 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 3678 VkDevice device, 3679 uint32_t descriptorWriteCount, 3680 const VkWriteDescriptorSet* pDescriptorWrites, 3681 uint32_t descriptorCopyCount, 3682 const VkCopyDescriptorSet* pDescriptorCopies); 3683 3684 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 3685 VkDevice device, 3686 const VkFramebufferCreateInfo* pCreateInfo, 3687 const VkAllocationCallbacks* pAllocator, 3688 VkFramebuffer* pFramebuffer); 3689 3690 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 3691 VkDevice device, 3692 VkFramebuffer framebuffer, 3693 const VkAllocationCallbacks* pAllocator); 3694 3695 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 3696 VkDevice device, 3697 const VkRenderPassCreateInfo* pCreateInfo, 3698 const VkAllocationCallbacks* pAllocator, 3699 VkRenderPass* pRenderPass); 3700 3701 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 3702 VkDevice device, 3703 VkRenderPass renderPass, 3704 const VkAllocationCallbacks* pAllocator); 3705 3706 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 3707 VkDevice device, 3708 VkRenderPass renderPass, 3709 VkExtent2D* pGranularity); 3710 3711 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 3712 VkDevice device, 3713 const VkCommandPoolCreateInfo* pCreateInfo, 3714 const VkAllocationCallbacks* pAllocator, 3715 VkCommandPool* pCommandPool); 3716 3717 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 3718 VkDevice device, 3719 VkCommandPool commandPool, 3720 const VkAllocationCallbacks* pAllocator); 3721 3722 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 3723 VkDevice device, 3724 VkCommandPool commandPool, 3725 VkCommandPoolResetFlags flags); 3726 3727 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 3728 VkDevice device, 3729 const VkCommandBufferAllocateInfo* pAllocateInfo, 3730 VkCommandBuffer* pCommandBuffers); 3731 3732 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 3733 VkDevice device, 3734 VkCommandPool commandPool, 3735 uint32_t commandBufferCount, 3736 const VkCommandBuffer* pCommandBuffers); 3737 3738 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 3739 VkCommandBuffer commandBuffer, 3740 const VkCommandBufferBeginInfo* pBeginInfo); 3741 3742 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 3743 VkCommandBuffer commandBuffer); 3744 3745 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 3746 VkCommandBuffer commandBuffer, 3747 VkCommandBufferResetFlags flags); 3748 3749 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 3750 VkCommandBuffer commandBuffer, 3751 VkPipelineBindPoint pipelineBindPoint, 3752 VkPipeline pipeline); 3753 3754 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 3755 VkCommandBuffer commandBuffer, 3756 uint32_t firstViewport, 3757 uint32_t viewportCount, 3758 const VkViewport* pViewports); 3759 3760 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 3761 VkCommandBuffer commandBuffer, 3762 uint32_t firstScissor, 3763 uint32_t scissorCount, 3764 const VkRect2D* pScissors); 3765 3766 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 3767 VkCommandBuffer commandBuffer, 3768 float lineWidth); 3769 3770 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 3771 VkCommandBuffer commandBuffer, 3772 float depthBiasConstantFactor, 3773 float depthBiasClamp, 3774 float depthBiasSlopeFactor); 3775 3776 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 3777 VkCommandBuffer commandBuffer, 3778 const float blendConstants[4]); 3779 3780 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 3781 VkCommandBuffer commandBuffer, 3782 float minDepthBounds, 3783 float maxDepthBounds); 3784 3785 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 3786 VkCommandBuffer commandBuffer, 3787 VkStencilFaceFlags faceMask, 3788 uint32_t compareMask); 3789 3790 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 3791 VkCommandBuffer commandBuffer, 3792 VkStencilFaceFlags faceMask, 3793 uint32_t writeMask); 3794 3795 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 3796 VkCommandBuffer commandBuffer, 3797 VkStencilFaceFlags faceMask, 3798 uint32_t reference); 3799 3800 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 3801 VkCommandBuffer commandBuffer, 3802 VkPipelineBindPoint pipelineBindPoint, 3803 VkPipelineLayout layout, 3804 uint32_t firstSet, 3805 uint32_t descriptorSetCount, 3806 const VkDescriptorSet* pDescriptorSets, 3807 uint32_t dynamicOffsetCount, 3808 const uint32_t* pDynamicOffsets); 3809 3810 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 3811 VkCommandBuffer commandBuffer, 3812 VkBuffer buffer, 3813 VkDeviceSize offset, 3814 VkIndexType indexType); 3815 3816 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 3817 VkCommandBuffer commandBuffer, 3818 uint32_t firstBinding, 3819 uint32_t bindingCount, 3820 const VkBuffer* pBuffers, 3821 const VkDeviceSize* pOffsets); 3822 3823 VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 3824 VkCommandBuffer commandBuffer, 3825 uint32_t vertexCount, 3826 uint32_t instanceCount, 3827 uint32_t firstVertex, 3828 uint32_t firstInstance); 3829 3830 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 3831 VkCommandBuffer commandBuffer, 3832 uint32_t indexCount, 3833 uint32_t instanceCount, 3834 uint32_t firstIndex, 3835 int32_t vertexOffset, 3836 uint32_t firstInstance); 3837 3838 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 3839 VkCommandBuffer commandBuffer, 3840 VkBuffer buffer, 3841 VkDeviceSize offset, 3842 uint32_t drawCount, 3843 uint32_t stride); 3844 3845 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 3846 VkCommandBuffer commandBuffer, 3847 VkBuffer buffer, 3848 VkDeviceSize offset, 3849 uint32_t drawCount, 3850 uint32_t stride); 3851 3852 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 3853 VkCommandBuffer commandBuffer, 3854 uint32_t groupCountX, 3855 uint32_t groupCountY, 3856 uint32_t groupCountZ); 3857 3858 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 3859 VkCommandBuffer commandBuffer, 3860 VkBuffer buffer, 3861 VkDeviceSize offset); 3862 3863 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 3864 VkCommandBuffer commandBuffer, 3865 VkBuffer srcBuffer, 3866 VkBuffer dstBuffer, 3867 uint32_t regionCount, 3868 const VkBufferCopy* pRegions); 3869 3870 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 3871 VkCommandBuffer commandBuffer, 3872 VkImage srcImage, 3873 VkImageLayout srcImageLayout, 3874 VkImage dstImage, 3875 VkImageLayout dstImageLayout, 3876 uint32_t regionCount, 3877 const VkImageCopy* pRegions); 3878 3879 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 3880 VkCommandBuffer commandBuffer, 3881 VkImage srcImage, 3882 VkImageLayout srcImageLayout, 3883 VkImage dstImage, 3884 VkImageLayout dstImageLayout, 3885 uint32_t regionCount, 3886 const VkImageBlit* pRegions, 3887 VkFilter filter); 3888 3889 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 3890 VkCommandBuffer commandBuffer, 3891 VkBuffer srcBuffer, 3892 VkImage dstImage, 3893 VkImageLayout dstImageLayout, 3894 uint32_t regionCount, 3895 const VkBufferImageCopy* pRegions); 3896 3897 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 3898 VkCommandBuffer commandBuffer, 3899 VkImage srcImage, 3900 VkImageLayout srcImageLayout, 3901 VkBuffer dstBuffer, 3902 uint32_t regionCount, 3903 const VkBufferImageCopy* pRegions); 3904 3905 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 3906 VkCommandBuffer commandBuffer, 3907 VkBuffer dstBuffer, 3908 VkDeviceSize dstOffset, 3909 VkDeviceSize dataSize, 3910 const void* pData); 3911 3912 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 3913 VkCommandBuffer commandBuffer, 3914 VkBuffer dstBuffer, 3915 VkDeviceSize dstOffset, 3916 VkDeviceSize size, 3917 uint32_t data); 3918 3919 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 3920 VkCommandBuffer commandBuffer, 3921 VkImage image, 3922 VkImageLayout imageLayout, 3923 const VkClearColorValue* pColor, 3924 uint32_t rangeCount, 3925 const VkImageSubresourceRange* pRanges); 3926 3927 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 3928 VkCommandBuffer commandBuffer, 3929 VkImage image, 3930 VkImageLayout imageLayout, 3931 const VkClearDepthStencilValue* pDepthStencil, 3932 uint32_t rangeCount, 3933 const VkImageSubresourceRange* pRanges); 3934 3935 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 3936 VkCommandBuffer commandBuffer, 3937 uint32_t attachmentCount, 3938 const VkClearAttachment* pAttachments, 3939 uint32_t rectCount, 3940 const VkClearRect* pRects); 3941 3942 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 3943 VkCommandBuffer commandBuffer, 3944 VkImage srcImage, 3945 VkImageLayout srcImageLayout, 3946 VkImage dstImage, 3947 VkImageLayout dstImageLayout, 3948 uint32_t regionCount, 3949 const VkImageResolve* pRegions); 3950 3951 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 3952 VkCommandBuffer commandBuffer, 3953 VkEvent event, 3954 VkPipelineStageFlags stageMask); 3955 3956 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 3957 VkCommandBuffer commandBuffer, 3958 VkEvent event, 3959 VkPipelineStageFlags stageMask); 3960 3961 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 3962 VkCommandBuffer commandBuffer, 3963 uint32_t eventCount, 3964 const VkEvent* pEvents, 3965 VkPipelineStageFlags srcStageMask, 3966 VkPipelineStageFlags dstStageMask, 3967 uint32_t memoryBarrierCount, 3968 const VkMemoryBarrier* pMemoryBarriers, 3969 uint32_t bufferMemoryBarrierCount, 3970 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3971 uint32_t imageMemoryBarrierCount, 3972 const VkImageMemoryBarrier* pImageMemoryBarriers); 3973 3974 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 3975 VkCommandBuffer commandBuffer, 3976 VkPipelineStageFlags srcStageMask, 3977 VkPipelineStageFlags dstStageMask, 3978 VkDependencyFlags dependencyFlags, 3979 uint32_t memoryBarrierCount, 3980 const VkMemoryBarrier* pMemoryBarriers, 3981 uint32_t bufferMemoryBarrierCount, 3982 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3983 uint32_t imageMemoryBarrierCount, 3984 const VkImageMemoryBarrier* pImageMemoryBarriers); 3985 3986 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 3987 VkCommandBuffer commandBuffer, 3988 VkQueryPool queryPool, 3989 uint32_t query, 3990 VkQueryControlFlags flags); 3991 3992 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 3993 VkCommandBuffer commandBuffer, 3994 VkQueryPool queryPool, 3995 uint32_t query); 3996 3997 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 3998 VkCommandBuffer commandBuffer, 3999 VkQueryPool queryPool, 4000 uint32_t firstQuery, 4001 uint32_t queryCount); 4002 4003 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 4004 VkCommandBuffer commandBuffer, 4005 VkPipelineStageFlagBits pipelineStage, 4006 VkQueryPool queryPool, 4007 uint32_t query); 4008 4009 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 4010 VkCommandBuffer commandBuffer, 4011 VkQueryPool queryPool, 4012 uint32_t firstQuery, 4013 uint32_t queryCount, 4014 VkBuffer dstBuffer, 4015 VkDeviceSize dstOffset, 4016 VkDeviceSize stride, 4017 VkQueryResultFlags flags); 4018 4019 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 4020 VkCommandBuffer commandBuffer, 4021 VkPipelineLayout layout, 4022 VkShaderStageFlags stageFlags, 4023 uint32_t offset, 4024 uint32_t size, 4025 const void* pValues); 4026 4027 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 4028 VkCommandBuffer commandBuffer, 4029 const VkRenderPassBeginInfo* pRenderPassBegin, 4030 VkSubpassContents contents); 4031 4032 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 4033 VkCommandBuffer commandBuffer, 4034 VkSubpassContents contents); 4035 4036 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 4037 VkCommandBuffer commandBuffer); 4038 4039 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 4040 VkCommandBuffer commandBuffer, 4041 uint32_t commandBufferCount, 4042 const VkCommandBuffer* pCommandBuffers); 4043 #endif 4044 4045 4046 #define VK_VERSION_1_1 1 4047 // Vulkan 1.1 version number 4048 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 4049 4050 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 4051 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 4052 #define VK_MAX_DEVICE_GROUP_SIZE 32 4053 #define VK_LUID_SIZE 8 4054 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1) 4055 4056 typedef enum VkPointClippingBehavior { 4057 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 4058 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 4059 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 4060 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 4061 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 4062 } VkPointClippingBehavior; 4063 4064 typedef enum VkTessellationDomainOrigin { 4065 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 4066 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 4067 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 4068 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 4069 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 4070 } VkTessellationDomainOrigin; 4071 4072 typedef enum VkSamplerYcbcrModelConversion { 4073 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 4074 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 4075 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 4076 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 4077 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 4078 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 4079 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 4080 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 4081 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 4082 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 4083 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 4084 } VkSamplerYcbcrModelConversion; 4085 4086 typedef enum VkSamplerYcbcrRange { 4087 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 4088 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 4089 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 4090 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 4091 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 4092 } VkSamplerYcbcrRange; 4093 4094 typedef enum VkChromaLocation { 4095 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 4096 VK_CHROMA_LOCATION_MIDPOINT = 1, 4097 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 4098 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 4099 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 4100 } VkChromaLocation; 4101 4102 typedef enum VkDescriptorUpdateTemplateType { 4103 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 4104 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 4105 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 4106 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 4107 } VkDescriptorUpdateTemplateType; 4108 4109 typedef enum VkSubgroupFeatureFlagBits { 4110 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 4111 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 4112 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 4113 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 4114 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 4115 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 4116 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 4117 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 4118 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 4119 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4120 } VkSubgroupFeatureFlagBits; 4121 typedef VkFlags VkSubgroupFeatureFlags; 4122 4123 typedef enum VkPeerMemoryFeatureFlagBits { 4124 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 4125 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 4126 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 4127 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 4128 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 4129 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 4130 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 4131 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 4132 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4133 } VkPeerMemoryFeatureFlagBits; 4134 typedef VkFlags VkPeerMemoryFeatureFlags; 4135 4136 typedef enum VkMemoryAllocateFlagBits { 4137 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 4138 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 4139 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 4140 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 4141 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 4142 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 4143 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4144 } VkMemoryAllocateFlagBits; 4145 typedef VkFlags VkMemoryAllocateFlags; 4146 typedef VkFlags VkCommandPoolTrimFlags; 4147 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 4148 4149 typedef enum VkExternalMemoryHandleTypeFlagBits { 4150 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4151 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4152 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4153 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 4154 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 4155 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 4156 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 4157 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 4158 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 4159 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 4160 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 4161 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 4162 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4163 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 4164 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 4165 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 4166 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 4167 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 4168 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4169 } VkExternalMemoryHandleTypeFlagBits; 4170 typedef VkFlags VkExternalMemoryHandleTypeFlags; 4171 4172 typedef enum VkExternalMemoryFeatureFlagBits { 4173 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 4174 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 4175 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 4176 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 4177 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 4178 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 4179 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4180 } VkExternalMemoryFeatureFlagBits; 4181 typedef VkFlags VkExternalMemoryFeatureFlags; 4182 4183 typedef enum VkExternalFenceHandleTypeFlagBits { 4184 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4185 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4186 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4187 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 4188 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 4189 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4190 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 4191 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 4192 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4193 } VkExternalFenceHandleTypeFlagBits; 4194 typedef VkFlags VkExternalFenceHandleTypeFlags; 4195 4196 typedef enum VkExternalFenceFeatureFlagBits { 4197 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 4198 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 4199 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 4200 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 4201 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4202 } VkExternalFenceFeatureFlagBits; 4203 typedef VkFlags VkExternalFenceFeatureFlags; 4204 4205 typedef enum VkFenceImportFlagBits { 4206 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 4207 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 4208 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4209 } VkFenceImportFlagBits; 4210 typedef VkFlags VkFenceImportFlags; 4211 4212 typedef enum VkSemaphoreImportFlagBits { 4213 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 4214 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 4215 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4216 } VkSemaphoreImportFlagBits; 4217 typedef VkFlags VkSemaphoreImportFlags; 4218 4219 typedef enum VkExternalSemaphoreHandleTypeFlagBits { 4220 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 4221 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 4222 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 4223 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 4224 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 4225 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 4226 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 4227 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4228 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 4229 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 4230 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 4231 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4232 } VkExternalSemaphoreHandleTypeFlagBits; 4233 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 4234 4235 typedef enum VkExternalSemaphoreFeatureFlagBits { 4236 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 4237 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 4238 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 4239 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 4240 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4241 } VkExternalSemaphoreFeatureFlagBits; 4242 typedef VkFlags VkExternalSemaphoreFeatureFlags; 4243 typedef struct VkPhysicalDeviceSubgroupProperties { 4244 VkStructureType sType; 4245 void* pNext; 4246 uint32_t subgroupSize; 4247 VkShaderStageFlags supportedStages; 4248 VkSubgroupFeatureFlags supportedOperations; 4249 VkBool32 quadOperationsInAllStages; 4250 } VkPhysicalDeviceSubgroupProperties; 4251 4252 typedef struct VkBindBufferMemoryInfo { 4253 VkStructureType sType; 4254 const void* pNext; 4255 VkBuffer buffer; 4256 VkDeviceMemory memory; 4257 VkDeviceSize memoryOffset; 4258 } VkBindBufferMemoryInfo; 4259 4260 typedef struct VkBindImageMemoryInfo { 4261 VkStructureType sType; 4262 const void* pNext; 4263 VkImage image; 4264 VkDeviceMemory memory; 4265 VkDeviceSize memoryOffset; 4266 } VkBindImageMemoryInfo; 4267 4268 typedef struct VkPhysicalDevice16BitStorageFeatures { 4269 VkStructureType sType; 4270 void* pNext; 4271 VkBool32 storageBuffer16BitAccess; 4272 VkBool32 uniformAndStorageBuffer16BitAccess; 4273 VkBool32 storagePushConstant16; 4274 VkBool32 storageInputOutput16; 4275 } VkPhysicalDevice16BitStorageFeatures; 4276 4277 typedef struct VkMemoryDedicatedRequirements { 4278 VkStructureType sType; 4279 void* pNext; 4280 VkBool32 prefersDedicatedAllocation; 4281 VkBool32 requiresDedicatedAllocation; 4282 } VkMemoryDedicatedRequirements; 4283 4284 typedef struct VkMemoryDedicatedAllocateInfo { 4285 VkStructureType sType; 4286 const void* pNext; 4287 VkImage image; 4288 VkBuffer buffer; 4289 } VkMemoryDedicatedAllocateInfo; 4290 4291 typedef struct VkMemoryAllocateFlagsInfo { 4292 VkStructureType sType; 4293 const void* pNext; 4294 VkMemoryAllocateFlags flags; 4295 uint32_t deviceMask; 4296 } VkMemoryAllocateFlagsInfo; 4297 4298 typedef struct VkDeviceGroupRenderPassBeginInfo { 4299 VkStructureType sType; 4300 const void* pNext; 4301 uint32_t deviceMask; 4302 uint32_t deviceRenderAreaCount; 4303 const VkRect2D* pDeviceRenderAreas; 4304 } VkDeviceGroupRenderPassBeginInfo; 4305 4306 typedef struct VkDeviceGroupCommandBufferBeginInfo { 4307 VkStructureType sType; 4308 const void* pNext; 4309 uint32_t deviceMask; 4310 } VkDeviceGroupCommandBufferBeginInfo; 4311 4312 typedef struct VkDeviceGroupSubmitInfo { 4313 VkStructureType sType; 4314 const void* pNext; 4315 uint32_t waitSemaphoreCount; 4316 const uint32_t* pWaitSemaphoreDeviceIndices; 4317 uint32_t commandBufferCount; 4318 const uint32_t* pCommandBufferDeviceMasks; 4319 uint32_t signalSemaphoreCount; 4320 const uint32_t* pSignalSemaphoreDeviceIndices; 4321 } VkDeviceGroupSubmitInfo; 4322 4323 typedef struct VkDeviceGroupBindSparseInfo { 4324 VkStructureType sType; 4325 const void* pNext; 4326 uint32_t resourceDeviceIndex; 4327 uint32_t memoryDeviceIndex; 4328 } VkDeviceGroupBindSparseInfo; 4329 4330 typedef struct VkBindBufferMemoryDeviceGroupInfo { 4331 VkStructureType sType; 4332 const void* pNext; 4333 uint32_t deviceIndexCount; 4334 const uint32_t* pDeviceIndices; 4335 } VkBindBufferMemoryDeviceGroupInfo; 4336 4337 typedef struct VkBindImageMemoryDeviceGroupInfo { 4338 VkStructureType sType; 4339 const void* pNext; 4340 uint32_t deviceIndexCount; 4341 const uint32_t* pDeviceIndices; 4342 uint32_t splitInstanceBindRegionCount; 4343 const VkRect2D* pSplitInstanceBindRegions; 4344 } VkBindImageMemoryDeviceGroupInfo; 4345 4346 typedef struct VkPhysicalDeviceGroupProperties { 4347 VkStructureType sType; 4348 void* pNext; 4349 uint32_t physicalDeviceCount; 4350 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 4351 VkBool32 subsetAllocation; 4352 } VkPhysicalDeviceGroupProperties; 4353 4354 typedef struct VkDeviceGroupDeviceCreateInfo { 4355 VkStructureType sType; 4356 const void* pNext; 4357 uint32_t physicalDeviceCount; 4358 const VkPhysicalDevice* pPhysicalDevices; 4359 } VkDeviceGroupDeviceCreateInfo; 4360 4361 typedef struct VkBufferMemoryRequirementsInfo2 { 4362 VkStructureType sType; 4363 const void* pNext; 4364 VkBuffer buffer; 4365 } VkBufferMemoryRequirementsInfo2; 4366 4367 typedef struct VkImageMemoryRequirementsInfo2 { 4368 VkStructureType sType; 4369 const void* pNext; 4370 VkImage image; 4371 } VkImageMemoryRequirementsInfo2; 4372 4373 typedef struct VkImageSparseMemoryRequirementsInfo2 { 4374 VkStructureType sType; 4375 const void* pNext; 4376 VkImage image; 4377 } VkImageSparseMemoryRequirementsInfo2; 4378 4379 typedef struct VkMemoryRequirements2 { 4380 VkStructureType sType; 4381 void* pNext; 4382 VkMemoryRequirements memoryRequirements; 4383 } VkMemoryRequirements2; 4384 4385 typedef struct VkSparseImageMemoryRequirements2 { 4386 VkStructureType sType; 4387 void* pNext; 4388 VkSparseImageMemoryRequirements memoryRequirements; 4389 } VkSparseImageMemoryRequirements2; 4390 4391 typedef struct VkPhysicalDeviceFeatures2 { 4392 VkStructureType sType; 4393 void* pNext; 4394 VkPhysicalDeviceFeatures features; 4395 } VkPhysicalDeviceFeatures2; 4396 4397 typedef struct VkPhysicalDeviceProperties2 { 4398 VkStructureType sType; 4399 void* pNext; 4400 VkPhysicalDeviceProperties properties; 4401 } VkPhysicalDeviceProperties2; 4402 4403 typedef struct VkFormatProperties2 { 4404 VkStructureType sType; 4405 void* pNext; 4406 VkFormatProperties formatProperties; 4407 } VkFormatProperties2; 4408 4409 typedef struct VkImageFormatProperties2 { 4410 VkStructureType sType; 4411 void* pNext; 4412 VkImageFormatProperties imageFormatProperties; 4413 } VkImageFormatProperties2; 4414 4415 typedef struct VkPhysicalDeviceImageFormatInfo2 { 4416 VkStructureType sType; 4417 const void* pNext; 4418 VkFormat format; 4419 VkImageType type; 4420 VkImageTiling tiling; 4421 VkImageUsageFlags usage; 4422 VkImageCreateFlags flags; 4423 } VkPhysicalDeviceImageFormatInfo2; 4424 4425 typedef struct VkQueueFamilyProperties2 { 4426 VkStructureType sType; 4427 void* pNext; 4428 VkQueueFamilyProperties queueFamilyProperties; 4429 } VkQueueFamilyProperties2; 4430 4431 typedef struct VkPhysicalDeviceMemoryProperties2 { 4432 VkStructureType sType; 4433 void* pNext; 4434 VkPhysicalDeviceMemoryProperties memoryProperties; 4435 } VkPhysicalDeviceMemoryProperties2; 4436 4437 typedef struct VkSparseImageFormatProperties2 { 4438 VkStructureType sType; 4439 void* pNext; 4440 VkSparseImageFormatProperties properties; 4441 } VkSparseImageFormatProperties2; 4442 4443 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 4444 VkStructureType sType; 4445 const void* pNext; 4446 VkFormat format; 4447 VkImageType type; 4448 VkSampleCountFlagBits samples; 4449 VkImageUsageFlags usage; 4450 VkImageTiling tiling; 4451 } VkPhysicalDeviceSparseImageFormatInfo2; 4452 4453 typedef struct VkPhysicalDevicePointClippingProperties { 4454 VkStructureType sType; 4455 void* pNext; 4456 VkPointClippingBehavior pointClippingBehavior; 4457 } VkPhysicalDevicePointClippingProperties; 4458 4459 typedef struct VkInputAttachmentAspectReference { 4460 uint32_t subpass; 4461 uint32_t inputAttachmentIndex; 4462 VkImageAspectFlags aspectMask; 4463 } VkInputAttachmentAspectReference; 4464 4465 typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 4466 VkStructureType sType; 4467 const void* pNext; 4468 uint32_t aspectReferenceCount; 4469 const VkInputAttachmentAspectReference* pAspectReferences; 4470 } VkRenderPassInputAttachmentAspectCreateInfo; 4471 4472 typedef struct VkImageViewUsageCreateInfo { 4473 VkStructureType sType; 4474 const void* pNext; 4475 VkImageUsageFlags usage; 4476 } VkImageViewUsageCreateInfo; 4477 4478 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 4479 VkStructureType sType; 4480 const void* pNext; 4481 VkTessellationDomainOrigin domainOrigin; 4482 } VkPipelineTessellationDomainOriginStateCreateInfo; 4483 4484 typedef struct VkRenderPassMultiviewCreateInfo { 4485 VkStructureType sType; 4486 const void* pNext; 4487 uint32_t subpassCount; 4488 const uint32_t* pViewMasks; 4489 uint32_t dependencyCount; 4490 const int32_t* pViewOffsets; 4491 uint32_t correlationMaskCount; 4492 const uint32_t* pCorrelationMasks; 4493 } VkRenderPassMultiviewCreateInfo; 4494 4495 typedef struct VkPhysicalDeviceMultiviewFeatures { 4496 VkStructureType sType; 4497 void* pNext; 4498 VkBool32 multiview; 4499 VkBool32 multiviewGeometryShader; 4500 VkBool32 multiviewTessellationShader; 4501 } VkPhysicalDeviceMultiviewFeatures; 4502 4503 typedef struct VkPhysicalDeviceMultiviewProperties { 4504 VkStructureType sType; 4505 void* pNext; 4506 uint32_t maxMultiviewViewCount; 4507 uint32_t maxMultiviewInstanceIndex; 4508 } VkPhysicalDeviceMultiviewProperties; 4509 4510 typedef struct VkPhysicalDeviceVariablePointersFeatures { 4511 VkStructureType sType; 4512 void* pNext; 4513 VkBool32 variablePointersStorageBuffer; 4514 VkBool32 variablePointers; 4515 } VkPhysicalDeviceVariablePointersFeatures; 4516 4517 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 4518 4519 typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 4520 VkStructureType sType; 4521 void* pNext; 4522 VkBool32 protectedMemory; 4523 } VkPhysicalDeviceProtectedMemoryFeatures; 4524 4525 typedef struct VkPhysicalDeviceProtectedMemoryProperties { 4526 VkStructureType sType; 4527 void* pNext; 4528 VkBool32 protectedNoFault; 4529 } VkPhysicalDeviceProtectedMemoryProperties; 4530 4531 typedef struct VkDeviceQueueInfo2 { 4532 VkStructureType sType; 4533 const void* pNext; 4534 VkDeviceQueueCreateFlags flags; 4535 uint32_t queueFamilyIndex; 4536 uint32_t queueIndex; 4537 } VkDeviceQueueInfo2; 4538 4539 typedef struct VkProtectedSubmitInfo { 4540 VkStructureType sType; 4541 const void* pNext; 4542 VkBool32 protectedSubmit; 4543 } VkProtectedSubmitInfo; 4544 4545 typedef struct VkSamplerYcbcrConversionCreateInfo { 4546 VkStructureType sType; 4547 const void* pNext; 4548 VkFormat format; 4549 VkSamplerYcbcrModelConversion ycbcrModel; 4550 VkSamplerYcbcrRange ycbcrRange; 4551 VkComponentMapping components; 4552 VkChromaLocation xChromaOffset; 4553 VkChromaLocation yChromaOffset; 4554 VkFilter chromaFilter; 4555 VkBool32 forceExplicitReconstruction; 4556 } VkSamplerYcbcrConversionCreateInfo; 4557 4558 typedef struct VkSamplerYcbcrConversionInfo { 4559 VkStructureType sType; 4560 const void* pNext; 4561 VkSamplerYcbcrConversion conversion; 4562 } VkSamplerYcbcrConversionInfo; 4563 4564 typedef struct VkBindImagePlaneMemoryInfo { 4565 VkStructureType sType; 4566 const void* pNext; 4567 VkImageAspectFlagBits planeAspect; 4568 } VkBindImagePlaneMemoryInfo; 4569 4570 typedef struct VkImagePlaneMemoryRequirementsInfo { 4571 VkStructureType sType; 4572 const void* pNext; 4573 VkImageAspectFlagBits planeAspect; 4574 } VkImagePlaneMemoryRequirementsInfo; 4575 4576 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 4577 VkStructureType sType; 4578 void* pNext; 4579 VkBool32 samplerYcbcrConversion; 4580 } VkPhysicalDeviceSamplerYcbcrConversionFeatures; 4581 4582 typedef struct VkSamplerYcbcrConversionImageFormatProperties { 4583 VkStructureType sType; 4584 void* pNext; 4585 uint32_t combinedImageSamplerDescriptorCount; 4586 } VkSamplerYcbcrConversionImageFormatProperties; 4587 4588 typedef struct VkDescriptorUpdateTemplateEntry { 4589 uint32_t dstBinding; 4590 uint32_t dstArrayElement; 4591 uint32_t descriptorCount; 4592 VkDescriptorType descriptorType; 4593 size_t offset; 4594 size_t stride; 4595 } VkDescriptorUpdateTemplateEntry; 4596 4597 typedef struct VkDescriptorUpdateTemplateCreateInfo { 4598 VkStructureType sType; 4599 const void* pNext; 4600 VkDescriptorUpdateTemplateCreateFlags flags; 4601 uint32_t descriptorUpdateEntryCount; 4602 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 4603 VkDescriptorUpdateTemplateType templateType; 4604 VkDescriptorSetLayout descriptorSetLayout; 4605 VkPipelineBindPoint pipelineBindPoint; 4606 VkPipelineLayout pipelineLayout; 4607 uint32_t set; 4608 } VkDescriptorUpdateTemplateCreateInfo; 4609 4610 typedef struct VkExternalMemoryProperties { 4611 VkExternalMemoryFeatureFlags externalMemoryFeatures; 4612 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 4613 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 4614 } VkExternalMemoryProperties; 4615 4616 typedef struct VkPhysicalDeviceExternalImageFormatInfo { 4617 VkStructureType sType; 4618 const void* pNext; 4619 VkExternalMemoryHandleTypeFlagBits handleType; 4620 } VkPhysicalDeviceExternalImageFormatInfo; 4621 4622 typedef struct VkExternalImageFormatProperties { 4623 VkStructureType sType; 4624 void* pNext; 4625 VkExternalMemoryProperties externalMemoryProperties; 4626 } VkExternalImageFormatProperties; 4627 4628 typedef struct VkPhysicalDeviceExternalBufferInfo { 4629 VkStructureType sType; 4630 const void* pNext; 4631 VkBufferCreateFlags flags; 4632 VkBufferUsageFlags usage; 4633 VkExternalMemoryHandleTypeFlagBits handleType; 4634 } VkPhysicalDeviceExternalBufferInfo; 4635 4636 typedef struct VkExternalBufferProperties { 4637 VkStructureType sType; 4638 void* pNext; 4639 VkExternalMemoryProperties externalMemoryProperties; 4640 } VkExternalBufferProperties; 4641 4642 typedef struct VkPhysicalDeviceIDProperties { 4643 VkStructureType sType; 4644 void* pNext; 4645 uint8_t deviceUUID[VK_UUID_SIZE]; 4646 uint8_t driverUUID[VK_UUID_SIZE]; 4647 uint8_t deviceLUID[VK_LUID_SIZE]; 4648 uint32_t deviceNodeMask; 4649 VkBool32 deviceLUIDValid; 4650 } VkPhysicalDeviceIDProperties; 4651 4652 typedef struct VkExternalMemoryImageCreateInfo { 4653 VkStructureType sType; 4654 const void* pNext; 4655 VkExternalMemoryHandleTypeFlags handleTypes; 4656 } VkExternalMemoryImageCreateInfo; 4657 4658 typedef struct VkExternalMemoryBufferCreateInfo { 4659 VkStructureType sType; 4660 const void* pNext; 4661 VkExternalMemoryHandleTypeFlags handleTypes; 4662 } VkExternalMemoryBufferCreateInfo; 4663 4664 typedef struct VkExportMemoryAllocateInfo { 4665 VkStructureType sType; 4666 const void* pNext; 4667 VkExternalMemoryHandleTypeFlags handleTypes; 4668 } VkExportMemoryAllocateInfo; 4669 4670 typedef struct VkPhysicalDeviceExternalFenceInfo { 4671 VkStructureType sType; 4672 const void* pNext; 4673 VkExternalFenceHandleTypeFlagBits handleType; 4674 } VkPhysicalDeviceExternalFenceInfo; 4675 4676 typedef struct VkExternalFenceProperties { 4677 VkStructureType sType; 4678 void* pNext; 4679 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 4680 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 4681 VkExternalFenceFeatureFlags externalFenceFeatures; 4682 } VkExternalFenceProperties; 4683 4684 typedef struct VkExportFenceCreateInfo { 4685 VkStructureType sType; 4686 const void* pNext; 4687 VkExternalFenceHandleTypeFlags handleTypes; 4688 } VkExportFenceCreateInfo; 4689 4690 typedef struct VkExportSemaphoreCreateInfo { 4691 VkStructureType sType; 4692 const void* pNext; 4693 VkExternalSemaphoreHandleTypeFlags handleTypes; 4694 } VkExportSemaphoreCreateInfo; 4695 4696 typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 4697 VkStructureType sType; 4698 const void* pNext; 4699 VkExternalSemaphoreHandleTypeFlagBits handleType; 4700 } VkPhysicalDeviceExternalSemaphoreInfo; 4701 4702 typedef struct VkExternalSemaphoreProperties { 4703 VkStructureType sType; 4704 void* pNext; 4705 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 4706 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 4707 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 4708 } VkExternalSemaphoreProperties; 4709 4710 typedef struct VkPhysicalDeviceMaintenance3Properties { 4711 VkStructureType sType; 4712 void* pNext; 4713 uint32_t maxPerSetDescriptors; 4714 VkDeviceSize maxMemoryAllocationSize; 4715 } VkPhysicalDeviceMaintenance3Properties; 4716 4717 typedef struct VkDescriptorSetLayoutSupport { 4718 VkStructureType sType; 4719 void* pNext; 4720 VkBool32 supported; 4721 } VkDescriptorSetLayoutSupport; 4722 4723 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 4724 VkStructureType sType; 4725 void* pNext; 4726 VkBool32 shaderDrawParameters; 4727 } VkPhysicalDeviceShaderDrawParametersFeatures; 4728 4729 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 4730 4731 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); 4732 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 4733 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 4734 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 4735 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 4736 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4737 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 4738 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 4739 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 4740 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 4741 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 4742 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 4743 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 4744 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 4745 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 4746 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 4747 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 4748 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 4749 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 4750 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 4751 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 4752 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 4753 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 4754 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 4755 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 4756 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 4757 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 4758 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 4759 4760 #ifndef VK_NO_PROTOTYPES 4761 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 4762 uint32_t* pApiVersion); 4763 4764 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 4765 VkDevice device, 4766 uint32_t bindInfoCount, 4767 const VkBindBufferMemoryInfo* pBindInfos); 4768 4769 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 4770 VkDevice device, 4771 uint32_t bindInfoCount, 4772 const VkBindImageMemoryInfo* pBindInfos); 4773 4774 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 4775 VkDevice device, 4776 uint32_t heapIndex, 4777 uint32_t localDeviceIndex, 4778 uint32_t remoteDeviceIndex, 4779 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 4780 4781 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 4782 VkCommandBuffer commandBuffer, 4783 uint32_t deviceMask); 4784 4785 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 4786 VkCommandBuffer commandBuffer, 4787 uint32_t baseGroupX, 4788 uint32_t baseGroupY, 4789 uint32_t baseGroupZ, 4790 uint32_t groupCountX, 4791 uint32_t groupCountY, 4792 uint32_t groupCountZ); 4793 4794 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 4795 VkInstance instance, 4796 uint32_t* pPhysicalDeviceGroupCount, 4797 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 4798 4799 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 4800 VkDevice device, 4801 const VkImageMemoryRequirementsInfo2* pInfo, 4802 VkMemoryRequirements2* pMemoryRequirements); 4803 4804 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 4805 VkDevice device, 4806 const VkBufferMemoryRequirementsInfo2* pInfo, 4807 VkMemoryRequirements2* pMemoryRequirements); 4808 4809 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 4810 VkDevice device, 4811 const VkImageSparseMemoryRequirementsInfo2* pInfo, 4812 uint32_t* pSparseMemoryRequirementCount, 4813 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 4814 4815 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 4816 VkPhysicalDevice physicalDevice, 4817 VkPhysicalDeviceFeatures2* pFeatures); 4818 4819 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 4820 VkPhysicalDevice physicalDevice, 4821 VkPhysicalDeviceProperties2* pProperties); 4822 4823 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 4824 VkPhysicalDevice physicalDevice, 4825 VkFormat format, 4826 VkFormatProperties2* pFormatProperties); 4827 4828 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 4829 VkPhysicalDevice physicalDevice, 4830 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 4831 VkImageFormatProperties2* pImageFormatProperties); 4832 4833 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 4834 VkPhysicalDevice physicalDevice, 4835 uint32_t* pQueueFamilyPropertyCount, 4836 VkQueueFamilyProperties2* pQueueFamilyProperties); 4837 4838 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 4839 VkPhysicalDevice physicalDevice, 4840 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 4841 4842 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 4843 VkPhysicalDevice physicalDevice, 4844 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 4845 uint32_t* pPropertyCount, 4846 VkSparseImageFormatProperties2* pProperties); 4847 4848 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 4849 VkDevice device, 4850 VkCommandPool commandPool, 4851 VkCommandPoolTrimFlags flags); 4852 4853 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 4854 VkDevice device, 4855 const VkDeviceQueueInfo2* pQueueInfo, 4856 VkQueue* pQueue); 4857 4858 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 4859 VkDevice device, 4860 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 4861 const VkAllocationCallbacks* pAllocator, 4862 VkSamplerYcbcrConversion* pYcbcrConversion); 4863 4864 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 4865 VkDevice device, 4866 VkSamplerYcbcrConversion ycbcrConversion, 4867 const VkAllocationCallbacks* pAllocator); 4868 4869 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 4870 VkDevice device, 4871 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 4872 const VkAllocationCallbacks* pAllocator, 4873 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 4874 4875 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 4876 VkDevice device, 4877 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 4878 const VkAllocationCallbacks* pAllocator); 4879 4880 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 4881 VkDevice device, 4882 VkDescriptorSet descriptorSet, 4883 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 4884 const void* pData); 4885 4886 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 4887 VkPhysicalDevice physicalDevice, 4888 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 4889 VkExternalBufferProperties* pExternalBufferProperties); 4890 4891 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 4892 VkPhysicalDevice physicalDevice, 4893 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 4894 VkExternalFenceProperties* pExternalFenceProperties); 4895 4896 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 4897 VkPhysicalDevice physicalDevice, 4898 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 4899 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 4900 4901 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 4902 VkDevice device, 4903 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 4904 VkDescriptorSetLayoutSupport* pSupport); 4905 #endif 4906 4907 4908 #define VK_VERSION_1_2 1 4909 // Vulkan 1.2 version number 4910 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 4911 4912 #define VK_MAX_DRIVER_NAME_SIZE 256 4913 #define VK_MAX_DRIVER_INFO_SIZE 256 4914 4915 typedef enum VkDriverId { 4916 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 4917 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 4918 VK_DRIVER_ID_MESA_RADV = 3, 4919 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 4920 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 4921 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 4922 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 4923 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 4924 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 4925 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 4926 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 4927 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 4928 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 4929 VK_DRIVER_ID_MOLTENVK = 14, 4930 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 4931 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 4932 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 4933 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 4934 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 4935 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 4936 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 4937 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 4938 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 4939 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 4940 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 4941 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 4942 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 4943 } VkDriverId; 4944 4945 typedef enum VkShaderFloatControlsIndependence { 4946 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 4947 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 4948 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 4949 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 4950 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 4951 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 4952 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 4953 } VkShaderFloatControlsIndependence; 4954 4955 typedef enum VkSamplerReductionMode { 4956 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 4957 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 4958 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 4959 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 4960 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 4961 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 4962 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 4963 } VkSamplerReductionMode; 4964 4965 typedef enum VkSemaphoreType { 4966 VK_SEMAPHORE_TYPE_BINARY = 0, 4967 VK_SEMAPHORE_TYPE_TIMELINE = 1, 4968 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 4969 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 4970 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 4971 } VkSemaphoreType; 4972 4973 typedef enum VkResolveModeFlagBits { 4974 VK_RESOLVE_MODE_NONE = 0, 4975 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 4976 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 4977 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 4978 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 4979 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 4980 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 4981 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 4982 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 4983 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 4984 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4985 } VkResolveModeFlagBits; 4986 typedef VkFlags VkResolveModeFlags; 4987 4988 typedef enum VkDescriptorBindingFlagBits { 4989 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 4990 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 4991 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 4992 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 4993 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 4994 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 4995 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 4996 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 4997 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 4998 } VkDescriptorBindingFlagBits; 4999 typedef VkFlags VkDescriptorBindingFlags; 5000 5001 typedef enum VkSemaphoreWaitFlagBits { 5002 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 5003 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 5004 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5005 } VkSemaphoreWaitFlagBits; 5006 typedef VkFlags VkSemaphoreWaitFlags; 5007 typedef struct VkPhysicalDeviceVulkan11Features { 5008 VkStructureType sType; 5009 void* pNext; 5010 VkBool32 storageBuffer16BitAccess; 5011 VkBool32 uniformAndStorageBuffer16BitAccess; 5012 VkBool32 storagePushConstant16; 5013 VkBool32 storageInputOutput16; 5014 VkBool32 multiview; 5015 VkBool32 multiviewGeometryShader; 5016 VkBool32 multiviewTessellationShader; 5017 VkBool32 variablePointersStorageBuffer; 5018 VkBool32 variablePointers; 5019 VkBool32 protectedMemory; 5020 VkBool32 samplerYcbcrConversion; 5021 VkBool32 shaderDrawParameters; 5022 } VkPhysicalDeviceVulkan11Features; 5023 5024 typedef struct VkPhysicalDeviceVulkan11Properties { 5025 VkStructureType sType; 5026 void* pNext; 5027 uint8_t deviceUUID[VK_UUID_SIZE]; 5028 uint8_t driverUUID[VK_UUID_SIZE]; 5029 uint8_t deviceLUID[VK_LUID_SIZE]; 5030 uint32_t deviceNodeMask; 5031 VkBool32 deviceLUIDValid; 5032 uint32_t subgroupSize; 5033 VkShaderStageFlags subgroupSupportedStages; 5034 VkSubgroupFeatureFlags subgroupSupportedOperations; 5035 VkBool32 subgroupQuadOperationsInAllStages; 5036 VkPointClippingBehavior pointClippingBehavior; 5037 uint32_t maxMultiviewViewCount; 5038 uint32_t maxMultiviewInstanceIndex; 5039 VkBool32 protectedNoFault; 5040 uint32_t maxPerSetDescriptors; 5041 VkDeviceSize maxMemoryAllocationSize; 5042 } VkPhysicalDeviceVulkan11Properties; 5043 5044 typedef struct VkPhysicalDeviceVulkan12Features { 5045 VkStructureType sType; 5046 void* pNext; 5047 VkBool32 samplerMirrorClampToEdge; 5048 VkBool32 drawIndirectCount; 5049 VkBool32 storageBuffer8BitAccess; 5050 VkBool32 uniformAndStorageBuffer8BitAccess; 5051 VkBool32 storagePushConstant8; 5052 VkBool32 shaderBufferInt64Atomics; 5053 VkBool32 shaderSharedInt64Atomics; 5054 VkBool32 shaderFloat16; 5055 VkBool32 shaderInt8; 5056 VkBool32 descriptorIndexing; 5057 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5058 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5059 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5060 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5061 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5062 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5063 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5064 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5065 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5066 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5067 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5068 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5069 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5070 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5071 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5072 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5073 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5074 VkBool32 descriptorBindingPartiallyBound; 5075 VkBool32 descriptorBindingVariableDescriptorCount; 5076 VkBool32 runtimeDescriptorArray; 5077 VkBool32 samplerFilterMinmax; 5078 VkBool32 scalarBlockLayout; 5079 VkBool32 imagelessFramebuffer; 5080 VkBool32 uniformBufferStandardLayout; 5081 VkBool32 shaderSubgroupExtendedTypes; 5082 VkBool32 separateDepthStencilLayouts; 5083 VkBool32 hostQueryReset; 5084 VkBool32 timelineSemaphore; 5085 VkBool32 bufferDeviceAddress; 5086 VkBool32 bufferDeviceAddressCaptureReplay; 5087 VkBool32 bufferDeviceAddressMultiDevice; 5088 VkBool32 vulkanMemoryModel; 5089 VkBool32 vulkanMemoryModelDeviceScope; 5090 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5091 VkBool32 shaderOutputViewportIndex; 5092 VkBool32 shaderOutputLayer; 5093 VkBool32 subgroupBroadcastDynamicId; 5094 } VkPhysicalDeviceVulkan12Features; 5095 5096 typedef struct VkConformanceVersion { 5097 uint8_t major; 5098 uint8_t minor; 5099 uint8_t subminor; 5100 uint8_t patch; 5101 } VkConformanceVersion; 5102 5103 typedef struct VkPhysicalDeviceVulkan12Properties { 5104 VkStructureType sType; 5105 void* pNext; 5106 VkDriverId driverID; 5107 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5108 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5109 VkConformanceVersion conformanceVersion; 5110 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5111 VkShaderFloatControlsIndependence roundingModeIndependence; 5112 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5113 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5114 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5115 VkBool32 shaderDenormPreserveFloat16; 5116 VkBool32 shaderDenormPreserveFloat32; 5117 VkBool32 shaderDenormPreserveFloat64; 5118 VkBool32 shaderDenormFlushToZeroFloat16; 5119 VkBool32 shaderDenormFlushToZeroFloat32; 5120 VkBool32 shaderDenormFlushToZeroFloat64; 5121 VkBool32 shaderRoundingModeRTEFloat16; 5122 VkBool32 shaderRoundingModeRTEFloat32; 5123 VkBool32 shaderRoundingModeRTEFloat64; 5124 VkBool32 shaderRoundingModeRTZFloat16; 5125 VkBool32 shaderRoundingModeRTZFloat32; 5126 VkBool32 shaderRoundingModeRTZFloat64; 5127 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5128 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5129 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5130 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5131 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5132 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5133 VkBool32 robustBufferAccessUpdateAfterBind; 5134 VkBool32 quadDivergentImplicitLod; 5135 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5136 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5137 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5138 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5139 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5140 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 5141 uint32_t maxPerStageUpdateAfterBindResources; 5142 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 5143 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 5144 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 5145 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 5146 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 5147 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 5148 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 5149 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 5150 VkResolveModeFlags supportedDepthResolveModes; 5151 VkResolveModeFlags supportedStencilResolveModes; 5152 VkBool32 independentResolveNone; 5153 VkBool32 independentResolve; 5154 VkBool32 filterMinmaxSingleComponentFormats; 5155 VkBool32 filterMinmaxImageComponentMapping; 5156 uint64_t maxTimelineSemaphoreValueDifference; 5157 VkSampleCountFlags framebufferIntegerColorSampleCounts; 5158 } VkPhysicalDeviceVulkan12Properties; 5159 5160 typedef struct VkImageFormatListCreateInfo { 5161 VkStructureType sType; 5162 const void* pNext; 5163 uint32_t viewFormatCount; 5164 const VkFormat* pViewFormats; 5165 } VkImageFormatListCreateInfo; 5166 5167 typedef struct VkAttachmentDescription2 { 5168 VkStructureType sType; 5169 const void* pNext; 5170 VkAttachmentDescriptionFlags flags; 5171 VkFormat format; 5172 VkSampleCountFlagBits samples; 5173 VkAttachmentLoadOp loadOp; 5174 VkAttachmentStoreOp storeOp; 5175 VkAttachmentLoadOp stencilLoadOp; 5176 VkAttachmentStoreOp stencilStoreOp; 5177 VkImageLayout initialLayout; 5178 VkImageLayout finalLayout; 5179 } VkAttachmentDescription2; 5180 5181 typedef struct VkAttachmentReference2 { 5182 VkStructureType sType; 5183 const void* pNext; 5184 uint32_t attachment; 5185 VkImageLayout layout; 5186 VkImageAspectFlags aspectMask; 5187 } VkAttachmentReference2; 5188 5189 typedef struct VkSubpassDescription2 { 5190 VkStructureType sType; 5191 const void* pNext; 5192 VkSubpassDescriptionFlags flags; 5193 VkPipelineBindPoint pipelineBindPoint; 5194 uint32_t viewMask; 5195 uint32_t inputAttachmentCount; 5196 const VkAttachmentReference2* pInputAttachments; 5197 uint32_t colorAttachmentCount; 5198 const VkAttachmentReference2* pColorAttachments; 5199 const VkAttachmentReference2* pResolveAttachments; 5200 const VkAttachmentReference2* pDepthStencilAttachment; 5201 uint32_t preserveAttachmentCount; 5202 const uint32_t* pPreserveAttachments; 5203 } VkSubpassDescription2; 5204 5205 typedef struct VkSubpassDependency2 { 5206 VkStructureType sType; 5207 const void* pNext; 5208 uint32_t srcSubpass; 5209 uint32_t dstSubpass; 5210 VkPipelineStageFlags srcStageMask; 5211 VkPipelineStageFlags dstStageMask; 5212 VkAccessFlags srcAccessMask; 5213 VkAccessFlags dstAccessMask; 5214 VkDependencyFlags dependencyFlags; 5215 int32_t viewOffset; 5216 } VkSubpassDependency2; 5217 5218 typedef struct VkRenderPassCreateInfo2 { 5219 VkStructureType sType; 5220 const void* pNext; 5221 VkRenderPassCreateFlags flags; 5222 uint32_t attachmentCount; 5223 const VkAttachmentDescription2* pAttachments; 5224 uint32_t subpassCount; 5225 const VkSubpassDescription2* pSubpasses; 5226 uint32_t dependencyCount; 5227 const VkSubpassDependency2* pDependencies; 5228 uint32_t correlatedViewMaskCount; 5229 const uint32_t* pCorrelatedViewMasks; 5230 } VkRenderPassCreateInfo2; 5231 5232 typedef struct VkSubpassBeginInfo { 5233 VkStructureType sType; 5234 const void* pNext; 5235 VkSubpassContents contents; 5236 } VkSubpassBeginInfo; 5237 5238 typedef struct VkSubpassEndInfo { 5239 VkStructureType sType; 5240 const void* pNext; 5241 } VkSubpassEndInfo; 5242 5243 typedef struct VkPhysicalDevice8BitStorageFeatures { 5244 VkStructureType sType; 5245 void* pNext; 5246 VkBool32 storageBuffer8BitAccess; 5247 VkBool32 uniformAndStorageBuffer8BitAccess; 5248 VkBool32 storagePushConstant8; 5249 } VkPhysicalDevice8BitStorageFeatures; 5250 5251 typedef struct VkPhysicalDeviceDriverProperties { 5252 VkStructureType sType; 5253 void* pNext; 5254 VkDriverId driverID; 5255 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 5256 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 5257 VkConformanceVersion conformanceVersion; 5258 } VkPhysicalDeviceDriverProperties; 5259 5260 typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 5261 VkStructureType sType; 5262 void* pNext; 5263 VkBool32 shaderBufferInt64Atomics; 5264 VkBool32 shaderSharedInt64Atomics; 5265 } VkPhysicalDeviceShaderAtomicInt64Features; 5266 5267 typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 5268 VkStructureType sType; 5269 void* pNext; 5270 VkBool32 shaderFloat16; 5271 VkBool32 shaderInt8; 5272 } VkPhysicalDeviceShaderFloat16Int8Features; 5273 5274 typedef struct VkPhysicalDeviceFloatControlsProperties { 5275 VkStructureType sType; 5276 void* pNext; 5277 VkShaderFloatControlsIndependence denormBehaviorIndependence; 5278 VkShaderFloatControlsIndependence roundingModeIndependence; 5279 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 5280 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 5281 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 5282 VkBool32 shaderDenormPreserveFloat16; 5283 VkBool32 shaderDenormPreserveFloat32; 5284 VkBool32 shaderDenormPreserveFloat64; 5285 VkBool32 shaderDenormFlushToZeroFloat16; 5286 VkBool32 shaderDenormFlushToZeroFloat32; 5287 VkBool32 shaderDenormFlushToZeroFloat64; 5288 VkBool32 shaderRoundingModeRTEFloat16; 5289 VkBool32 shaderRoundingModeRTEFloat32; 5290 VkBool32 shaderRoundingModeRTEFloat64; 5291 VkBool32 shaderRoundingModeRTZFloat16; 5292 VkBool32 shaderRoundingModeRTZFloat32; 5293 VkBool32 shaderRoundingModeRTZFloat64; 5294 } VkPhysicalDeviceFloatControlsProperties; 5295 5296 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 5297 VkStructureType sType; 5298 const void* pNext; 5299 uint32_t bindingCount; 5300 const VkDescriptorBindingFlags* pBindingFlags; 5301 } VkDescriptorSetLayoutBindingFlagsCreateInfo; 5302 5303 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 5304 VkStructureType sType; 5305 void* pNext; 5306 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 5307 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 5308 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 5309 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 5310 VkBool32 shaderSampledImageArrayNonUniformIndexing; 5311 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 5312 VkBool32 shaderStorageImageArrayNonUniformIndexing; 5313 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 5314 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 5315 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 5316 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 5317 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 5318 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 5319 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 5320 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 5321 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 5322 VkBool32 descriptorBindingUpdateUnusedWhilePending; 5323 VkBool32 descriptorBindingPartiallyBound; 5324 VkBool32 descriptorBindingVariableDescriptorCount; 5325 VkBool32 runtimeDescriptorArray; 5326 } VkPhysicalDeviceDescriptorIndexingFeatures; 5327 5328 typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 5329 VkStructureType sType; 5330 void* pNext; 5331 uint32_t maxUpdateAfterBindDescriptorsInAllPools; 5332 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 5333 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 5334 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 5335 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 5336 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 5337 VkBool32 robustBufferAccessUpdateAfterBind; 5338 VkBool32 quadDivergentImplicitLod; 5339 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; 5340 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; 5341 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; 5342 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; 5343 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; 5344 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; 5345 uint32_t maxPerStageUpdateAfterBindResources; 5346 uint32_t maxDescriptorSetUpdateAfterBindSamplers; 5347 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; 5348 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 5349 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; 5350 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 5351 uint32_t maxDescriptorSetUpdateAfterBindSampledImages; 5352 uint32_t maxDescriptorSetUpdateAfterBindStorageImages; 5353 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; 5354 } VkPhysicalDeviceDescriptorIndexingProperties; 5355 5356 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 5357 VkStructureType sType; 5358 const void* pNext; 5359 uint32_t descriptorSetCount; 5360 const uint32_t* pDescriptorCounts; 5361 } VkDescriptorSetVariableDescriptorCountAllocateInfo; 5362 5363 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 5364 VkStructureType sType; 5365 void* pNext; 5366 uint32_t maxVariableDescriptorCount; 5367 } VkDescriptorSetVariableDescriptorCountLayoutSupport; 5368 5369 typedef struct VkSubpassDescriptionDepthStencilResolve { 5370 VkStructureType sType; 5371 const void* pNext; 5372 VkResolveModeFlagBits depthResolveMode; 5373 VkResolveModeFlagBits stencilResolveMode; 5374 const VkAttachmentReference2* pDepthStencilResolveAttachment; 5375 } VkSubpassDescriptionDepthStencilResolve; 5376 5377 typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 5378 VkStructureType sType; 5379 void* pNext; 5380 VkResolveModeFlags supportedDepthResolveModes; 5381 VkResolveModeFlags supportedStencilResolveModes; 5382 VkBool32 independentResolveNone; 5383 VkBool32 independentResolve; 5384 } VkPhysicalDeviceDepthStencilResolveProperties; 5385 5386 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 5387 VkStructureType sType; 5388 void* pNext; 5389 VkBool32 scalarBlockLayout; 5390 } VkPhysicalDeviceScalarBlockLayoutFeatures; 5391 5392 typedef struct VkImageStencilUsageCreateInfo { 5393 VkStructureType sType; 5394 const void* pNext; 5395 VkImageUsageFlags stencilUsage; 5396 } VkImageStencilUsageCreateInfo; 5397 5398 typedef struct VkSamplerReductionModeCreateInfo { 5399 VkStructureType sType; 5400 const void* pNext; 5401 VkSamplerReductionMode reductionMode; 5402 } VkSamplerReductionModeCreateInfo; 5403 5404 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 5405 VkStructureType sType; 5406 void* pNext; 5407 VkBool32 filterMinmaxSingleComponentFormats; 5408 VkBool32 filterMinmaxImageComponentMapping; 5409 } VkPhysicalDeviceSamplerFilterMinmaxProperties; 5410 5411 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 5412 VkStructureType sType; 5413 void* pNext; 5414 VkBool32 vulkanMemoryModel; 5415 VkBool32 vulkanMemoryModelDeviceScope; 5416 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 5417 } VkPhysicalDeviceVulkanMemoryModelFeatures; 5418 5419 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 5420 VkStructureType sType; 5421 void* pNext; 5422 VkBool32 imagelessFramebuffer; 5423 } VkPhysicalDeviceImagelessFramebufferFeatures; 5424 5425 typedef struct VkFramebufferAttachmentImageInfo { 5426 VkStructureType sType; 5427 const void* pNext; 5428 VkImageCreateFlags flags; 5429 VkImageUsageFlags usage; 5430 uint32_t width; 5431 uint32_t height; 5432 uint32_t layerCount; 5433 uint32_t viewFormatCount; 5434 const VkFormat* pViewFormats; 5435 } VkFramebufferAttachmentImageInfo; 5436 5437 typedef struct VkFramebufferAttachmentsCreateInfo { 5438 VkStructureType sType; 5439 const void* pNext; 5440 uint32_t attachmentImageInfoCount; 5441 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 5442 } VkFramebufferAttachmentsCreateInfo; 5443 5444 typedef struct VkRenderPassAttachmentBeginInfo { 5445 VkStructureType sType; 5446 const void* pNext; 5447 uint32_t attachmentCount; 5448 const VkImageView* pAttachments; 5449 } VkRenderPassAttachmentBeginInfo; 5450 5451 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 5452 VkStructureType sType; 5453 void* pNext; 5454 VkBool32 uniformBufferStandardLayout; 5455 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 5456 5457 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 5458 VkStructureType sType; 5459 void* pNext; 5460 VkBool32 shaderSubgroupExtendedTypes; 5461 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 5462 5463 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 5464 VkStructureType sType; 5465 void* pNext; 5466 VkBool32 separateDepthStencilLayouts; 5467 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 5468 5469 typedef struct VkAttachmentReferenceStencilLayout { 5470 VkStructureType sType; 5471 void* pNext; 5472 VkImageLayout stencilLayout; 5473 } VkAttachmentReferenceStencilLayout; 5474 5475 typedef struct VkAttachmentDescriptionStencilLayout { 5476 VkStructureType sType; 5477 void* pNext; 5478 VkImageLayout stencilInitialLayout; 5479 VkImageLayout stencilFinalLayout; 5480 } VkAttachmentDescriptionStencilLayout; 5481 5482 typedef struct VkPhysicalDeviceHostQueryResetFeatures { 5483 VkStructureType sType; 5484 void* pNext; 5485 VkBool32 hostQueryReset; 5486 } VkPhysicalDeviceHostQueryResetFeatures; 5487 5488 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 5489 VkStructureType sType; 5490 void* pNext; 5491 VkBool32 timelineSemaphore; 5492 } VkPhysicalDeviceTimelineSemaphoreFeatures; 5493 5494 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 5495 VkStructureType sType; 5496 void* pNext; 5497 uint64_t maxTimelineSemaphoreValueDifference; 5498 } VkPhysicalDeviceTimelineSemaphoreProperties; 5499 5500 typedef struct VkSemaphoreTypeCreateInfo { 5501 VkStructureType sType; 5502 const void* pNext; 5503 VkSemaphoreType semaphoreType; 5504 uint64_t initialValue; 5505 } VkSemaphoreTypeCreateInfo; 5506 5507 typedef struct VkTimelineSemaphoreSubmitInfo { 5508 VkStructureType sType; 5509 const void* pNext; 5510 uint32_t waitSemaphoreValueCount; 5511 const uint64_t* pWaitSemaphoreValues; 5512 uint32_t signalSemaphoreValueCount; 5513 const uint64_t* pSignalSemaphoreValues; 5514 } VkTimelineSemaphoreSubmitInfo; 5515 5516 typedef struct VkSemaphoreWaitInfo { 5517 VkStructureType sType; 5518 const void* pNext; 5519 VkSemaphoreWaitFlags flags; 5520 uint32_t semaphoreCount; 5521 const VkSemaphore* pSemaphores; 5522 const uint64_t* pValues; 5523 } VkSemaphoreWaitInfo; 5524 5525 typedef struct VkSemaphoreSignalInfo { 5526 VkStructureType sType; 5527 const void* pNext; 5528 VkSemaphore semaphore; 5529 uint64_t value; 5530 } VkSemaphoreSignalInfo; 5531 5532 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 5533 VkStructureType sType; 5534 void* pNext; 5535 VkBool32 bufferDeviceAddress; 5536 VkBool32 bufferDeviceAddressCaptureReplay; 5537 VkBool32 bufferDeviceAddressMultiDevice; 5538 } VkPhysicalDeviceBufferDeviceAddressFeatures; 5539 5540 typedef struct VkBufferDeviceAddressInfo { 5541 VkStructureType sType; 5542 const void* pNext; 5543 VkBuffer buffer; 5544 } VkBufferDeviceAddressInfo; 5545 5546 typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 5547 VkStructureType sType; 5548 const void* pNext; 5549 uint64_t opaqueCaptureAddress; 5550 } VkBufferOpaqueCaptureAddressCreateInfo; 5551 5552 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 5553 VkStructureType sType; 5554 const void* pNext; 5555 uint64_t opaqueCaptureAddress; 5556 } VkMemoryOpaqueCaptureAddressAllocateInfo; 5557 5558 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 5559 VkStructureType sType; 5560 const void* pNext; 5561 VkDeviceMemory memory; 5562 } VkDeviceMemoryOpaqueCaptureAddressInfo; 5563 5564 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 5565 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 5566 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 5567 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 5568 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 5569 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 5570 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 5571 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 5572 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 5573 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 5574 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 5575 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 5576 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 5577 5578 #ifndef VK_NO_PROTOTYPES 5579 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 5580 VkCommandBuffer commandBuffer, 5581 VkBuffer buffer, 5582 VkDeviceSize offset, 5583 VkBuffer countBuffer, 5584 VkDeviceSize countBufferOffset, 5585 uint32_t maxDrawCount, 5586 uint32_t stride); 5587 5588 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 5589 VkCommandBuffer commandBuffer, 5590 VkBuffer buffer, 5591 VkDeviceSize offset, 5592 VkBuffer countBuffer, 5593 VkDeviceSize countBufferOffset, 5594 uint32_t maxDrawCount, 5595 uint32_t stride); 5596 5597 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 5598 VkDevice device, 5599 const VkRenderPassCreateInfo2* pCreateInfo, 5600 const VkAllocationCallbacks* pAllocator, 5601 VkRenderPass* pRenderPass); 5602 5603 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 5604 VkCommandBuffer commandBuffer, 5605 const VkRenderPassBeginInfo* pRenderPassBegin, 5606 const VkSubpassBeginInfo* pSubpassBeginInfo); 5607 5608 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 5609 VkCommandBuffer commandBuffer, 5610 const VkSubpassBeginInfo* pSubpassBeginInfo, 5611 const VkSubpassEndInfo* pSubpassEndInfo); 5612 5613 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 5614 VkCommandBuffer commandBuffer, 5615 const VkSubpassEndInfo* pSubpassEndInfo); 5616 5617 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 5618 VkDevice device, 5619 VkQueryPool queryPool, 5620 uint32_t firstQuery, 5621 uint32_t queryCount); 5622 5623 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 5624 VkDevice device, 5625 VkSemaphore semaphore, 5626 uint64_t* pValue); 5627 5628 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 5629 VkDevice device, 5630 const VkSemaphoreWaitInfo* pWaitInfo, 5631 uint64_t timeout); 5632 5633 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 5634 VkDevice device, 5635 const VkSemaphoreSignalInfo* pSignalInfo); 5636 5637 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 5638 VkDevice device, 5639 const VkBufferDeviceAddressInfo* pInfo); 5640 5641 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 5642 VkDevice device, 5643 const VkBufferDeviceAddressInfo* pInfo); 5644 5645 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 5646 VkDevice device, 5647 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 5648 #endif 5649 5650 5651 #define VK_KHR_surface 1 5652 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 5653 #define VK_KHR_SURFACE_SPEC_VERSION 25 5654 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 5655 5656 typedef enum VkPresentModeKHR { 5657 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 5658 VK_PRESENT_MODE_MAILBOX_KHR = 1, 5659 VK_PRESENT_MODE_FIFO_KHR = 2, 5660 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 5661 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 5662 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 5663 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 5664 } VkPresentModeKHR; 5665 5666 typedef enum VkColorSpaceKHR { 5667 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 5668 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 5669 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 5670 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 5671 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 5672 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 5673 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 5674 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 5675 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 5676 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 5677 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 5678 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 5679 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 5680 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 5681 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 5682 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 5683 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 5684 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 5685 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 5686 } VkColorSpaceKHR; 5687 5688 typedef enum VkSurfaceTransformFlagBitsKHR { 5689 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 5690 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 5691 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 5692 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 5693 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 5694 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 5695 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 5696 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 5697 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 5698 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5699 } VkSurfaceTransformFlagBitsKHR; 5700 5701 typedef enum VkCompositeAlphaFlagBitsKHR { 5702 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 5703 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 5704 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 5705 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 5706 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5707 } VkCompositeAlphaFlagBitsKHR; 5708 typedef VkFlags VkCompositeAlphaFlagsKHR; 5709 typedef VkFlags VkSurfaceTransformFlagsKHR; 5710 typedef struct VkSurfaceCapabilitiesKHR { 5711 uint32_t minImageCount; 5712 uint32_t maxImageCount; 5713 VkExtent2D currentExtent; 5714 VkExtent2D minImageExtent; 5715 VkExtent2D maxImageExtent; 5716 uint32_t maxImageArrayLayers; 5717 VkSurfaceTransformFlagsKHR supportedTransforms; 5718 VkSurfaceTransformFlagBitsKHR currentTransform; 5719 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 5720 VkImageUsageFlags supportedUsageFlags; 5721 } VkSurfaceCapabilitiesKHR; 5722 5723 typedef struct VkSurfaceFormatKHR { 5724 VkFormat format; 5725 VkColorSpaceKHR colorSpace; 5726 } VkSurfaceFormatKHR; 5727 5728 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 5729 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 5730 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 5731 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 5732 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 5733 5734 #ifndef VK_NO_PROTOTYPES 5735 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 5736 VkInstance instance, 5737 VkSurfaceKHR surface, 5738 const VkAllocationCallbacks* pAllocator); 5739 5740 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 5741 VkPhysicalDevice physicalDevice, 5742 uint32_t queueFamilyIndex, 5743 VkSurfaceKHR surface, 5744 VkBool32* pSupported); 5745 5746 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 5747 VkPhysicalDevice physicalDevice, 5748 VkSurfaceKHR surface, 5749 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 5750 5751 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 5752 VkPhysicalDevice physicalDevice, 5753 VkSurfaceKHR surface, 5754 uint32_t* pSurfaceFormatCount, 5755 VkSurfaceFormatKHR* pSurfaceFormats); 5756 5757 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 5758 VkPhysicalDevice physicalDevice, 5759 VkSurfaceKHR surface, 5760 uint32_t* pPresentModeCount, 5761 VkPresentModeKHR* pPresentModes); 5762 #endif 5763 5764 5765 #define VK_KHR_swapchain 1 5766 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 5767 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 5768 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 5769 5770 typedef enum VkSwapchainCreateFlagBitsKHR { 5771 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 5772 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 5773 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 5774 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5775 } VkSwapchainCreateFlagBitsKHR; 5776 typedef VkFlags VkSwapchainCreateFlagsKHR; 5777 5778 typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 5779 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 5780 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 5781 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 5782 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 5783 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5784 } VkDeviceGroupPresentModeFlagBitsKHR; 5785 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 5786 typedef struct VkSwapchainCreateInfoKHR { 5787 VkStructureType sType; 5788 const void* pNext; 5789 VkSwapchainCreateFlagsKHR flags; 5790 VkSurfaceKHR surface; 5791 uint32_t minImageCount; 5792 VkFormat imageFormat; 5793 VkColorSpaceKHR imageColorSpace; 5794 VkExtent2D imageExtent; 5795 uint32_t imageArrayLayers; 5796 VkImageUsageFlags imageUsage; 5797 VkSharingMode imageSharingMode; 5798 uint32_t queueFamilyIndexCount; 5799 const uint32_t* pQueueFamilyIndices; 5800 VkSurfaceTransformFlagBitsKHR preTransform; 5801 VkCompositeAlphaFlagBitsKHR compositeAlpha; 5802 VkPresentModeKHR presentMode; 5803 VkBool32 clipped; 5804 VkSwapchainKHR oldSwapchain; 5805 } VkSwapchainCreateInfoKHR; 5806 5807 typedef struct VkPresentInfoKHR { 5808 VkStructureType sType; 5809 const void* pNext; 5810 uint32_t waitSemaphoreCount; 5811 const VkSemaphore* pWaitSemaphores; 5812 uint32_t swapchainCount; 5813 const VkSwapchainKHR* pSwapchains; 5814 const uint32_t* pImageIndices; 5815 VkResult* pResults; 5816 } VkPresentInfoKHR; 5817 5818 typedef struct VkImageSwapchainCreateInfoKHR { 5819 VkStructureType sType; 5820 const void* pNext; 5821 VkSwapchainKHR swapchain; 5822 } VkImageSwapchainCreateInfoKHR; 5823 5824 typedef struct VkBindImageMemorySwapchainInfoKHR { 5825 VkStructureType sType; 5826 const void* pNext; 5827 VkSwapchainKHR swapchain; 5828 uint32_t imageIndex; 5829 } VkBindImageMemorySwapchainInfoKHR; 5830 5831 typedef struct VkAcquireNextImageInfoKHR { 5832 VkStructureType sType; 5833 const void* pNext; 5834 VkSwapchainKHR swapchain; 5835 uint64_t timeout; 5836 VkSemaphore semaphore; 5837 VkFence fence; 5838 uint32_t deviceMask; 5839 } VkAcquireNextImageInfoKHR; 5840 5841 typedef struct VkDeviceGroupPresentCapabilitiesKHR { 5842 VkStructureType sType; 5843 const void* pNext; 5844 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 5845 VkDeviceGroupPresentModeFlagsKHR modes; 5846 } VkDeviceGroupPresentCapabilitiesKHR; 5847 5848 typedef struct VkDeviceGroupPresentInfoKHR { 5849 VkStructureType sType; 5850 const void* pNext; 5851 uint32_t swapchainCount; 5852 const uint32_t* pDeviceMasks; 5853 VkDeviceGroupPresentModeFlagBitsKHR mode; 5854 } VkDeviceGroupPresentInfoKHR; 5855 5856 typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 5857 VkStructureType sType; 5858 const void* pNext; 5859 VkDeviceGroupPresentModeFlagsKHR modes; 5860 } VkDeviceGroupSwapchainCreateInfoKHR; 5861 5862 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 5863 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 5864 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 5865 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 5866 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 5867 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 5868 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 5869 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 5870 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); 5871 5872 #ifndef VK_NO_PROTOTYPES 5873 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 5874 VkDevice device, 5875 const VkSwapchainCreateInfoKHR* pCreateInfo, 5876 const VkAllocationCallbacks* pAllocator, 5877 VkSwapchainKHR* pSwapchain); 5878 5879 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 5880 VkDevice device, 5881 VkSwapchainKHR swapchain, 5882 const VkAllocationCallbacks* pAllocator); 5883 5884 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 5885 VkDevice device, 5886 VkSwapchainKHR swapchain, 5887 uint32_t* pSwapchainImageCount, 5888 VkImage* pSwapchainImages); 5889 5890 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 5891 VkDevice device, 5892 VkSwapchainKHR swapchain, 5893 uint64_t timeout, 5894 VkSemaphore semaphore, 5895 VkFence fence, 5896 uint32_t* pImageIndex); 5897 5898 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 5899 VkQueue queue, 5900 const VkPresentInfoKHR* pPresentInfo); 5901 5902 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 5903 VkDevice device, 5904 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 5905 5906 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 5907 VkDevice device, 5908 VkSurfaceKHR surface, 5909 VkDeviceGroupPresentModeFlagsKHR* pModes); 5910 5911 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 5912 VkPhysicalDevice physicalDevice, 5913 VkSurfaceKHR surface, 5914 uint32_t* pRectCount, 5915 VkRect2D* pRects); 5916 5917 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 5918 VkDevice device, 5919 const VkAcquireNextImageInfoKHR* pAcquireInfo, 5920 uint32_t* pImageIndex); 5921 #endif 5922 5923 5924 #define VK_KHR_display 1 5925 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 5926 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 5927 #define VK_KHR_DISPLAY_SPEC_VERSION 23 5928 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 5929 typedef VkFlags VkDisplayModeCreateFlagsKHR; 5930 5931 typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 5932 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 5933 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 5934 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 5935 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 5936 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 5937 } VkDisplayPlaneAlphaFlagBitsKHR; 5938 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 5939 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 5940 typedef struct VkDisplayModeParametersKHR { 5941 VkExtent2D visibleRegion; 5942 uint32_t refreshRate; 5943 } VkDisplayModeParametersKHR; 5944 5945 typedef struct VkDisplayModeCreateInfoKHR { 5946 VkStructureType sType; 5947 const void* pNext; 5948 VkDisplayModeCreateFlagsKHR flags; 5949 VkDisplayModeParametersKHR parameters; 5950 } VkDisplayModeCreateInfoKHR; 5951 5952 typedef struct VkDisplayModePropertiesKHR { 5953 VkDisplayModeKHR displayMode; 5954 VkDisplayModeParametersKHR parameters; 5955 } VkDisplayModePropertiesKHR; 5956 5957 typedef struct VkDisplayPlaneCapabilitiesKHR { 5958 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 5959 VkOffset2D minSrcPosition; 5960 VkOffset2D maxSrcPosition; 5961 VkExtent2D minSrcExtent; 5962 VkExtent2D maxSrcExtent; 5963 VkOffset2D minDstPosition; 5964 VkOffset2D maxDstPosition; 5965 VkExtent2D minDstExtent; 5966 VkExtent2D maxDstExtent; 5967 } VkDisplayPlaneCapabilitiesKHR; 5968 5969 typedef struct VkDisplayPlanePropertiesKHR { 5970 VkDisplayKHR currentDisplay; 5971 uint32_t currentStackIndex; 5972 } VkDisplayPlanePropertiesKHR; 5973 5974 typedef struct VkDisplayPropertiesKHR { 5975 VkDisplayKHR display; 5976 const char* displayName; 5977 VkExtent2D physicalDimensions; 5978 VkExtent2D physicalResolution; 5979 VkSurfaceTransformFlagsKHR supportedTransforms; 5980 VkBool32 planeReorderPossible; 5981 VkBool32 persistentContent; 5982 } VkDisplayPropertiesKHR; 5983 5984 typedef struct VkDisplaySurfaceCreateInfoKHR { 5985 VkStructureType sType; 5986 const void* pNext; 5987 VkDisplaySurfaceCreateFlagsKHR flags; 5988 VkDisplayModeKHR displayMode; 5989 uint32_t planeIndex; 5990 uint32_t planeStackIndex; 5991 VkSurfaceTransformFlagBitsKHR transform; 5992 float globalAlpha; 5993 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 5994 VkExtent2D imageExtent; 5995 } VkDisplaySurfaceCreateInfoKHR; 5996 5997 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 5998 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 5999 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 6000 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 6001 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 6002 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 6003 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 6004 6005 #ifndef VK_NO_PROTOTYPES 6006 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 6007 VkPhysicalDevice physicalDevice, 6008 uint32_t* pPropertyCount, 6009 VkDisplayPropertiesKHR* pProperties); 6010 6011 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 6012 VkPhysicalDevice physicalDevice, 6013 uint32_t* pPropertyCount, 6014 VkDisplayPlanePropertiesKHR* pProperties); 6015 6016 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 6017 VkPhysicalDevice physicalDevice, 6018 uint32_t planeIndex, 6019 uint32_t* pDisplayCount, 6020 VkDisplayKHR* pDisplays); 6021 6022 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 6023 VkPhysicalDevice physicalDevice, 6024 VkDisplayKHR display, 6025 uint32_t* pPropertyCount, 6026 VkDisplayModePropertiesKHR* pProperties); 6027 6028 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 6029 VkPhysicalDevice physicalDevice, 6030 VkDisplayKHR display, 6031 const VkDisplayModeCreateInfoKHR* pCreateInfo, 6032 const VkAllocationCallbacks* pAllocator, 6033 VkDisplayModeKHR* pMode); 6034 6035 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 6036 VkPhysicalDevice physicalDevice, 6037 VkDisplayModeKHR mode, 6038 uint32_t planeIndex, 6039 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 6040 6041 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 6042 VkInstance instance, 6043 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 6044 const VkAllocationCallbacks* pAllocator, 6045 VkSurfaceKHR* pSurface); 6046 #endif 6047 6048 6049 #define VK_KHR_display_swapchain 1 6050 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 6051 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 6052 typedef struct VkDisplayPresentInfoKHR { 6053 VkStructureType sType; 6054 const void* pNext; 6055 VkRect2D srcRect; 6056 VkRect2D dstRect; 6057 VkBool32 persistent; 6058 } VkDisplayPresentInfoKHR; 6059 6060 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 6061 6062 #ifndef VK_NO_PROTOTYPES 6063 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 6064 VkDevice device, 6065 uint32_t swapchainCount, 6066 const VkSwapchainCreateInfoKHR* pCreateInfos, 6067 const VkAllocationCallbacks* pAllocator, 6068 VkSwapchainKHR* pSwapchains); 6069 #endif 6070 6071 6072 #define VK_KHR_sampler_mirror_clamp_to_edge 1 6073 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 6074 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 6075 6076 6077 #define VK_KHR_multiview 1 6078 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 6079 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 6080 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 6081 6082 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 6083 6084 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 6085 6086 6087 6088 #define VK_KHR_get_physical_device_properties2 1 6089 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 6090 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 6091 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 6092 6093 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 6094 6095 typedef VkFormatProperties2 VkFormatProperties2KHR; 6096 6097 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 6098 6099 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 6100 6101 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 6102 6103 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 6104 6105 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 6106 6107 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 6108 6109 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 6110 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 6111 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 6112 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 6113 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 6114 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 6115 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 6116 6117 #ifndef VK_NO_PROTOTYPES 6118 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 6119 VkPhysicalDevice physicalDevice, 6120 VkPhysicalDeviceFeatures2* pFeatures); 6121 6122 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 6123 VkPhysicalDevice physicalDevice, 6124 VkPhysicalDeviceProperties2* pProperties); 6125 6126 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 6127 VkPhysicalDevice physicalDevice, 6128 VkFormat format, 6129 VkFormatProperties2* pFormatProperties); 6130 6131 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 6132 VkPhysicalDevice physicalDevice, 6133 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 6134 VkImageFormatProperties2* pImageFormatProperties); 6135 6136 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 6137 VkPhysicalDevice physicalDevice, 6138 uint32_t* pQueueFamilyPropertyCount, 6139 VkQueueFamilyProperties2* pQueueFamilyProperties); 6140 6141 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 6142 VkPhysicalDevice physicalDevice, 6143 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 6144 6145 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 6146 VkPhysicalDevice physicalDevice, 6147 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 6148 uint32_t* pPropertyCount, 6149 VkSparseImageFormatProperties2* pProperties); 6150 #endif 6151 6152 6153 #define VK_KHR_device_group 1 6154 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 6155 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 6156 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 6157 6158 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 6159 6160 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 6161 6162 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 6163 6164 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 6165 6166 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 6167 6168 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 6169 6170 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 6171 6172 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 6173 6174 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 6175 6176 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 6177 6178 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 6179 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 6180 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 6181 6182 #ifndef VK_NO_PROTOTYPES 6183 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 6184 VkDevice device, 6185 uint32_t heapIndex, 6186 uint32_t localDeviceIndex, 6187 uint32_t remoteDeviceIndex, 6188 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 6189 6190 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 6191 VkCommandBuffer commandBuffer, 6192 uint32_t deviceMask); 6193 6194 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 6195 VkCommandBuffer commandBuffer, 6196 uint32_t baseGroupX, 6197 uint32_t baseGroupY, 6198 uint32_t baseGroupZ, 6199 uint32_t groupCountX, 6200 uint32_t groupCountY, 6201 uint32_t groupCountZ); 6202 #endif 6203 6204 6205 #define VK_KHR_shader_draw_parameters 1 6206 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 6207 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 6208 6209 6210 #define VK_KHR_maintenance1 1 6211 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2 6212 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" 6213 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 6214 6215 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 6216 6217 #ifndef VK_NO_PROTOTYPES 6218 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 6219 VkDevice device, 6220 VkCommandPool commandPool, 6221 VkCommandPoolTrimFlags flags); 6222 #endif 6223 6224 6225 #define VK_KHR_device_group_creation 1 6226 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 6227 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 6228 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 6229 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 6230 6231 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 6232 6233 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 6234 6235 #ifndef VK_NO_PROTOTYPES 6236 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 6237 VkInstance instance, 6238 uint32_t* pPhysicalDeviceGroupCount, 6239 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 6240 #endif 6241 6242 6243 #define VK_KHR_external_memory_capabilities 1 6244 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 6245 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 6246 #define VK_LUID_SIZE_KHR VK_LUID_SIZE 6247 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 6248 6249 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 6250 6251 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 6252 6253 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 6254 6255 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 6256 6257 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 6258 6259 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 6260 6261 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 6262 6263 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 6264 6265 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 6266 6267 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 6268 6269 #ifndef VK_NO_PROTOTYPES 6270 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 6271 VkPhysicalDevice physicalDevice, 6272 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 6273 VkExternalBufferProperties* pExternalBufferProperties); 6274 #endif 6275 6276 6277 #define VK_KHR_external_memory 1 6278 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 6279 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 6280 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 6281 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 6282 6283 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 6284 6285 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 6286 6287 6288 6289 #define VK_KHR_external_memory_fd 1 6290 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 6291 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 6292 typedef struct VkImportMemoryFdInfoKHR { 6293 VkStructureType sType; 6294 const void* pNext; 6295 VkExternalMemoryHandleTypeFlagBits handleType; 6296 int fd; 6297 } VkImportMemoryFdInfoKHR; 6298 6299 typedef struct VkMemoryFdPropertiesKHR { 6300 VkStructureType sType; 6301 void* pNext; 6302 uint32_t memoryTypeBits; 6303 } VkMemoryFdPropertiesKHR; 6304 6305 typedef struct VkMemoryGetFdInfoKHR { 6306 VkStructureType sType; 6307 const void* pNext; 6308 VkDeviceMemory memory; 6309 VkExternalMemoryHandleTypeFlagBits handleType; 6310 } VkMemoryGetFdInfoKHR; 6311 6312 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 6313 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 6314 6315 #ifndef VK_NO_PROTOTYPES 6316 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 6317 VkDevice device, 6318 const VkMemoryGetFdInfoKHR* pGetFdInfo, 6319 int* pFd); 6320 6321 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 6322 VkDevice device, 6323 VkExternalMemoryHandleTypeFlagBits handleType, 6324 int fd, 6325 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 6326 #endif 6327 6328 6329 #define VK_KHR_external_semaphore_capabilities 1 6330 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 6331 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 6332 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 6333 6334 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 6335 6336 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 6337 6338 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 6339 6340 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 6341 6342 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 6343 6344 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 6345 6346 #ifndef VK_NO_PROTOTYPES 6347 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 6348 VkPhysicalDevice physicalDevice, 6349 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 6350 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 6351 #endif 6352 6353 6354 #define VK_KHR_external_semaphore 1 6355 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 6356 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 6357 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 6358 6359 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 6360 6361 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 6362 6363 6364 6365 #define VK_KHR_external_semaphore_fd 1 6366 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 6367 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 6368 typedef struct VkImportSemaphoreFdInfoKHR { 6369 VkStructureType sType; 6370 const void* pNext; 6371 VkSemaphore semaphore; 6372 VkSemaphoreImportFlags flags; 6373 VkExternalSemaphoreHandleTypeFlagBits handleType; 6374 int fd; 6375 } VkImportSemaphoreFdInfoKHR; 6376 6377 typedef struct VkSemaphoreGetFdInfoKHR { 6378 VkStructureType sType; 6379 const void* pNext; 6380 VkSemaphore semaphore; 6381 VkExternalSemaphoreHandleTypeFlagBits handleType; 6382 } VkSemaphoreGetFdInfoKHR; 6383 6384 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 6385 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 6386 6387 #ifndef VK_NO_PROTOTYPES 6388 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 6389 VkDevice device, 6390 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 6391 6392 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 6393 VkDevice device, 6394 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 6395 int* pFd); 6396 #endif 6397 6398 6399 #define VK_KHR_push_descriptor 1 6400 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 6401 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 6402 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 6403 VkStructureType sType; 6404 void* pNext; 6405 uint32_t maxPushDescriptors; 6406 } VkPhysicalDevicePushDescriptorPropertiesKHR; 6407 6408 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 6409 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 6410 6411 #ifndef VK_NO_PROTOTYPES 6412 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 6413 VkCommandBuffer commandBuffer, 6414 VkPipelineBindPoint pipelineBindPoint, 6415 VkPipelineLayout layout, 6416 uint32_t set, 6417 uint32_t descriptorWriteCount, 6418 const VkWriteDescriptorSet* pDescriptorWrites); 6419 6420 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 6421 VkCommandBuffer commandBuffer, 6422 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 6423 VkPipelineLayout layout, 6424 uint32_t set, 6425 const void* pData); 6426 #endif 6427 6428 6429 #define VK_KHR_shader_float16_int8 1 6430 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 6431 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 6432 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 6433 6434 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 6435 6436 6437 6438 #define VK_KHR_16bit_storage 1 6439 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 6440 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 6441 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 6442 6443 6444 6445 #define VK_KHR_incremental_present 1 6446 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1 6447 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 6448 typedef struct VkRectLayerKHR { 6449 VkOffset2D offset; 6450 VkExtent2D extent; 6451 uint32_t layer; 6452 } VkRectLayerKHR; 6453 6454 typedef struct VkPresentRegionKHR { 6455 uint32_t rectangleCount; 6456 const VkRectLayerKHR* pRectangles; 6457 } VkPresentRegionKHR; 6458 6459 typedef struct VkPresentRegionsKHR { 6460 VkStructureType sType; 6461 const void* pNext; 6462 uint32_t swapchainCount; 6463 const VkPresentRegionKHR* pRegions; 6464 } VkPresentRegionsKHR; 6465 6466 6467 6468 #define VK_KHR_descriptor_update_template 1 6469 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 6470 6471 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 6472 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 6473 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 6474 6475 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 6476 6477 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 6478 6479 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 6480 6481 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 6482 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 6483 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 6484 6485 #ifndef VK_NO_PROTOTYPES 6486 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 6487 VkDevice device, 6488 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 6489 const VkAllocationCallbacks* pAllocator, 6490 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 6491 6492 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 6493 VkDevice device, 6494 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 6495 const VkAllocationCallbacks* pAllocator); 6496 6497 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 6498 VkDevice device, 6499 VkDescriptorSet descriptorSet, 6500 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 6501 const void* pData); 6502 #endif 6503 6504 6505 #define VK_KHR_imageless_framebuffer 1 6506 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 6507 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 6508 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 6509 6510 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 6511 6512 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 6513 6514 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 6515 6516 6517 6518 #define VK_KHR_create_renderpass2 1 6519 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 6520 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 6521 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 6522 6523 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 6524 6525 typedef VkAttachmentReference2 VkAttachmentReference2KHR; 6526 6527 typedef VkSubpassDescription2 VkSubpassDescription2KHR; 6528 6529 typedef VkSubpassDependency2 VkSubpassDependency2KHR; 6530 6531 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 6532 6533 typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 6534 6535 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 6536 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 6537 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 6538 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 6539 6540 #ifndef VK_NO_PROTOTYPES 6541 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 6542 VkDevice device, 6543 const VkRenderPassCreateInfo2* pCreateInfo, 6544 const VkAllocationCallbacks* pAllocator, 6545 VkRenderPass* pRenderPass); 6546 6547 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 6548 VkCommandBuffer commandBuffer, 6549 const VkRenderPassBeginInfo* pRenderPassBegin, 6550 const VkSubpassBeginInfo* pSubpassBeginInfo); 6551 6552 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 6553 VkCommandBuffer commandBuffer, 6554 const VkSubpassBeginInfo* pSubpassBeginInfo, 6555 const VkSubpassEndInfo* pSubpassEndInfo); 6556 6557 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 6558 VkCommandBuffer commandBuffer, 6559 const VkSubpassEndInfo* pSubpassEndInfo); 6560 #endif 6561 6562 6563 #define VK_KHR_shared_presentable_image 1 6564 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 6565 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 6566 typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 6567 VkStructureType sType; 6568 void* pNext; 6569 VkImageUsageFlags sharedPresentSupportedUsageFlags; 6570 } VkSharedPresentSurfaceCapabilitiesKHR; 6571 6572 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 6573 6574 #ifndef VK_NO_PROTOTYPES 6575 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 6576 VkDevice device, 6577 VkSwapchainKHR swapchain); 6578 #endif 6579 6580 6581 #define VK_KHR_external_fence_capabilities 1 6582 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 6583 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 6584 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 6585 6586 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 6587 6588 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 6589 6590 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 6591 6592 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 6593 6594 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 6595 6596 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 6597 6598 #ifndef VK_NO_PROTOTYPES 6599 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 6600 VkPhysicalDevice physicalDevice, 6601 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 6602 VkExternalFenceProperties* pExternalFenceProperties); 6603 #endif 6604 6605 6606 #define VK_KHR_external_fence 1 6607 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 6608 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 6609 typedef VkFenceImportFlags VkFenceImportFlagsKHR; 6610 6611 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 6612 6613 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 6614 6615 6616 6617 #define VK_KHR_external_fence_fd 1 6618 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 6619 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 6620 typedef struct VkImportFenceFdInfoKHR { 6621 VkStructureType sType; 6622 const void* pNext; 6623 VkFence fence; 6624 VkFenceImportFlags flags; 6625 VkExternalFenceHandleTypeFlagBits handleType; 6626 int fd; 6627 } VkImportFenceFdInfoKHR; 6628 6629 typedef struct VkFenceGetFdInfoKHR { 6630 VkStructureType sType; 6631 const void* pNext; 6632 VkFence fence; 6633 VkExternalFenceHandleTypeFlagBits handleType; 6634 } VkFenceGetFdInfoKHR; 6635 6636 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 6637 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 6638 6639 #ifndef VK_NO_PROTOTYPES 6640 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 6641 VkDevice device, 6642 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 6643 6644 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 6645 VkDevice device, 6646 const VkFenceGetFdInfoKHR* pGetFdInfo, 6647 int* pFd); 6648 #endif 6649 6650 6651 #define VK_KHR_performance_query 1 6652 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 6653 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 6654 6655 typedef enum VkPerformanceCounterUnitKHR { 6656 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 6657 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 6658 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 6659 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 6660 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 6661 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 6662 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 6663 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 6664 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 6665 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 6666 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 6667 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 6668 } VkPerformanceCounterUnitKHR; 6669 6670 typedef enum VkPerformanceCounterScopeKHR { 6671 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 6672 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 6673 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 6674 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 6675 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 6676 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 6677 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 6678 } VkPerformanceCounterScopeKHR; 6679 6680 typedef enum VkPerformanceCounterStorageKHR { 6681 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 6682 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 6683 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 6684 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 6685 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 6686 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 6687 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 6688 } VkPerformanceCounterStorageKHR; 6689 6690 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 6691 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001, 6692 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002, 6693 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 6694 } VkPerformanceCounterDescriptionFlagBitsKHR; 6695 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 6696 6697 typedef enum VkAcquireProfilingLockFlagBitsKHR { 6698 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 6699 } VkAcquireProfilingLockFlagBitsKHR; 6700 typedef VkFlags VkAcquireProfilingLockFlagsKHR; 6701 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 6702 VkStructureType sType; 6703 void* pNext; 6704 VkBool32 performanceCounterQueryPools; 6705 VkBool32 performanceCounterMultipleQueryPools; 6706 } VkPhysicalDevicePerformanceQueryFeaturesKHR; 6707 6708 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 6709 VkStructureType sType; 6710 void* pNext; 6711 VkBool32 allowCommandBufferQueryCopies; 6712 } VkPhysicalDevicePerformanceQueryPropertiesKHR; 6713 6714 typedef struct VkPerformanceCounterKHR { 6715 VkStructureType sType; 6716 const void* pNext; 6717 VkPerformanceCounterUnitKHR unit; 6718 VkPerformanceCounterScopeKHR scope; 6719 VkPerformanceCounterStorageKHR storage; 6720 uint8_t uuid[VK_UUID_SIZE]; 6721 } VkPerformanceCounterKHR; 6722 6723 typedef struct VkPerformanceCounterDescriptionKHR { 6724 VkStructureType sType; 6725 const void* pNext; 6726 VkPerformanceCounterDescriptionFlagsKHR flags; 6727 char name[VK_MAX_DESCRIPTION_SIZE]; 6728 char category[VK_MAX_DESCRIPTION_SIZE]; 6729 char description[VK_MAX_DESCRIPTION_SIZE]; 6730 } VkPerformanceCounterDescriptionKHR; 6731 6732 typedef struct VkQueryPoolPerformanceCreateInfoKHR { 6733 VkStructureType sType; 6734 const void* pNext; 6735 uint32_t queueFamilyIndex; 6736 uint32_t counterIndexCount; 6737 const uint32_t* pCounterIndices; 6738 } VkQueryPoolPerformanceCreateInfoKHR; 6739 6740 typedef union VkPerformanceCounterResultKHR { 6741 int32_t int32; 6742 int64_t int64; 6743 uint32_t uint32; 6744 uint64_t uint64; 6745 float float32; 6746 double float64; 6747 } VkPerformanceCounterResultKHR; 6748 6749 typedef struct VkAcquireProfilingLockInfoKHR { 6750 VkStructureType sType; 6751 const void* pNext; 6752 VkAcquireProfilingLockFlagsKHR flags; 6753 uint64_t timeout; 6754 } VkAcquireProfilingLockInfoKHR; 6755 6756 typedef struct VkPerformanceQuerySubmitInfoKHR { 6757 VkStructureType sType; 6758 const void* pNext; 6759 uint32_t counterPassIndex; 6760 } VkPerformanceQuerySubmitInfoKHR; 6761 6762 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 6763 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); 6764 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 6765 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 6766 6767 #ifndef VK_NO_PROTOTYPES 6768 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 6769 VkPhysicalDevice physicalDevice, 6770 uint32_t queueFamilyIndex, 6771 uint32_t* pCounterCount, 6772 VkPerformanceCounterKHR* pCounters, 6773 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 6774 6775 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 6776 VkPhysicalDevice physicalDevice, 6777 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 6778 uint32_t* pNumPasses); 6779 6780 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 6781 VkDevice device, 6782 const VkAcquireProfilingLockInfoKHR* pInfo); 6783 6784 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 6785 VkDevice device); 6786 #endif 6787 6788 6789 #define VK_KHR_maintenance2 1 6790 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1 6791 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2" 6792 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 6793 6794 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 6795 6796 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 6797 6798 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 6799 6800 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 6801 6802 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 6803 6804 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 6805 6806 6807 6808 #define VK_KHR_get_surface_capabilities2 1 6809 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 6810 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 6811 typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 6812 VkStructureType sType; 6813 const void* pNext; 6814 VkSurfaceKHR surface; 6815 } VkPhysicalDeviceSurfaceInfo2KHR; 6816 6817 typedef struct VkSurfaceCapabilities2KHR { 6818 VkStructureType sType; 6819 void* pNext; 6820 VkSurfaceCapabilitiesKHR surfaceCapabilities; 6821 } VkSurfaceCapabilities2KHR; 6822 6823 typedef struct VkSurfaceFormat2KHR { 6824 VkStructureType sType; 6825 void* pNext; 6826 VkSurfaceFormatKHR surfaceFormat; 6827 } VkSurfaceFormat2KHR; 6828 6829 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 6830 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 6831 6832 #ifndef VK_NO_PROTOTYPES 6833 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 6834 VkPhysicalDevice physicalDevice, 6835 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 6836 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 6837 6838 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 6839 VkPhysicalDevice physicalDevice, 6840 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 6841 uint32_t* pSurfaceFormatCount, 6842 VkSurfaceFormat2KHR* pSurfaceFormats); 6843 #endif 6844 6845 6846 #define VK_KHR_variable_pointers 1 6847 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 6848 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 6849 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 6850 6851 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 6852 6853 6854 6855 #define VK_KHR_get_display_properties2 1 6856 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 6857 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 6858 typedef struct VkDisplayProperties2KHR { 6859 VkStructureType sType; 6860 void* pNext; 6861 VkDisplayPropertiesKHR displayProperties; 6862 } VkDisplayProperties2KHR; 6863 6864 typedef struct VkDisplayPlaneProperties2KHR { 6865 VkStructureType sType; 6866 void* pNext; 6867 VkDisplayPlanePropertiesKHR displayPlaneProperties; 6868 } VkDisplayPlaneProperties2KHR; 6869 6870 typedef struct VkDisplayModeProperties2KHR { 6871 VkStructureType sType; 6872 void* pNext; 6873 VkDisplayModePropertiesKHR displayModeProperties; 6874 } VkDisplayModeProperties2KHR; 6875 6876 typedef struct VkDisplayPlaneInfo2KHR { 6877 VkStructureType sType; 6878 const void* pNext; 6879 VkDisplayModeKHR mode; 6880 uint32_t planeIndex; 6881 } VkDisplayPlaneInfo2KHR; 6882 6883 typedef struct VkDisplayPlaneCapabilities2KHR { 6884 VkStructureType sType; 6885 void* pNext; 6886 VkDisplayPlaneCapabilitiesKHR capabilities; 6887 } VkDisplayPlaneCapabilities2KHR; 6888 6889 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); 6890 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 6891 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 6892 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 6893 6894 #ifndef VK_NO_PROTOTYPES 6895 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 6896 VkPhysicalDevice physicalDevice, 6897 uint32_t* pPropertyCount, 6898 VkDisplayProperties2KHR* pProperties); 6899 6900 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 6901 VkPhysicalDevice physicalDevice, 6902 uint32_t* pPropertyCount, 6903 VkDisplayPlaneProperties2KHR* pProperties); 6904 6905 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 6906 VkPhysicalDevice physicalDevice, 6907 VkDisplayKHR display, 6908 uint32_t* pPropertyCount, 6909 VkDisplayModeProperties2KHR* pProperties); 6910 6911 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 6912 VkPhysicalDevice physicalDevice, 6913 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 6914 VkDisplayPlaneCapabilities2KHR* pCapabilities); 6915 #endif 6916 6917 6918 #define VK_KHR_dedicated_allocation 1 6919 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 6920 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 6921 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 6922 6923 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 6924 6925 6926 6927 #define VK_KHR_storage_buffer_storage_class 1 6928 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 6929 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 6930 6931 6932 #define VK_KHR_relaxed_block_layout 1 6933 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 6934 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 6935 6936 6937 #define VK_KHR_get_memory_requirements2 1 6938 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 6939 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 6940 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 6941 6942 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 6943 6944 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 6945 6946 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 6947 6948 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 6949 6950 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 6951 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 6952 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 6953 6954 #ifndef VK_NO_PROTOTYPES 6955 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 6956 VkDevice device, 6957 const VkImageMemoryRequirementsInfo2* pInfo, 6958 VkMemoryRequirements2* pMemoryRequirements); 6959 6960 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 6961 VkDevice device, 6962 const VkBufferMemoryRequirementsInfo2* pInfo, 6963 VkMemoryRequirements2* pMemoryRequirements); 6964 6965 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 6966 VkDevice device, 6967 const VkImageSparseMemoryRequirementsInfo2* pInfo, 6968 uint32_t* pSparseMemoryRequirementCount, 6969 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 6970 #endif 6971 6972 6973 #define VK_KHR_image_format_list 1 6974 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 6975 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 6976 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 6977 6978 6979 6980 #define VK_KHR_sampler_ycbcr_conversion 1 6981 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 6982 6983 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 6984 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 6985 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 6986 6987 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 6988 6989 typedef VkChromaLocation VkChromaLocationKHR; 6990 6991 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 6992 6993 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 6994 6995 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 6996 6997 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 6998 6999 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 7000 7001 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 7002 7003 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 7004 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 7005 7006 #ifndef VK_NO_PROTOTYPES 7007 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 7008 VkDevice device, 7009 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 7010 const VkAllocationCallbacks* pAllocator, 7011 VkSamplerYcbcrConversion* pYcbcrConversion); 7012 7013 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 7014 VkDevice device, 7015 VkSamplerYcbcrConversion ycbcrConversion, 7016 const VkAllocationCallbacks* pAllocator); 7017 #endif 7018 7019 7020 #define VK_KHR_bind_memory2 1 7021 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 7022 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 7023 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 7024 7025 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 7026 7027 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 7028 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 7029 7030 #ifndef VK_NO_PROTOTYPES 7031 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 7032 VkDevice device, 7033 uint32_t bindInfoCount, 7034 const VkBindBufferMemoryInfo* pBindInfos); 7035 7036 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 7037 VkDevice device, 7038 uint32_t bindInfoCount, 7039 const VkBindImageMemoryInfo* pBindInfos); 7040 #endif 7041 7042 7043 #define VK_KHR_maintenance3 1 7044 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1 7045 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3" 7046 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 7047 7048 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 7049 7050 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 7051 7052 #ifndef VK_NO_PROTOTYPES 7053 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 7054 VkDevice device, 7055 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 7056 VkDescriptorSetLayoutSupport* pSupport); 7057 #endif 7058 7059 7060 #define VK_KHR_draw_indirect_count 1 7061 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 7062 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 7063 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 7064 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 7065 7066 #ifndef VK_NO_PROTOTYPES 7067 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 7068 VkCommandBuffer commandBuffer, 7069 VkBuffer buffer, 7070 VkDeviceSize offset, 7071 VkBuffer countBuffer, 7072 VkDeviceSize countBufferOffset, 7073 uint32_t maxDrawCount, 7074 uint32_t stride); 7075 7076 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 7077 VkCommandBuffer commandBuffer, 7078 VkBuffer buffer, 7079 VkDeviceSize offset, 7080 VkBuffer countBuffer, 7081 VkDeviceSize countBufferOffset, 7082 uint32_t maxDrawCount, 7083 uint32_t stride); 7084 #endif 7085 7086 7087 #define VK_KHR_shader_subgroup_extended_types 1 7088 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 7089 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 7090 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 7091 7092 7093 7094 #define VK_KHR_8bit_storage 1 7095 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 7096 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 7097 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 7098 7099 7100 7101 #define VK_KHR_shader_atomic_int64 1 7102 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 7103 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 7104 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 7105 7106 7107 7108 #define VK_KHR_shader_clock 1 7109 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 7110 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 7111 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 7112 VkStructureType sType; 7113 void* pNext; 7114 VkBool32 shaderSubgroupClock; 7115 VkBool32 shaderDeviceClock; 7116 } VkPhysicalDeviceShaderClockFeaturesKHR; 7117 7118 7119 7120 #define VK_KHR_driver_properties 1 7121 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 7122 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 7123 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 7124 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 7125 typedef VkDriverId VkDriverIdKHR; 7126 7127 typedef VkConformanceVersion VkConformanceVersionKHR; 7128 7129 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 7130 7131 7132 7133 #define VK_KHR_shader_float_controls 1 7134 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 7135 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 7136 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 7137 7138 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 7139 7140 7141 7142 #define VK_KHR_depth_stencil_resolve 1 7143 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 7144 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 7145 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 7146 7147 typedef VkResolveModeFlags VkResolveModeFlagsKHR; 7148 7149 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 7150 7151 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 7152 7153 7154 7155 #define VK_KHR_swapchain_mutable_format 1 7156 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 7157 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 7158 7159 7160 #define VK_KHR_timeline_semaphore 1 7161 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 7162 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 7163 typedef VkSemaphoreType VkSemaphoreTypeKHR; 7164 7165 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 7166 7167 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 7168 7169 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 7170 7171 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 7172 7173 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 7174 7175 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 7176 7177 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 7178 7179 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 7180 7181 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); 7182 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); 7183 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 7184 7185 #ifndef VK_NO_PROTOTYPES 7186 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 7187 VkDevice device, 7188 VkSemaphore semaphore, 7189 uint64_t* pValue); 7190 7191 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 7192 VkDevice device, 7193 const VkSemaphoreWaitInfo* pWaitInfo, 7194 uint64_t timeout); 7195 7196 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 7197 VkDevice device, 7198 const VkSemaphoreSignalInfo* pSignalInfo); 7199 #endif 7200 7201 7202 #define VK_KHR_vulkan_memory_model 1 7203 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 7204 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 7205 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 7206 7207 7208 7209 #define VK_KHR_shader_terminate_invocation 1 7210 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 7211 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 7212 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR { 7213 VkStructureType sType; 7214 void* pNext; 7215 VkBool32 shaderTerminateInvocation; 7216 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 7217 7218 7219 7220 #define VK_KHR_fragment_shading_rate 1 7221 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1 7222 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 7223 7224 typedef enum VkFragmentShadingRateCombinerOpKHR { 7225 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 7226 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 7227 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 7228 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 7229 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 7230 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 7231 } VkFragmentShadingRateCombinerOpKHR; 7232 typedef struct VkFragmentShadingRateAttachmentInfoKHR { 7233 VkStructureType sType; 7234 const void* pNext; 7235 const VkAttachmentReference2* pFragmentShadingRateAttachment; 7236 VkExtent2D shadingRateAttachmentTexelSize; 7237 } VkFragmentShadingRateAttachmentInfoKHR; 7238 7239 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 7240 VkStructureType sType; 7241 const void* pNext; 7242 VkExtent2D fragmentSize; 7243 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 7244 } VkPipelineFragmentShadingRateStateCreateInfoKHR; 7245 7246 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 7247 VkStructureType sType; 7248 void* pNext; 7249 VkBool32 pipelineFragmentShadingRate; 7250 VkBool32 primitiveFragmentShadingRate; 7251 VkBool32 attachmentFragmentShadingRate; 7252 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 7253 7254 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 7255 VkStructureType sType; 7256 void* pNext; 7257 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 7258 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 7259 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 7260 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 7261 VkBool32 layeredShadingRateAttachments; 7262 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 7263 VkExtent2D maxFragmentSize; 7264 uint32_t maxFragmentSizeAspectRatio; 7265 uint32_t maxFragmentShadingRateCoverageSamples; 7266 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 7267 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 7268 VkBool32 fragmentShadingRateWithSampleMask; 7269 VkBool32 fragmentShadingRateWithShaderSampleMask; 7270 VkBool32 fragmentShadingRateWithConservativeRasterization; 7271 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 7272 VkBool32 fragmentShadingRateWithCustomSampleLocations; 7273 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 7274 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 7275 7276 typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 7277 VkStructureType sType; 7278 void* pNext; 7279 VkSampleCountFlags sampleCounts; 7280 VkExtent2D fragmentSize; 7281 } VkPhysicalDeviceFragmentShadingRateKHR; 7282 7283 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 7284 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 7285 7286 #ifndef VK_NO_PROTOTYPES 7287 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 7288 VkPhysicalDevice physicalDevice, 7289 uint32_t* pFragmentShadingRateCount, 7290 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 7291 7292 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 7293 VkCommandBuffer commandBuffer, 7294 const VkExtent2D* pFragmentSize, 7295 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 7296 #endif 7297 7298 7299 #define VK_KHR_spirv_1_4 1 7300 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 7301 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 7302 7303 7304 #define VK_KHR_surface_protected_capabilities 1 7305 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 7306 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 7307 typedef struct VkSurfaceProtectedCapabilitiesKHR { 7308 VkStructureType sType; 7309 const void* pNext; 7310 VkBool32 supportsProtected; 7311 } VkSurfaceProtectedCapabilitiesKHR; 7312 7313 7314 7315 #define VK_KHR_separate_depth_stencil_layouts 1 7316 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 7317 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 7318 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 7319 7320 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 7321 7322 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 7323 7324 7325 7326 #define VK_KHR_uniform_buffer_standard_layout 1 7327 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 7328 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 7329 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 7330 7331 7332 7333 #define VK_KHR_buffer_device_address 1 7334 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 7335 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 7336 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 7337 7338 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 7339 7340 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 7341 7342 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 7343 7344 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 7345 7346 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 7347 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 7348 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 7349 7350 #ifndef VK_NO_PROTOTYPES 7351 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 7352 VkDevice device, 7353 const VkBufferDeviceAddressInfo* pInfo); 7354 7355 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 7356 VkDevice device, 7357 const VkBufferDeviceAddressInfo* pInfo); 7358 7359 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 7360 VkDevice device, 7361 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 7362 #endif 7363 7364 7365 #define VK_KHR_pipeline_executable_properties 1 7366 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 7367 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 7368 7369 typedef enum VkPipelineExecutableStatisticFormatKHR { 7370 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 7371 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 7372 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 7373 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 7374 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 7375 } VkPipelineExecutableStatisticFormatKHR; 7376 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 7377 VkStructureType sType; 7378 void* pNext; 7379 VkBool32 pipelineExecutableInfo; 7380 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 7381 7382 typedef struct VkPipelineInfoKHR { 7383 VkStructureType sType; 7384 const void* pNext; 7385 VkPipeline pipeline; 7386 } VkPipelineInfoKHR; 7387 7388 typedef struct VkPipelineExecutablePropertiesKHR { 7389 VkStructureType sType; 7390 void* pNext; 7391 VkShaderStageFlags stages; 7392 char name[VK_MAX_DESCRIPTION_SIZE]; 7393 char description[VK_MAX_DESCRIPTION_SIZE]; 7394 uint32_t subgroupSize; 7395 } VkPipelineExecutablePropertiesKHR; 7396 7397 typedef struct VkPipelineExecutableInfoKHR { 7398 VkStructureType sType; 7399 const void* pNext; 7400 VkPipeline pipeline; 7401 uint32_t executableIndex; 7402 } VkPipelineExecutableInfoKHR; 7403 7404 typedef union VkPipelineExecutableStatisticValueKHR { 7405 VkBool32 b32; 7406 int64_t i64; 7407 uint64_t u64; 7408 double f64; 7409 } VkPipelineExecutableStatisticValueKHR; 7410 7411 typedef struct VkPipelineExecutableStatisticKHR { 7412 VkStructureType sType; 7413 void* pNext; 7414 char name[VK_MAX_DESCRIPTION_SIZE]; 7415 char description[VK_MAX_DESCRIPTION_SIZE]; 7416 VkPipelineExecutableStatisticFormatKHR format; 7417 VkPipelineExecutableStatisticValueKHR value; 7418 } VkPipelineExecutableStatisticKHR; 7419 7420 typedef struct VkPipelineExecutableInternalRepresentationKHR { 7421 VkStructureType sType; 7422 void* pNext; 7423 char name[VK_MAX_DESCRIPTION_SIZE]; 7424 char description[VK_MAX_DESCRIPTION_SIZE]; 7425 VkBool32 isText; 7426 size_t dataSize; 7427 void* pData; 7428 } VkPipelineExecutableInternalRepresentationKHR; 7429 7430 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 7431 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 7432 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 7433 7434 #ifndef VK_NO_PROTOTYPES 7435 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 7436 VkDevice device, 7437 const VkPipelineInfoKHR* pPipelineInfo, 7438 uint32_t* pExecutableCount, 7439 VkPipelineExecutablePropertiesKHR* pProperties); 7440 7441 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 7442 VkDevice device, 7443 const VkPipelineExecutableInfoKHR* pExecutableInfo, 7444 uint32_t* pStatisticCount, 7445 VkPipelineExecutableStatisticKHR* pStatistics); 7446 7447 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 7448 VkDevice device, 7449 const VkPipelineExecutableInfoKHR* pExecutableInfo, 7450 uint32_t* pInternalRepresentationCount, 7451 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 7452 #endif 7453 7454 7455 #define VK_KHR_shader_non_semantic_info 1 7456 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 7457 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 7458 7459 7460 #define VK_KHR_copy_commands2 1 7461 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 7462 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 7463 typedef struct VkBufferCopy2KHR { 7464 VkStructureType sType; 7465 const void* pNext; 7466 VkDeviceSize srcOffset; 7467 VkDeviceSize dstOffset; 7468 VkDeviceSize size; 7469 } VkBufferCopy2KHR; 7470 7471 typedef struct VkCopyBufferInfo2KHR { 7472 VkStructureType sType; 7473 const void* pNext; 7474 VkBuffer srcBuffer; 7475 VkBuffer dstBuffer; 7476 uint32_t regionCount; 7477 const VkBufferCopy2KHR* pRegions; 7478 } VkCopyBufferInfo2KHR; 7479 7480 typedef struct VkImageCopy2KHR { 7481 VkStructureType sType; 7482 const void* pNext; 7483 VkImageSubresourceLayers srcSubresource; 7484 VkOffset3D srcOffset; 7485 VkImageSubresourceLayers dstSubresource; 7486 VkOffset3D dstOffset; 7487 VkExtent3D extent; 7488 } VkImageCopy2KHR; 7489 7490 typedef struct VkCopyImageInfo2KHR { 7491 VkStructureType sType; 7492 const void* pNext; 7493 VkImage srcImage; 7494 VkImageLayout srcImageLayout; 7495 VkImage dstImage; 7496 VkImageLayout dstImageLayout; 7497 uint32_t regionCount; 7498 const VkImageCopy2KHR* pRegions; 7499 } VkCopyImageInfo2KHR; 7500 7501 typedef struct VkBufferImageCopy2KHR { 7502 VkStructureType sType; 7503 const void* pNext; 7504 VkDeviceSize bufferOffset; 7505 uint32_t bufferRowLength; 7506 uint32_t bufferImageHeight; 7507 VkImageSubresourceLayers imageSubresource; 7508 VkOffset3D imageOffset; 7509 VkExtent3D imageExtent; 7510 } VkBufferImageCopy2KHR; 7511 7512 typedef struct VkCopyBufferToImageInfo2KHR { 7513 VkStructureType sType; 7514 const void* pNext; 7515 VkBuffer srcBuffer; 7516 VkImage dstImage; 7517 VkImageLayout dstImageLayout; 7518 uint32_t regionCount; 7519 const VkBufferImageCopy2KHR* pRegions; 7520 } VkCopyBufferToImageInfo2KHR; 7521 7522 typedef struct VkCopyImageToBufferInfo2KHR { 7523 VkStructureType sType; 7524 const void* pNext; 7525 VkImage srcImage; 7526 VkImageLayout srcImageLayout; 7527 VkBuffer dstBuffer; 7528 uint32_t regionCount; 7529 const VkBufferImageCopy2KHR* pRegions; 7530 } VkCopyImageToBufferInfo2KHR; 7531 7532 typedef struct VkImageBlit2KHR { 7533 VkStructureType sType; 7534 const void* pNext; 7535 VkImageSubresourceLayers srcSubresource; 7536 VkOffset3D srcOffsets[2]; 7537 VkImageSubresourceLayers dstSubresource; 7538 VkOffset3D dstOffsets[2]; 7539 } VkImageBlit2KHR; 7540 7541 typedef struct VkBlitImageInfo2KHR { 7542 VkStructureType sType; 7543 const void* pNext; 7544 VkImage srcImage; 7545 VkImageLayout srcImageLayout; 7546 VkImage dstImage; 7547 VkImageLayout dstImageLayout; 7548 uint32_t regionCount; 7549 const VkImageBlit2KHR* pRegions; 7550 VkFilter filter; 7551 } VkBlitImageInfo2KHR; 7552 7553 typedef struct VkImageResolve2KHR { 7554 VkStructureType sType; 7555 const void* pNext; 7556 VkImageSubresourceLayers srcSubresource; 7557 VkOffset3D srcOffset; 7558 VkImageSubresourceLayers dstSubresource; 7559 VkOffset3D dstOffset; 7560 VkExtent3D extent; 7561 } VkImageResolve2KHR; 7562 7563 typedef struct VkResolveImageInfo2KHR { 7564 VkStructureType sType; 7565 const void* pNext; 7566 VkImage srcImage; 7567 VkImageLayout srcImageLayout; 7568 VkImage dstImage; 7569 VkImageLayout dstImageLayout; 7570 uint32_t regionCount; 7571 const VkImageResolve2KHR* pRegions; 7572 } VkResolveImageInfo2KHR; 7573 7574 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo); 7575 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo); 7576 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); 7577 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); 7578 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo); 7579 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo); 7580 7581 #ifndef VK_NO_PROTOTYPES 7582 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 7583 VkCommandBuffer commandBuffer, 7584 const VkCopyBufferInfo2KHR* pCopyBufferInfo); 7585 7586 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 7587 VkCommandBuffer commandBuffer, 7588 const VkCopyImageInfo2KHR* pCopyImageInfo); 7589 7590 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 7591 VkCommandBuffer commandBuffer, 7592 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); 7593 7594 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 7595 VkCommandBuffer commandBuffer, 7596 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); 7597 7598 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 7599 VkCommandBuffer commandBuffer, 7600 const VkBlitImageInfo2KHR* pBlitImageInfo); 7601 7602 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 7603 VkCommandBuffer commandBuffer, 7604 const VkResolveImageInfo2KHR* pResolveImageInfo); 7605 #endif 7606 7607 7608 #define VK_EXT_debug_report 1 7609 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 7610 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9 7611 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 7612 7613 typedef enum VkDebugReportObjectTypeEXT { 7614 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 7615 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 7616 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 7617 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 7618 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 7619 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 7620 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 7621 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 7622 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 7623 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 7624 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 7625 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 7626 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 7627 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 7628 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 7629 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 7630 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 7631 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 7632 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 7633 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 7634 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 7635 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 7636 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 7637 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 7638 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 7639 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 7640 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 7641 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 7642 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 7643 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 7644 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 7645 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 7646 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 7647 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 7648 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000165000, 7649 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 7650 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 7651 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 7652 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 7653 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT, 7654 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 7655 } VkDebugReportObjectTypeEXT; 7656 7657 typedef enum VkDebugReportFlagBitsEXT { 7658 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 7659 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 7660 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 7661 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 7662 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 7663 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 7664 } VkDebugReportFlagBitsEXT; 7665 typedef VkFlags VkDebugReportFlagsEXT; 7666 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 7667 VkDebugReportFlagsEXT flags, 7668 VkDebugReportObjectTypeEXT objectType, 7669 uint64_t object, 7670 size_t location, 7671 int32_t messageCode, 7672 const char* pLayerPrefix, 7673 const char* pMessage, 7674 void* pUserData); 7675 7676 typedef struct VkDebugReportCallbackCreateInfoEXT { 7677 VkStructureType sType; 7678 const void* pNext; 7679 VkDebugReportFlagsEXT flags; 7680 PFN_vkDebugReportCallbackEXT pfnCallback; 7681 void* pUserData; 7682 } VkDebugReportCallbackCreateInfoEXT; 7683 7684 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 7685 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 7686 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); 7687 7688 #ifndef VK_NO_PROTOTYPES 7689 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 7690 VkInstance instance, 7691 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 7692 const VkAllocationCallbacks* pAllocator, 7693 VkDebugReportCallbackEXT* pCallback); 7694 7695 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 7696 VkInstance instance, 7697 VkDebugReportCallbackEXT callback, 7698 const VkAllocationCallbacks* pAllocator); 7699 7700 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 7701 VkInstance instance, 7702 VkDebugReportFlagsEXT flags, 7703 VkDebugReportObjectTypeEXT objectType, 7704 uint64_t object, 7705 size_t location, 7706 int32_t messageCode, 7707 const char* pLayerPrefix, 7708 const char* pMessage); 7709 #endif 7710 7711 7712 #define VK_NV_glsl_shader 1 7713 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 7714 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 7715 7716 7717 #define VK_EXT_depth_range_unrestricted 1 7718 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 7719 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 7720 7721 7722 #define VK_IMG_filter_cubic 1 7723 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 7724 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 7725 7726 7727 #define VK_AMD_rasterization_order 1 7728 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 7729 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 7730 7731 typedef enum VkRasterizationOrderAMD { 7732 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 7733 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 7734 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 7735 } VkRasterizationOrderAMD; 7736 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 7737 VkStructureType sType; 7738 const void* pNext; 7739 VkRasterizationOrderAMD rasterizationOrder; 7740 } VkPipelineRasterizationStateRasterizationOrderAMD; 7741 7742 7743 7744 #define VK_AMD_shader_trinary_minmax 1 7745 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 7746 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 7747 7748 7749 #define VK_AMD_shader_explicit_vertex_parameter 1 7750 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 7751 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 7752 7753 7754 #define VK_EXT_debug_marker 1 7755 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 7756 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 7757 typedef struct VkDebugMarkerObjectNameInfoEXT { 7758 VkStructureType sType; 7759 const void* pNext; 7760 VkDebugReportObjectTypeEXT objectType; 7761 uint64_t object; 7762 const char* pObjectName; 7763 } VkDebugMarkerObjectNameInfoEXT; 7764 7765 typedef struct VkDebugMarkerObjectTagInfoEXT { 7766 VkStructureType sType; 7767 const void* pNext; 7768 VkDebugReportObjectTypeEXT objectType; 7769 uint64_t object; 7770 uint64_t tagName; 7771 size_t tagSize; 7772 const void* pTag; 7773 } VkDebugMarkerObjectTagInfoEXT; 7774 7775 typedef struct VkDebugMarkerMarkerInfoEXT { 7776 VkStructureType sType; 7777 const void* pNext; 7778 const char* pMarkerName; 7779 float color[4]; 7780 } VkDebugMarkerMarkerInfoEXT; 7781 7782 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 7783 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 7784 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 7785 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 7786 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 7787 7788 #ifndef VK_NO_PROTOTYPES 7789 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 7790 VkDevice device, 7791 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 7792 7793 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 7794 VkDevice device, 7795 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 7796 7797 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 7798 VkCommandBuffer commandBuffer, 7799 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 7800 7801 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 7802 VkCommandBuffer commandBuffer); 7803 7804 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 7805 VkCommandBuffer commandBuffer, 7806 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 7807 #endif 7808 7809 7810 #define VK_AMD_gcn_shader 1 7811 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 7812 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 7813 7814 7815 #define VK_NV_dedicated_allocation 1 7816 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 7817 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 7818 typedef struct VkDedicatedAllocationImageCreateInfoNV { 7819 VkStructureType sType; 7820 const void* pNext; 7821 VkBool32 dedicatedAllocation; 7822 } VkDedicatedAllocationImageCreateInfoNV; 7823 7824 typedef struct VkDedicatedAllocationBufferCreateInfoNV { 7825 VkStructureType sType; 7826 const void* pNext; 7827 VkBool32 dedicatedAllocation; 7828 } VkDedicatedAllocationBufferCreateInfoNV; 7829 7830 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 7831 VkStructureType sType; 7832 const void* pNext; 7833 VkImage image; 7834 VkBuffer buffer; 7835 } VkDedicatedAllocationMemoryAllocateInfoNV; 7836 7837 7838 7839 #define VK_EXT_transform_feedback 1 7840 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 7841 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 7842 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 7843 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 7844 VkStructureType sType; 7845 void* pNext; 7846 VkBool32 transformFeedback; 7847 VkBool32 geometryStreams; 7848 } VkPhysicalDeviceTransformFeedbackFeaturesEXT; 7849 7850 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 7851 VkStructureType sType; 7852 void* pNext; 7853 uint32_t maxTransformFeedbackStreams; 7854 uint32_t maxTransformFeedbackBuffers; 7855 VkDeviceSize maxTransformFeedbackBufferSize; 7856 uint32_t maxTransformFeedbackStreamDataSize; 7857 uint32_t maxTransformFeedbackBufferDataSize; 7858 uint32_t maxTransformFeedbackBufferDataStride; 7859 VkBool32 transformFeedbackQueries; 7860 VkBool32 transformFeedbackStreamsLinesTriangles; 7861 VkBool32 transformFeedbackRasterizationStreamSelect; 7862 VkBool32 transformFeedbackDraw; 7863 } VkPhysicalDeviceTransformFeedbackPropertiesEXT; 7864 7865 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 7866 VkStructureType sType; 7867 const void* pNext; 7868 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 7869 uint32_t rasterizationStream; 7870 } VkPipelineRasterizationStateStreamCreateInfoEXT; 7871 7872 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 7873 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 7874 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 7875 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); 7876 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); 7877 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); 7878 7879 #ifndef VK_NO_PROTOTYPES 7880 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 7881 VkCommandBuffer commandBuffer, 7882 uint32_t firstBinding, 7883 uint32_t bindingCount, 7884 const VkBuffer* pBuffers, 7885 const VkDeviceSize* pOffsets, 7886 const VkDeviceSize* pSizes); 7887 7888 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 7889 VkCommandBuffer commandBuffer, 7890 uint32_t firstCounterBuffer, 7891 uint32_t counterBufferCount, 7892 const VkBuffer* pCounterBuffers, 7893 const VkDeviceSize* pCounterBufferOffsets); 7894 7895 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 7896 VkCommandBuffer commandBuffer, 7897 uint32_t firstCounterBuffer, 7898 uint32_t counterBufferCount, 7899 const VkBuffer* pCounterBuffers, 7900 const VkDeviceSize* pCounterBufferOffsets); 7901 7902 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 7903 VkCommandBuffer commandBuffer, 7904 VkQueryPool queryPool, 7905 uint32_t query, 7906 VkQueryControlFlags flags, 7907 uint32_t index); 7908 7909 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 7910 VkCommandBuffer commandBuffer, 7911 VkQueryPool queryPool, 7912 uint32_t query, 7913 uint32_t index); 7914 7915 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 7916 VkCommandBuffer commandBuffer, 7917 uint32_t instanceCount, 7918 uint32_t firstInstance, 7919 VkBuffer counterBuffer, 7920 VkDeviceSize counterBufferOffset, 7921 uint32_t counterOffset, 7922 uint32_t vertexStride); 7923 #endif 7924 7925 7926 #define VK_NVX_image_view_handle 1 7927 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 7928 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 7929 typedef struct VkImageViewHandleInfoNVX { 7930 VkStructureType sType; 7931 const void* pNext; 7932 VkImageView imageView; 7933 VkDescriptorType descriptorType; 7934 VkSampler sampler; 7935 } VkImageViewHandleInfoNVX; 7936 7937 typedef struct VkImageViewAddressPropertiesNVX { 7938 VkStructureType sType; 7939 void* pNext; 7940 VkDeviceAddress deviceAddress; 7941 VkDeviceSize size; 7942 } VkImageViewAddressPropertiesNVX; 7943 7944 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 7945 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 7946 7947 #ifndef VK_NO_PROTOTYPES 7948 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX( 7949 VkDevice device, 7950 const VkImageViewHandleInfoNVX* pInfo); 7951 7952 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 7953 VkDevice device, 7954 VkImageView imageView, 7955 VkImageViewAddressPropertiesNVX* pProperties); 7956 #endif 7957 7958 7959 #define VK_AMD_draw_indirect_count 1 7960 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 7961 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 7962 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 7963 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 7964 7965 #ifndef VK_NO_PROTOTYPES 7966 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 7967 VkCommandBuffer commandBuffer, 7968 VkBuffer buffer, 7969 VkDeviceSize offset, 7970 VkBuffer countBuffer, 7971 VkDeviceSize countBufferOffset, 7972 uint32_t maxDrawCount, 7973 uint32_t stride); 7974 7975 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 7976 VkCommandBuffer commandBuffer, 7977 VkBuffer buffer, 7978 VkDeviceSize offset, 7979 VkBuffer countBuffer, 7980 VkDeviceSize countBufferOffset, 7981 uint32_t maxDrawCount, 7982 uint32_t stride); 7983 #endif 7984 7985 7986 #define VK_AMD_negative_viewport_height 1 7987 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 7988 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 7989 7990 7991 #define VK_AMD_gpu_shader_half_float 1 7992 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 7993 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 7994 7995 7996 #define VK_AMD_shader_ballot 1 7997 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 7998 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 7999 8000 8001 #define VK_AMD_texture_gather_bias_lod 1 8002 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 8003 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 8004 typedef struct VkTextureLODGatherFormatPropertiesAMD { 8005 VkStructureType sType; 8006 void* pNext; 8007 VkBool32 supportsTextureGatherLODBiasAMD; 8008 } VkTextureLODGatherFormatPropertiesAMD; 8009 8010 8011 8012 #define VK_AMD_shader_info 1 8013 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 8014 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 8015 8016 typedef enum VkShaderInfoTypeAMD { 8017 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 8018 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 8019 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 8020 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 8021 } VkShaderInfoTypeAMD; 8022 typedef struct VkShaderResourceUsageAMD { 8023 uint32_t numUsedVgprs; 8024 uint32_t numUsedSgprs; 8025 uint32_t ldsSizePerLocalWorkGroup; 8026 size_t ldsUsageSizeInBytes; 8027 size_t scratchMemUsageInBytes; 8028 } VkShaderResourceUsageAMD; 8029 8030 typedef struct VkShaderStatisticsInfoAMD { 8031 VkShaderStageFlags shaderStageMask; 8032 VkShaderResourceUsageAMD resourceUsage; 8033 uint32_t numPhysicalVgprs; 8034 uint32_t numPhysicalSgprs; 8035 uint32_t numAvailableVgprs; 8036 uint32_t numAvailableSgprs; 8037 uint32_t computeWorkGroupSize[3]; 8038 } VkShaderStatisticsInfoAMD; 8039 8040 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); 8041 8042 #ifndef VK_NO_PROTOTYPES 8043 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 8044 VkDevice device, 8045 VkPipeline pipeline, 8046 VkShaderStageFlagBits shaderStage, 8047 VkShaderInfoTypeAMD infoType, 8048 size_t* pInfoSize, 8049 void* pInfo); 8050 #endif 8051 8052 8053 #define VK_AMD_shader_image_load_store_lod 1 8054 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 8055 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 8056 8057 8058 #define VK_NV_corner_sampled_image 1 8059 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 8060 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 8061 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 8062 VkStructureType sType; 8063 void* pNext; 8064 VkBool32 cornerSampledImage; 8065 } VkPhysicalDeviceCornerSampledImageFeaturesNV; 8066 8067 8068 8069 #define VK_IMG_format_pvrtc 1 8070 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 8071 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 8072 8073 8074 #define VK_NV_external_memory_capabilities 1 8075 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 8076 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 8077 8078 typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 8079 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 8080 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 8081 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 8082 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 8083 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 8084 } VkExternalMemoryHandleTypeFlagBitsNV; 8085 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 8086 8087 typedef enum VkExternalMemoryFeatureFlagBitsNV { 8088 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 8089 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 8090 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 8091 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 8092 } VkExternalMemoryFeatureFlagBitsNV; 8093 typedef VkFlags VkExternalMemoryFeatureFlagsNV; 8094 typedef struct VkExternalImageFormatPropertiesNV { 8095 VkImageFormatProperties imageFormatProperties; 8096 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 8097 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 8098 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 8099 } VkExternalImageFormatPropertiesNV; 8100 8101 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 8102 8103 #ifndef VK_NO_PROTOTYPES 8104 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 8105 VkPhysicalDevice physicalDevice, 8106 VkFormat format, 8107 VkImageType type, 8108 VkImageTiling tiling, 8109 VkImageUsageFlags usage, 8110 VkImageCreateFlags flags, 8111 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 8112 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 8113 #endif 8114 8115 8116 #define VK_NV_external_memory 1 8117 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 8118 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 8119 typedef struct VkExternalMemoryImageCreateInfoNV { 8120 VkStructureType sType; 8121 const void* pNext; 8122 VkExternalMemoryHandleTypeFlagsNV handleTypes; 8123 } VkExternalMemoryImageCreateInfoNV; 8124 8125 typedef struct VkExportMemoryAllocateInfoNV { 8126 VkStructureType sType; 8127 const void* pNext; 8128 VkExternalMemoryHandleTypeFlagsNV handleTypes; 8129 } VkExportMemoryAllocateInfoNV; 8130 8131 8132 8133 #define VK_EXT_validation_flags 1 8134 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 8135 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 8136 8137 typedef enum VkValidationCheckEXT { 8138 VK_VALIDATION_CHECK_ALL_EXT = 0, 8139 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 8140 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 8141 } VkValidationCheckEXT; 8142 typedef struct VkValidationFlagsEXT { 8143 VkStructureType sType; 8144 const void* pNext; 8145 uint32_t disabledValidationCheckCount; 8146 const VkValidationCheckEXT* pDisabledValidationChecks; 8147 } VkValidationFlagsEXT; 8148 8149 8150 8151 #define VK_EXT_shader_subgroup_ballot 1 8152 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 8153 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 8154 8155 8156 #define VK_EXT_shader_subgroup_vote 1 8157 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 8158 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 8159 8160 8161 #define VK_EXT_texture_compression_astc_hdr 1 8162 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 8163 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 8164 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { 8165 VkStructureType sType; 8166 void* pNext; 8167 VkBool32 textureCompressionASTC_HDR; 8168 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 8169 8170 8171 8172 #define VK_EXT_astc_decode_mode 1 8173 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 8174 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 8175 typedef struct VkImageViewASTCDecodeModeEXT { 8176 VkStructureType sType; 8177 const void* pNext; 8178 VkFormat decodeMode; 8179 } VkImageViewASTCDecodeModeEXT; 8180 8181 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 8182 VkStructureType sType; 8183 void* pNext; 8184 VkBool32 decodeModeSharedExponent; 8185 } VkPhysicalDeviceASTCDecodeFeaturesEXT; 8186 8187 8188 8189 #define VK_EXT_conditional_rendering 1 8190 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 8191 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 8192 8193 typedef enum VkConditionalRenderingFlagBitsEXT { 8194 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 8195 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 8196 } VkConditionalRenderingFlagBitsEXT; 8197 typedef VkFlags VkConditionalRenderingFlagsEXT; 8198 typedef struct VkConditionalRenderingBeginInfoEXT { 8199 VkStructureType sType; 8200 const void* pNext; 8201 VkBuffer buffer; 8202 VkDeviceSize offset; 8203 VkConditionalRenderingFlagsEXT flags; 8204 } VkConditionalRenderingBeginInfoEXT; 8205 8206 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 8207 VkStructureType sType; 8208 void* pNext; 8209 VkBool32 conditionalRendering; 8210 VkBool32 inheritedConditionalRendering; 8211 } VkPhysicalDeviceConditionalRenderingFeaturesEXT; 8212 8213 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 8214 VkStructureType sType; 8215 const void* pNext; 8216 VkBool32 conditionalRenderingEnable; 8217 } VkCommandBufferInheritanceConditionalRenderingInfoEXT; 8218 8219 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 8220 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 8221 8222 #ifndef VK_NO_PROTOTYPES 8223 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 8224 VkCommandBuffer commandBuffer, 8225 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 8226 8227 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 8228 VkCommandBuffer commandBuffer); 8229 #endif 8230 8231 8232 #define VK_NV_clip_space_w_scaling 1 8233 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 8234 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 8235 typedef struct VkViewportWScalingNV { 8236 float xcoeff; 8237 float ycoeff; 8238 } VkViewportWScalingNV; 8239 8240 typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 8241 VkStructureType sType; 8242 const void* pNext; 8243 VkBool32 viewportWScalingEnable; 8244 uint32_t viewportCount; 8245 const VkViewportWScalingNV* pViewportWScalings; 8246 } VkPipelineViewportWScalingStateCreateInfoNV; 8247 8248 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 8249 8250 #ifndef VK_NO_PROTOTYPES 8251 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 8252 VkCommandBuffer commandBuffer, 8253 uint32_t firstViewport, 8254 uint32_t viewportCount, 8255 const VkViewportWScalingNV* pViewportWScalings); 8256 #endif 8257 8258 8259 #define VK_EXT_direct_mode_display 1 8260 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 8261 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 8262 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 8263 8264 #ifndef VK_NO_PROTOTYPES 8265 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 8266 VkPhysicalDevice physicalDevice, 8267 VkDisplayKHR display); 8268 #endif 8269 8270 8271 #define VK_EXT_display_surface_counter 1 8272 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 8273 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 8274 8275 typedef enum VkSurfaceCounterFlagBitsEXT { 8276 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001, 8277 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 8278 } VkSurfaceCounterFlagBitsEXT; 8279 typedef VkFlags VkSurfaceCounterFlagsEXT; 8280 typedef struct VkSurfaceCapabilities2EXT { 8281 VkStructureType sType; 8282 void* pNext; 8283 uint32_t minImageCount; 8284 uint32_t maxImageCount; 8285 VkExtent2D currentExtent; 8286 VkExtent2D minImageExtent; 8287 VkExtent2D maxImageExtent; 8288 uint32_t maxImageArrayLayers; 8289 VkSurfaceTransformFlagsKHR supportedTransforms; 8290 VkSurfaceTransformFlagBitsKHR currentTransform; 8291 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 8292 VkImageUsageFlags supportedUsageFlags; 8293 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 8294 } VkSurfaceCapabilities2EXT; 8295 8296 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 8297 8298 #ifndef VK_NO_PROTOTYPES 8299 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 8300 VkPhysicalDevice physicalDevice, 8301 VkSurfaceKHR surface, 8302 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 8303 #endif 8304 8305 8306 #define VK_EXT_display_control 1 8307 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 8308 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 8309 8310 typedef enum VkDisplayPowerStateEXT { 8311 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 8312 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 8313 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 8314 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 8315 } VkDisplayPowerStateEXT; 8316 8317 typedef enum VkDeviceEventTypeEXT { 8318 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 8319 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 8320 } VkDeviceEventTypeEXT; 8321 8322 typedef enum VkDisplayEventTypeEXT { 8323 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 8324 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 8325 } VkDisplayEventTypeEXT; 8326 typedef struct VkDisplayPowerInfoEXT { 8327 VkStructureType sType; 8328 const void* pNext; 8329 VkDisplayPowerStateEXT powerState; 8330 } VkDisplayPowerInfoEXT; 8331 8332 typedef struct VkDeviceEventInfoEXT { 8333 VkStructureType sType; 8334 const void* pNext; 8335 VkDeviceEventTypeEXT deviceEvent; 8336 } VkDeviceEventInfoEXT; 8337 8338 typedef struct VkDisplayEventInfoEXT { 8339 VkStructureType sType; 8340 const void* pNext; 8341 VkDisplayEventTypeEXT displayEvent; 8342 } VkDisplayEventInfoEXT; 8343 8344 typedef struct VkSwapchainCounterCreateInfoEXT { 8345 VkStructureType sType; 8346 const void* pNext; 8347 VkSurfaceCounterFlagsEXT surfaceCounters; 8348 } VkSwapchainCounterCreateInfoEXT; 8349 8350 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 8351 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 8352 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 8353 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 8354 8355 #ifndef VK_NO_PROTOTYPES 8356 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 8357 VkDevice device, 8358 VkDisplayKHR display, 8359 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 8360 8361 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 8362 VkDevice device, 8363 const VkDeviceEventInfoEXT* pDeviceEventInfo, 8364 const VkAllocationCallbacks* pAllocator, 8365 VkFence* pFence); 8366 8367 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 8368 VkDevice device, 8369 VkDisplayKHR display, 8370 const VkDisplayEventInfoEXT* pDisplayEventInfo, 8371 const VkAllocationCallbacks* pAllocator, 8372 VkFence* pFence); 8373 8374 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 8375 VkDevice device, 8376 VkSwapchainKHR swapchain, 8377 VkSurfaceCounterFlagBitsEXT counter, 8378 uint64_t* pCounterValue); 8379 #endif 8380 8381 8382 #define VK_GOOGLE_display_timing 1 8383 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 8384 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 8385 typedef struct VkRefreshCycleDurationGOOGLE { 8386 uint64_t refreshDuration; 8387 } VkRefreshCycleDurationGOOGLE; 8388 8389 typedef struct VkPastPresentationTimingGOOGLE { 8390 uint32_t presentID; 8391 uint64_t desiredPresentTime; 8392 uint64_t actualPresentTime; 8393 uint64_t earliestPresentTime; 8394 uint64_t presentMargin; 8395 } VkPastPresentationTimingGOOGLE; 8396 8397 typedef struct VkPresentTimeGOOGLE { 8398 uint32_t presentID; 8399 uint64_t desiredPresentTime; 8400 } VkPresentTimeGOOGLE; 8401 8402 typedef struct VkPresentTimesInfoGOOGLE { 8403 VkStructureType sType; 8404 const void* pNext; 8405 uint32_t swapchainCount; 8406 const VkPresentTimeGOOGLE* pTimes; 8407 } VkPresentTimesInfoGOOGLE; 8408 8409 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 8410 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 8411 8412 #ifndef VK_NO_PROTOTYPES 8413 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 8414 VkDevice device, 8415 VkSwapchainKHR swapchain, 8416 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 8417 8418 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 8419 VkDevice device, 8420 VkSwapchainKHR swapchain, 8421 uint32_t* pPresentationTimingCount, 8422 VkPastPresentationTimingGOOGLE* pPresentationTimings); 8423 #endif 8424 8425 8426 #define VK_NV_sample_mask_override_coverage 1 8427 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 8428 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 8429 8430 8431 #define VK_NV_geometry_shader_passthrough 1 8432 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 8433 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 8434 8435 8436 #define VK_NV_viewport_array2 1 8437 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1 8438 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2" 8439 8440 8441 #define VK_NVX_multiview_per_view_attributes 1 8442 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 8443 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 8444 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 8445 VkStructureType sType; 8446 void* pNext; 8447 VkBool32 perViewPositionAllComponents; 8448 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 8449 8450 8451 8452 #define VK_NV_viewport_swizzle 1 8453 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 8454 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 8455 8456 typedef enum VkViewportCoordinateSwizzleNV { 8457 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 8458 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 8459 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 8460 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 8461 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 8462 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 8463 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 8464 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 8465 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 8466 } VkViewportCoordinateSwizzleNV; 8467 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 8468 typedef struct VkViewportSwizzleNV { 8469 VkViewportCoordinateSwizzleNV x; 8470 VkViewportCoordinateSwizzleNV y; 8471 VkViewportCoordinateSwizzleNV z; 8472 VkViewportCoordinateSwizzleNV w; 8473 } VkViewportSwizzleNV; 8474 8475 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 8476 VkStructureType sType; 8477 const void* pNext; 8478 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 8479 uint32_t viewportCount; 8480 const VkViewportSwizzleNV* pViewportSwizzles; 8481 } VkPipelineViewportSwizzleStateCreateInfoNV; 8482 8483 8484 8485 #define VK_EXT_discard_rectangles 1 8486 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 8487 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 8488 8489 typedef enum VkDiscardRectangleModeEXT { 8490 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 8491 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 8492 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 8493 } VkDiscardRectangleModeEXT; 8494 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 8495 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 8496 VkStructureType sType; 8497 void* pNext; 8498 uint32_t maxDiscardRectangles; 8499 } VkPhysicalDeviceDiscardRectanglePropertiesEXT; 8500 8501 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 8502 VkStructureType sType; 8503 const void* pNext; 8504 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 8505 VkDiscardRectangleModeEXT discardRectangleMode; 8506 uint32_t discardRectangleCount; 8507 const VkRect2D* pDiscardRectangles; 8508 } VkPipelineDiscardRectangleStateCreateInfoEXT; 8509 8510 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 8511 8512 #ifndef VK_NO_PROTOTYPES 8513 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 8514 VkCommandBuffer commandBuffer, 8515 uint32_t firstDiscardRectangle, 8516 uint32_t discardRectangleCount, 8517 const VkRect2D* pDiscardRectangles); 8518 #endif 8519 8520 8521 #define VK_EXT_conservative_rasterization 1 8522 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 8523 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 8524 8525 typedef enum VkConservativeRasterizationModeEXT { 8526 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 8527 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 8528 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 8529 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 8530 } VkConservativeRasterizationModeEXT; 8531 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 8532 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 8533 VkStructureType sType; 8534 void* pNext; 8535 float primitiveOverestimationSize; 8536 float maxExtraPrimitiveOverestimationSize; 8537 float extraPrimitiveOverestimationSizeGranularity; 8538 VkBool32 primitiveUnderestimation; 8539 VkBool32 conservativePointAndLineRasterization; 8540 VkBool32 degenerateTrianglesRasterized; 8541 VkBool32 degenerateLinesRasterized; 8542 VkBool32 fullyCoveredFragmentShaderInputVariable; 8543 VkBool32 conservativeRasterizationPostDepthCoverage; 8544 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 8545 8546 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 8547 VkStructureType sType; 8548 const void* pNext; 8549 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 8550 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 8551 float extraPrimitiveOverestimationSize; 8552 } VkPipelineRasterizationConservativeStateCreateInfoEXT; 8553 8554 8555 8556 #define VK_EXT_depth_clip_enable 1 8557 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 8558 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 8559 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 8560 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 8561 VkStructureType sType; 8562 void* pNext; 8563 VkBool32 depthClipEnable; 8564 } VkPhysicalDeviceDepthClipEnableFeaturesEXT; 8565 8566 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 8567 VkStructureType sType; 8568 const void* pNext; 8569 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 8570 VkBool32 depthClipEnable; 8571 } VkPipelineRasterizationDepthClipStateCreateInfoEXT; 8572 8573 8574 8575 #define VK_EXT_swapchain_colorspace 1 8576 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 8577 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 8578 8579 8580 #define VK_EXT_hdr_metadata 1 8581 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 8582 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 8583 typedef struct VkXYColorEXT { 8584 float x; 8585 float y; 8586 } VkXYColorEXT; 8587 8588 typedef struct VkHdrMetadataEXT { 8589 VkStructureType sType; 8590 const void* pNext; 8591 VkXYColorEXT displayPrimaryRed; 8592 VkXYColorEXT displayPrimaryGreen; 8593 VkXYColorEXT displayPrimaryBlue; 8594 VkXYColorEXT whitePoint; 8595 float maxLuminance; 8596 float minLuminance; 8597 float maxContentLightLevel; 8598 float maxFrameAverageLightLevel; 8599 } VkHdrMetadataEXT; 8600 8601 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 8602 8603 #ifndef VK_NO_PROTOTYPES 8604 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 8605 VkDevice device, 8606 uint32_t swapchainCount, 8607 const VkSwapchainKHR* pSwapchains, 8608 const VkHdrMetadataEXT* pMetadata); 8609 #endif 8610 8611 8612 #define VK_EXT_external_memory_dma_buf 1 8613 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 8614 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 8615 8616 8617 #define VK_EXT_queue_family_foreign 1 8618 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 8619 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 8620 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2) 8621 8622 8623 #define VK_EXT_debug_utils 1 8624 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 8625 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 8626 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 8627 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 8628 8629 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 8630 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 8631 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 8632 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 8633 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 8634 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 8635 } VkDebugUtilsMessageSeverityFlagBitsEXT; 8636 8637 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 8638 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 8639 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 8640 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 8641 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 8642 } VkDebugUtilsMessageTypeFlagBitsEXT; 8643 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 8644 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 8645 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 8646 typedef struct VkDebugUtilsLabelEXT { 8647 VkStructureType sType; 8648 const void* pNext; 8649 const char* pLabelName; 8650 float color[4]; 8651 } VkDebugUtilsLabelEXT; 8652 8653 typedef struct VkDebugUtilsObjectNameInfoEXT { 8654 VkStructureType sType; 8655 const void* pNext; 8656 VkObjectType objectType; 8657 uint64_t objectHandle; 8658 const char* pObjectName; 8659 } VkDebugUtilsObjectNameInfoEXT; 8660 8661 typedef struct VkDebugUtilsMessengerCallbackDataEXT { 8662 VkStructureType sType; 8663 const void* pNext; 8664 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 8665 const char* pMessageIdName; 8666 int32_t messageIdNumber; 8667 const char* pMessage; 8668 uint32_t queueLabelCount; 8669 const VkDebugUtilsLabelEXT* pQueueLabels; 8670 uint32_t cmdBufLabelCount; 8671 const VkDebugUtilsLabelEXT* pCmdBufLabels; 8672 uint32_t objectCount; 8673 const VkDebugUtilsObjectNameInfoEXT* pObjects; 8674 } VkDebugUtilsMessengerCallbackDataEXT; 8675 8676 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 8677 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 8678 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 8679 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 8680 void* pUserData); 8681 8682 typedef struct VkDebugUtilsMessengerCreateInfoEXT { 8683 VkStructureType sType; 8684 const void* pNext; 8685 VkDebugUtilsMessengerCreateFlagsEXT flags; 8686 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 8687 VkDebugUtilsMessageTypeFlagsEXT messageType; 8688 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 8689 void* pUserData; 8690 } VkDebugUtilsMessengerCreateInfoEXT; 8691 8692 typedef struct VkDebugUtilsObjectTagInfoEXT { 8693 VkStructureType sType; 8694 const void* pNext; 8695 VkObjectType objectType; 8696 uint64_t objectHandle; 8697 uint64_t tagName; 8698 size_t tagSize; 8699 const void* pTag; 8700 } VkDebugUtilsObjectTagInfoEXT; 8701 8702 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 8703 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 8704 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 8705 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 8706 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 8707 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 8708 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 8709 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 8710 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 8711 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 8712 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 8713 8714 #ifndef VK_NO_PROTOTYPES 8715 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 8716 VkDevice device, 8717 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 8718 8719 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 8720 VkDevice device, 8721 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 8722 8723 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 8724 VkQueue queue, 8725 const VkDebugUtilsLabelEXT* pLabelInfo); 8726 8727 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 8728 VkQueue queue); 8729 8730 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 8731 VkQueue queue, 8732 const VkDebugUtilsLabelEXT* pLabelInfo); 8733 8734 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 8735 VkCommandBuffer commandBuffer, 8736 const VkDebugUtilsLabelEXT* pLabelInfo); 8737 8738 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 8739 VkCommandBuffer commandBuffer); 8740 8741 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 8742 VkCommandBuffer commandBuffer, 8743 const VkDebugUtilsLabelEXT* pLabelInfo); 8744 8745 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 8746 VkInstance instance, 8747 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 8748 const VkAllocationCallbacks* pAllocator, 8749 VkDebugUtilsMessengerEXT* pMessenger); 8750 8751 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 8752 VkInstance instance, 8753 VkDebugUtilsMessengerEXT messenger, 8754 const VkAllocationCallbacks* pAllocator); 8755 8756 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 8757 VkInstance instance, 8758 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 8759 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 8760 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 8761 #endif 8762 8763 8764 #define VK_EXT_sampler_filter_minmax 1 8765 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 8766 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 8767 typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 8768 8769 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 8770 8771 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 8772 8773 8774 8775 #define VK_AMD_gpu_shader_int16 1 8776 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 8777 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 8778 8779 8780 #define VK_AMD_mixed_attachment_samples 1 8781 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 8782 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 8783 8784 8785 #define VK_AMD_shader_fragment_mask 1 8786 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 8787 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 8788 8789 8790 #define VK_EXT_inline_uniform_block 1 8791 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 8792 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 8793 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT { 8794 VkStructureType sType; 8795 void* pNext; 8796 VkBool32 inlineUniformBlock; 8797 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 8798 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 8799 8800 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT { 8801 VkStructureType sType; 8802 void* pNext; 8803 uint32_t maxInlineUniformBlockSize; 8804 uint32_t maxPerStageDescriptorInlineUniformBlocks; 8805 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 8806 uint32_t maxDescriptorSetInlineUniformBlocks; 8807 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 8808 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 8809 8810 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT { 8811 VkStructureType sType; 8812 const void* pNext; 8813 uint32_t dataSize; 8814 const void* pData; 8815 } VkWriteDescriptorSetInlineUniformBlockEXT; 8816 8817 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT { 8818 VkStructureType sType; 8819 const void* pNext; 8820 uint32_t maxInlineUniformBlockBindings; 8821 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 8822 8823 8824 8825 #define VK_EXT_shader_stencil_export 1 8826 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 8827 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 8828 8829 8830 #define VK_EXT_sample_locations 1 8831 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 8832 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 8833 typedef struct VkSampleLocationEXT { 8834 float x; 8835 float y; 8836 } VkSampleLocationEXT; 8837 8838 typedef struct VkSampleLocationsInfoEXT { 8839 VkStructureType sType; 8840 const void* pNext; 8841 VkSampleCountFlagBits sampleLocationsPerPixel; 8842 VkExtent2D sampleLocationGridSize; 8843 uint32_t sampleLocationsCount; 8844 const VkSampleLocationEXT* pSampleLocations; 8845 } VkSampleLocationsInfoEXT; 8846 8847 typedef struct VkAttachmentSampleLocationsEXT { 8848 uint32_t attachmentIndex; 8849 VkSampleLocationsInfoEXT sampleLocationsInfo; 8850 } VkAttachmentSampleLocationsEXT; 8851 8852 typedef struct VkSubpassSampleLocationsEXT { 8853 uint32_t subpassIndex; 8854 VkSampleLocationsInfoEXT sampleLocationsInfo; 8855 } VkSubpassSampleLocationsEXT; 8856 8857 typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 8858 VkStructureType sType; 8859 const void* pNext; 8860 uint32_t attachmentInitialSampleLocationsCount; 8861 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 8862 uint32_t postSubpassSampleLocationsCount; 8863 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 8864 } VkRenderPassSampleLocationsBeginInfoEXT; 8865 8866 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 8867 VkStructureType sType; 8868 const void* pNext; 8869 VkBool32 sampleLocationsEnable; 8870 VkSampleLocationsInfoEXT sampleLocationsInfo; 8871 } VkPipelineSampleLocationsStateCreateInfoEXT; 8872 8873 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 8874 VkStructureType sType; 8875 void* pNext; 8876 VkSampleCountFlags sampleLocationSampleCounts; 8877 VkExtent2D maxSampleLocationGridSize; 8878 float sampleLocationCoordinateRange[2]; 8879 uint32_t sampleLocationSubPixelBits; 8880 VkBool32 variableSampleLocations; 8881 } VkPhysicalDeviceSampleLocationsPropertiesEXT; 8882 8883 typedef struct VkMultisamplePropertiesEXT { 8884 VkStructureType sType; 8885 void* pNext; 8886 VkExtent2D maxSampleLocationGridSize; 8887 } VkMultisamplePropertiesEXT; 8888 8889 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 8890 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 8891 8892 #ifndef VK_NO_PROTOTYPES 8893 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 8894 VkCommandBuffer commandBuffer, 8895 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 8896 8897 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 8898 VkPhysicalDevice physicalDevice, 8899 VkSampleCountFlagBits samples, 8900 VkMultisamplePropertiesEXT* pMultisampleProperties); 8901 #endif 8902 8903 8904 #define VK_EXT_blend_operation_advanced 1 8905 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 8906 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 8907 8908 typedef enum VkBlendOverlapEXT { 8909 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 8910 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 8911 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 8912 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 8913 } VkBlendOverlapEXT; 8914 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 8915 VkStructureType sType; 8916 void* pNext; 8917 VkBool32 advancedBlendCoherentOperations; 8918 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 8919 8920 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 8921 VkStructureType sType; 8922 void* pNext; 8923 uint32_t advancedBlendMaxColorAttachments; 8924 VkBool32 advancedBlendIndependentBlend; 8925 VkBool32 advancedBlendNonPremultipliedSrcColor; 8926 VkBool32 advancedBlendNonPremultipliedDstColor; 8927 VkBool32 advancedBlendCorrelatedOverlap; 8928 VkBool32 advancedBlendAllOperations; 8929 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 8930 8931 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 8932 VkStructureType sType; 8933 const void* pNext; 8934 VkBool32 srcPremultiplied; 8935 VkBool32 dstPremultiplied; 8936 VkBlendOverlapEXT blendOverlap; 8937 } VkPipelineColorBlendAdvancedStateCreateInfoEXT; 8938 8939 8940 8941 #define VK_NV_fragment_coverage_to_color 1 8942 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 8943 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 8944 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 8945 typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 8946 VkStructureType sType; 8947 const void* pNext; 8948 VkPipelineCoverageToColorStateCreateFlagsNV flags; 8949 VkBool32 coverageToColorEnable; 8950 uint32_t coverageToColorLocation; 8951 } VkPipelineCoverageToColorStateCreateInfoNV; 8952 8953 8954 8955 #define VK_NV_framebuffer_mixed_samples 1 8956 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 8957 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 8958 8959 typedef enum VkCoverageModulationModeNV { 8960 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 8961 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 8962 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 8963 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 8964 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 8965 } VkCoverageModulationModeNV; 8966 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 8967 typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 8968 VkStructureType sType; 8969 const void* pNext; 8970 VkPipelineCoverageModulationStateCreateFlagsNV flags; 8971 VkCoverageModulationModeNV coverageModulationMode; 8972 VkBool32 coverageModulationTableEnable; 8973 uint32_t coverageModulationTableCount; 8974 const float* pCoverageModulationTable; 8975 } VkPipelineCoverageModulationStateCreateInfoNV; 8976 8977 8978 8979 #define VK_NV_fill_rectangle 1 8980 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 8981 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 8982 8983 8984 #define VK_NV_shader_sm_builtins 1 8985 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 8986 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 8987 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 8988 VkStructureType sType; 8989 void* pNext; 8990 uint32_t shaderSMCount; 8991 uint32_t shaderWarpsPerSM; 8992 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 8993 8994 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 8995 VkStructureType sType; 8996 void* pNext; 8997 VkBool32 shaderSMBuiltins; 8998 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 8999 9000 9001 9002 #define VK_EXT_post_depth_coverage 1 9003 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 9004 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 9005 9006 9007 #define VK_EXT_image_drm_format_modifier 1 9008 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1 9009 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 9010 typedef struct VkDrmFormatModifierPropertiesEXT { 9011 uint64_t drmFormatModifier; 9012 uint32_t drmFormatModifierPlaneCount; 9013 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 9014 } VkDrmFormatModifierPropertiesEXT; 9015 9016 typedef struct VkDrmFormatModifierPropertiesListEXT { 9017 VkStructureType sType; 9018 void* pNext; 9019 uint32_t drmFormatModifierCount; 9020 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 9021 } VkDrmFormatModifierPropertiesListEXT; 9022 9023 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 9024 VkStructureType sType; 9025 const void* pNext; 9026 uint64_t drmFormatModifier; 9027 VkSharingMode sharingMode; 9028 uint32_t queueFamilyIndexCount; 9029 const uint32_t* pQueueFamilyIndices; 9030 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 9031 9032 typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 9033 VkStructureType sType; 9034 const void* pNext; 9035 uint32_t drmFormatModifierCount; 9036 const uint64_t* pDrmFormatModifiers; 9037 } VkImageDrmFormatModifierListCreateInfoEXT; 9038 9039 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 9040 VkStructureType sType; 9041 const void* pNext; 9042 uint64_t drmFormatModifier; 9043 uint32_t drmFormatModifierPlaneCount; 9044 const VkSubresourceLayout* pPlaneLayouts; 9045 } VkImageDrmFormatModifierExplicitCreateInfoEXT; 9046 9047 typedef struct VkImageDrmFormatModifierPropertiesEXT { 9048 VkStructureType sType; 9049 void* pNext; 9050 uint64_t drmFormatModifier; 9051 } VkImageDrmFormatModifierPropertiesEXT; 9052 9053 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 9054 9055 #ifndef VK_NO_PROTOTYPES 9056 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 9057 VkDevice device, 9058 VkImage image, 9059 VkImageDrmFormatModifierPropertiesEXT* pProperties); 9060 #endif 9061 9062 9063 #define VK_EXT_validation_cache 1 9064 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 9065 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 9066 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 9067 9068 typedef enum VkValidationCacheHeaderVersionEXT { 9069 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 9070 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 9071 } VkValidationCacheHeaderVersionEXT; 9072 typedef VkFlags VkValidationCacheCreateFlagsEXT; 9073 typedef struct VkValidationCacheCreateInfoEXT { 9074 VkStructureType sType; 9075 const void* pNext; 9076 VkValidationCacheCreateFlagsEXT flags; 9077 size_t initialDataSize; 9078 const void* pInitialData; 9079 } VkValidationCacheCreateInfoEXT; 9080 9081 typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 9082 VkStructureType sType; 9083 const void* pNext; 9084 VkValidationCacheEXT validationCache; 9085 } VkShaderModuleValidationCacheCreateInfoEXT; 9086 9087 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 9088 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 9089 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 9090 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); 9091 9092 #ifndef VK_NO_PROTOTYPES 9093 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 9094 VkDevice device, 9095 const VkValidationCacheCreateInfoEXT* pCreateInfo, 9096 const VkAllocationCallbacks* pAllocator, 9097 VkValidationCacheEXT* pValidationCache); 9098 9099 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 9100 VkDevice device, 9101 VkValidationCacheEXT validationCache, 9102 const VkAllocationCallbacks* pAllocator); 9103 9104 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 9105 VkDevice device, 9106 VkValidationCacheEXT dstCache, 9107 uint32_t srcCacheCount, 9108 const VkValidationCacheEXT* pSrcCaches); 9109 9110 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 9111 VkDevice device, 9112 VkValidationCacheEXT validationCache, 9113 size_t* pDataSize, 9114 void* pData); 9115 #endif 9116 9117 9118 #define VK_EXT_descriptor_indexing 1 9119 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 9120 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 9121 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 9122 9123 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 9124 9125 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 9126 9127 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 9128 9129 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 9130 9131 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 9132 9133 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 9134 9135 9136 9137 #define VK_EXT_shader_viewport_index_layer 1 9138 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 9139 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 9140 9141 9142 #define VK_NV_shading_rate_image 1 9143 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 9144 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 9145 9146 typedef enum VkShadingRatePaletteEntryNV { 9147 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 9148 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 9149 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 9150 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 9151 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 9152 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 9153 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 9154 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 9155 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 9156 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 9157 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 9158 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 9159 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 9160 } VkShadingRatePaletteEntryNV; 9161 9162 typedef enum VkCoarseSampleOrderTypeNV { 9163 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 9164 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 9165 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 9166 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 9167 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 9168 } VkCoarseSampleOrderTypeNV; 9169 typedef struct VkShadingRatePaletteNV { 9170 uint32_t shadingRatePaletteEntryCount; 9171 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 9172 } VkShadingRatePaletteNV; 9173 9174 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 9175 VkStructureType sType; 9176 const void* pNext; 9177 VkBool32 shadingRateImageEnable; 9178 uint32_t viewportCount; 9179 const VkShadingRatePaletteNV* pShadingRatePalettes; 9180 } VkPipelineViewportShadingRateImageStateCreateInfoNV; 9181 9182 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 9183 VkStructureType sType; 9184 void* pNext; 9185 VkBool32 shadingRateImage; 9186 VkBool32 shadingRateCoarseSampleOrder; 9187 } VkPhysicalDeviceShadingRateImageFeaturesNV; 9188 9189 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 9190 VkStructureType sType; 9191 void* pNext; 9192 VkExtent2D shadingRateTexelSize; 9193 uint32_t shadingRatePaletteSize; 9194 uint32_t shadingRateMaxCoarseSamples; 9195 } VkPhysicalDeviceShadingRateImagePropertiesNV; 9196 9197 typedef struct VkCoarseSampleLocationNV { 9198 uint32_t pixelX; 9199 uint32_t pixelY; 9200 uint32_t sample; 9201 } VkCoarseSampleLocationNV; 9202 9203 typedef struct VkCoarseSampleOrderCustomNV { 9204 VkShadingRatePaletteEntryNV shadingRate; 9205 uint32_t sampleCount; 9206 uint32_t sampleLocationCount; 9207 const VkCoarseSampleLocationNV* pSampleLocations; 9208 } VkCoarseSampleOrderCustomNV; 9209 9210 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 9211 VkStructureType sType; 9212 const void* pNext; 9213 VkCoarseSampleOrderTypeNV sampleOrderType; 9214 uint32_t customSampleOrderCount; 9215 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 9216 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 9217 9218 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 9219 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 9220 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 9221 9222 #ifndef VK_NO_PROTOTYPES 9223 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 9224 VkCommandBuffer commandBuffer, 9225 VkImageView imageView, 9226 VkImageLayout imageLayout); 9227 9228 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 9229 VkCommandBuffer commandBuffer, 9230 uint32_t firstViewport, 9231 uint32_t viewportCount, 9232 const VkShadingRatePaletteNV* pShadingRatePalettes); 9233 9234 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 9235 VkCommandBuffer commandBuffer, 9236 VkCoarseSampleOrderTypeNV sampleOrderType, 9237 uint32_t customSampleOrderCount, 9238 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 9239 #endif 9240 9241 9242 #define VK_NV_ray_tracing 1 9243 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 9244 typedef VkAccelerationStructureKHR VkAccelerationStructureNV; 9245 9246 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 9247 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 9248 #define VK_SHADER_UNUSED_KHR (~0U) 9249 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 9250 9251 typedef enum VkRayTracingShaderGroupTypeKHR { 9252 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 9253 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 9254 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 9255 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 9256 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 9257 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 9258 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 9259 } VkRayTracingShaderGroupTypeKHR; 9260 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 9261 9262 9263 typedef enum VkGeometryTypeKHR { 9264 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 9265 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 9266 VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000, 9267 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 9268 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 9269 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 9270 } VkGeometryTypeKHR; 9271 typedef VkGeometryTypeKHR VkGeometryTypeNV; 9272 9273 9274 typedef enum VkAccelerationStructureTypeKHR { 9275 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 9276 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 9277 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 9278 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 9279 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 9280 } VkAccelerationStructureTypeKHR; 9281 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 9282 9283 9284 typedef enum VkCopyAccelerationStructureModeKHR { 9285 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 9286 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 9287 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 9288 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 9289 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 9290 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 9291 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 9292 } VkCopyAccelerationStructureModeKHR; 9293 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 9294 9295 9296 typedef enum VkAccelerationStructureMemoryRequirementsTypeKHR { 9297 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0, 9298 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1, 9299 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2, 9300 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR, 9301 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR, 9302 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR, 9303 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 9304 } VkAccelerationStructureMemoryRequirementsTypeKHR; 9305 typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV; 9306 9307 9308 typedef enum VkGeometryFlagBitsKHR { 9309 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 9310 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 9311 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 9312 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 9313 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9314 } VkGeometryFlagBitsKHR; 9315 typedef VkFlags VkGeometryFlagsKHR; 9316 typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 9317 9318 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 9319 9320 9321 typedef enum VkGeometryInstanceFlagBitsKHR { 9322 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 9323 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002, 9324 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 9325 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 9326 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 9327 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 9328 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 9329 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 9330 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9331 } VkGeometryInstanceFlagBitsKHR; 9332 typedef VkFlags VkGeometryInstanceFlagsKHR; 9333 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 9334 9335 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 9336 9337 9338 typedef enum VkBuildAccelerationStructureFlagBitsKHR { 9339 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 9340 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 9341 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 9342 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 9343 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 9344 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 9345 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 9346 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 9347 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 9348 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 9349 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9350 } VkBuildAccelerationStructureFlagBitsKHR; 9351 typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 9352 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 9353 9354 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 9355 9356 typedef struct VkRayTracingShaderGroupCreateInfoNV { 9357 VkStructureType sType; 9358 const void* pNext; 9359 VkRayTracingShaderGroupTypeKHR type; 9360 uint32_t generalShader; 9361 uint32_t closestHitShader; 9362 uint32_t anyHitShader; 9363 uint32_t intersectionShader; 9364 } VkRayTracingShaderGroupCreateInfoNV; 9365 9366 typedef struct VkRayTracingPipelineCreateInfoNV { 9367 VkStructureType sType; 9368 const void* pNext; 9369 VkPipelineCreateFlags flags; 9370 uint32_t stageCount; 9371 const VkPipelineShaderStageCreateInfo* pStages; 9372 uint32_t groupCount; 9373 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 9374 uint32_t maxRecursionDepth; 9375 VkPipelineLayout layout; 9376 VkPipeline basePipelineHandle; 9377 int32_t basePipelineIndex; 9378 } VkRayTracingPipelineCreateInfoNV; 9379 9380 typedef struct VkGeometryTrianglesNV { 9381 VkStructureType sType; 9382 const void* pNext; 9383 VkBuffer vertexData; 9384 VkDeviceSize vertexOffset; 9385 uint32_t vertexCount; 9386 VkDeviceSize vertexStride; 9387 VkFormat vertexFormat; 9388 VkBuffer indexData; 9389 VkDeviceSize indexOffset; 9390 uint32_t indexCount; 9391 VkIndexType indexType; 9392 VkBuffer transformData; 9393 VkDeviceSize transformOffset; 9394 } VkGeometryTrianglesNV; 9395 9396 typedef struct VkGeometryAABBNV { 9397 VkStructureType sType; 9398 const void* pNext; 9399 VkBuffer aabbData; 9400 uint32_t numAABBs; 9401 uint32_t stride; 9402 VkDeviceSize offset; 9403 } VkGeometryAABBNV; 9404 9405 typedef struct VkGeometryDataNV { 9406 VkGeometryTrianglesNV triangles; 9407 VkGeometryAABBNV aabbs; 9408 } VkGeometryDataNV; 9409 9410 typedef struct VkGeometryNV { 9411 VkStructureType sType; 9412 const void* pNext; 9413 VkGeometryTypeKHR geometryType; 9414 VkGeometryDataNV geometry; 9415 VkGeometryFlagsKHR flags; 9416 } VkGeometryNV; 9417 9418 typedef struct VkAccelerationStructureInfoNV { 9419 VkStructureType sType; 9420 const void* pNext; 9421 VkAccelerationStructureTypeNV type; 9422 VkBuildAccelerationStructureFlagsNV flags; 9423 uint32_t instanceCount; 9424 uint32_t geometryCount; 9425 const VkGeometryNV* pGeometries; 9426 } VkAccelerationStructureInfoNV; 9427 9428 typedef struct VkAccelerationStructureCreateInfoNV { 9429 VkStructureType sType; 9430 const void* pNext; 9431 VkDeviceSize compactedSize; 9432 VkAccelerationStructureInfoNV info; 9433 } VkAccelerationStructureCreateInfoNV; 9434 9435 typedef struct VkBindAccelerationStructureMemoryInfoKHR { 9436 VkStructureType sType; 9437 const void* pNext; 9438 VkAccelerationStructureKHR accelerationStructure; 9439 VkDeviceMemory memory; 9440 VkDeviceSize memoryOffset; 9441 uint32_t deviceIndexCount; 9442 const uint32_t* pDeviceIndices; 9443 } VkBindAccelerationStructureMemoryInfoKHR; 9444 9445 typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV; 9446 9447 typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 9448 VkStructureType sType; 9449 const void* pNext; 9450 uint32_t accelerationStructureCount; 9451 const VkAccelerationStructureKHR* pAccelerationStructures; 9452 } VkWriteDescriptorSetAccelerationStructureKHR; 9453 9454 typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV; 9455 9456 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 9457 VkStructureType sType; 9458 const void* pNext; 9459 VkAccelerationStructureMemoryRequirementsTypeNV type; 9460 VkAccelerationStructureNV accelerationStructure; 9461 } VkAccelerationStructureMemoryRequirementsInfoNV; 9462 9463 typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 9464 VkStructureType sType; 9465 void* pNext; 9466 uint32_t shaderGroupHandleSize; 9467 uint32_t maxRecursionDepth; 9468 uint32_t maxShaderGroupStride; 9469 uint32_t shaderGroupBaseAlignment; 9470 uint64_t maxGeometryCount; 9471 uint64_t maxInstanceCount; 9472 uint64_t maxTriangleCount; 9473 uint32_t maxDescriptorSetAccelerationStructures; 9474 } VkPhysicalDeviceRayTracingPropertiesNV; 9475 9476 typedef struct VkTransformMatrixKHR { 9477 float matrix[3][4]; 9478 } VkTransformMatrixKHR; 9479 9480 typedef VkTransformMatrixKHR VkTransformMatrixNV; 9481 9482 typedef struct VkAabbPositionsKHR { 9483 float minX; 9484 float minY; 9485 float minZ; 9486 float maxX; 9487 float maxY; 9488 float maxZ; 9489 } VkAabbPositionsKHR; 9490 9491 typedef VkAabbPositionsKHR VkAabbPositionsNV; 9492 9493 typedef struct VkAccelerationStructureInstanceKHR { 9494 VkTransformMatrixKHR transform; 9495 uint32_t instanceCustomIndex:24; 9496 uint32_t mask:8; 9497 uint32_t instanceShaderBindingTableRecordOffset:24; 9498 VkGeometryInstanceFlagsKHR flags:8; 9499 uint64_t accelerationStructureReference; 9500 } VkAccelerationStructureInstanceKHR; 9501 9502 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 9503 9504 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 9505 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 9506 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 9507 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 9508 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos); 9509 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos); 9510 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkBuffer scratch, VkDeviceSize scratchOffset); 9511 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR mode); 9512 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth); 9513 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 9514 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 9515 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); 9516 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, size_t dataSize, void* pData); 9517 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 9518 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 9519 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader); 9520 9521 #ifndef VK_NO_PROTOTYPES 9522 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 9523 VkDevice device, 9524 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 9525 const VkAllocationCallbacks* pAllocator, 9526 VkAccelerationStructureNV* pAccelerationStructure); 9527 9528 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 9529 VkDevice device, 9530 VkAccelerationStructureKHR accelerationStructure, 9531 const VkAllocationCallbacks* pAllocator); 9532 9533 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 9534 VkDevice device, 9535 VkAccelerationStructureKHR accelerationStructure, 9536 const VkAllocationCallbacks* pAllocator); 9537 9538 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 9539 VkDevice device, 9540 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 9541 VkMemoryRequirements2KHR* pMemoryRequirements); 9542 9543 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR( 9544 VkDevice device, 9545 uint32_t bindInfoCount, 9546 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos); 9547 9548 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 9549 VkDevice device, 9550 uint32_t bindInfoCount, 9551 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos); 9552 9553 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 9554 VkCommandBuffer commandBuffer, 9555 const VkAccelerationStructureInfoNV* pInfo, 9556 VkBuffer instanceData, 9557 VkDeviceSize instanceOffset, 9558 VkBool32 update, 9559 VkAccelerationStructureKHR dst, 9560 VkAccelerationStructureKHR src, 9561 VkBuffer scratch, 9562 VkDeviceSize scratchOffset); 9563 9564 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 9565 VkCommandBuffer commandBuffer, 9566 VkAccelerationStructureKHR dst, 9567 VkAccelerationStructureKHR src, 9568 VkCopyAccelerationStructureModeKHR mode); 9569 9570 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 9571 VkCommandBuffer commandBuffer, 9572 VkBuffer raygenShaderBindingTableBuffer, 9573 VkDeviceSize raygenShaderBindingOffset, 9574 VkBuffer missShaderBindingTableBuffer, 9575 VkDeviceSize missShaderBindingOffset, 9576 VkDeviceSize missShaderBindingStride, 9577 VkBuffer hitShaderBindingTableBuffer, 9578 VkDeviceSize hitShaderBindingOffset, 9579 VkDeviceSize hitShaderBindingStride, 9580 VkBuffer callableShaderBindingTableBuffer, 9581 VkDeviceSize callableShaderBindingOffset, 9582 VkDeviceSize callableShaderBindingStride, 9583 uint32_t width, 9584 uint32_t height, 9585 uint32_t depth); 9586 9587 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 9588 VkDevice device, 9589 VkPipelineCache pipelineCache, 9590 uint32_t createInfoCount, 9591 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 9592 const VkAllocationCallbacks* pAllocator, 9593 VkPipeline* pPipelines); 9594 9595 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 9596 VkDevice device, 9597 VkPipeline pipeline, 9598 uint32_t firstGroup, 9599 uint32_t groupCount, 9600 size_t dataSize, 9601 void* pData); 9602 9603 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 9604 VkDevice device, 9605 VkPipeline pipeline, 9606 uint32_t firstGroup, 9607 uint32_t groupCount, 9608 size_t dataSize, 9609 void* pData); 9610 9611 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 9612 VkDevice device, 9613 VkAccelerationStructureKHR accelerationStructure, 9614 size_t dataSize, 9615 void* pData); 9616 9617 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 9618 VkCommandBuffer commandBuffer, 9619 uint32_t accelerationStructureCount, 9620 const VkAccelerationStructureKHR* pAccelerationStructures, 9621 VkQueryType queryType, 9622 VkQueryPool queryPool, 9623 uint32_t firstQuery); 9624 9625 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 9626 VkCommandBuffer commandBuffer, 9627 uint32_t accelerationStructureCount, 9628 const VkAccelerationStructureKHR* pAccelerationStructures, 9629 VkQueryType queryType, 9630 VkQueryPool queryPool, 9631 uint32_t firstQuery); 9632 9633 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 9634 VkDevice device, 9635 VkPipeline pipeline, 9636 uint32_t shader); 9637 #endif 9638 9639 9640 #define VK_NV_representative_fragment_test 1 9641 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 9642 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 9643 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 9644 VkStructureType sType; 9645 void* pNext; 9646 VkBool32 representativeFragmentTest; 9647 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 9648 9649 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 9650 VkStructureType sType; 9651 const void* pNext; 9652 VkBool32 representativeFragmentTestEnable; 9653 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 9654 9655 9656 9657 #define VK_EXT_filter_cubic 1 9658 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 9659 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 9660 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 9661 VkStructureType sType; 9662 void* pNext; 9663 VkImageViewType imageViewType; 9664 } VkPhysicalDeviceImageViewImageFormatInfoEXT; 9665 9666 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 9667 VkStructureType sType; 9668 void* pNext; 9669 VkBool32 filterCubic; 9670 VkBool32 filterCubicMinmax; 9671 } VkFilterCubicImageViewImageFormatPropertiesEXT; 9672 9673 9674 9675 #define VK_QCOM_render_pass_shader_resolve 1 9676 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 9677 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 9678 9679 9680 #define VK_EXT_global_priority 1 9681 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 9682 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 9683 9684 typedef enum VkQueueGlobalPriorityEXT { 9685 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, 9686 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, 9687 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, 9688 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024, 9689 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF 9690 } VkQueueGlobalPriorityEXT; 9691 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT { 9692 VkStructureType sType; 9693 const void* pNext; 9694 VkQueueGlobalPriorityEXT globalPriority; 9695 } VkDeviceQueueGlobalPriorityCreateInfoEXT; 9696 9697 9698 9699 #define VK_EXT_external_memory_host 1 9700 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 9701 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 9702 typedef struct VkImportMemoryHostPointerInfoEXT { 9703 VkStructureType sType; 9704 const void* pNext; 9705 VkExternalMemoryHandleTypeFlagBits handleType; 9706 void* pHostPointer; 9707 } VkImportMemoryHostPointerInfoEXT; 9708 9709 typedef struct VkMemoryHostPointerPropertiesEXT { 9710 VkStructureType sType; 9711 void* pNext; 9712 uint32_t memoryTypeBits; 9713 } VkMemoryHostPointerPropertiesEXT; 9714 9715 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 9716 VkStructureType sType; 9717 void* pNext; 9718 VkDeviceSize minImportedHostPointerAlignment; 9719 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 9720 9721 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 9722 9723 #ifndef VK_NO_PROTOTYPES 9724 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 9725 VkDevice device, 9726 VkExternalMemoryHandleTypeFlagBits handleType, 9727 const void* pHostPointer, 9728 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 9729 #endif 9730 9731 9732 #define VK_AMD_buffer_marker 1 9733 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 9734 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 9735 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); 9736 9737 #ifndef VK_NO_PROTOTYPES 9738 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 9739 VkCommandBuffer commandBuffer, 9740 VkPipelineStageFlagBits pipelineStage, 9741 VkBuffer dstBuffer, 9742 VkDeviceSize dstOffset, 9743 uint32_t marker); 9744 #endif 9745 9746 9747 #define VK_AMD_pipeline_compiler_control 1 9748 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 9749 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 9750 9751 typedef enum VkPipelineCompilerControlFlagBitsAMD { 9752 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 9753 } VkPipelineCompilerControlFlagBitsAMD; 9754 typedef VkFlags VkPipelineCompilerControlFlagsAMD; 9755 typedef struct VkPipelineCompilerControlCreateInfoAMD { 9756 VkStructureType sType; 9757 const void* pNext; 9758 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 9759 } VkPipelineCompilerControlCreateInfoAMD; 9760 9761 9762 9763 #define VK_EXT_calibrated_timestamps 1 9764 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 9765 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 9766 9767 typedef enum VkTimeDomainEXT { 9768 VK_TIME_DOMAIN_DEVICE_EXT = 0, 9769 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, 9770 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, 9771 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, 9772 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF 9773 } VkTimeDomainEXT; 9774 typedef struct VkCalibratedTimestampInfoEXT { 9775 VkStructureType sType; 9776 const void* pNext; 9777 VkTimeDomainEXT timeDomain; 9778 } VkCalibratedTimestampInfoEXT; 9779 9780 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); 9781 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 9782 9783 #ifndef VK_NO_PROTOTYPES 9784 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 9785 VkPhysicalDevice physicalDevice, 9786 uint32_t* pTimeDomainCount, 9787 VkTimeDomainEXT* pTimeDomains); 9788 9789 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 9790 VkDevice device, 9791 uint32_t timestampCount, 9792 const VkCalibratedTimestampInfoEXT* pTimestampInfos, 9793 uint64_t* pTimestamps, 9794 uint64_t* pMaxDeviation); 9795 #endif 9796 9797 9798 #define VK_AMD_shader_core_properties 1 9799 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 9800 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 9801 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 9802 VkStructureType sType; 9803 void* pNext; 9804 uint32_t shaderEngineCount; 9805 uint32_t shaderArraysPerEngineCount; 9806 uint32_t computeUnitsPerShaderArray; 9807 uint32_t simdPerComputeUnit; 9808 uint32_t wavefrontsPerSimd; 9809 uint32_t wavefrontSize; 9810 uint32_t sgprsPerSimd; 9811 uint32_t minSgprAllocation; 9812 uint32_t maxSgprAllocation; 9813 uint32_t sgprAllocationGranularity; 9814 uint32_t vgprsPerSimd; 9815 uint32_t minVgprAllocation; 9816 uint32_t maxVgprAllocation; 9817 uint32_t vgprAllocationGranularity; 9818 } VkPhysicalDeviceShaderCorePropertiesAMD; 9819 9820 9821 9822 #define VK_AMD_memory_overallocation_behavior 1 9823 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 9824 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 9825 9826 typedef enum VkMemoryOverallocationBehaviorAMD { 9827 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 9828 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 9829 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 9830 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 9831 } VkMemoryOverallocationBehaviorAMD; 9832 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 9833 VkStructureType sType; 9834 const void* pNext; 9835 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 9836 } VkDeviceMemoryOverallocationCreateInfoAMD; 9837 9838 9839 9840 #define VK_EXT_vertex_attribute_divisor 1 9841 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 9842 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 9843 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 9844 VkStructureType sType; 9845 void* pNext; 9846 uint32_t maxVertexAttribDivisor; 9847 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 9848 9849 typedef struct VkVertexInputBindingDivisorDescriptionEXT { 9850 uint32_t binding; 9851 uint32_t divisor; 9852 } VkVertexInputBindingDivisorDescriptionEXT; 9853 9854 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { 9855 VkStructureType sType; 9856 const void* pNext; 9857 uint32_t vertexBindingDivisorCount; 9858 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 9859 } VkPipelineVertexInputDivisorStateCreateInfoEXT; 9860 9861 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { 9862 VkStructureType sType; 9863 void* pNext; 9864 VkBool32 vertexAttributeInstanceRateDivisor; 9865 VkBool32 vertexAttributeInstanceRateZeroDivisor; 9866 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 9867 9868 9869 9870 #define VK_EXT_pipeline_creation_feedback 1 9871 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 9872 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 9873 9874 typedef enum VkPipelineCreationFeedbackFlagBitsEXT { 9875 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001, 9876 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002, 9877 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004, 9878 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 9879 } VkPipelineCreationFeedbackFlagBitsEXT; 9880 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; 9881 typedef struct VkPipelineCreationFeedbackEXT { 9882 VkPipelineCreationFeedbackFlagsEXT flags; 9883 uint64_t duration; 9884 } VkPipelineCreationFeedbackEXT; 9885 9886 typedef struct VkPipelineCreationFeedbackCreateInfoEXT { 9887 VkStructureType sType; 9888 const void* pNext; 9889 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback; 9890 uint32_t pipelineStageCreationFeedbackCount; 9891 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks; 9892 } VkPipelineCreationFeedbackCreateInfoEXT; 9893 9894 9895 9896 #define VK_NV_shader_subgroup_partitioned 1 9897 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 9898 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 9899 9900 9901 #define VK_NV_compute_shader_derivatives 1 9902 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 9903 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 9904 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 9905 VkStructureType sType; 9906 void* pNext; 9907 VkBool32 computeDerivativeGroupQuads; 9908 VkBool32 computeDerivativeGroupLinear; 9909 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 9910 9911 9912 9913 #define VK_NV_mesh_shader 1 9914 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 9915 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 9916 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 9917 VkStructureType sType; 9918 void* pNext; 9919 VkBool32 taskShader; 9920 VkBool32 meshShader; 9921 } VkPhysicalDeviceMeshShaderFeaturesNV; 9922 9923 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 9924 VkStructureType sType; 9925 void* pNext; 9926 uint32_t maxDrawMeshTasksCount; 9927 uint32_t maxTaskWorkGroupInvocations; 9928 uint32_t maxTaskWorkGroupSize[3]; 9929 uint32_t maxTaskTotalMemorySize; 9930 uint32_t maxTaskOutputCount; 9931 uint32_t maxMeshWorkGroupInvocations; 9932 uint32_t maxMeshWorkGroupSize[3]; 9933 uint32_t maxMeshTotalMemorySize; 9934 uint32_t maxMeshOutputVertices; 9935 uint32_t maxMeshOutputPrimitives; 9936 uint32_t maxMeshMultiviewViewCount; 9937 uint32_t meshOutputPerVertexGranularity; 9938 uint32_t meshOutputPerPrimitiveGranularity; 9939 } VkPhysicalDeviceMeshShaderPropertiesNV; 9940 9941 typedef struct VkDrawMeshTasksIndirectCommandNV { 9942 uint32_t taskCount; 9943 uint32_t firstTask; 9944 } VkDrawMeshTasksIndirectCommandNV; 9945 9946 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); 9947 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 9948 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 9949 9950 #ifndef VK_NO_PROTOTYPES 9951 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 9952 VkCommandBuffer commandBuffer, 9953 uint32_t taskCount, 9954 uint32_t firstTask); 9955 9956 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 9957 VkCommandBuffer commandBuffer, 9958 VkBuffer buffer, 9959 VkDeviceSize offset, 9960 uint32_t drawCount, 9961 uint32_t stride); 9962 9963 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 9964 VkCommandBuffer commandBuffer, 9965 VkBuffer buffer, 9966 VkDeviceSize offset, 9967 VkBuffer countBuffer, 9968 VkDeviceSize countBufferOffset, 9969 uint32_t maxDrawCount, 9970 uint32_t stride); 9971 #endif 9972 9973 9974 #define VK_NV_fragment_shader_barycentric 1 9975 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 9976 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 9977 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV { 9978 VkStructureType sType; 9979 void* pNext; 9980 VkBool32 fragmentShaderBarycentric; 9981 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 9982 9983 9984 9985 #define VK_NV_shader_image_footprint 1 9986 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 9987 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 9988 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 9989 VkStructureType sType; 9990 void* pNext; 9991 VkBool32 imageFootprint; 9992 } VkPhysicalDeviceShaderImageFootprintFeaturesNV; 9993 9994 9995 9996 #define VK_NV_scissor_exclusive 1 9997 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 9998 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 9999 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 10000 VkStructureType sType; 10001 const void* pNext; 10002 uint32_t exclusiveScissorCount; 10003 const VkRect2D* pExclusiveScissors; 10004 } VkPipelineViewportExclusiveScissorStateCreateInfoNV; 10005 10006 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 10007 VkStructureType sType; 10008 void* pNext; 10009 VkBool32 exclusiveScissor; 10010 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 10011 10012 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 10013 10014 #ifndef VK_NO_PROTOTYPES 10015 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 10016 VkCommandBuffer commandBuffer, 10017 uint32_t firstExclusiveScissor, 10018 uint32_t exclusiveScissorCount, 10019 const VkRect2D* pExclusiveScissors); 10020 #endif 10021 10022 10023 #define VK_NV_device_diagnostic_checkpoints 1 10024 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 10025 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 10026 typedef struct VkQueueFamilyCheckpointPropertiesNV { 10027 VkStructureType sType; 10028 void* pNext; 10029 VkPipelineStageFlags checkpointExecutionStageMask; 10030 } VkQueueFamilyCheckpointPropertiesNV; 10031 10032 typedef struct VkCheckpointDataNV { 10033 VkStructureType sType; 10034 void* pNext; 10035 VkPipelineStageFlagBits stage; 10036 void* pCheckpointMarker; 10037 } VkCheckpointDataNV; 10038 10039 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 10040 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 10041 10042 #ifndef VK_NO_PROTOTYPES 10043 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 10044 VkCommandBuffer commandBuffer, 10045 const void* pCheckpointMarker); 10046 10047 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 10048 VkQueue queue, 10049 uint32_t* pCheckpointDataCount, 10050 VkCheckpointDataNV* pCheckpointData); 10051 #endif 10052 10053 10054 #define VK_INTEL_shader_integer_functions2 1 10055 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 10056 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 10057 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 10058 VkStructureType sType; 10059 void* pNext; 10060 VkBool32 shaderIntegerFunctions2; 10061 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 10062 10063 10064 10065 #define VK_INTEL_performance_query 1 10066 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 10067 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 10068 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 10069 10070 typedef enum VkPerformanceConfigurationTypeINTEL { 10071 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 10072 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 10073 } VkPerformanceConfigurationTypeINTEL; 10074 10075 typedef enum VkQueryPoolSamplingModeINTEL { 10076 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 10077 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 10078 } VkQueryPoolSamplingModeINTEL; 10079 10080 typedef enum VkPerformanceOverrideTypeINTEL { 10081 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 10082 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 10083 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 10084 } VkPerformanceOverrideTypeINTEL; 10085 10086 typedef enum VkPerformanceParameterTypeINTEL { 10087 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 10088 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 10089 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 10090 } VkPerformanceParameterTypeINTEL; 10091 10092 typedef enum VkPerformanceValueTypeINTEL { 10093 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 10094 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 10095 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 10096 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 10097 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 10098 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 10099 } VkPerformanceValueTypeINTEL; 10100 typedef union VkPerformanceValueDataINTEL { 10101 uint32_t value32; 10102 uint64_t value64; 10103 float valueFloat; 10104 VkBool32 valueBool; 10105 const char* valueString; 10106 } VkPerformanceValueDataINTEL; 10107 10108 typedef struct VkPerformanceValueINTEL { 10109 VkPerformanceValueTypeINTEL type; 10110 VkPerformanceValueDataINTEL data; 10111 } VkPerformanceValueINTEL; 10112 10113 typedef struct VkInitializePerformanceApiInfoINTEL { 10114 VkStructureType sType; 10115 const void* pNext; 10116 void* pUserData; 10117 } VkInitializePerformanceApiInfoINTEL; 10118 10119 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 10120 VkStructureType sType; 10121 const void* pNext; 10122 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 10123 } VkQueryPoolPerformanceQueryCreateInfoINTEL; 10124 10125 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 10126 10127 typedef struct VkPerformanceMarkerInfoINTEL { 10128 VkStructureType sType; 10129 const void* pNext; 10130 uint64_t marker; 10131 } VkPerformanceMarkerInfoINTEL; 10132 10133 typedef struct VkPerformanceStreamMarkerInfoINTEL { 10134 VkStructureType sType; 10135 const void* pNext; 10136 uint32_t marker; 10137 } VkPerformanceStreamMarkerInfoINTEL; 10138 10139 typedef struct VkPerformanceOverrideInfoINTEL { 10140 VkStructureType sType; 10141 const void* pNext; 10142 VkPerformanceOverrideTypeINTEL type; 10143 VkBool32 enable; 10144 uint64_t parameter; 10145 } VkPerformanceOverrideInfoINTEL; 10146 10147 typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 10148 VkStructureType sType; 10149 const void* pNext; 10150 VkPerformanceConfigurationTypeINTEL type; 10151 } VkPerformanceConfigurationAcquireInfoINTEL; 10152 10153 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 10154 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 10155 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 10156 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 10157 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 10158 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 10159 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 10160 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 10161 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 10162 10163 #ifndef VK_NO_PROTOTYPES 10164 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 10165 VkDevice device, 10166 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 10167 10168 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 10169 VkDevice device); 10170 10171 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 10172 VkCommandBuffer commandBuffer, 10173 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 10174 10175 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 10176 VkCommandBuffer commandBuffer, 10177 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 10178 10179 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 10180 VkCommandBuffer commandBuffer, 10181 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 10182 10183 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 10184 VkDevice device, 10185 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 10186 VkPerformanceConfigurationINTEL* pConfiguration); 10187 10188 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 10189 VkDevice device, 10190 VkPerformanceConfigurationINTEL configuration); 10191 10192 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 10193 VkQueue queue, 10194 VkPerformanceConfigurationINTEL configuration); 10195 10196 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 10197 VkDevice device, 10198 VkPerformanceParameterTypeINTEL parameter, 10199 VkPerformanceValueINTEL* pValue); 10200 #endif 10201 10202 10203 #define VK_EXT_pci_bus_info 1 10204 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 10205 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 10206 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 10207 VkStructureType sType; 10208 void* pNext; 10209 uint32_t pciDomain; 10210 uint32_t pciBus; 10211 uint32_t pciDevice; 10212 uint32_t pciFunction; 10213 } VkPhysicalDevicePCIBusInfoPropertiesEXT; 10214 10215 10216 10217 #define VK_AMD_display_native_hdr 1 10218 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 10219 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 10220 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 10221 VkStructureType sType; 10222 void* pNext; 10223 VkBool32 localDimmingSupport; 10224 } VkDisplayNativeHdrSurfaceCapabilitiesAMD; 10225 10226 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 10227 VkStructureType sType; 10228 const void* pNext; 10229 VkBool32 localDimmingEnable; 10230 } VkSwapchainDisplayNativeHdrCreateInfoAMD; 10231 10232 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 10233 10234 #ifndef VK_NO_PROTOTYPES 10235 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 10236 VkDevice device, 10237 VkSwapchainKHR swapChain, 10238 VkBool32 localDimmingEnable); 10239 #endif 10240 10241 10242 #define VK_EXT_fragment_density_map 1 10243 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1 10244 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 10245 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 10246 VkStructureType sType; 10247 void* pNext; 10248 VkBool32 fragmentDensityMap; 10249 VkBool32 fragmentDensityMapDynamic; 10250 VkBool32 fragmentDensityMapNonSubsampledImages; 10251 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 10252 10253 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 10254 VkStructureType sType; 10255 void* pNext; 10256 VkExtent2D minFragmentDensityTexelSize; 10257 VkExtent2D maxFragmentDensityTexelSize; 10258 VkBool32 fragmentDensityInvocations; 10259 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 10260 10261 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 10262 VkStructureType sType; 10263 const void* pNext; 10264 VkAttachmentReference fragmentDensityMapAttachment; 10265 } VkRenderPassFragmentDensityMapCreateInfoEXT; 10266 10267 10268 10269 #define VK_EXT_scalar_block_layout 1 10270 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 10271 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 10272 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 10273 10274 10275 10276 #define VK_GOOGLE_hlsl_functionality1 1 10277 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1 10278 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 10279 10280 10281 #define VK_GOOGLE_decorate_string 1 10282 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 10283 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 10284 10285 10286 #define VK_EXT_subgroup_size_control 1 10287 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 10288 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 10289 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { 10290 VkStructureType sType; 10291 void* pNext; 10292 VkBool32 subgroupSizeControl; 10293 VkBool32 computeFullSubgroups; 10294 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 10295 10296 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT { 10297 VkStructureType sType; 10298 void* pNext; 10299 uint32_t minSubgroupSize; 10300 uint32_t maxSubgroupSize; 10301 uint32_t maxComputeWorkgroupSubgroups; 10302 VkShaderStageFlags requiredSubgroupSizeStages; 10303 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 10304 10305 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { 10306 VkStructureType sType; 10307 void* pNext; 10308 uint32_t requiredSubgroupSize; 10309 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 10310 10311 10312 10313 #define VK_AMD_shader_core_properties2 1 10314 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 10315 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 10316 10317 typedef enum VkShaderCorePropertiesFlagBitsAMD { 10318 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 10319 } VkShaderCorePropertiesFlagBitsAMD; 10320 typedef VkFlags VkShaderCorePropertiesFlagsAMD; 10321 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 10322 VkStructureType sType; 10323 void* pNext; 10324 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 10325 uint32_t activeComputeUnitCount; 10326 } VkPhysicalDeviceShaderCoreProperties2AMD; 10327 10328 10329 10330 #define VK_AMD_device_coherent_memory 1 10331 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 10332 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 10333 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 10334 VkStructureType sType; 10335 void* pNext; 10336 VkBool32 deviceCoherentMemory; 10337 } VkPhysicalDeviceCoherentMemoryFeaturesAMD; 10338 10339 10340 10341 #define VK_EXT_shader_image_atomic_int64 1 10342 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 10343 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 10344 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 10345 VkStructureType sType; 10346 void* pNext; 10347 VkBool32 shaderImageInt64Atomics; 10348 VkBool32 sparseImageInt64Atomics; 10349 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 10350 10351 10352 10353 #define VK_EXT_memory_budget 1 10354 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 10355 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 10356 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 10357 VkStructureType sType; 10358 void* pNext; 10359 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 10360 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 10361 } VkPhysicalDeviceMemoryBudgetPropertiesEXT; 10362 10363 10364 10365 #define VK_EXT_memory_priority 1 10366 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 10367 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 10368 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 10369 VkStructureType sType; 10370 void* pNext; 10371 VkBool32 memoryPriority; 10372 } VkPhysicalDeviceMemoryPriorityFeaturesEXT; 10373 10374 typedef struct VkMemoryPriorityAllocateInfoEXT { 10375 VkStructureType sType; 10376 const void* pNext; 10377 float priority; 10378 } VkMemoryPriorityAllocateInfoEXT; 10379 10380 10381 10382 #define VK_NV_dedicated_allocation_image_aliasing 1 10383 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 10384 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 10385 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 10386 VkStructureType sType; 10387 void* pNext; 10388 VkBool32 dedicatedAllocationImageAliasing; 10389 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 10390 10391 10392 10393 #define VK_EXT_buffer_device_address 1 10394 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 10395 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 10396 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 10397 VkStructureType sType; 10398 void* pNext; 10399 VkBool32 bufferDeviceAddress; 10400 VkBool32 bufferDeviceAddressCaptureReplay; 10401 VkBool32 bufferDeviceAddressMultiDevice; 10402 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 10403 10404 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 10405 10406 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 10407 10408 typedef struct VkBufferDeviceAddressCreateInfoEXT { 10409 VkStructureType sType; 10410 const void* pNext; 10411 VkDeviceAddress deviceAddress; 10412 } VkBufferDeviceAddressCreateInfoEXT; 10413 10414 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10415 10416 #ifndef VK_NO_PROTOTYPES 10417 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 10418 VkDevice device, 10419 const VkBufferDeviceAddressInfo* pInfo); 10420 #endif 10421 10422 10423 #define VK_EXT_tooling_info 1 10424 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 10425 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 10426 10427 typedef enum VkToolPurposeFlagBitsEXT { 10428 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001, 10429 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002, 10430 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004, 10431 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008, 10432 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010, 10433 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 10434 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 10435 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10436 } VkToolPurposeFlagBitsEXT; 10437 typedef VkFlags VkToolPurposeFlagsEXT; 10438 typedef struct VkPhysicalDeviceToolPropertiesEXT { 10439 VkStructureType sType; 10440 void* pNext; 10441 char name[VK_MAX_EXTENSION_NAME_SIZE]; 10442 char version[VK_MAX_EXTENSION_NAME_SIZE]; 10443 VkToolPurposeFlagsEXT purposes; 10444 char description[VK_MAX_DESCRIPTION_SIZE]; 10445 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 10446 } VkPhysicalDeviceToolPropertiesEXT; 10447 10448 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 10449 10450 #ifndef VK_NO_PROTOTYPES 10451 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 10452 VkPhysicalDevice physicalDevice, 10453 uint32_t* pToolCount, 10454 VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 10455 #endif 10456 10457 10458 #define VK_EXT_separate_stencil_usage 1 10459 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 10460 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 10461 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 10462 10463 10464 10465 #define VK_EXT_validation_features 1 10466 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4 10467 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 10468 10469 typedef enum VkValidationFeatureEnableEXT { 10470 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 10471 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 10472 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 10473 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 10474 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 10475 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 10476 } VkValidationFeatureEnableEXT; 10477 10478 typedef enum VkValidationFeatureDisableEXT { 10479 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 10480 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 10481 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 10482 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 10483 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 10484 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 10485 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 10486 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 10487 } VkValidationFeatureDisableEXT; 10488 typedef struct VkValidationFeaturesEXT { 10489 VkStructureType sType; 10490 const void* pNext; 10491 uint32_t enabledValidationFeatureCount; 10492 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 10493 uint32_t disabledValidationFeatureCount; 10494 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 10495 } VkValidationFeaturesEXT; 10496 10497 10498 10499 #define VK_NV_cooperative_matrix 1 10500 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 10501 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 10502 10503 typedef enum VkComponentTypeNV { 10504 VK_COMPONENT_TYPE_FLOAT16_NV = 0, 10505 VK_COMPONENT_TYPE_FLOAT32_NV = 1, 10506 VK_COMPONENT_TYPE_FLOAT64_NV = 2, 10507 VK_COMPONENT_TYPE_SINT8_NV = 3, 10508 VK_COMPONENT_TYPE_SINT16_NV = 4, 10509 VK_COMPONENT_TYPE_SINT32_NV = 5, 10510 VK_COMPONENT_TYPE_SINT64_NV = 6, 10511 VK_COMPONENT_TYPE_UINT8_NV = 7, 10512 VK_COMPONENT_TYPE_UINT16_NV = 8, 10513 VK_COMPONENT_TYPE_UINT32_NV = 9, 10514 VK_COMPONENT_TYPE_UINT64_NV = 10, 10515 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 10516 } VkComponentTypeNV; 10517 10518 typedef enum VkScopeNV { 10519 VK_SCOPE_DEVICE_NV = 1, 10520 VK_SCOPE_WORKGROUP_NV = 2, 10521 VK_SCOPE_SUBGROUP_NV = 3, 10522 VK_SCOPE_QUEUE_FAMILY_NV = 5, 10523 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF 10524 } VkScopeNV; 10525 typedef struct VkCooperativeMatrixPropertiesNV { 10526 VkStructureType sType; 10527 void* pNext; 10528 uint32_t MSize; 10529 uint32_t NSize; 10530 uint32_t KSize; 10531 VkComponentTypeNV AType; 10532 VkComponentTypeNV BType; 10533 VkComponentTypeNV CType; 10534 VkComponentTypeNV DType; 10535 VkScopeNV scope; 10536 } VkCooperativeMatrixPropertiesNV; 10537 10538 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 10539 VkStructureType sType; 10540 void* pNext; 10541 VkBool32 cooperativeMatrix; 10542 VkBool32 cooperativeMatrixRobustBufferAccess; 10543 } VkPhysicalDeviceCooperativeMatrixFeaturesNV; 10544 10545 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 10546 VkStructureType sType; 10547 void* pNext; 10548 VkShaderStageFlags cooperativeMatrixSupportedStages; 10549 } VkPhysicalDeviceCooperativeMatrixPropertiesNV; 10550 10551 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 10552 10553 #ifndef VK_NO_PROTOTYPES 10554 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 10555 VkPhysicalDevice physicalDevice, 10556 uint32_t* pPropertyCount, 10557 VkCooperativeMatrixPropertiesNV* pProperties); 10558 #endif 10559 10560 10561 #define VK_NV_coverage_reduction_mode 1 10562 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 10563 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 10564 10565 typedef enum VkCoverageReductionModeNV { 10566 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 10567 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 10568 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 10569 } VkCoverageReductionModeNV; 10570 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 10571 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 10572 VkStructureType sType; 10573 void* pNext; 10574 VkBool32 coverageReductionMode; 10575 } VkPhysicalDeviceCoverageReductionModeFeaturesNV; 10576 10577 typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 10578 VkStructureType sType; 10579 const void* pNext; 10580 VkPipelineCoverageReductionStateCreateFlagsNV flags; 10581 VkCoverageReductionModeNV coverageReductionMode; 10582 } VkPipelineCoverageReductionStateCreateInfoNV; 10583 10584 typedef struct VkFramebufferMixedSamplesCombinationNV { 10585 VkStructureType sType; 10586 void* pNext; 10587 VkCoverageReductionModeNV coverageReductionMode; 10588 VkSampleCountFlagBits rasterizationSamples; 10589 VkSampleCountFlags depthStencilSamples; 10590 VkSampleCountFlags colorSamples; 10591 } VkFramebufferMixedSamplesCombinationNV; 10592 10593 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 10594 10595 #ifndef VK_NO_PROTOTYPES 10596 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 10597 VkPhysicalDevice physicalDevice, 10598 uint32_t* pCombinationCount, 10599 VkFramebufferMixedSamplesCombinationNV* pCombinations); 10600 #endif 10601 10602 10603 #define VK_EXT_fragment_shader_interlock 1 10604 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 10605 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 10606 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 10607 VkStructureType sType; 10608 void* pNext; 10609 VkBool32 fragmentShaderSampleInterlock; 10610 VkBool32 fragmentShaderPixelInterlock; 10611 VkBool32 fragmentShaderShadingRateInterlock; 10612 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 10613 10614 10615 10616 #define VK_EXT_ycbcr_image_arrays 1 10617 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 10618 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 10619 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 10620 VkStructureType sType; 10621 void* pNext; 10622 VkBool32 ycbcrImageArrays; 10623 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 10624 10625 10626 10627 #define VK_EXT_headless_surface 1 10628 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 10629 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 10630 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 10631 typedef struct VkHeadlessSurfaceCreateInfoEXT { 10632 VkStructureType sType; 10633 const void* pNext; 10634 VkHeadlessSurfaceCreateFlagsEXT flags; 10635 } VkHeadlessSurfaceCreateInfoEXT; 10636 10637 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 10638 10639 #ifndef VK_NO_PROTOTYPES 10640 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 10641 VkInstance instance, 10642 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 10643 const VkAllocationCallbacks* pAllocator, 10644 VkSurfaceKHR* pSurface); 10645 #endif 10646 10647 10648 #define VK_EXT_line_rasterization 1 10649 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 10650 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 10651 10652 typedef enum VkLineRasterizationModeEXT { 10653 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, 10654 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, 10655 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, 10656 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, 10657 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 10658 } VkLineRasterizationModeEXT; 10659 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { 10660 VkStructureType sType; 10661 void* pNext; 10662 VkBool32 rectangularLines; 10663 VkBool32 bresenhamLines; 10664 VkBool32 smoothLines; 10665 VkBool32 stippledRectangularLines; 10666 VkBool32 stippledBresenhamLines; 10667 VkBool32 stippledSmoothLines; 10668 } VkPhysicalDeviceLineRasterizationFeaturesEXT; 10669 10670 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { 10671 VkStructureType sType; 10672 void* pNext; 10673 uint32_t lineSubPixelPrecisionBits; 10674 } VkPhysicalDeviceLineRasterizationPropertiesEXT; 10675 10676 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { 10677 VkStructureType sType; 10678 const void* pNext; 10679 VkLineRasterizationModeEXT lineRasterizationMode; 10680 VkBool32 stippledLineEnable; 10681 uint32_t lineStippleFactor; 10682 uint16_t lineStipplePattern; 10683 } VkPipelineRasterizationLineStateCreateInfoEXT; 10684 10685 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); 10686 10687 #ifndef VK_NO_PROTOTYPES 10688 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 10689 VkCommandBuffer commandBuffer, 10690 uint32_t lineStippleFactor, 10691 uint16_t lineStipplePattern); 10692 #endif 10693 10694 10695 #define VK_EXT_shader_atomic_float 1 10696 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 10697 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 10698 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 10699 VkStructureType sType; 10700 void* pNext; 10701 VkBool32 shaderBufferFloat32Atomics; 10702 VkBool32 shaderBufferFloat32AtomicAdd; 10703 VkBool32 shaderBufferFloat64Atomics; 10704 VkBool32 shaderBufferFloat64AtomicAdd; 10705 VkBool32 shaderSharedFloat32Atomics; 10706 VkBool32 shaderSharedFloat32AtomicAdd; 10707 VkBool32 shaderSharedFloat64Atomics; 10708 VkBool32 shaderSharedFloat64AtomicAdd; 10709 VkBool32 shaderImageFloat32Atomics; 10710 VkBool32 shaderImageFloat32AtomicAdd; 10711 VkBool32 sparseImageFloat32Atomics; 10712 VkBool32 sparseImageFloat32AtomicAdd; 10713 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 10714 10715 10716 10717 #define VK_EXT_host_query_reset 1 10718 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 10719 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 10720 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 10721 10722 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 10723 10724 #ifndef VK_NO_PROTOTYPES 10725 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 10726 VkDevice device, 10727 VkQueryPool queryPool, 10728 uint32_t firstQuery, 10729 uint32_t queryCount); 10730 #endif 10731 10732 10733 #define VK_EXT_index_type_uint8 1 10734 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 10735 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 10736 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { 10737 VkStructureType sType; 10738 void* pNext; 10739 VkBool32 indexTypeUint8; 10740 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 10741 10742 10743 10744 #define VK_EXT_extended_dynamic_state 1 10745 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 10746 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 10747 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 10748 VkStructureType sType; 10749 void* pNext; 10750 VkBool32 extendedDynamicState; 10751 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 10752 10753 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 10754 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 10755 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 10756 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); 10757 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 10758 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 10759 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 10760 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 10761 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 10762 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 10763 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 10764 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 10765 10766 #ifndef VK_NO_PROTOTYPES 10767 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 10768 VkCommandBuffer commandBuffer, 10769 VkCullModeFlags cullMode); 10770 10771 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 10772 VkCommandBuffer commandBuffer, 10773 VkFrontFace frontFace); 10774 10775 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 10776 VkCommandBuffer commandBuffer, 10777 VkPrimitiveTopology primitiveTopology); 10778 10779 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 10780 VkCommandBuffer commandBuffer, 10781 uint32_t viewportCount, 10782 const VkViewport* pViewports); 10783 10784 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 10785 VkCommandBuffer commandBuffer, 10786 uint32_t scissorCount, 10787 const VkRect2D* pScissors); 10788 10789 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 10790 VkCommandBuffer commandBuffer, 10791 uint32_t firstBinding, 10792 uint32_t bindingCount, 10793 const VkBuffer* pBuffers, 10794 const VkDeviceSize* pOffsets, 10795 const VkDeviceSize* pSizes, 10796 const VkDeviceSize* pStrides); 10797 10798 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 10799 VkCommandBuffer commandBuffer, 10800 VkBool32 depthTestEnable); 10801 10802 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 10803 VkCommandBuffer commandBuffer, 10804 VkBool32 depthWriteEnable); 10805 10806 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 10807 VkCommandBuffer commandBuffer, 10808 VkCompareOp depthCompareOp); 10809 10810 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 10811 VkCommandBuffer commandBuffer, 10812 VkBool32 depthBoundsTestEnable); 10813 10814 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 10815 VkCommandBuffer commandBuffer, 10816 VkBool32 stencilTestEnable); 10817 10818 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 10819 VkCommandBuffer commandBuffer, 10820 VkStencilFaceFlags faceMask, 10821 VkStencilOp failOp, 10822 VkStencilOp passOp, 10823 VkStencilOp depthFailOp, 10824 VkCompareOp compareOp); 10825 #endif 10826 10827 10828 #define VK_EXT_shader_demote_to_helper_invocation 1 10829 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 10830 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 10831 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { 10832 VkStructureType sType; 10833 void* pNext; 10834 VkBool32 shaderDemoteToHelperInvocation; 10835 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 10836 10837 10838 10839 #define VK_NV_device_generated_commands 1 10840 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 10841 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 10842 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 10843 10844 typedef enum VkIndirectCommandsTokenTypeNV { 10845 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 10846 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 10847 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 10848 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 10849 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 10850 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 10851 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 10852 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 10853 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 10854 } VkIndirectCommandsTokenTypeNV; 10855 10856 typedef enum VkIndirectStateFlagBitsNV { 10857 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 10858 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 10859 } VkIndirectStateFlagBitsNV; 10860 typedef VkFlags VkIndirectStateFlagsNV; 10861 10862 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 10863 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 10864 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 10865 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 10866 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 10867 } VkIndirectCommandsLayoutUsageFlagBitsNV; 10868 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 10869 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 10870 VkStructureType sType; 10871 void* pNext; 10872 uint32_t maxGraphicsShaderGroupCount; 10873 uint32_t maxIndirectSequenceCount; 10874 uint32_t maxIndirectCommandsTokenCount; 10875 uint32_t maxIndirectCommandsStreamCount; 10876 uint32_t maxIndirectCommandsTokenOffset; 10877 uint32_t maxIndirectCommandsStreamStride; 10878 uint32_t minSequencesCountBufferOffsetAlignment; 10879 uint32_t minSequencesIndexBufferOffsetAlignment; 10880 uint32_t minIndirectCommandsBufferOffsetAlignment; 10881 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 10882 10883 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 10884 VkStructureType sType; 10885 void* pNext; 10886 VkBool32 deviceGeneratedCommands; 10887 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 10888 10889 typedef struct VkGraphicsShaderGroupCreateInfoNV { 10890 VkStructureType sType; 10891 const void* pNext; 10892 uint32_t stageCount; 10893 const VkPipelineShaderStageCreateInfo* pStages; 10894 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 10895 const VkPipelineTessellationStateCreateInfo* pTessellationState; 10896 } VkGraphicsShaderGroupCreateInfoNV; 10897 10898 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 10899 VkStructureType sType; 10900 const void* pNext; 10901 uint32_t groupCount; 10902 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 10903 uint32_t pipelineCount; 10904 const VkPipeline* pPipelines; 10905 } VkGraphicsPipelineShaderGroupsCreateInfoNV; 10906 10907 typedef struct VkBindShaderGroupIndirectCommandNV { 10908 uint32_t groupIndex; 10909 } VkBindShaderGroupIndirectCommandNV; 10910 10911 typedef struct VkBindIndexBufferIndirectCommandNV { 10912 VkDeviceAddress bufferAddress; 10913 uint32_t size; 10914 VkIndexType indexType; 10915 } VkBindIndexBufferIndirectCommandNV; 10916 10917 typedef struct VkBindVertexBufferIndirectCommandNV { 10918 VkDeviceAddress bufferAddress; 10919 uint32_t size; 10920 uint32_t stride; 10921 } VkBindVertexBufferIndirectCommandNV; 10922 10923 typedef struct VkSetStateFlagsIndirectCommandNV { 10924 uint32_t data; 10925 } VkSetStateFlagsIndirectCommandNV; 10926 10927 typedef struct VkIndirectCommandsStreamNV { 10928 VkBuffer buffer; 10929 VkDeviceSize offset; 10930 } VkIndirectCommandsStreamNV; 10931 10932 typedef struct VkIndirectCommandsLayoutTokenNV { 10933 VkStructureType sType; 10934 const void* pNext; 10935 VkIndirectCommandsTokenTypeNV tokenType; 10936 uint32_t stream; 10937 uint32_t offset; 10938 uint32_t vertexBindingUnit; 10939 VkBool32 vertexDynamicStride; 10940 VkPipelineLayout pushconstantPipelineLayout; 10941 VkShaderStageFlags pushconstantShaderStageFlags; 10942 uint32_t pushconstantOffset; 10943 uint32_t pushconstantSize; 10944 VkIndirectStateFlagsNV indirectStateFlags; 10945 uint32_t indexTypeCount; 10946 const VkIndexType* pIndexTypes; 10947 const uint32_t* pIndexTypeValues; 10948 } VkIndirectCommandsLayoutTokenNV; 10949 10950 typedef struct VkIndirectCommandsLayoutCreateInfoNV { 10951 VkStructureType sType; 10952 const void* pNext; 10953 VkIndirectCommandsLayoutUsageFlagsNV flags; 10954 VkPipelineBindPoint pipelineBindPoint; 10955 uint32_t tokenCount; 10956 const VkIndirectCommandsLayoutTokenNV* pTokens; 10957 uint32_t streamCount; 10958 const uint32_t* pStreamStrides; 10959 } VkIndirectCommandsLayoutCreateInfoNV; 10960 10961 typedef struct VkGeneratedCommandsInfoNV { 10962 VkStructureType sType; 10963 const void* pNext; 10964 VkPipelineBindPoint pipelineBindPoint; 10965 VkPipeline pipeline; 10966 VkIndirectCommandsLayoutNV indirectCommandsLayout; 10967 uint32_t streamCount; 10968 const VkIndirectCommandsStreamNV* pStreams; 10969 uint32_t sequencesCount; 10970 VkBuffer preprocessBuffer; 10971 VkDeviceSize preprocessOffset; 10972 VkDeviceSize preprocessSize; 10973 VkBuffer sequencesCountBuffer; 10974 VkDeviceSize sequencesCountOffset; 10975 VkBuffer sequencesIndexBuffer; 10976 VkDeviceSize sequencesIndexOffset; 10977 } VkGeneratedCommandsInfoNV; 10978 10979 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 10980 VkStructureType sType; 10981 const void* pNext; 10982 VkPipelineBindPoint pipelineBindPoint; 10983 VkPipeline pipeline; 10984 VkIndirectCommandsLayoutNV indirectCommandsLayout; 10985 uint32_t maxSequencesCount; 10986 } VkGeneratedCommandsMemoryRequirementsInfoNV; 10987 10988 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10989 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 10990 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 10991 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); 10992 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 10993 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 10994 10995 #ifndef VK_NO_PROTOTYPES 10996 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 10997 VkDevice device, 10998 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 10999 VkMemoryRequirements2* pMemoryRequirements); 11000 11001 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 11002 VkCommandBuffer commandBuffer, 11003 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 11004 11005 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 11006 VkCommandBuffer commandBuffer, 11007 VkBool32 isPreprocessed, 11008 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 11009 11010 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 11011 VkCommandBuffer commandBuffer, 11012 VkPipelineBindPoint pipelineBindPoint, 11013 VkPipeline pipeline, 11014 uint32_t groupIndex); 11015 11016 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 11017 VkDevice device, 11018 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 11019 const VkAllocationCallbacks* pAllocator, 11020 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 11021 11022 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 11023 VkDevice device, 11024 VkIndirectCommandsLayoutNV indirectCommandsLayout, 11025 const VkAllocationCallbacks* pAllocator); 11026 #endif 11027 11028 11029 #define VK_EXT_texel_buffer_alignment 1 11030 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 11031 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 11032 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 11033 VkStructureType sType; 11034 void* pNext; 11035 VkBool32 texelBufferAlignment; 11036 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 11037 11038 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT { 11039 VkStructureType sType; 11040 void* pNext; 11041 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 11042 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 11043 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 11044 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 11045 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 11046 11047 11048 11049 #define VK_QCOM_render_pass_transform 1 11050 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1 11051 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 11052 typedef struct VkRenderPassTransformBeginInfoQCOM { 11053 VkStructureType sType; 11054 void* pNext; 11055 VkSurfaceTransformFlagBitsKHR transform; 11056 } VkRenderPassTransformBeginInfoQCOM; 11057 11058 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 11059 VkStructureType sType; 11060 void* pNext; 11061 VkSurfaceTransformFlagBitsKHR transform; 11062 VkRect2D renderArea; 11063 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 11064 11065 11066 11067 #define VK_EXT_device_memory_report 1 11068 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 1 11069 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 11070 11071 typedef enum VkDeviceMemoryReportEventTypeEXT { 11072 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 11073 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 11074 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 11075 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 11076 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 11077 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 11078 } VkDeviceMemoryReportEventTypeEXT; 11079 typedef VkFlags VkDeviceMemoryReportFlagsEXT; 11080 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 11081 VkStructureType sType; 11082 void* pNext; 11083 VkBool32 deviceMemoryReport; 11084 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 11085 11086 typedef struct VkDeviceMemoryReportCallbackDataEXT { 11087 VkStructureType sType; 11088 const void* pNext; 11089 VkDeviceMemoryReportFlagsEXT flags; 11090 VkDeviceMemoryReportEventTypeEXT type; 11091 uint64_t memoryObjectId; 11092 VkDeviceSize size; 11093 VkObjectType objectType; 11094 uint64_t objectHandle; 11095 uint32_t heapIndex; 11096 } VkDeviceMemoryReportCallbackDataEXT; 11097 11098 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 11099 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 11100 void* pUserData); 11101 11102 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 11103 VkStructureType sType; 11104 const void* pNext; 11105 VkDeviceMemoryReportFlagsEXT flags; 11106 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 11107 void* pUserData; 11108 } VkDeviceDeviceMemoryReportCreateInfoEXT; 11109 11110 11111 11112 #define VK_EXT_robustness2 1 11113 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 11114 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 11115 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 11116 VkStructureType sType; 11117 void* pNext; 11118 VkBool32 robustBufferAccess2; 11119 VkBool32 robustImageAccess2; 11120 VkBool32 nullDescriptor; 11121 } VkPhysicalDeviceRobustness2FeaturesEXT; 11122 11123 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 11124 VkStructureType sType; 11125 void* pNext; 11126 VkDeviceSize robustStorageBufferAccessSizeAlignment; 11127 VkDeviceSize robustUniformBufferAccessSizeAlignment; 11128 } VkPhysicalDeviceRobustness2PropertiesEXT; 11129 11130 11131 11132 #define VK_EXT_custom_border_color 1 11133 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 11134 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 11135 typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 11136 VkStructureType sType; 11137 const void* pNext; 11138 VkClearColorValue customBorderColor; 11139 VkFormat format; 11140 } VkSamplerCustomBorderColorCreateInfoEXT; 11141 11142 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 11143 VkStructureType sType; 11144 void* pNext; 11145 uint32_t maxCustomBorderColorSamplers; 11146 } VkPhysicalDeviceCustomBorderColorPropertiesEXT; 11147 11148 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 11149 VkStructureType sType; 11150 void* pNext; 11151 VkBool32 customBorderColors; 11152 VkBool32 customBorderColorWithoutFormat; 11153 } VkPhysicalDeviceCustomBorderColorFeaturesEXT; 11154 11155 11156 11157 #define VK_GOOGLE_user_type 1 11158 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 11159 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 11160 11161 11162 #define VK_EXT_private_data 1 11163 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) 11164 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 11165 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 11166 11167 typedef enum VkPrivateDataSlotCreateFlagBitsEXT { 11168 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11169 } VkPrivateDataSlotCreateFlagBitsEXT; 11170 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT; 11171 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT { 11172 VkStructureType sType; 11173 void* pNext; 11174 VkBool32 privateData; 11175 } VkPhysicalDevicePrivateDataFeaturesEXT; 11176 11177 typedef struct VkDevicePrivateDataCreateInfoEXT { 11178 VkStructureType sType; 11179 const void* pNext; 11180 uint32_t privateDataSlotRequestCount; 11181 } VkDevicePrivateDataCreateInfoEXT; 11182 11183 typedef struct VkPrivateDataSlotCreateInfoEXT { 11184 VkStructureType sType; 11185 const void* pNext; 11186 VkPrivateDataSlotCreateFlagsEXT flags; 11187 } VkPrivateDataSlotCreateInfoEXT; 11188 11189 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot); 11190 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator); 11191 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data); 11192 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData); 11193 11194 #ifndef VK_NO_PROTOTYPES 11195 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 11196 VkDevice device, 11197 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, 11198 const VkAllocationCallbacks* pAllocator, 11199 VkPrivateDataSlotEXT* pPrivateDataSlot); 11200 11201 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 11202 VkDevice device, 11203 VkPrivateDataSlotEXT privateDataSlot, 11204 const VkAllocationCallbacks* pAllocator); 11205 11206 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 11207 VkDevice device, 11208 VkObjectType objectType, 11209 uint64_t objectHandle, 11210 VkPrivateDataSlotEXT privateDataSlot, 11211 uint64_t data); 11212 11213 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 11214 VkDevice device, 11215 VkObjectType objectType, 11216 uint64_t objectHandle, 11217 VkPrivateDataSlotEXT privateDataSlot, 11218 uint64_t* pData); 11219 #endif 11220 11221 11222 #define VK_EXT_pipeline_creation_cache_control 1 11223 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 11224 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 11225 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT { 11226 VkStructureType sType; 11227 void* pNext; 11228 VkBool32 pipelineCreationCacheControl; 11229 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 11230 11231 11232 11233 #define VK_NV_device_diagnostics_config 1 11234 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1 11235 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 11236 11237 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 11238 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 11239 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 11240 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 11241 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 11242 } VkDeviceDiagnosticsConfigFlagBitsNV; 11243 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 11244 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 11245 VkStructureType sType; 11246 void* pNext; 11247 VkBool32 diagnosticsConfig; 11248 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 11249 11250 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 11251 VkStructureType sType; 11252 const void* pNext; 11253 VkDeviceDiagnosticsConfigFlagsNV flags; 11254 } VkDeviceDiagnosticsConfigCreateInfoNV; 11255 11256 11257 11258 #define VK_QCOM_render_pass_store_ops 1 11259 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2 11260 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 11261 11262 11263 #define VK_EXT_fragment_density_map2 1 11264 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 11265 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 11266 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 11267 VkStructureType sType; 11268 void* pNext; 11269 VkBool32 fragmentDensityMapDeferred; 11270 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 11271 11272 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 11273 VkStructureType sType; 11274 void* pNext; 11275 VkBool32 subsampledLoads; 11276 VkBool32 subsampledCoarseReconstructionEarlyAccess; 11277 uint32_t maxSubsampledArrayLayers; 11278 uint32_t maxDescriptorSetSubsampledSamplers; 11279 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 11280 11281 11282 11283 #define VK_EXT_image_robustness 1 11284 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 11285 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 11286 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT { 11287 VkStructureType sType; 11288 void* pNext; 11289 VkBool32 robustImageAccess; 11290 } VkPhysicalDeviceImageRobustnessFeaturesEXT; 11291 11292 11293 11294 #define VK_EXT_4444_formats 1 11295 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 11296 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 11297 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 11298 VkStructureType sType; 11299 void* pNext; 11300 VkBool32 formatA4R4G4B4; 11301 VkBool32 formatA4B4G4R4; 11302 } VkPhysicalDevice4444FormatsFeaturesEXT; 11303 11304 11305 #ifdef __cplusplus 11306 } 11307 #endif 11308 11309 #endif 11310