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