vulkan.h (163787B)
1 /* See LICENSE for license details. */ 2 /* NOTE(rnp): mininum subset of the vulkan headers so that we don't 3 * have to deal with them using names that we typedef / #define 4 */ 5 6 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 7 ((((uint32_t)(variant)) << 29U) | \ 8 (((uint32_t)(major)) << 22U) | \ 9 (((uint32_t)(minor)) << 12U) | \ 10 ((uint32_t)(patch))) 11 12 #define VK_MAX_DESCRIPTION_SIZE 256U 13 #define VK_MAX_EXTENSION_NAME_SIZE 256U 14 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 15 #define VK_UUID_SIZE 16U 16 #define VK_LUID_SIZE 8U 17 #define VK_MAX_MEMORY_TYPES 32U 18 #define VK_MAX_MEMORY_HEAPS 16U 19 20 #define VK_SUBPASS_EXTERNAL (~0U) 21 22 // NOTE: keeps type safety over void * 23 #define VK_HANDLE(kind) struct kind##_T; typedef struct kind##_T *kind; 24 25 typedef uint32_t VkBool32; 26 typedef uint32_t VkFlags; 27 typedef uint64_t VkFlags64; 28 typedef uint32_t VkSampleMask; 29 typedef uint64_t VkDeviceAddress; 30 typedef uint64_t VkDeviceSize; 31 VK_HANDLE(VkBuffer); 32 VK_HANDLE(VkBufferView); 33 VK_HANDLE(VkCommandBuffer); 34 VK_HANDLE(VkCommandPool); 35 VK_HANDLE(VkDescriptorPool); 36 VK_HANDLE(VkDescriptorSet); 37 VK_HANDLE(VkDescriptorSetLayout); 38 VK_HANDLE(VkDevice); 39 VK_HANDLE(VkDeviceMemory); 40 VK_HANDLE(VkFence); 41 VK_HANDLE(VkFramebuffer); 42 VK_HANDLE(VkImage); 43 VK_HANDLE(VkImageView); 44 VK_HANDLE(VkInstance); 45 VK_HANDLE(VkPhysicalDevice); 46 VK_HANDLE(VkPipeline); 47 VK_HANDLE(VkPipelineCache); 48 VK_HANDLE(VkPipelineLayout); 49 VK_HANDLE(VkQueryPool); 50 VK_HANDLE(VkQueue); 51 VK_HANDLE(VkRenderPass); 52 VK_HANDLE(VkSampler); 53 VK_HANDLE(VkSemaphore); 54 VK_HANDLE(VkShaderModule); 55 VK_HANDLE(VkSurfaceKHR); 56 VK_HANDLE(VkSwapchainKHR); 57 58 typedef enum { 59 VK_SUCCESS = 0, 60 VK_TIMEOUT = 2, 61 VK_SUBOPTIMAL_KHR = 1000001003, 62 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 63 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 64 } VkResult; 65 66 typedef enum { 67 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 68 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 69 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 70 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 71 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 72 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 73 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 74 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 75 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 76 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 77 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 78 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 79 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 80 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 81 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 82 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 83 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 84 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 85 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 86 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 87 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 88 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 89 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 90 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 91 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 92 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 93 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 94 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 95 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 96 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 97 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 98 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 99 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 100 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 101 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 103 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 106 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 107 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 108 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 109 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 110 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 111 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 112 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 114 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 116 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 117 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 118 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 119 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 120 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 121 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 122 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 123 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 124 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 125 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 126 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 127 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 128 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 129 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 130 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 131 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 132 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 133 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 134 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 135 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 136 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 137 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 138 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 139 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 140 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 142 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000, 144 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF, 145 } VkStructureType; 146 147 typedef enum { 148 VK_OBJECT_TYPE_UNKNOWN = 0, 149 VK_OBJECT_TYPE_INSTANCE = 1, 150 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 151 VK_OBJECT_TYPE_DEVICE = 3, 152 VK_OBJECT_TYPE_QUEUE = 4, 153 VK_OBJECT_TYPE_SEMAPHORE = 5, 154 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 155 VK_OBJECT_TYPE_FENCE = 7, 156 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 157 VK_OBJECT_TYPE_BUFFER = 9, 158 VK_OBJECT_TYPE_IMAGE = 10, 159 VK_OBJECT_TYPE_EVENT = 11, 160 VK_OBJECT_TYPE_QUERY_POOL = 12, 161 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 162 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 163 VK_OBJECT_TYPE_SHADER_MODULE = 15, 164 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 165 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 166 VK_OBJECT_TYPE_RENDER_PASS = 18, 167 VK_OBJECT_TYPE_PIPELINE = 19, 168 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 169 VK_OBJECT_TYPE_SAMPLER = 21, 170 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 171 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 172 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 173 VK_OBJECT_TYPE_COMMAND_POOL = 25, 174 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 175 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 176 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 177 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 178 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 179 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 180 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 181 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 182 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 183 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 184 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 185 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 186 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 187 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 188 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 189 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 190 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 191 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 192 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 193 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 194 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 195 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 196 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 197 VK_OBJECT_TYPE_TENSOR_ARM = 1000460000, 198 VK_OBJECT_TYPE_TENSOR_VIEW_ARM = 1000460001, 199 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 200 VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 201 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000, 202 VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM = 1000507000, 203 VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV = 1000556000, 204 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT = 1000572000, 205 VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT = 1000572001, 206 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 207 } VkObjectType; 208 209 typedef enum { 210 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 211 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 212 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 213 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 214 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 215 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 216 } VkPhysicalDeviceType; 217 218 typedef enum { 219 VK_QUERY_TYPE_OCCLUSION = 0, 220 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 221 VK_QUERY_TYPE_TIMESTAMP = 2, 222 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 223 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 224 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 225 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 226 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 227 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 228 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 229 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 230 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 231 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 232 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 233 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 234 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 235 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 236 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 237 } VkQueryType; 238 239 typedef enum { 240 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 241 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 242 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 243 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 244 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 245 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 246 } VkSystemAllocationScope; 247 248 typedef enum { 249 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 250 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 251 } VkInternalAllocationType; 252 253 typedef enum { 254 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 255 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 256 } VkInstanceCreateFlagBits; 257 typedef VkFlags VkInstanceCreateFlags; 258 259 typedef enum { 260 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 261 VK_QUEUE_COMPUTE_BIT = 0x00000002, 262 VK_QUEUE_TRANSFER_BIT = 0x00000004, 263 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 264 VK_QUEUE_PROTECTED_BIT = 0x00000010, 265 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 266 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 267 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 268 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 269 } VkQueueFlagBits; 270 typedef VkFlags VkQueueFlags; 271 272 typedef enum { 273 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 274 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 275 } VkDeviceQueueCreateFlagBits; 276 typedef VkFlags VkDeviceQueueCreateFlags; 277 278 typedef enum { 279 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 280 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 281 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 282 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 283 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 284 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 285 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 286 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 287 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 288 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 289 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 290 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 291 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 292 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 293 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 294 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 295 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 296 VK_PIPELINE_STAGE_NONE = 0, 297 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 298 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 299 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 300 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 301 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 302 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 303 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 304 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 305 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT = 0x00020000, 306 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 307 } VkPipelineStageFlagBits; 308 typedef VkFlags VkPipelineStageFlags; 309 310 typedef enum { 311 VK_PIPELINE_STAGE_2_NONE = 0ULL, 312 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL, 313 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL, 314 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL, 315 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL, 316 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL, 317 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL, 318 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL, 319 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL, 320 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL, 321 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL, 322 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL, 323 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL, 324 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL, 325 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL, 326 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL, 327 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL, 328 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL, 329 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL, 330 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL, 331 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL, 332 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL, 333 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL, 334 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL, 335 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL, 336 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL, 337 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL, 338 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL, 339 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL, 340 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL, 341 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL, 342 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT = 0x00020000ULL, 343 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL, 344 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL, 345 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL, 346 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL, 347 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL, 348 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL, 349 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL, 350 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL, 351 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL, 352 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL, 353 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL, 354 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL, 355 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL, 356 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL, 357 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL, 358 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL, 359 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL, 360 VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ULL, 361 VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM = 0x40000000000ULL, 362 VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR = 0x400000000000ULL, 363 VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT = 0x200000000000ULL, 364 } VkPipelineStageFlagBits2; 365 typedef VkFlags64 VkPipelineStageFlags2; 366 367 typedef enum { 368 VK_ACCESS_2_NONE = 0ULL, 369 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL, 370 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL, 371 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL, 372 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL, 373 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL, 374 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL, 375 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL, 376 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL, 377 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL, 378 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL, 379 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL, 380 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL, 381 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL, 382 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL, 383 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL, 384 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL, 385 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL, 386 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL, 387 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL, 388 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL, 389 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL, 390 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL, 391 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL, 392 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL, 393 VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM = 0x8000000000000ULL, 394 VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM = 0x10000000000000ULL, 395 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL, 396 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL, 397 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL, 398 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL, 399 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL, 400 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL, 401 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000ULL, 402 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000ULL, 403 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL, 404 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL, 405 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL, 406 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL, 407 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL, 408 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL, 409 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL, 410 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL, 411 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL, 412 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL, 413 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL, 414 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL, 415 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL, 416 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL, 417 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL, 418 VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM = 0x800000000000ULL, 419 VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM = 0x1000000000000ULL, 420 VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT = 0x80000000000000ULL, 421 VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT = 0x100000000000000ULL, 422 } VkAccessFlagBits2; 423 typedef VkFlags64 VkAccessFlags2; 424 425 typedef VkFlags VkDeviceCreateFlags; 426 427 typedef enum { 428 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 429 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 430 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 431 } VkPointClippingBehavior; 432 433 typedef enum { 434 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 435 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 436 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 437 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 438 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 439 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 440 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 441 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 442 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 443 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 444 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 445 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 446 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 447 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 448 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 449 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 450 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 451 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 452 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 453 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 454 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 455 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 456 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 457 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 458 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 459 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 460 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 461 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 462 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 463 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 464 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 465 } VkFormatFeatureFlagBits; 466 typedef VkFlags VkFormatFeatureFlags; 467 468 469 typedef enum { 470 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = (1ULL << 0), 471 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = (1ULL << 1), 472 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = (1ULL << 2), 473 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = (1ULL << 3), 474 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = (1ULL << 4), 475 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = (1ULL << 5), 476 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = (1ULL << 6), 477 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = (1ULL << 7), 478 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = (1ULL << 8), 479 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = (1ULL << 9), 480 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = (1ULL << 10), 481 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = (1ULL << 11), 482 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = (1ULL << 12), 483 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = (1ULL << 13), 484 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = (1ULL << 14), 485 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = (1ULL << 15), 486 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = (1ULL << 16), 487 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = (1ULL << 17), 488 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = (1ULL << 18), 489 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = (1ULL << 19), 490 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = (1ULL << 20), 491 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = (1ULL << 21), 492 VK_FORMAT_FEATURE_2_DISJOINT_BIT = (1ULL << 22), 493 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = (1ULL << 23), 494 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = (1ULL << 24), 495 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = (1ULL << 25), 496 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = (1ULL << 26), 497 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = (1ULL << 27), 498 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = (1ULL << 28), 499 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = (1ULL << 29), 500 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = (1ULL << 30), 501 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = (1ULL << 31), 502 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = (1ULL << 32), 503 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = (1ULL << 33), 504 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = (1ULL << 34), 505 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = (1ULL << 35), 506 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = (1ULL << 36), 507 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = (1ULL << 37), 508 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = (1ULL << 38), 509 VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM = (1ULL << 39), 510 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = (1ULL << 40), 511 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = (1ULL << 41), 512 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = (1ULL << 42), 513 VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM = (1ULL << 43), 514 515 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = (1ULL << 46), 516 517 VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM = (1ULL << 48), 518 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = (1ULL << 49), 519 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = (1ULL << 50), 520 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV = (1ULL << 51), 521 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR = (1ULL << 52), 522 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR = (1ULL << 53), 523 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR = (1ULL << 54), 524 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR = (1ULL << 55), 525 526 VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR = (1ULL << 59), 527 } VkFormatFeatureFlagBits2; 528 typedef VkFlags64 VkFormatFeatureFlags2; 529 530 typedef enum { 531 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 532 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 533 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 534 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 535 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 536 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 537 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 538 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 539 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 540 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 541 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 542 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 543 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 544 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 545 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 546 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 547 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 548 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 549 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 550 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT = 0x00008000, 551 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 552 } VkImageCreateFlagBits; 553 typedef VkFlags VkImageCreateFlags; 554 555 typedef enum { 556 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 557 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 558 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 559 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 560 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 561 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 562 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 563 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 564 } VkSampleCountFlagBits; 565 typedef VkFlags VkSampleCountFlags; 566 567 typedef enum { 568 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 569 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 570 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 571 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 572 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 573 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 574 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 575 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 576 VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 0x00400000, 577 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 578 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 579 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 580 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 581 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 582 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 583 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 584 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 585 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 586 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 587 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 588 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 589 VK_IMAGE_USAGE_TILE_MEMORY_QCOM = 0x08000000, 590 VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000, 591 VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000, 592 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 593 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT, 594 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 595 } VkImageUsageFlagBits; 596 typedef VkFlags VkImageUsageFlags; 597 598 typedef enum { 599 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 600 VK_COMPONENT_SWIZZLE_ZERO = 1, 601 VK_COMPONENT_SWIZZLE_ONE = 2, 602 VK_COMPONENT_SWIZZLE_R = 3, 603 VK_COMPONENT_SWIZZLE_G = 4, 604 VK_COMPONENT_SWIZZLE_B = 5, 605 VK_COMPONENT_SWIZZLE_A = 6, 606 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 607 } VkComponentSwizzle; 608 609 typedef enum { 610 VK_IMAGE_VIEW_TYPE_1D = 0, 611 VK_IMAGE_VIEW_TYPE_2D = 1, 612 VK_IMAGE_VIEW_TYPE_3D = 2, 613 VK_IMAGE_VIEW_TYPE_CUBE = 3, 614 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 615 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 616 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 617 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 618 } VkImageViewType; 619 620 typedef enum VkIndexType { 621 VK_INDEX_TYPE_UINT16 = 0, 622 VK_INDEX_TYPE_UINT32 = 1, 623 VK_INDEX_TYPE_UINT8 = 1000265000, 624 VK_INDEX_TYPE_NONE_KHR = 1000165000, 625 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 626 } VkIndexType; 627 628 typedef enum { 629 VK_BLEND_FACTOR_ZERO = 0, 630 VK_BLEND_FACTOR_ONE = 1, 631 VK_BLEND_FACTOR_SRC_COLOR = 2, 632 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 633 VK_BLEND_FACTOR_DST_COLOR = 4, 634 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 635 VK_BLEND_FACTOR_SRC_ALPHA = 6, 636 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 637 VK_BLEND_FACTOR_DST_ALPHA = 8, 638 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 639 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 640 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 641 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 642 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 643 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 644 VK_BLEND_FACTOR_SRC1_COLOR = 15, 645 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 646 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 647 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 648 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 649 } VkBlendFactor; 650 651 typedef enum { 652 VK_BLEND_OP_ADD = 0, 653 VK_BLEND_OP_SUBTRACT = 1, 654 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 655 VK_BLEND_OP_MIN = 3, 656 VK_BLEND_OP_MAX = 4, 657 VK_BLEND_OP_ZERO_EXT = 1000148000, 658 VK_BLEND_OP_SRC_EXT = 1000148001, 659 VK_BLEND_OP_DST_EXT = 1000148002, 660 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 661 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 662 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 663 VK_BLEND_OP_DST_IN_EXT = 1000148006, 664 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 665 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 666 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 667 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 668 VK_BLEND_OP_XOR_EXT = 1000148011, 669 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 670 VK_BLEND_OP_SCREEN_EXT = 1000148013, 671 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 672 VK_BLEND_OP_DARKEN_EXT = 1000148015, 673 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 674 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 675 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 676 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 677 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 678 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 679 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 680 VK_BLEND_OP_INVERT_EXT = 1000148023, 681 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 682 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 683 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 684 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 685 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 686 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 687 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 688 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 689 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 690 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 691 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 692 VK_BLEND_OP_PLUS_EXT = 1000148035, 693 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 694 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 695 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 696 VK_BLEND_OP_MINUS_EXT = 1000148039, 697 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 698 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 699 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 700 VK_BLEND_OP_RED_EXT = 1000148043, 701 VK_BLEND_OP_GREEN_EXT = 1000148044, 702 VK_BLEND_OP_BLUE_EXT = 1000148045, 703 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 704 } VkBlendOp; 705 706 typedef enum { 707 VK_QUERY_POOL_CREATE_RESET_BIT_KHR = 0x00000001, 708 VK_QUERY_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 709 } VkQueryPoolCreateFlagBits; 710 typedef VkFlags VkQueryPoolCreateFlags; 711 712 typedef VkFlags VkSemaphoreCreateFlags; 713 714 typedef enum { 715 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 716 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 717 } VkSemaphoreWaitFlagBits; 718 typedef VkFlags VkSemaphoreWaitFlags; 719 720 typedef enum { 721 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 722 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 723 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 724 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 725 } VkImageViewCreateFlagBits; 726 typedef VkFlags VkImageViewCreateFlags; 727 typedef VkFlags VkShaderModuleCreateFlags; 728 729 typedef enum { 730 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 731 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 732 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 733 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 734 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 735 } VkColorComponentFlagBits; 736 typedef VkFlags VkColorComponentFlags; 737 738 typedef enum { 739 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 740 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 741 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 742 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 743 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 744 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 745 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 746 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 747 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 748 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 749 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 750 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 751 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 752 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 753 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 754 } VkQueryPipelineStatisticFlagBits; 755 typedef VkFlags VkQueryPipelineStatisticFlags; 756 757 typedef enum { 758 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 759 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 760 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 761 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 762 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 763 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 764 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 765 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 0x08000000, 766 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 0x40000000, 767 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 769 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 770 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 771 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 772 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 773 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 774 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 775 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 776 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 777 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 778 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 779 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 780 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 781 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 782 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 783 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 784 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 785 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 786 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 787 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 788 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 789 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 790 } VkPipelineCreateFlagBits; 791 typedef VkFlags VkPipelineCreateFlags; 792 793 typedef enum { 794 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 795 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 796 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 797 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 798 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 799 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 800 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 801 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 802 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 803 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 804 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 805 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 806 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 807 VK_ACCESS_HOST_READ_BIT = 0x00002000, 808 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 809 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 810 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 811 VK_ACCESS_NONE = 0, 812 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 813 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 814 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 815 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 816 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 817 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 818 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 819 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 820 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 821 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000, 822 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000, 823 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 824 } VkAccessFlagBits; 825 typedef VkFlags VkAccessFlags; 826 827 typedef enum { 828 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 829 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 830 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 831 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 832 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 833 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 834 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 835 VK_IMAGE_ASPECT_NONE = 0, 836 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 837 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 838 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 839 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 840 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 841 } VkImageAspectFlagBits; 842 typedef VkFlags VkImageAspectFlags; 843 844 typedef enum { 845 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 846 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 847 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 848 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 849 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 850 } VkSwapchainCreateFlagBitsKHR; 851 typedef VkFlags VkSwapchainCreateFlagsKHR; 852 853 typedef enum { 854 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 855 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 856 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 857 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 858 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 859 } VkCompositeAlphaFlagBitsKHR; 860 typedef VkFlags VkCompositeAlphaFlagsKHR; 861 typedef VkFlags VkSurfaceTransformFlagsKHR; 862 863 typedef enum { 864 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 865 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 866 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 867 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 868 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 869 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 870 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 871 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 872 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 873 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 874 } VkSurfaceTransformFlagBitsKHR; 875 876 typedef enum { 877 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 878 VK_PRESENT_MODE_MAILBOX_KHR = 1, 879 VK_PRESENT_MODE_FIFO_KHR = 2, 880 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 881 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 882 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 883 VK_PRESENT_MODE_FIFO_LATEST_READY_EXT = 1000361000, 884 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 885 } VkPresentModeKHR; 886 887 typedef enum { 888 VK_FORMAT_UNDEFINED = 0, 889 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 890 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 891 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 892 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 893 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 894 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 895 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 896 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 897 VK_FORMAT_R8_UNORM = 9, 898 VK_FORMAT_R8_SNORM = 10, 899 VK_FORMAT_R8_USCALED = 11, 900 VK_FORMAT_R8_SSCALED = 12, 901 VK_FORMAT_R8_UINT = 13, 902 VK_FORMAT_R8_SINT = 14, 903 VK_FORMAT_R8_SRGB = 15, 904 VK_FORMAT_R8G8_UNORM = 16, 905 VK_FORMAT_R8G8_SNORM = 17, 906 VK_FORMAT_R8G8_USCALED = 18, 907 VK_FORMAT_R8G8_SSCALED = 19, 908 VK_FORMAT_R8G8_UINT = 20, 909 VK_FORMAT_R8G8_SINT = 21, 910 VK_FORMAT_R8G8_SRGB = 22, 911 VK_FORMAT_R8G8B8_UNORM = 23, 912 VK_FORMAT_R8G8B8_SNORM = 24, 913 VK_FORMAT_R8G8B8_USCALED = 25, 914 VK_FORMAT_R8G8B8_SSCALED = 26, 915 VK_FORMAT_R8G8B8_UINT = 27, 916 VK_FORMAT_R8G8B8_SINT = 28, 917 VK_FORMAT_R8G8B8_SRGB = 29, 918 VK_FORMAT_B8G8R8_UNORM = 30, 919 VK_FORMAT_B8G8R8_SNORM = 31, 920 VK_FORMAT_B8G8R8_USCALED = 32, 921 VK_FORMAT_B8G8R8_SSCALED = 33, 922 VK_FORMAT_B8G8R8_UINT = 34, 923 VK_FORMAT_B8G8R8_SINT = 35, 924 VK_FORMAT_B8G8R8_SRGB = 36, 925 VK_FORMAT_R8G8B8A8_UNORM = 37, 926 VK_FORMAT_R8G8B8A8_SNORM = 38, 927 VK_FORMAT_R8G8B8A8_USCALED = 39, 928 VK_FORMAT_R8G8B8A8_SSCALED = 40, 929 VK_FORMAT_R8G8B8A8_UINT = 41, 930 VK_FORMAT_R8G8B8A8_SINT = 42, 931 VK_FORMAT_R8G8B8A8_SRGB = 43, 932 VK_FORMAT_B8G8R8A8_UNORM = 44, 933 VK_FORMAT_B8G8R8A8_SNORM = 45, 934 VK_FORMAT_B8G8R8A8_USCALED = 46, 935 VK_FORMAT_B8G8R8A8_SSCALED = 47, 936 VK_FORMAT_B8G8R8A8_UINT = 48, 937 VK_FORMAT_B8G8R8A8_SINT = 49, 938 VK_FORMAT_B8G8R8A8_SRGB = 50, 939 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 940 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 941 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 942 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 943 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 944 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 945 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 946 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 947 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 948 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 949 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 950 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 951 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 952 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 953 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 954 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 955 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 956 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 957 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 958 VK_FORMAT_R16_UNORM = 70, 959 VK_FORMAT_R16_SNORM = 71, 960 VK_FORMAT_R16_USCALED = 72, 961 VK_FORMAT_R16_SSCALED = 73, 962 VK_FORMAT_R16_UINT = 74, 963 VK_FORMAT_R16_SINT = 75, 964 VK_FORMAT_R16_SFLOAT = 76, 965 VK_FORMAT_R16G16_UNORM = 77, 966 VK_FORMAT_R16G16_SNORM = 78, 967 VK_FORMAT_R16G16_USCALED = 79, 968 VK_FORMAT_R16G16_SSCALED = 80, 969 VK_FORMAT_R16G16_UINT = 81, 970 VK_FORMAT_R16G16_SINT = 82, 971 VK_FORMAT_R16G16_SFLOAT = 83, 972 VK_FORMAT_R16G16B16_UNORM = 84, 973 VK_FORMAT_R16G16B16_SNORM = 85, 974 VK_FORMAT_R16G16B16_USCALED = 86, 975 VK_FORMAT_R16G16B16_SSCALED = 87, 976 VK_FORMAT_R16G16B16_UINT = 88, 977 VK_FORMAT_R16G16B16_SINT = 89, 978 VK_FORMAT_R16G16B16_SFLOAT = 90, 979 VK_FORMAT_R16G16B16A16_UNORM = 91, 980 VK_FORMAT_R16G16B16A16_SNORM = 92, 981 VK_FORMAT_R16G16B16A16_USCALED = 93, 982 VK_FORMAT_R16G16B16A16_SSCALED = 94, 983 VK_FORMAT_R16G16B16A16_UINT = 95, 984 VK_FORMAT_R16G16B16A16_SINT = 96, 985 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 986 VK_FORMAT_R32_UINT = 98, 987 VK_FORMAT_R32_SINT = 99, 988 VK_FORMAT_R32_SFLOAT = 100, 989 VK_FORMAT_R32G32_UINT = 101, 990 VK_FORMAT_R32G32_SINT = 102, 991 VK_FORMAT_R32G32_SFLOAT = 103, 992 VK_FORMAT_R32G32B32_UINT = 104, 993 VK_FORMAT_R32G32B32_SINT = 105, 994 VK_FORMAT_R32G32B32_SFLOAT = 106, 995 VK_FORMAT_R32G32B32A32_UINT = 107, 996 VK_FORMAT_R32G32B32A32_SINT = 108, 997 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 998 VK_FORMAT_R64_UINT = 110, 999 VK_FORMAT_R64_SINT = 111, 1000 VK_FORMAT_R64_SFLOAT = 112, 1001 VK_FORMAT_R64G64_UINT = 113, 1002 VK_FORMAT_R64G64_SINT = 114, 1003 VK_FORMAT_R64G64_SFLOAT = 115, 1004 VK_FORMAT_R64G64B64_UINT = 116, 1005 VK_FORMAT_R64G64B64_SINT = 117, 1006 VK_FORMAT_R64G64B64_SFLOAT = 118, 1007 VK_FORMAT_R64G64B64A64_UINT = 119, 1008 VK_FORMAT_R64G64B64A64_SINT = 120, 1009 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 1010 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 1011 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 1012 VK_FORMAT_D16_UNORM = 124, 1013 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 1014 VK_FORMAT_D32_SFLOAT = 126, 1015 VK_FORMAT_S8_UINT = 127, 1016 VK_FORMAT_D16_UNORM_S8_UINT = 128, 1017 VK_FORMAT_D24_UNORM_S8_UINT = 129, 1018 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 1019 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 1020 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 1021 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 1022 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 1023 VK_FORMAT_BC2_UNORM_BLOCK = 135, 1024 VK_FORMAT_BC2_SRGB_BLOCK = 136, 1025 VK_FORMAT_BC3_UNORM_BLOCK = 137, 1026 VK_FORMAT_BC3_SRGB_BLOCK = 138, 1027 VK_FORMAT_BC4_UNORM_BLOCK = 139, 1028 VK_FORMAT_BC4_SNORM_BLOCK = 140, 1029 VK_FORMAT_BC5_UNORM_BLOCK = 141, 1030 VK_FORMAT_BC5_SNORM_BLOCK = 142, 1031 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 1032 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 1033 VK_FORMAT_BC7_UNORM_BLOCK = 145, 1034 VK_FORMAT_BC7_SRGB_BLOCK = 146, 1035 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 1036 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 1037 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 1038 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 1039 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 1040 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 1041 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 1042 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 1043 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 1044 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 1045 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 1046 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 1047 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 1048 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 1049 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 1050 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 1051 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 1052 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 1053 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 1054 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 1055 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 1056 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 1057 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 1058 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 1059 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 1060 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 1061 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 1062 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 1063 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 1064 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 1065 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 1066 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 1067 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 1068 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 1069 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 1070 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 1071 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 1072 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 1073 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 1074 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 1075 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 1076 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 1077 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 1078 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 1079 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 1080 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 1081 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 1082 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 1083 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 1084 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 1085 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 1086 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 1087 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 1088 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 1089 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 1090 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 1091 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 1092 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 1093 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 1094 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 1095 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 1096 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 1097 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 1098 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 1099 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 1100 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 1101 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 1102 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 1103 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 1104 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 1105 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 1106 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 1107 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 1108 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 1109 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 1110 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 1111 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 1112 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 1113 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 1114 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 1115 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 1116 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 1117 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 1118 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 1119 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 1120 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 1121 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 1122 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 1123 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 1124 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 1125 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 1126 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 1127 VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000, 1128 VK_FORMAT_A8_UNORM = 1000470001, 1129 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 1130 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 1131 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 1132 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 1133 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 1134 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1135 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1136 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1137 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, 1138 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1139 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1140 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 1141 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 1142 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 1143 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 1144 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 1145 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 1146 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 1147 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 1148 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 1149 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 1150 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 1151 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 1152 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 1153 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 1154 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 1155 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 1156 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 1157 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 1158 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 1159 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 1160 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 1161 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 1162 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 1163 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 1164 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 1165 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 1166 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 1167 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 1168 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 1169 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 1170 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 1171 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 1172 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 1173 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 1174 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 1175 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 1176 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 1177 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 1178 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 1179 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 1180 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 1181 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 1182 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 1183 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 1184 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 1185 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 1186 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 1187 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 1188 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 1189 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 1190 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 1191 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 1192 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16, 1193 VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM, 1194 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 1195 } VkFormat; 1196 1197 typedef enum { 1198 VK_IMAGE_TILING_OPTIMAL = 0, 1199 VK_IMAGE_TILING_LINEAR = 1, 1200 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 1201 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 1202 } VkImageTiling; 1203 1204 typedef enum { 1205 VK_IMAGE_TYPE_1D = 0, 1206 VK_IMAGE_TYPE_2D = 1, 1207 VK_IMAGE_TYPE_3D = 2, 1208 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 1209 } VkImageType; 1210 1211 typedef enum { 1212 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 1213 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 1214 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 1215 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 1216 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 1217 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 1218 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 1219 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 1220 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 1221 // VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML 1222 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 1223 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 1224 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 1225 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 1226 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 1227 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 1228 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 1229 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 1230 } VkColorSpaceKHR; 1231 1232 typedef enum { 1233 VK_SHARING_MODE_EXCLUSIVE = 0, 1234 VK_SHARING_MODE_CONCURRENT = 1, 1235 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 1236 } VkSharingMode; 1237 1238 typedef enum { 1239 VK_QUERY_RESULT_64_BIT = 0x00000001, 1240 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 1241 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 1242 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 1243 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 1244 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1245 } VkQueryResultFlagBits; 1246 typedef VkFlags VkQueryResultFlags; 1247 1248 typedef enum { 1249 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1250 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1251 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1252 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 1253 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 1254 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 1255 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 1256 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1257 } VkBufferCreateFlagBits; 1258 typedef VkFlags VkBufferCreateFlags; 1259 1260 typedef enum { 1261 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1262 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 1263 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 1264 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 1265 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 1266 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 1267 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 1268 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 1269 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 1270 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 1271 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 1272 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 1273 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 1274 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 1275 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 1276 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 1277 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 1278 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 1279 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 1280 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 1281 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 1282 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 1283 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 1284 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 1285 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 1286 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 1287 VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000, 1288 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1289 } VkBufferUsageFlagBits; 1290 typedef VkFlags VkBufferUsageFlags; 1291 typedef VkFlags VkBufferViewCreateFlags; 1292 1293 typedef enum { 1294 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 1295 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 1296 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1297 } VkPipelineShaderStageCreateFlagBits; 1298 typedef VkFlags VkPipelineShaderStageCreateFlags; 1299 1300 typedef enum { 1301 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 1302 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 1303 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 1304 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 1305 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 1306 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 1307 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 1308 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 1309 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 1310 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 1311 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 1312 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 1313 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 1314 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 1315 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 1316 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 1317 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 1318 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 1319 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1320 } VkShaderStageFlagBits; 1321 typedef VkFlags VkShaderStageFlags; 1322 1323 typedef enum { 1324 VK_COMPARE_OP_NEVER = 0, 1325 VK_COMPARE_OP_LESS = 1, 1326 VK_COMPARE_OP_EQUAL = 2, 1327 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 1328 VK_COMPARE_OP_GREATER = 4, 1329 VK_COMPARE_OP_NOT_EQUAL = 5, 1330 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 1331 VK_COMPARE_OP_ALWAYS = 7, 1332 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 1333 } VkCompareOp; 1334 1335 typedef enum { 1336 VK_DYNAMIC_STATE_VIEWPORT = 0, 1337 VK_DYNAMIC_STATE_SCISSOR = 1, 1338 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 1339 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 1340 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 1341 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 1342 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 1343 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 1344 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 1345 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 1346 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 1347 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 1348 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 1349 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 1350 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 1351 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 1352 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 1353 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 1354 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 1355 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 1356 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 1357 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 1358 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 1359 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1360 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, 1361 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1362 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1363 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1364 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1365 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1366 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1367 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1368 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1369 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1370 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1371 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1372 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 1373 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1374 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1375 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1376 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1377 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1378 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1379 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1380 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1381 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1382 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1383 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1384 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1385 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1386 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1387 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1388 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1389 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1390 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1391 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1392 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1393 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1394 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1395 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1396 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1397 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1398 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1399 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1400 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1401 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1402 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1403 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1404 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1405 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1406 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1407 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 1408 VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT = 1000582000, 1409 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 1410 } VkDynamicState; 1411 1412 typedef enum VkFrontFace { 1413 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 1414 VK_FRONT_FACE_CLOCKWISE = 1, 1415 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 1416 } VkFrontFace; 1417 1418 typedef enum { 1419 VK_VERTEX_INPUT_RATE_VERTEX = 0, 1420 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 1421 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 1422 } VkVertexInputRate; 1423 1424 typedef enum { 1425 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 1426 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 1427 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 1428 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 1429 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 1430 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 1431 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 1432 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 1433 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 1434 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 1435 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 1436 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 1437 } VkPrimitiveTopology; 1438 1439 typedef enum { 1440 VK_POLYGON_MODE_FILL = 0, 1441 VK_POLYGON_MODE_LINE = 1, 1442 VK_POLYGON_MODE_POINT = 2, 1443 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 1444 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 1445 } VkPolygonMode; 1446 1447 typedef enum { 1448 VK_STENCIL_OP_KEEP = 0, 1449 VK_STENCIL_OP_ZERO = 1, 1450 VK_STENCIL_OP_REPLACE = 2, 1451 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 1452 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 1453 VK_STENCIL_OP_INVERT = 5, 1454 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 1455 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 1456 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 1457 } VkStencilOp; 1458 1459 typedef enum VkLogicOp { 1460 VK_LOGIC_OP_CLEAR = 0, 1461 VK_LOGIC_OP_AND = 1, 1462 VK_LOGIC_OP_AND_REVERSE = 2, 1463 VK_LOGIC_OP_COPY = 3, 1464 VK_LOGIC_OP_AND_INVERTED = 4, 1465 VK_LOGIC_OP_NO_OP = 5, 1466 VK_LOGIC_OP_XOR = 6, 1467 VK_LOGIC_OP_OR = 7, 1468 VK_LOGIC_OP_NOR = 8, 1469 VK_LOGIC_OP_EQUIVALENT = 9, 1470 VK_LOGIC_OP_INVERT = 10, 1471 VK_LOGIC_OP_OR_REVERSE = 11, 1472 VK_LOGIC_OP_COPY_INVERTED = 12, 1473 VK_LOGIC_OP_OR_INVERTED = 13, 1474 VK_LOGIC_OP_NAND = 14, 1475 VK_LOGIC_OP_SET = 15, 1476 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 1477 } VkLogicOp; 1478 1479 typedef enum { 1480 VK_CULL_MODE_NONE = 0, 1481 VK_CULL_MODE_FRONT_BIT = 0x00000001, 1482 VK_CULL_MODE_BACK_BIT = 0x00000002, 1483 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 1484 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1485 } VkCullModeFlagBits; 1486 typedef VkFlags VkCullModeFlags; 1487 1488 typedef enum { 1489 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 1490 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 1491 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1492 } VkPipelineDepthStencilStateCreateFlagBits; 1493 typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 1494 1495 1496 typedef enum { 1497 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 1498 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1499 } VkPipelineColorBlendStateCreateFlagBits; 1500 typedef VkFlags VkPipelineColorBlendStateCreateFlags; 1501 typedef VkFlags VkPipelineDynamicStateCreateFlags; 1502 1503 typedef enum { 1504 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 1505 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1506 } VkPipelineLayoutCreateFlagBits; 1507 typedef VkFlags VkPipelineLayoutCreateFlags; 1508 1509 typedef VkFlags VkPipelineDynamicStateCreateFlags; 1510 typedef VkFlags VkPipelineVertexInputStateCreateFlags; 1511 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 1512 typedef VkFlags VkPipelineTessellationStateCreateFlags; 1513 typedef VkFlags VkPipelineViewportStateCreateFlags; 1514 typedef VkFlags VkPipelineRasterizationStateCreateFlags; 1515 typedef VkFlags VkPipelineMultisampleStateCreateFlags; 1516 1517 typedef enum { 1518 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 1519 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 1520 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 1521 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 1522 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 1523 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1524 } VkDescriptorPoolCreateFlagBits; 1525 typedef VkFlags VkDescriptorPoolCreateFlags; 1526 1527 typedef enum { 1528 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 0x00000001, 1529 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 1530 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 1531 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 1532 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 1533 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 1534 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 1535 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1536 } VkDescriptorSetLayoutCreateFlagBits; 1537 typedef VkFlags VkDescriptorSetLayoutCreateFlags; 1538 1539 typedef enum { 1540 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 1541 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 1542 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 1543 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 1544 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 1545 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 1546 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 1547 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 1548 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 1549 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 1550 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 1551 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 1552 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1553 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1554 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 1555 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 1556 VK_DESCRIPTOR_TYPE_TENSOR_ARM = 1000460000, 1557 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 1558 VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000, 1559 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 1560 } VkDescriptorType; 1561 1562 typedef enum { 1563 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 1564 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 1565 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 1566 VK_ATTACHMENT_LOAD_OP_NONE = 1000400000, 1567 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 1568 } VkAttachmentLoadOp; 1569 1570 typedef enum { 1571 VK_ATTACHMENT_STORE_OP_STORE = 0, 1572 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 1573 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 1574 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 1575 } VkAttachmentStoreOp; 1576 1577 typedef enum { 1578 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 1579 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 1580 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 1581 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 1582 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 1583 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 1584 } VkPipelineBindPoint; 1585 1586 typedef enum { 1587 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 1588 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 1589 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 1590 } VkCommandBufferLevel; 1591 1592 typedef enum { 1593 VK_IMAGE_LAYOUT_UNDEFINED = 0, 1594 VK_IMAGE_LAYOUT_GENERAL = 1, 1595 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 1596 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 1597 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 1598 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 1599 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 1600 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 1601 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 1602 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 1603 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 1604 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 1605 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 1606 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 1607 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 1608 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1609 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1610 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000, 1611 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1612 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1613 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1614 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1615 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1616 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1617 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1618 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1619 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1620 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1621 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1622 VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR = 1000553000, 1623 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 1624 } VkImageLayout; 1625 1626 typedef enum { 1627 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 1628 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 1629 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 1630 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 1631 VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020, 1632 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1633 } VkDependencyFlagBits; 1634 typedef VkFlags VkDependencyFlags; 1635 1636 typedef enum { 1637 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 1638 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1639 } VkFramebufferCreateFlagBits; 1640 typedef VkFlags VkFramebufferCreateFlags; 1641 1642 typedef enum { 1643 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 1644 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 1645 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 1646 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1647 } VkCommandPoolCreateFlagBits; 1648 typedef VkFlags VkCommandPoolCreateFlags; 1649 1650 typedef enum { 1651 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 1652 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 1653 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 1654 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1655 } VkCommandBufferUsageFlagBits; 1656 typedef VkFlags VkCommandBufferUsageFlags; 1657 1658 typedef enum { 1659 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 1660 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1661 } VkQueryControlFlagBits; 1662 typedef VkFlags VkQueryControlFlags; 1663 1664 typedef enum { 1665 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1666 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1667 } VkCommandBufferResetFlagBits; 1668 typedef VkFlags VkCommandBufferResetFlags; 1669 1670 typedef enum { 1671 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 1672 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 1673 VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM = 0x00000008, 1674 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1675 } VkMemoryHeapFlagBits; 1676 typedef VkFlags VkMemoryHeapFlags; 1677 1678 typedef enum { 1679 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 1680 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 1681 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 1682 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 1683 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 1684 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 1685 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 1686 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 1687 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 1688 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1689 } VkMemoryPropertyFlagBits; 1690 typedef VkFlags VkMemoryPropertyFlags; 1691 1692 typedef enum { 1693 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001, 1694 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1695 } VkMemoryMapFlagBits; 1696 typedef VkFlags VkMemoryMapFlags; 1697 1698 typedef enum { 1699 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 1700 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 1701 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 1702 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 1703 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 1704 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 1705 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 1706 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 1707 VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200, 1708 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400, 1709 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 1710 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1711 } VkSubgroupFeatureFlagBits; 1712 typedef VkFlags VkSubgroupFeatureFlags; 1713 1714 typedef enum { 1715 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 1716 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 1717 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 1718 VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT = 0x00000008, 1719 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1720 } VkMemoryAllocateFlagBits; 1721 typedef VkFlags VkMemoryAllocateFlags; 1722 1723 typedef enum { 1724 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 1725 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 1726 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 1727 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 1728 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 1729 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 1730 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 1731 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 1732 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 1733 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 1734 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 1735 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 1736 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 1737 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 1738 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT = 0x00010000, 1739 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT = 0x00020000, 1740 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT = 0x00040000, 1741 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, 1742 } VkExternalMemoryHandleTypeFlagBits; 1743 typedef VkFlags VkExternalMemoryHandleTypeFlags; 1744 1745 typedef enum { 1746 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 1747 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 1748 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 1749 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 1750 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 1751 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 1752 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, 1753 } VkExternalSemaphoreHandleTypeFlagBits; 1754 typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 1755 1756 typedef enum { 1757 VK_SEMAPHORE_TYPE_BINARY = 0, 1758 VK_SEMAPHORE_TYPE_TIMELINE = 1, 1759 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 1760 } VkSemaphoreType; 1761 1762 typedef enum { 1763 VK_RESOLVE_MODE_NONE = 0, 1764 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 1765 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 1766 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 1767 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 1768 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID = 0x00000010, 1769 VK_RESOLVE_MODE_CUSTOM_BIT_EXT = 0x00000020, 1770 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1771 } VkResolveModeFlagBits; 1772 typedef VkFlags VkResolveModeFlags; 1773 1774 typedef enum { 1775 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 1776 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 1777 VK_RENDERING_RESUMING_BIT = 0x00000004, 1778 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 1779 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, 1780 VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x00000020, 1781 VK_RENDERING_FRAGMENT_REGION_BIT_EXT = 0x00000040, 1782 VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT = 0x00000080, 1783 VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR = 0x00000100, 1784 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1785 } VkRenderingFlagBits; 1786 typedef VkFlags VkRenderingFlags; 1787 1788 typedef enum { 1789 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 1790 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1791 } VkSubmitFlagBits; 1792 typedef VkFlags VkSubmitFlags; 1793 1794 typedef struct { 1795 uint32_t width; 1796 uint32_t height; 1797 } VkExtent2D; 1798 1799 typedef struct { 1800 uint32_t width; 1801 uint32_t height; 1802 uint32_t depth; 1803 } VkExtent3D; 1804 1805 typedef struct { 1806 int32_t x; 1807 int32_t y; 1808 } VkOffset2D; 1809 1810 typedef struct { 1811 VkOffset2D offset; 1812 VkExtent2D extent; 1813 } VkRect2D; 1814 1815 typedef struct { 1816 float x; 1817 float y; 1818 float width; 1819 float height; 1820 float minDepth; 1821 float maxDepth; 1822 } VkViewport; 1823 1824 typedef struct { 1825 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 1826 uint32_t specVersion; 1827 } VkExtensionProperties; 1828 1829 typedef struct { 1830 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 1831 uint32_t specVersion; 1832 uint32_t implementationVersion; 1833 char description[VK_MAX_DESCRIPTION_SIZE]; 1834 } VkLayerProperties; 1835 1836 typedef struct { 1837 VkStructureType sType; 1838 const void * pNext; 1839 const char * pApplicationName; 1840 uint32_t applicationVersion; 1841 const char * pEngineName; 1842 uint32_t engineVersion; 1843 uint32_t apiVersion; 1844 } VkApplicationInfo; 1845 1846 typedef struct { 1847 VkFormatFeatureFlags linearTilingFeatures; 1848 VkFormatFeatureFlags optimalTilingFeatures; 1849 VkFormatFeatureFlags bufferFeatures; 1850 } VkFormatProperties; 1851 1852 typedef struct { 1853 VkStructureType sType; 1854 void * pNext; 1855 VkFormatProperties formatProperties; 1856 } VkFormatProperties2; 1857 1858 typedef struct { 1859 VkStructureType sType; 1860 void * pNext; 1861 VkFormatFeatureFlags2 linearTilingFeatures; 1862 VkFormatFeatureFlags2 optimalTilingFeatures; 1863 VkFormatFeatureFlags2 bufferFeatures; 1864 } VkFormatProperties3; 1865 1866 typedef struct { 1867 VkStructureType sType; 1868 const void * pNext; 1869 VkInstanceCreateFlags flags; 1870 const VkApplicationInfo * pApplicationInfo; 1871 uint32_t enabledLayerCount; 1872 const char * const * ppEnabledLayerNames; 1873 uint32_t enabledExtensionCount; 1874 const char * const * ppEnabledExtensionNames; 1875 } VkInstanceCreateInfo; 1876 1877 typedef struct { 1878 uint32_t maxImageDimension1D; 1879 uint32_t maxImageDimension2D; 1880 uint32_t maxImageDimension3D; 1881 uint32_t maxImageDimensionCube; 1882 uint32_t maxImageArrayLayers; 1883 uint32_t maxTexelBufferElements; 1884 uint32_t maxUniformBufferRange; 1885 uint32_t maxStorageBufferRange; 1886 uint32_t maxPushConstantsSize; 1887 uint32_t maxMemoryAllocationCount; 1888 uint32_t maxSamplerAllocationCount; 1889 VkDeviceSize bufferImageGranularity; 1890 VkDeviceSize sparseAddressSpaceSize; 1891 uint32_t maxBoundDescriptorSets; 1892 uint32_t maxPerStageDescriptorSamplers; 1893 uint32_t maxPerStageDescriptorUniformBuffers; 1894 uint32_t maxPerStageDescriptorStorageBuffers; 1895 uint32_t maxPerStageDescriptorSampledImages; 1896 uint32_t maxPerStageDescriptorStorageImages; 1897 uint32_t maxPerStageDescriptorInputAttachments; 1898 uint32_t maxPerStageResources; 1899 uint32_t maxDescriptorSetSamplers; 1900 uint32_t maxDescriptorSetUniformBuffers; 1901 uint32_t maxDescriptorSetUniformBuffersDynamic; 1902 uint32_t maxDescriptorSetStorageBuffers; 1903 uint32_t maxDescriptorSetStorageBuffersDynamic; 1904 uint32_t maxDescriptorSetSampledImages; 1905 uint32_t maxDescriptorSetStorageImages; 1906 uint32_t maxDescriptorSetInputAttachments; 1907 uint32_t maxVertexInputAttributes; 1908 uint32_t maxVertexInputBindings; 1909 uint32_t maxVertexInputAttributeOffset; 1910 uint32_t maxVertexInputBindingStride; 1911 uint32_t maxVertexOutputComponents; 1912 uint32_t maxTessellationGenerationLevel; 1913 uint32_t maxTessellationPatchSize; 1914 uint32_t maxTessellationControlPerVertexInputComponents; 1915 uint32_t maxTessellationControlPerVertexOutputComponents; 1916 uint32_t maxTessellationControlPerPatchOutputComponents; 1917 uint32_t maxTessellationControlTotalOutputComponents; 1918 uint32_t maxTessellationEvaluationInputComponents; 1919 uint32_t maxTessellationEvaluationOutputComponents; 1920 uint32_t maxGeometryShaderInvocations; 1921 uint32_t maxGeometryInputComponents; 1922 uint32_t maxGeometryOutputComponents; 1923 uint32_t maxGeometryOutputVertices; 1924 uint32_t maxGeometryTotalOutputComponents; 1925 uint32_t maxFragmentInputComponents; 1926 uint32_t maxFragmentOutputAttachments; 1927 uint32_t maxFragmentDualSrcAttachments; 1928 uint32_t maxFragmentCombinedOutputResources; 1929 uint32_t maxComputeSharedMemorySize; 1930 uint32_t maxComputeWorkGroupCount[3]; 1931 uint32_t maxComputeWorkGroupInvocations; 1932 uint32_t maxComputeWorkGroupSize[3]; 1933 uint32_t subPixelPrecisionBits; 1934 uint32_t subTexelPrecisionBits; 1935 uint32_t mipmapPrecisionBits; 1936 uint32_t maxDrawIndexedIndexValue; 1937 uint32_t maxDrawIndirectCount; 1938 float maxSamplerLodBias; 1939 float maxSamplerAnisotropy; 1940 uint32_t maxViewports; 1941 uint32_t maxViewportDimensions[2]; 1942 float viewportBoundsRange[2]; 1943 uint32_t viewportSubPixelBits; 1944 size_t minMemoryMapAlignment; 1945 VkDeviceSize minTexelBufferOffsetAlignment; 1946 VkDeviceSize minUniformBufferOffsetAlignment; 1947 VkDeviceSize minStorageBufferOffsetAlignment; 1948 int32_t minTexelOffset; 1949 uint32_t maxTexelOffset; 1950 int32_t minTexelGatherOffset; 1951 uint32_t maxTexelGatherOffset; 1952 float minInterpolationOffset; 1953 float maxInterpolationOffset; 1954 uint32_t subPixelInterpolationOffsetBits; 1955 uint32_t maxFramebufferWidth; 1956 uint32_t maxFramebufferHeight; 1957 uint32_t maxFramebufferLayers; 1958 VkSampleCountFlags framebufferColorSampleCounts; 1959 VkSampleCountFlags framebufferDepthSampleCounts; 1960 VkSampleCountFlags framebufferStencilSampleCounts; 1961 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 1962 uint32_t maxColorAttachments; 1963 VkSampleCountFlags sampledImageColorSampleCounts; 1964 VkSampleCountFlags sampledImageIntegerSampleCounts; 1965 VkSampleCountFlags sampledImageDepthSampleCounts; 1966 VkSampleCountFlags sampledImageStencilSampleCounts; 1967 VkSampleCountFlags storageImageSampleCounts; 1968 uint32_t maxSampleMaskWords; 1969 VkBool32 timestampComputeAndGraphics; 1970 float timestampPeriod; 1971 uint32_t maxClipDistances; 1972 uint32_t maxCullDistances; 1973 uint32_t maxCombinedClipAndCullDistances; 1974 uint32_t discreteQueuePriorities; 1975 float pointSizeRange[2]; 1976 float lineWidthRange[2]; 1977 float pointSizeGranularity; 1978 float lineWidthGranularity; 1979 VkBool32 strictLines; 1980 VkBool32 standardSampleLocations; 1981 VkDeviceSize optimalBufferCopyOffsetAlignment; 1982 VkDeviceSize optimalBufferCopyRowPitchAlignment; 1983 VkDeviceSize nonCoherentAtomSize; 1984 } VkPhysicalDeviceLimits; 1985 1986 typedef struct { 1987 VkBool32 residencyStandard2DBlockShape; 1988 VkBool32 residencyStandard2DMultisampleBlockShape; 1989 VkBool32 residencyStandard3DBlockShape; 1990 VkBool32 residencyAlignedMipSize; 1991 VkBool32 residencyNonResidentStrict; 1992 } VkPhysicalDeviceSparseProperties; 1993 1994 typedef struct { 1995 VkDeviceSize size; 1996 VkMemoryHeapFlags flags; 1997 } VkMemoryHeap; 1998 1999 typedef struct { 2000 VkMemoryPropertyFlags propertyFlags; 2001 uint32_t heapIndex; 2002 } VkMemoryType; 2003 2004 typedef struct { 2005 uint32_t memoryTypeCount; 2006 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 2007 uint32_t memoryHeapCount; 2008 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 2009 } VkPhysicalDeviceMemoryProperties; 2010 2011 typedef struct { 2012 VkStructureType sType; 2013 void * pNext; 2014 VkPhysicalDeviceMemoryProperties memoryProperties; 2015 } VkPhysicalDeviceMemoryProperties2; 2016 2017 typedef struct { 2018 VkStructureType sType; 2019 void * pNext; 2020 uint8_t deviceUUID[VK_UUID_SIZE]; 2021 uint8_t driverUUID[VK_UUID_SIZE]; 2022 uint8_t deviceLUID[VK_LUID_SIZE]; 2023 uint32_t deviceNodeMask; 2024 VkBool32 deviceLUIDValid; 2025 uint32_t subgroupSize; 2026 VkShaderStageFlags subgroupSupportedStages; 2027 VkSubgroupFeatureFlags subgroupSupportedOperations; 2028 VkBool32 subgroupQuadOperationsInAllStages; 2029 VkPointClippingBehavior pointClippingBehavior; 2030 uint32_t maxMultiviewViewCount; 2031 uint32_t maxMultiviewInstanceIndex; 2032 VkBool32 protectedNoFault; 2033 uint32_t maxPerSetDescriptors; 2034 VkDeviceSize maxMemoryAllocationSize; 2035 } VkPhysicalDeviceVulkan11Properties; 2036 2037 typedef struct { 2038 uint32_t apiVersion; 2039 uint32_t driverVersion; 2040 uint32_t vendorID; 2041 uint32_t deviceID; 2042 VkPhysicalDeviceType deviceType; 2043 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 2044 uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 2045 VkPhysicalDeviceLimits limits; 2046 VkPhysicalDeviceSparseProperties sparseProperties; 2047 } VkPhysicalDeviceProperties; 2048 2049 typedef struct { 2050 VkStructureType sType; 2051 void * pNext; 2052 VkPhysicalDeviceProperties properties; 2053 } VkPhysicalDeviceProperties2; 2054 2055 typedef struct { 2056 VkBool32 robustBufferAccess; 2057 VkBool32 fullDrawIndexUint32; 2058 VkBool32 imageCubeArray; 2059 VkBool32 independentBlend; 2060 VkBool32 geometryShader; 2061 VkBool32 tessellationShader; 2062 VkBool32 sampleRateShading; 2063 VkBool32 dualSrcBlend; 2064 VkBool32 logicOp; 2065 VkBool32 multiDrawIndirect; 2066 VkBool32 drawIndirectFirstInstance; 2067 VkBool32 depthClamp; 2068 VkBool32 depthBiasClamp; 2069 VkBool32 fillModeNonSolid; 2070 VkBool32 depthBounds; 2071 VkBool32 wideLines; 2072 VkBool32 largePoints; 2073 VkBool32 alphaToOne; 2074 VkBool32 multiViewport; 2075 VkBool32 samplerAnisotropy; 2076 VkBool32 textureCompressionETC2; 2077 VkBool32 textureCompressionASTC_LDR; 2078 VkBool32 textureCompressionBC; 2079 VkBool32 occlusionQueryPrecise; 2080 VkBool32 pipelineStatisticsQuery; 2081 VkBool32 vertexPipelineStoresAndAtomics; 2082 VkBool32 fragmentStoresAndAtomics; 2083 VkBool32 shaderTessellationAndGeometryPointSize; 2084 VkBool32 shaderImageGatherExtended; 2085 VkBool32 shaderStorageImageExtendedFormats; 2086 VkBool32 shaderStorageImageMultisample; 2087 VkBool32 shaderStorageImageReadWithoutFormat; 2088 VkBool32 shaderStorageImageWriteWithoutFormat; 2089 VkBool32 shaderUniformBufferArrayDynamicIndexing; 2090 VkBool32 shaderSampledImageArrayDynamicIndexing; 2091 VkBool32 shaderStorageBufferArrayDynamicIndexing; 2092 VkBool32 shaderStorageImageArrayDynamicIndexing; 2093 VkBool32 shaderClipDistance; 2094 VkBool32 shaderCullDistance; 2095 VkBool32 shaderFloat64; 2096 VkBool32 shaderInt64; 2097 VkBool32 shaderInt16; 2098 VkBool32 shaderResourceResidency; 2099 VkBool32 shaderResourceMinLod; 2100 VkBool32 sparseBinding; 2101 VkBool32 sparseResidencyBuffer; 2102 VkBool32 sparseResidencyImage2D; 2103 VkBool32 sparseResidencyImage3D; 2104 VkBool32 sparseResidency2Samples; 2105 VkBool32 sparseResidency4Samples; 2106 VkBool32 sparseResidency8Samples; 2107 VkBool32 sparseResidency16Samples; 2108 VkBool32 sparseResidencyAliased; 2109 VkBool32 variableMultisampleRate; 2110 VkBool32 inheritedQueries; 2111 } VkPhysicalDeviceFeatures; 2112 2113 typedef struct { 2114 VkStructureType sType; 2115 void * pNext; 2116 VkBool32 storageBuffer16BitAccess; 2117 VkBool32 uniformAndStorageBuffer16BitAccess; 2118 VkBool32 storagePushConstant16; 2119 VkBool32 storageInputOutput16; 2120 VkBool32 multiview; 2121 VkBool32 multiviewGeometryShader; 2122 VkBool32 multiviewTessellationShader; 2123 VkBool32 variablePointersStorageBuffer; 2124 VkBool32 variablePointers; 2125 VkBool32 protectedMemory; 2126 VkBool32 samplerYcbcrConversion; 2127 VkBool32 shaderDrawParameters; 2128 } VkPhysicalDeviceVulkan11Features; 2129 2130 typedef struct { 2131 VkStructureType sType; 2132 void * pNext; 2133 VkBool32 samplerMirrorClampToEdge; 2134 VkBool32 drawIndirectCount; 2135 VkBool32 storageBuffer8BitAccess; 2136 VkBool32 uniformAndStorageBuffer8BitAccess; 2137 VkBool32 storagePushConstant8; 2138 VkBool32 shaderBufferInt64Atomics; 2139 VkBool32 shaderSharedInt64Atomics; 2140 VkBool32 shaderFloat16; 2141 VkBool32 shaderInt8; 2142 VkBool32 descriptorIndexing; 2143 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 2144 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 2145 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 2146 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 2147 VkBool32 shaderSampledImageArrayNonUniformIndexing; 2148 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 2149 VkBool32 shaderStorageImageArrayNonUniformIndexing; 2150 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 2151 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 2152 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 2153 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 2154 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 2155 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 2156 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 2157 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 2158 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 2159 VkBool32 descriptorBindingUpdateUnusedWhilePending; 2160 VkBool32 descriptorBindingPartiallyBound; 2161 VkBool32 descriptorBindingVariableDescriptorCount; 2162 VkBool32 runtimeDescriptorArray; 2163 VkBool32 samplerFilterMinmax; 2164 VkBool32 scalarBlockLayout; 2165 VkBool32 imagelessFramebuffer; 2166 VkBool32 uniformBufferStandardLayout; 2167 VkBool32 shaderSubgroupExtendedTypes; 2168 VkBool32 separateDepthStencilLayouts; 2169 VkBool32 hostQueryReset; 2170 VkBool32 timelineSemaphore; 2171 VkBool32 bufferDeviceAddress; 2172 VkBool32 bufferDeviceAddressCaptureReplay; 2173 VkBool32 bufferDeviceAddressMultiDevice; 2174 VkBool32 vulkanMemoryModel; 2175 VkBool32 vulkanMemoryModelDeviceScope; 2176 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 2177 VkBool32 shaderOutputViewportIndex; 2178 VkBool32 shaderOutputLayer; 2179 VkBool32 subgroupBroadcastDynamicId; 2180 } VkPhysicalDeviceVulkan12Features; 2181 2182 typedef struct { 2183 VkStructureType sType; 2184 void * pNext; 2185 VkBool32 robustImageAccess; 2186 VkBool32 inlineUniformBlock; 2187 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 2188 VkBool32 pipelineCreationCacheControl; 2189 VkBool32 privateData; 2190 VkBool32 shaderDemoteToHelperInvocation; 2191 VkBool32 shaderTerminateInvocation; 2192 VkBool32 subgroupSizeControl; 2193 VkBool32 computeFullSubgroups; 2194 VkBool32 synchronization2; 2195 VkBool32 textureCompressionASTC_HDR; 2196 VkBool32 shaderZeroInitializeWorkgroupMemory; 2197 VkBool32 dynamicRendering; 2198 VkBool32 shaderIntegerDotProduct; 2199 VkBool32 maintenance4; 2200 } VkPhysicalDeviceVulkan13Features; 2201 2202 typedef struct { 2203 VkStructureType sType; 2204 void * pNext; 2205 VkBool32 shaderRelaxedExtendedInstruction; 2206 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR; 2207 2208 typedef struct { 2209 VkStructureType sType; 2210 void * pNext; 2211 VkPhysicalDeviceFeatures features; 2212 } VkPhysicalDeviceFeatures2; 2213 2214 typedef struct { 2215 VkQueueFlags queueFlags; 2216 uint32_t queueCount; 2217 uint32_t timestampValidBits; 2218 VkExtent3D minImageTransferGranularity; 2219 } VkQueueFamilyProperties; 2220 2221 typedef struct { 2222 VkStructureType sType; 2223 const void * pNext; 2224 VkDeviceQueueCreateFlags flags; 2225 uint32_t queueFamilyIndex; 2226 uint32_t queueCount; 2227 const float * pQueuePriorities; 2228 } VkDeviceQueueCreateInfo; 2229 2230 typedef struct { 2231 VkStructureType sType; 2232 const void * pNext; 2233 VkDeviceCreateFlags flags; 2234 uint32_t queueCreateInfoCount; 2235 const VkDeviceQueueCreateInfo * pQueueCreateInfos; 2236 uint32_t enabledLayerCount; // enabledLayerCount is deprecated 2237 const char * const * ppEnabledLayerNames; // ppEnabledLayerNames is deprecated 2238 uint32_t enabledExtensionCount; 2239 const char * const * ppEnabledExtensionNames; 2240 const VkPhysicalDeviceFeatures * pEnabledFeatures; 2241 } VkDeviceCreateInfo; 2242 2243 typedef struct { 2244 VkStructureType sType; 2245 const void* pNext; 2246 VkSwapchainCreateFlagsKHR flags; 2247 VkSurfaceKHR surface; 2248 uint32_t minImageCount; 2249 VkFormat imageFormat; 2250 VkColorSpaceKHR imageColorSpace; 2251 VkExtent2D imageExtent; 2252 uint32_t imageArrayLayers; 2253 VkImageUsageFlags imageUsage; 2254 VkSharingMode imageSharingMode; 2255 uint32_t queueFamilyIndexCount; 2256 const uint32_t * pQueueFamilyIndices; 2257 VkSurfaceTransformFlagBitsKHR preTransform; 2258 VkCompositeAlphaFlagBitsKHR compositeAlpha; 2259 VkPresentModeKHR presentMode; 2260 VkBool32 clipped; 2261 VkSwapchainKHR oldSwapchain; 2262 } VkSwapchainCreateInfoKHR; 2263 2264 typedef struct { 2265 VkStructureType sType; 2266 const void * pNext; 2267 uint32_t waitSemaphoreCount; 2268 const VkSemaphore * pWaitSemaphores; 2269 uint32_t swapchainCount; 2270 const VkSwapchainKHR * pSwapchains; 2271 const uint32_t * pImageIndices; 2272 VkResult * pResults; 2273 } VkPresentInfoKHR; 2274 2275 typedef struct { 2276 uint32_t minImageCount; 2277 uint32_t maxImageCount; 2278 VkExtent2D currentExtent; 2279 VkExtent2D minImageExtent; 2280 VkExtent2D maxImageExtent; 2281 uint32_t maxImageArrayLayers; 2282 VkSurfaceTransformFlagsKHR supportedTransforms; 2283 VkSurfaceTransformFlagBitsKHR currentTransform; 2284 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 2285 VkImageUsageFlags supportedUsageFlags; 2286 } VkSurfaceCapabilitiesKHR; 2287 2288 typedef struct { 2289 VkFormat format; 2290 VkColorSpaceKHR colorSpace; 2291 } VkSurfaceFormatKHR; 2292 2293 typedef struct { 2294 VkStructureType sType; 2295 const void * pNext; 2296 VkQueryPoolCreateFlags flags; 2297 VkQueryType queryType; 2298 uint32_t queryCount; 2299 VkQueryPipelineStatisticFlags pipelineStatistics; 2300 } VkQueryPoolCreateInfo; 2301 2302 typedef struct { 2303 VkStructureType sType; 2304 const void * pNext; 2305 VkSemaphoreCreateFlags flags; 2306 } VkSemaphoreCreateInfo; 2307 2308 typedef struct { 2309 VkStructureType sType; 2310 const void * pNext; 2311 VkSemaphoreType semaphoreType; 2312 uint64_t initialValue; 2313 } VkSemaphoreTypeCreateInfo; 2314 2315 typedef struct { 2316 VkStructureType sType; 2317 const void * pNext; 2318 uint32_t waitSemaphoreValueCount; 2319 const uint64_t * pWaitSemaphoreValues; 2320 uint32_t signalSemaphoreValueCount; 2321 const uint64_t * pSignalSemaphoreValues; 2322 } VkTimelineSemaphoreSubmitInfo; 2323 2324 typedef struct { 2325 VkStructureType sType; 2326 const void * pNext; 2327 VkSemaphoreWaitFlags flags; 2328 uint32_t semaphoreCount; 2329 const VkSemaphore * pSemaphores; 2330 const uint64_t * pValues; 2331 } VkSemaphoreWaitInfo; 2332 2333 typedef struct { 2334 VkStructureType sType; 2335 const void * pNext; 2336 VkSemaphore semaphore; 2337 uint64_t value; 2338 } VkSemaphoreSignalInfo; 2339 2340 typedef struct { 2341 VkStructureType sType; 2342 const void * pNext; 2343 VkSemaphore semaphore; 2344 uint64_t value; 2345 VkPipelineStageFlags2 stageMask; 2346 uint32_t deviceIndex; 2347 } VkSemaphoreSubmitInfo; 2348 2349 typedef struct { 2350 VkStructureType sType; 2351 const void * pNext; 2352 VkExternalSemaphoreHandleTypeFlags handleTypes; 2353 } VkExportSemaphoreCreateInfo; 2354 2355 typedef struct { 2356 VkStructureType sType; 2357 const void * pNext; 2358 VkSemaphore semaphore; 2359 VkExternalSemaphoreHandleTypeFlagBits handleType; 2360 } VkSemaphoreGetWin32HandleInfoKHR; 2361 2362 typedef struct { 2363 VkStructureType sType; 2364 const void * pNext; 2365 VkSemaphore semaphore; 2366 VkExternalSemaphoreHandleTypeFlagBits handleType; 2367 } VkSemaphoreGetFdInfoKHR; 2368 2369 typedef struct { 2370 VkImageAspectFlags aspectMask; 2371 uint32_t baseMipLevel; 2372 uint32_t levelCount; 2373 uint32_t baseArrayLayer; 2374 uint32_t layerCount; 2375 } VkImageSubresourceRange; 2376 2377 typedef struct { 2378 VkStructureType sType; 2379 const void * pNext; 2380 VkPipelineStageFlags2 srcStageMask; 2381 VkAccessFlags2 srcAccessMask; 2382 VkPipelineStageFlags2 dstStageMask; 2383 VkAccessFlags2 dstAccessMask; 2384 } VkMemoryBarrier2; 2385 2386 typedef struct { 2387 VkStructureType sType; 2388 const void * pNext; 2389 VkPipelineStageFlags2 srcStageMask; 2390 VkAccessFlags2 srcAccessMask; 2391 VkPipelineStageFlags2 dstStageMask; 2392 VkAccessFlags2 dstAccessMask; 2393 uint32_t srcQueueFamilyIndex; 2394 uint32_t dstQueueFamilyIndex; 2395 VkBuffer buffer; 2396 VkDeviceSize offset; 2397 VkDeviceSize size; 2398 } VkBufferMemoryBarrier2; 2399 2400 typedef struct { 2401 VkStructureType sType; 2402 const void * pNext; 2403 VkPipelineStageFlags2 srcStageMask; 2404 VkAccessFlags2 srcAccessMask; 2405 VkPipelineStageFlags2 dstStageMask; 2406 VkAccessFlags2 dstAccessMask; 2407 VkImageLayout oldLayout; 2408 VkImageLayout newLayout; 2409 uint32_t srcQueueFamilyIndex; 2410 uint32_t dstQueueFamilyIndex; 2411 VkImage image; 2412 VkImageSubresourceRange subresourceRange; 2413 } VkImageMemoryBarrier2; 2414 2415 typedef struct { 2416 VkStructureType sType; 2417 const void * pNext; 2418 VkDependencyFlags dependencyFlags; 2419 uint32_t memoryBarrierCount; 2420 const VkMemoryBarrier2 * pMemoryBarriers; 2421 uint32_t bufferMemoryBarrierCount; 2422 const VkBufferMemoryBarrier2 * pBufferMemoryBarriers; 2423 uint32_t imageMemoryBarrierCount; 2424 const VkImageMemoryBarrier2 * pImageMemoryBarriers; 2425 } VkDependencyInfo; 2426 2427 2428 typedef struct { 2429 VkComponentSwizzle r; 2430 VkComponentSwizzle g; 2431 VkComponentSwizzle b; 2432 VkComponentSwizzle a; 2433 } VkComponentMapping; 2434 2435 typedef struct { 2436 VkStructureType sType; 2437 const void * pNext; 2438 VkImageViewCreateFlags flags; 2439 VkImage image; 2440 VkImageViewType viewType; 2441 VkFormat format; 2442 VkComponentMapping components; 2443 VkImageSubresourceRange subresourceRange; 2444 } VkImageViewCreateInfo; 2445 2446 typedef struct { 2447 VkStructureType sType; 2448 const void * pNext; 2449 VkBufferCreateFlags flags; 2450 VkDeviceSize size; 2451 VkBufferUsageFlags usage; 2452 VkSharingMode sharingMode; 2453 uint32_t queueFamilyIndexCount; 2454 const uint32_t * pQueueFamilyIndices; 2455 } VkBufferCreateInfo; 2456 2457 typedef struct { 2458 VkStructureType sType; 2459 const void * pNext; 2460 VkImageCreateFlags flags; 2461 VkImageType imageType; 2462 VkFormat format; 2463 VkExtent3D extent; 2464 uint32_t mipLevels; 2465 uint32_t arrayLayers; 2466 VkSampleCountFlagBits samples; 2467 VkImageTiling tiling; 2468 VkImageUsageFlags usage; 2469 VkSharingMode sharingMode; 2470 uint32_t queueFamilyIndexCount; 2471 const uint32_t * pQueueFamilyIndices; 2472 VkImageLayout initialLayout; 2473 } VkImageCreateInfo; 2474 2475 typedef struct { 2476 VkStructureType sType; 2477 const void * pNext; 2478 VkShaderModuleCreateFlags flags; 2479 size_t codeSize; 2480 const uint32_t * pCode; 2481 } VkShaderModuleCreateInfo; 2482 2483 typedef struct { 2484 uint32_t constantID; 2485 uint32_t offset; 2486 size_t size; 2487 } VkSpecializationMapEntry; 2488 2489 typedef struct { 2490 uint32_t mapEntryCount; 2491 const VkSpecializationMapEntry * pMapEntries; 2492 size_t dataSize; 2493 const void * pData; 2494 } VkSpecializationInfo; 2495 2496 typedef struct { 2497 VkStructureType sType; 2498 const void * pNext; 2499 VkPipelineShaderStageCreateFlags flags; 2500 VkShaderStageFlagBits stage; 2501 VkShaderModule module; 2502 const char * pName; 2503 const VkSpecializationInfo * pSpecializationInfo; 2504 } VkPipelineShaderStageCreateInfo; 2505 2506 typedef struct { 2507 VkStructureType sType; 2508 const void * pNext; 2509 VkPipelineCreateFlags flags; 2510 VkPipelineShaderStageCreateInfo stage; 2511 VkPipelineLayout layout; 2512 VkPipeline basePipelineHandle; 2513 int32_t basePipelineIndex; 2514 } VkComputePipelineCreateInfo; 2515 2516 typedef struct { 2517 VkStencilOp failOp; 2518 VkStencilOp passOp; 2519 VkStencilOp depthFailOp; 2520 VkCompareOp compareOp; 2521 uint32_t compareMask; 2522 uint32_t writeMask; 2523 uint32_t reference; 2524 } VkStencilOpState; 2525 2526 typedef struct { 2527 VkStructureType sType; 2528 const void * pNext; 2529 VkPipelineDepthStencilStateCreateFlags flags; 2530 VkBool32 depthTestEnable; 2531 VkBool32 depthWriteEnable; 2532 VkCompareOp depthCompareOp; 2533 VkBool32 depthBoundsTestEnable; 2534 VkBool32 stencilTestEnable; 2535 VkStencilOpState front; 2536 VkStencilOpState back; 2537 float minDepthBounds; 2538 float maxDepthBounds; 2539 } VkPipelineDepthStencilStateCreateInfo; 2540 2541 typedef struct { 2542 VkBool32 blendEnable; 2543 VkBlendFactor srcColorBlendFactor; 2544 VkBlendFactor dstColorBlendFactor; 2545 VkBlendOp colorBlendOp; 2546 VkBlendFactor srcAlphaBlendFactor; 2547 VkBlendFactor dstAlphaBlendFactor; 2548 VkBlendOp alphaBlendOp; 2549 VkColorComponentFlags colorWriteMask; 2550 } VkPipelineColorBlendAttachmentState; 2551 2552 typedef struct { 2553 VkStructureType sType; 2554 const void * pNext; 2555 VkPipelineColorBlendStateCreateFlags flags; 2556 VkBool32 logicOpEnable; 2557 VkLogicOp logicOp; 2558 uint32_t attachmentCount; 2559 const VkPipelineColorBlendAttachmentState * pAttachments; 2560 float blendConstants[4]; 2561 } VkPipelineColorBlendStateCreateInfo; 2562 2563 typedef struct { 2564 VkStructureType sType; 2565 const void * pNext; 2566 VkPipelineDynamicStateCreateFlags flags; 2567 uint32_t dynamicStateCount; 2568 const VkDynamicState * pDynamicStates; 2569 } VkPipelineDynamicStateCreateInfo; 2570 2571 typedef struct { 2572 uint32_t binding; 2573 uint32_t stride; 2574 VkVertexInputRate inputRate; 2575 } VkVertexInputBindingDescription; 2576 2577 typedef struct { 2578 uint32_t location; 2579 uint32_t binding; 2580 VkFormat format; 2581 uint32_t offset; 2582 } VkVertexInputAttributeDescription; 2583 2584 typedef struct { 2585 VkStructureType sType; 2586 const void * pNext; 2587 VkPipelineVertexInputStateCreateFlags flags; 2588 uint32_t vertexBindingDescriptionCount; 2589 const VkVertexInputBindingDescription * pVertexBindingDescriptions; 2590 uint32_t vertexAttributeDescriptionCount; 2591 const VkVertexInputAttributeDescription * pVertexAttributeDescriptions; 2592 } VkPipelineVertexInputStateCreateInfo; 2593 2594 typedef struct { 2595 VkStructureType sType; 2596 const void * pNext; 2597 VkPipelineInputAssemblyStateCreateFlags flags; 2598 VkPrimitiveTopology topology; 2599 VkBool32 primitiveRestartEnable; 2600 } VkPipelineInputAssemblyStateCreateInfo; 2601 2602 typedef struct { 2603 VkStructureType sType; 2604 const void * pNext; 2605 VkPipelineTessellationStateCreateFlags flags; 2606 uint32_t patchControlPoints; 2607 } VkPipelineTessellationStateCreateInfo; 2608 2609 typedef struct VkPipelineViewportStateCreateInfo { 2610 VkStructureType sType; 2611 const void * pNext; 2612 VkPipelineViewportStateCreateFlags flags; 2613 uint32_t viewportCount; 2614 const VkViewport * pViewports; 2615 uint32_t scissorCount; 2616 const VkRect2D * pScissors; 2617 } VkPipelineViewportStateCreateInfo; 2618 2619 typedef struct { 2620 VkStructureType sType; 2621 const void * pNext; 2622 VkPipelineRasterizationStateCreateFlags flags; 2623 VkBool32 depthClampEnable; 2624 VkBool32 rasterizerDiscardEnable; 2625 VkPolygonMode polygonMode; 2626 VkCullModeFlags cullMode; 2627 VkFrontFace frontFace; 2628 VkBool32 depthBiasEnable; 2629 float depthBiasConstantFactor; 2630 float depthBiasClamp; 2631 float depthBiasSlopeFactor; 2632 float lineWidth; 2633 } VkPipelineRasterizationStateCreateInfo; 2634 2635 typedef struct { 2636 VkStructureType sType; 2637 const void * pNext; 2638 VkPipelineMultisampleStateCreateFlags flags; 2639 VkSampleCountFlagBits rasterizationSamples; 2640 VkBool32 sampleShadingEnable; 2641 float minSampleShading; 2642 const VkSampleMask * pSampleMask; 2643 VkBool32 alphaToCoverageEnable; 2644 VkBool32 alphaToOneEnable; 2645 } VkPipelineMultisampleStateCreateInfo; 2646 2647 typedef struct { 2648 VkShaderStageFlags stageFlags; 2649 uint32_t offset; 2650 uint32_t size; 2651 } VkPushConstantRange; 2652 2653 typedef struct { 2654 VkStructureType sType; 2655 const void * pNext; 2656 VkPipelineLayoutCreateFlags flags; 2657 uint32_t setLayoutCount; 2658 const VkDescriptorSetLayout * pSetLayouts; 2659 uint32_t pushConstantRangeCount; 2660 const VkPushConstantRange * pPushConstantRanges; 2661 } VkPipelineLayoutCreateInfo; 2662 2663 typedef union { 2664 float float32[4]; 2665 int32_t int32[4]; 2666 uint32_t uint32[4]; 2667 } VkClearColorValue; 2668 2669 typedef struct { 2670 float depth; 2671 uint32_t stencil; 2672 } VkClearDepthStencilValue; 2673 2674 typedef union { 2675 VkClearColorValue color; 2676 VkClearDepthStencilValue depthStencil; 2677 } VkClearValue; 2678 2679 typedef struct { 2680 VkStructureType sType; 2681 const void * pNext; 2682 VkImageView imageView; 2683 VkImageLayout imageLayout; 2684 VkResolveModeFlagBits resolveMode; 2685 VkImageView resolveImageView; 2686 VkImageLayout resolveImageLayout; 2687 VkAttachmentLoadOp loadOp; 2688 VkAttachmentStoreOp storeOp; 2689 VkClearValue clearValue; 2690 } VkRenderingAttachmentInfo; 2691 2692 typedef struct { 2693 VkStructureType sType; 2694 const void * pNext; 2695 VkRenderingFlags flags; 2696 VkRect2D renderArea; 2697 uint32_t layerCount; 2698 uint32_t viewMask; 2699 uint32_t colorAttachmentCount; 2700 const VkRenderingAttachmentInfo * pColorAttachments; 2701 const VkRenderingAttachmentInfo * pDepthAttachment; 2702 const VkRenderingAttachmentInfo * pStencilAttachment; 2703 } VkRenderingInfo; 2704 2705 typedef struct { 2706 VkStructureType sType; 2707 const void * pNext; 2708 uint32_t viewMask; 2709 uint32_t colorAttachmentCount; 2710 const VkFormat * pColorAttachmentFormats; 2711 VkFormat depthAttachmentFormat; 2712 VkFormat stencilAttachmentFormat; 2713 } VkPipelineRenderingCreateInfo; 2714 2715 typedef struct { 2716 VkStructureType sType; 2717 const void * pNext; 2718 VkCommandPoolCreateFlags flags; 2719 uint32_t queueFamilyIndex; 2720 } VkCommandPoolCreateInfo; 2721 2722 typedef struct { 2723 VkStructureType sType; 2724 const void * pNext; 2725 VkCommandPool commandPool; 2726 VkCommandBufferLevel level; 2727 uint32_t commandBufferCount; 2728 } VkCommandBufferAllocateInfo; 2729 2730 typedef struct { 2731 VkStructureType sType; 2732 const void * pNext; 2733 VkRenderPass renderPass; 2734 uint32_t subpass; 2735 VkFramebuffer framebuffer; 2736 VkBool32 occlusionQueryEnable; 2737 VkQueryControlFlags queryFlags; 2738 VkQueryPipelineStatisticFlags pipelineStatistics; 2739 } VkCommandBufferInheritanceInfo; 2740 2741 typedef struct { 2742 VkStructureType sType; 2743 const void * pNext; 2744 VkCommandBufferUsageFlags flags; 2745 const VkCommandBufferInheritanceInfo * pInheritanceInfo; 2746 } VkCommandBufferBeginInfo; 2747 2748 typedef struct { 2749 VkStructureType sType; 2750 const void * pNext; 2751 VkCommandBuffer commandBuffer; 2752 uint32_t deviceMask; 2753 } VkCommandBufferSubmitInfo; 2754 2755 typedef struct { 2756 VkStructureType sType; 2757 const void * pNext; 2758 VkSubmitFlags flags; 2759 uint32_t waitSemaphoreInfoCount; 2760 const VkSemaphoreSubmitInfo * pWaitSemaphoreInfos; 2761 uint32_t commandBufferInfoCount; 2762 const VkCommandBufferSubmitInfo * pCommandBufferInfos; 2763 uint32_t signalSemaphoreInfoCount; 2764 const VkSemaphoreSubmitInfo * pSignalSemaphoreInfos; 2765 } VkSubmitInfo2; 2766 2767 typedef struct { 2768 VkStructureType sType; 2769 const void * pNext; 2770 VkDeviceSize srcOffset; 2771 VkDeviceSize dstOffset; 2772 VkDeviceSize size; 2773 } VkBufferCopy2; 2774 2775 typedef struct { 2776 VkStructureType sType; 2777 const void * pNext; 2778 VkBuffer srcBuffer; 2779 VkBuffer dstBuffer; 2780 uint32_t regionCount; 2781 const VkBufferCopy2 * pRegions; 2782 } VkCopyBufferInfo2; 2783 2784 typedef struct { 2785 VkStructureType sType; 2786 const void * pNext; 2787 VkPipelineCreateFlags flags; 2788 uint32_t stageCount; 2789 const VkPipelineShaderStageCreateInfo * pStages; 2790 const VkPipelineVertexInputStateCreateInfo * pVertexInputState; 2791 const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState; 2792 const VkPipelineTessellationStateCreateInfo * pTessellationState; 2793 const VkPipelineViewportStateCreateInfo * pViewportState; 2794 const VkPipelineRasterizationStateCreateInfo * pRasterizationState; 2795 const VkPipelineMultisampleStateCreateInfo * pMultisampleState; 2796 const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState; 2797 const VkPipelineColorBlendStateCreateInfo * pColorBlendState; 2798 const VkPipelineDynamicStateCreateInfo * pDynamicState; 2799 VkPipelineLayout layout; 2800 VkRenderPass renderPass; 2801 uint32_t subpass; 2802 VkPipeline basePipelineHandle; 2803 int32_t basePipelineIndex; 2804 } VkGraphicsPipelineCreateInfo; 2805 2806 typedef void *vkAllocationFunction(void *pUserData, size_t size, size_t alignment, 2807 VkSystemAllocationScope allocationScope); 2808 2809 typedef void vkFreeFunction(void *pUserData, void *pMemory); 2810 2811 typedef void vkInternalAllocationNotification(void *pUserData, size_t size, 2812 VkInternalAllocationType allocationType, 2813 VkSystemAllocationScope allocationScope); 2814 2815 typedef void vkInternalFreeNotification(void *pUserData, size_t size, 2816 VkInternalAllocationType allocationType, 2817 VkSystemAllocationScope allocationScope); 2818 2819 typedef void *vkReallocationFunction(void *pUserData, void *pOriginal, size_t size, size_t alignment, 2820 VkSystemAllocationScope allocationScope); 2821 2822 typedef struct { 2823 void * UserData; 2824 vkAllocationFunction * Allocation; 2825 vkReallocationFunction * Reallocation; 2826 vkFreeFunction * Free; 2827 vkInternalAllocationNotification * InternalAllocation; 2828 vkInternalFreeNotification * InternalFree; 2829 } VkAllocationCallbacks; 2830 2831 typedef struct { 2832 VkStructureType sType; 2833 const void * pNext; 2834 VkDeviceMemory memory; 2835 VkDeviceSize offset; 2836 VkDeviceSize size; 2837 } VkMappedMemoryRange; 2838 2839 typedef struct { 2840 VkStructureType sType; 2841 const void * pNext; 2842 VkBuffer buffer; 2843 } VkBufferDeviceAddressInfo; 2844 2845 typedef struct { 2846 VkStructureType sType; 2847 const void * pNext; 2848 VkDeviceSize allocationSize; 2849 uint32_t memoryTypeIndex; 2850 } VkMemoryAllocateInfo; 2851 2852 typedef struct { 2853 VkDeviceSize size; 2854 VkDeviceSize alignment; 2855 uint32_t memoryTypeBits; 2856 } VkMemoryRequirements; 2857 2858 typedef struct { 2859 VkStructureType sType; 2860 const void * pNext; 2861 VkImage image; 2862 VkBuffer buffer; 2863 } VkMemoryDedicatedAllocateInfo; 2864 2865 typedef struct { 2866 VkStructureType sType; 2867 const void * pNext; 2868 VkMemoryAllocateFlags flags; 2869 uint32_t deviceMask; 2870 } VkMemoryAllocateFlagsInfo; 2871 2872 typedef struct { 2873 VkStructureType sType; 2874 const void * pNext; 2875 VkExternalMemoryHandleTypeFlags handleTypes; 2876 } VkExportMemoryAllocateInfo; 2877 2878 typedef struct { 2879 VkStructureType sType; 2880 const void * pNext; 2881 VkExternalMemoryHandleTypeFlags handleTypes; 2882 } VkExternalMemoryImageCreateInfo; 2883 2884 typedef struct { 2885 VkStructureType sType; 2886 const void * pNext; 2887 VkDeviceMemory memory; 2888 VkExternalMemoryHandleTypeFlagBits handleType; 2889 } VkMemoryGetWin32HandleInfoKHR; 2890 2891 typedef struct { 2892 VkStructureType sType; 2893 const void * pNext; 2894 VkDeviceMemory memory; 2895 VkExternalMemoryHandleTypeFlagBits handleType; 2896 } VkMemoryGetFdInfoKHR; 2897 2898 typedef struct { 2899 VkDescriptorType type; 2900 uint32_t descriptorCount; 2901 } VkDescriptorPoolSize; 2902 2903 typedef struct { 2904 VkStructureType sType; 2905 const void * pNext; 2906 VkDescriptorPoolCreateFlags flags; 2907 uint32_t maxSets; 2908 uint32_t poolSizeCount; 2909 const VkDescriptorPoolSize * pPoolSizes; 2910 } VkDescriptorPoolCreateInfo; 2911 2912 typedef struct { 2913 uint32_t binding; 2914 VkDescriptorType descriptorType; 2915 uint32_t descriptorCount; 2916 VkShaderStageFlags stageFlags; 2917 const VkSampler * pImmutableSamplers; 2918 } VkDescriptorSetLayoutBinding; 2919 2920 typedef struct { 2921 VkStructureType sType; 2922 const void * pNext; 2923 VkDescriptorSetLayoutCreateFlags flags; 2924 uint32_t bindingCount; 2925 const VkDescriptorSetLayoutBinding * pBindings; 2926 } VkDescriptorSetLayoutCreateInfo; 2927 2928 typedef struct { 2929 VkStructureType sType; 2930 const void * pNext; 2931 VkDescriptorPool descriptorPool; 2932 uint32_t descriptorSetCount; 2933 const VkDescriptorSetLayout * pSetLayouts; 2934 } VkDescriptorSetAllocateInfo; 2935 2936 typedef struct { 2937 VkStructureType sType; 2938 const void * pNext; 2939 VkDescriptorSet srcSet; 2940 uint32_t srcBinding; 2941 uint32_t srcArrayElement; 2942 VkDescriptorSet dstSet; 2943 uint32_t dstBinding; 2944 uint32_t dstArrayElement; 2945 uint32_t descriptorCount; 2946 } VkCopyDescriptorSet; 2947 2948 typedef struct { 2949 VkBuffer buffer; 2950 VkDeviceSize offset; 2951 VkDeviceSize range; 2952 } VkDescriptorBufferInfo; 2953 2954 typedef struct { 2955 VkSampler sampler; 2956 VkImageView imageView; 2957 VkImageLayout imageLayout; 2958 } VkDescriptorImageInfo; 2959 2960 typedef struct { 2961 VkStructureType sType; 2962 const void * pNext; 2963 VkDescriptorSet dstSet; 2964 uint32_t dstBinding; 2965 uint32_t dstArrayElement; 2966 uint32_t descriptorCount; 2967 VkDescriptorType descriptorType; 2968 const VkDescriptorImageInfo * pImageInfo; 2969 const VkDescriptorBufferInfo * pBufferInfo; 2970 const VkBufferView * pTexelBufferView; 2971 } VkWriteDescriptorSet; 2972 2973 typedef enum { 2974 VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 2975 VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 2976 VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 2977 VK_COMPONENT_TYPE_SINT8_KHR = 3, 2978 VK_COMPONENT_TYPE_SINT16_KHR = 4, 2979 VK_COMPONENT_TYPE_SINT32_KHR = 5, 2980 VK_COMPONENT_TYPE_SINT64_KHR = 6, 2981 VK_COMPONENT_TYPE_UINT8_KHR = 7, 2982 VK_COMPONENT_TYPE_UINT16_KHR = 8, 2983 VK_COMPONENT_TYPE_UINT32_KHR = 9, 2984 VK_COMPONENT_TYPE_UINT64_KHR = 10, 2985 VK_COMPONENT_TYPE_BFLOAT16_KHR = 1000141000, 2986 VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000, 2987 VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001, 2988 VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000491002, 2989 VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000491003, 2990 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 2991 } VkComponentTypeKHR; 2992 2993 typedef enum { 2994 VK_SCOPE_DEVICE_KHR = 1, 2995 VK_SCOPE_WORKGROUP_KHR = 2, 2996 VK_SCOPE_SUBGROUP_KHR = 3, 2997 VK_SCOPE_QUEUE_FAMILY_KHR = 5, 2998 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 2999 } VkScopeKHR; 3000 3001 typedef struct { 3002 VkStructureType sType; 3003 void * pNext; 3004 uint32_t MSize; 3005 uint32_t NSize; 3006 uint32_t KSize; 3007 VkComponentTypeKHR AType; 3008 VkComponentTypeKHR BType; 3009 VkComponentTypeKHR CType; 3010 VkComponentTypeKHR ResultType; 3011 VkBool32 saturatingAccumulation; 3012 VkScopeKHR scope; 3013 } VkCooperativeMatrixPropertiesKHR; 3014 3015 typedef struct { 3016 VkStructureType sType; 3017 void * pNext; 3018 VkBool32 cooperativeMatrix; 3019 VkBool32 cooperativeMatrixRobustBufferAccess; 3020 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 3021 3022 typedef enum { 3023 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 3024 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 3025 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 3026 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 3027 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 3028 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 3029 } VkValidationFeatureEnableEXT; 3030 3031 typedef enum { 3032 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 3033 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 3034 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 3035 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 3036 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 3037 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 3038 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 3039 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 3040 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 3041 } VkValidationFeatureDisableEXT; 3042 3043 typedef struct { 3044 VkStructureType sType; 3045 const void * pNext; 3046 uint32_t enabledValidationFeatureCount; 3047 const VkValidationFeatureEnableEXT * pEnabledValidationFeatures; 3048 uint32_t disabledValidationFeatureCount; 3049 const VkValidationFeatureDisableEXT * pDisabledValidationFeatures; 3050 } VkValidationFeaturesEXT; 3051 3052 typedef struct { 3053 VkStructureType sType; 3054 const void * pNext; 3055 VkObjectType objectType; 3056 uint64_t objectHandle; 3057 const char * pObjectName; 3058 } VkDebugUtilsObjectNameInfoEXT; 3059 3060 /* X(name, ret, params) */ 3061 #define VkLoaderProcedureList \ 3062 X(vkGetInstanceProcAddr, void *, (VkInstance instance, const char *pName)) \ 3063 3064 /* X(name, ret, params) */ 3065 #define VkBaseProcedureList \ 3066 X(vkCreateInstance, VkResult, (const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance)) \ 3067 X(vkEnumerateInstanceExtensionProperties, VkResult, (const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)) \ 3068 X(vkEnumerateInstanceLayerProperties, VkResult, (uint32_t *pPropertyCount, VkLayerProperties *pProperties)) \ 3069 3070 /* X(name, ret, params) */ 3071 #define VkInstanceProcedureList \ 3072 X(vkCreateDevice, VkResult, (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice)) \ 3073 X(vkEnumerateDeviceExtensionProperties, VkResult, (VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)) \ 3074 X(vkEnumeratePhysicalDevices, VkResult, (VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices)) \ 3075 X(vkGetDeviceProcAddr, void *, (VkDevice device, const char *pName)) \ 3076 X(vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, VkResult, (VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesKHR *pProperties)) \ 3077 X(vkGetPhysicalDeviceFeatures2, void, (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)) \ 3078 X(vkGetPhysicalDeviceFormatProperties2, void, (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)) \ 3079 X(vkGetPhysicalDeviceMemoryProperties2, void, (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)) \ 3080 X(vkGetPhysicalDeviceProperties2, void, (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)) \ 3081 X(vkGetPhysicalDeviceQueueFamilyProperties, void, (VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties)) \ 3082 3083 /* X(name, ret, params) */ 3084 #define VkDeviceProcedureList \ 3085 X(vkAllocateCommandBuffers, VkResult, (VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers)) \ 3086 X(vkAllocateDescriptorSets, VkResult, (VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets)) \ 3087 X(vkAllocateMemory, VkResult, (VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory)) \ 3088 X(vkBindBufferMemory, VkResult, (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)) \ 3089 X(vkBindImageMemory, VkResult, (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)) \ 3090 X(vkCreateBuffer, VkResult, (VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer)) \ 3091 X(vkCreateCommandPool, VkResult, (VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool)) \ 3092 X(vkCreateComputePipelines, VkResult, (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)) \ 3093 X(vkCreateDescriptorPool, VkResult, (VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool)) \ 3094 X(vkCreateDescriptorSetLayout, VkResult, (VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout)) \ 3095 X(vkCreateGraphicsPipelines, VkResult, (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)) \ 3096 X(vkCreateImage, VkResult, (VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage)) \ 3097 X(vkCreateImageView, VkResult, (VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView)) \ 3098 X(vkCreatePipelineLayout, VkResult, (VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout)) \ 3099 X(vkCreateQueryPool, VkResult, (VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool)) \ 3100 X(vkCreateSemaphore, VkResult, (VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore)) \ 3101 X(vkCreateShaderModule, VkResult, (VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule)) \ 3102 X(vkDestroyBuffer, void, (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator)) \ 3103 X(vkDestroyImage, void, (VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator)) \ 3104 X(vkDestroyImageView, void, (VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator)) \ 3105 X(vkDestroyPipeline, void, (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator)) \ 3106 X(vkDestroyPipelineLayout, void, (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator)) \ 3107 X(vkDestroyShaderModule, void, (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator)) \ 3108 X(vkFlushMappedMemoryRanges, VkResult, (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)) \ 3109 X(vkFreeMemory, void, (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator)) \ 3110 X(vkGetBufferDeviceAddress, VkDeviceAddress, (VkDevice device, const VkBufferDeviceAddressInfo *pInfo)) \ 3111 X(vkGetBufferMemoryRequirements, void, (VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)) \ 3112 X(vkGetDeviceQueue, void, (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)) \ 3113 X(vkGetImageMemoryRequirements, void, (VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements)) \ 3114 X(vkGetMemoryFdKHR, VkResult, (VkDevice device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int *pFd)) \ 3115 X(vkGetMemoryWin32HandleKHR, VkResult, (VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, void **pHandle)) \ 3116 X(vkGetQueryPoolResults, VkResult, (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags)) \ 3117 X(vkGetSemaphoreFdKHR, VkResult, (VkDevice device, const VkSemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd)) \ 3118 X(vkGetSemaphoreWin32HandleKHR, VkResult, (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, void **pHandle)) \ 3119 X(vkInvalidateMappedMemoryRanges, VkResult, (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)) \ 3120 X(vkMapMemory, VkResult, (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData)) \ 3121 X(vkSetDebugUtilsObjectNameEXT, VkResult, (VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo)) \ 3122 X(vkSignalSemaphore, VkResult, (VkDevice device, const VkSemaphoreSignalInfo *pSignalInfo)) \ 3123 X(vkUnmapMemory, void, (VkDevice device, VkDeviceMemory memory)) \ 3124 X(vkUpdateDescriptorSets, void, (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies)) \ 3125 X(vkWaitSemaphores, VkResult, (VkDevice device, const VkSemaphoreWaitInfo *pWaitInfo, uint64_t timeout)) \ 3126 X(vkBeginCommandBuffer, VkResult, (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo)) \ 3127 X(vkCmdBeginRendering, void, (VkCommandBuffer commandBuffer, const VkRenderingInfo *pRenderingInfo)) \ 3128 X(vkCmdBindDescriptorSets, void, (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets)) \ 3129 X(vkCmdBindIndexBuffer2, void, (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType)) \ 3130 X(vkCmdBindPipeline, void, (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)) \ 3131 X(vkCmdCopyBuffer2, void, (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 *pCopyBufferInfo)) \ 3132 X(vkCmdDispatch, void, (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)) \ 3133 X(vkCmdDrawIndexed, void, (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)) \ 3134 X(vkCmdEndRendering, void, (VkCommandBuffer commandBuffer)) \ 3135 X(vkCmdPipelineBarrier2, void, (VkCommandBuffer commandBuffer, const VkDependencyInfo *pDependencyInfo)) \ 3136 X(vkCmdPushConstants, void, (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues)) \ 3137 X(vkCmdResetQueryPool, void, (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)) \ 3138 X(vkCmdSetScissor, void, (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors)) \ 3139 X(vkCmdSetViewport, void, (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports)) \ 3140 X(vkCmdWriteTimestamp2, void, (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query)) \ 3141 X(vkEndCommandBuffer, VkResult, (VkCommandBuffer commandBuffer)) \ 3142 X(vkQueueSubmit2, VkResult, (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 *pSubmits, VkFence fence)) \ 3143 3144 3145 #define X(name, ret, params) typedef ret name##_fn params; 3146 VkLoaderProcedureList 3147 VkBaseProcedureList 3148 VkDeviceProcedureList 3149 VkInstanceProcedureList 3150 #undef X 3151 #define X(name, ...) global name##_fn *name; 3152 VkLoaderProcedureList 3153 VkBaseProcedureList 3154 VkDeviceProcedureList 3155 VkInstanceProcedureList 3156 #undef X