| #ifndef VULKAN_SC_CORE_H_ |
| #define VULKAN_SC_CORE_H_ 1 |
| |
| /* |
| ** Copyright 2015-2021 The Khronos Group Inc. |
| ** |
| ** SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /* |
| ** This header is generated from the Khronos Vulkan XML API Registry. |
| ** |
| */ |
| |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| |
| #define VK_VERSION_1_0 1 |
| #include "vk_platform.h" |
| |
| #define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); |
| |
| |
| #ifndef VK_USE_64_BIT_PTR_DEFINES |
| #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
| #define VK_USE_64_BIT_PTR_DEFINES 1 |
| #else |
| #define VK_USE_64_BIT_PTR_DEFINES 0 |
| #endif |
| #endif |
| |
| |
| #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE |
| #if (VK_USE_64_BIT_PTR_DEFINES==1) |
| #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) |
| #define VK_NULL_HANDLE nullptr |
| #else |
| #define VK_NULL_HANDLE ((void*)0) |
| #endif |
| #else |
| #define VK_NULL_HANDLE 0ULL |
| #endif |
| #endif |
| #ifndef VK_NULL_HANDLE |
| #define VK_NULL_HANDLE 0 |
| #endif |
| |
| |
| #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE |
| #if (VK_USE_64_BIT_PTR_DEFINES==1) |
| #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); |
| #else |
| #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); |
| #endif |
| #endif |
| |
| #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ |
| ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) |
| |
| // Vulkan 1.0 version number |
| #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 |
| |
| // Version of this file |
| #define VK_HEADER_VERSION 8 |
| |
| // Vulkan SC variant number |
| #define VKSC_API_VARIANT 1 |
| |
| // Complete version of this file |
| #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) |
| |
| #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) |
| #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) |
| #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) |
| #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) |
| typedef uint32_t VkBool32; |
| typedef uint64_t VkDeviceAddress; |
| typedef uint64_t VkDeviceSize; |
| typedef uint32_t VkFlags; |
| typedef uint32_t VkSampleMask; |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) |
| VK_DEFINE_HANDLE(VkInstance) |
| VK_DEFINE_HANDLE(VkPhysicalDevice) |
| VK_DEFINE_HANDLE(VkDevice) |
| VK_DEFINE_HANDLE(VkQueue) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) |
| VK_DEFINE_HANDLE(VkCommandBuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) |
| #define VK_UUID_SIZE 16U |
| #define VK_ATTACHMENT_UNUSED (~0U) |
| #define VK_FALSE 0U |
| #define VK_LOD_CLAMP_NONE 1000.0F |
| #define VK_QUEUE_FAMILY_IGNORED (~0U) |
| #define VK_REMAINING_ARRAY_LAYERS (~0U) |
| #define VK_REMAINING_MIP_LEVELS (~0U) |
| #define VK_SUBPASS_EXTERNAL (~0U) |
| #define VK_TRUE 1U |
| #define VK_WHOLE_SIZE (~0ULL) |
| #define VK_MAX_MEMORY_TYPES 32U |
| #define VK_MAX_MEMORY_HEAPS 16U |
| #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U |
| #define VK_MAX_EXTENSION_NAME_SIZE 256U |
| #define VK_MAX_DESCRIPTION_SIZE 256U |
| |
| typedef enum VkResult { |
| VK_SUCCESS = 0, |
| VK_NOT_READY = 1, |
| VK_TIMEOUT = 2, |
| VK_EVENT_SET = 3, |
| VK_EVENT_RESET = 4, |
| VK_INCOMPLETE = 5, |
| VK_ERROR_OUT_OF_HOST_MEMORY = -1, |
| VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, |
| VK_ERROR_INITIALIZATION_FAILED = -3, |
| VK_ERROR_DEVICE_LOST = -4, |
| VK_ERROR_MEMORY_MAP_FAILED = -5, |
| VK_ERROR_LAYER_NOT_PRESENT = -6, |
| VK_ERROR_EXTENSION_NOT_PRESENT = -7, |
| VK_ERROR_FEATURE_NOT_PRESENT = -8, |
| VK_ERROR_INCOMPATIBLE_DRIVER = -9, |
| VK_ERROR_TOO_MANY_OBJECTS = -10, |
| VK_ERROR_FORMAT_NOT_SUPPORTED = -11, |
| VK_ERROR_FRAGMENTED_POOL = -12, |
| VK_ERROR_UNKNOWN = -13, |
| VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, |
| VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, |
| VK_ERROR_FRAGMENTATION = -1000161000, |
| VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, |
| VK_ERROR_VALIDATION_FAILED = -1000011001, |
| VK_ERROR_INVALID_PIPELINE_CACHE_DATA = -1000298000, |
| VK_ERROR_NO_PIPELINE_MATCH = -1000298001, |
| VK_ERROR_SURFACE_LOST_KHR = -1000000000, |
| VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, |
| VK_SUBOPTIMAL_KHR = 1000001003, |
| VK_ERROR_OUT_OF_DATE_KHR = -1000001004, |
| VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, |
| VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, |
| VK_ERROR_NOT_PERMITTED_EXT = -1000174001, |
| VK_RESULT_MAX_ENUM = 0x7FFFFFFF |
| } VkResult; |
| |
| typedef enum VkStructureType { |
| VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, |
| VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, |
| VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, |
| VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, |
| VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, |
| VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, |
| VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, |
| VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, |
| VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, |
| VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, |
| VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, |
| VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, |
| VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, |
| VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, |
| VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, |
| VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, |
| VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, |
| VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, |
| VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, |
| VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, |
| VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, |
| VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, |
| VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, |
| VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, |
| VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, |
| VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, |
| VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, |
| VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, |
| VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, |
| VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, |
| VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, |
| VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, |
| VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, |
| VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, |
| VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, |
| VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, |
| VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, |
| VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, |
| VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, |
| VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, |
| VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, |
| VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, |
| VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, |
| VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, |
| VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, |
| VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, |
| VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, |
| VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, |
| VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, |
| VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, |
| VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, |
| VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, |
| VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, |
| VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, |
| VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, |
| VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, |
| VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, |
| VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, |
| VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, |
| VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, |
| VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, |
| VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, |
| VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, |
| VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, |
| VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, |
| VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, |
| VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, |
| VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, |
| VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, |
| VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, |
| VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, |
| VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, |
| VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, |
| VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, |
| VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, |
| VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, |
| VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, |
| VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, |
| VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, |
| VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, |
| VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, |
| VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, |
| VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, |
| VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES = 1000298000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES = 1000298001, |
| VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO = 1000298002, |
| VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO = 1000298003, |
| VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION = 1000298004, |
| VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE = 1000298005, |
| VK_STRUCTURE_TYPE_FAULT_DATA = 1000298007, |
| VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO = 1000298008, |
| VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO = 1000298010, |
| VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, |
| VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, |
| VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, |
| VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, |
| VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, |
| VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, |
| VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000, |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, |
| VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, |
| VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, |
| VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, |
| VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, |
| VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, |
| VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, |
| VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, |
| VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, |
| VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, |
| VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, |
| VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, |
| VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, |
| VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, |
| VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, |
| VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, |
| VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, |
| VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, |
| VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, |
| VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, |
| VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, |
| VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR = 1000116007, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, |
| VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, |
| VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, |
| VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, |
| VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, |
| VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, |
| VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, |
| VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, |
| VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, |
| VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, |
| VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, |
| VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, |
| VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, |
| VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, |
| VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, |
| VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, |
| VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, |
| VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, |
| VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, |
| VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, |
| VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, |
| VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, |
| VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, |
| VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, |
| VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, |
| VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, |
| VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000, |
| VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002, |
| VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, |
| VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, |
| VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, |
| VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, |
| VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, |
| VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR = 1000308000, |
| VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000, |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002, |
| VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003, |
| VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004, |
| VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007, |
| VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, |
| VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000, |
| VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000, |
| VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001, |
| VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002, |
| VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003, |
| VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004, |
| VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005, |
| VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006, |
| VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007, |
| VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008, |
| VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, |
| VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, |
| VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, |
| VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, |
| VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000, |
| VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkStructureType; |
| |
| typedef enum VkImageLayout { |
| VK_IMAGE_LAYOUT_UNDEFINED = 0, |
| VK_IMAGE_LAYOUT_GENERAL = 1, |
| VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, |
| VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, |
| VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, |
| VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, |
| VK_IMAGE_LAYOUT_PREINITIALIZED = 8, |
| VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, |
| VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, |
| VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, |
| VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, |
| VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, |
| VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, |
| VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, |
| VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, |
| VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, |
| VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000, |
| VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001, |
| VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF |
| } VkImageLayout; |
| |
| typedef enum VkObjectType { |
| VK_OBJECT_TYPE_UNKNOWN = 0, |
| VK_OBJECT_TYPE_INSTANCE = 1, |
| VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, |
| VK_OBJECT_TYPE_DEVICE = 3, |
| VK_OBJECT_TYPE_QUEUE = 4, |
| VK_OBJECT_TYPE_SEMAPHORE = 5, |
| VK_OBJECT_TYPE_COMMAND_BUFFER = 6, |
| VK_OBJECT_TYPE_FENCE = 7, |
| VK_OBJECT_TYPE_DEVICE_MEMORY = 8, |
| VK_OBJECT_TYPE_BUFFER = 9, |
| VK_OBJECT_TYPE_IMAGE = 10, |
| VK_OBJECT_TYPE_EVENT = 11, |
| VK_OBJECT_TYPE_QUERY_POOL = 12, |
| VK_OBJECT_TYPE_BUFFER_VIEW = 13, |
| VK_OBJECT_TYPE_IMAGE_VIEW = 14, |
| VK_OBJECT_TYPE_PIPELINE_CACHE = 16, |
| VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, |
| VK_OBJECT_TYPE_RENDER_PASS = 18, |
| VK_OBJECT_TYPE_PIPELINE = 19, |
| VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, |
| VK_OBJECT_TYPE_SAMPLER = 21, |
| VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, |
| VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, |
| VK_OBJECT_TYPE_FRAMEBUFFER = 24, |
| VK_OBJECT_TYPE_COMMAND_POOL = 25, |
| VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, |
| VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, |
| VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, |
| VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, |
| VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, |
| VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, |
| VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkObjectType; |
| |
| typedef enum VkPipelineCacheHeaderVersion { |
| VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, |
| VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE = 1000298001, |
| VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCacheHeaderVersion; |
| |
| typedef enum VkVendorId { |
| VK_VENDOR_ID_VIV = 0x10001, |
| VK_VENDOR_ID_VSI = 0x10002, |
| VK_VENDOR_ID_KAZAN = 0x10003, |
| VK_VENDOR_ID_CODEPLAY = 0x10004, |
| VK_VENDOR_ID_MESA = 0x10005, |
| VK_VENDOR_ID_POCL = 0x10006, |
| VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF |
| } VkVendorId; |
| |
| typedef enum VkSystemAllocationScope { |
| VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, |
| VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, |
| VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, |
| VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, |
| VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, |
| VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF |
| } VkSystemAllocationScope; |
| |
| typedef enum VkInternalAllocationType { |
| VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, |
| VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkInternalAllocationType; |
| |
| typedef enum VkFormat { |
| VK_FORMAT_UNDEFINED = 0, |
| VK_FORMAT_R4G4_UNORM_PACK8 = 1, |
| VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, |
| VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, |
| VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, |
| VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, |
| VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, |
| VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, |
| VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, |
| VK_FORMAT_R8_UNORM = 9, |
| VK_FORMAT_R8_SNORM = 10, |
| VK_FORMAT_R8_USCALED = 11, |
| VK_FORMAT_R8_SSCALED = 12, |
| VK_FORMAT_R8_UINT = 13, |
| VK_FORMAT_R8_SINT = 14, |
| VK_FORMAT_R8_SRGB = 15, |
| VK_FORMAT_R8G8_UNORM = 16, |
| VK_FORMAT_R8G8_SNORM = 17, |
| VK_FORMAT_R8G8_USCALED = 18, |
| VK_FORMAT_R8G8_SSCALED = 19, |
| VK_FORMAT_R8G8_UINT = 20, |
| VK_FORMAT_R8G8_SINT = 21, |
| VK_FORMAT_R8G8_SRGB = 22, |
| VK_FORMAT_R8G8B8_UNORM = 23, |
| VK_FORMAT_R8G8B8_SNORM = 24, |
| VK_FORMAT_R8G8B8_USCALED = 25, |
| VK_FORMAT_R8G8B8_SSCALED = 26, |
| VK_FORMAT_R8G8B8_UINT = 27, |
| VK_FORMAT_R8G8B8_SINT = 28, |
| VK_FORMAT_R8G8B8_SRGB = 29, |
| VK_FORMAT_B8G8R8_UNORM = 30, |
| VK_FORMAT_B8G8R8_SNORM = 31, |
| VK_FORMAT_B8G8R8_USCALED = 32, |
| VK_FORMAT_B8G8R8_SSCALED = 33, |
| VK_FORMAT_B8G8R8_UINT = 34, |
| VK_FORMAT_B8G8R8_SINT = 35, |
| VK_FORMAT_B8G8R8_SRGB = 36, |
| VK_FORMAT_R8G8B8A8_UNORM = 37, |
| VK_FORMAT_R8G8B8A8_SNORM = 38, |
| VK_FORMAT_R8G8B8A8_USCALED = 39, |
| VK_FORMAT_R8G8B8A8_SSCALED = 40, |
| VK_FORMAT_R8G8B8A8_UINT = 41, |
| VK_FORMAT_R8G8B8A8_SINT = 42, |
| VK_FORMAT_R8G8B8A8_SRGB = 43, |
| VK_FORMAT_B8G8R8A8_UNORM = 44, |
| VK_FORMAT_B8G8R8A8_SNORM = 45, |
| VK_FORMAT_B8G8R8A8_USCALED = 46, |
| VK_FORMAT_B8G8R8A8_SSCALED = 47, |
| VK_FORMAT_B8G8R8A8_UINT = 48, |
| VK_FORMAT_B8G8R8A8_SINT = 49, |
| VK_FORMAT_B8G8R8A8_SRGB = 50, |
| VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, |
| VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, |
| VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, |
| VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, |
| VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, |
| VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, |
| VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, |
| VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, |
| VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, |
| VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, |
| VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, |
| VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, |
| VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, |
| VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, |
| VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, |
| VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, |
| VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, |
| VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, |
| VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, |
| VK_FORMAT_R16_UNORM = 70, |
| VK_FORMAT_R16_SNORM = 71, |
| VK_FORMAT_R16_USCALED = 72, |
| VK_FORMAT_R16_SSCALED = 73, |
| VK_FORMAT_R16_UINT = 74, |
| VK_FORMAT_R16_SINT = 75, |
| VK_FORMAT_R16_SFLOAT = 76, |
| VK_FORMAT_R16G16_UNORM = 77, |
| VK_FORMAT_R16G16_SNORM = 78, |
| VK_FORMAT_R16G16_USCALED = 79, |
| VK_FORMAT_R16G16_SSCALED = 80, |
| VK_FORMAT_R16G16_UINT = 81, |
| VK_FORMAT_R16G16_SINT = 82, |
| VK_FORMAT_R16G16_SFLOAT = 83, |
| VK_FORMAT_R16G16B16_UNORM = 84, |
| VK_FORMAT_R16G16B16_SNORM = 85, |
| VK_FORMAT_R16G16B16_USCALED = 86, |
| VK_FORMAT_R16G16B16_SSCALED = 87, |
| VK_FORMAT_R16G16B16_UINT = 88, |
| VK_FORMAT_R16G16B16_SINT = 89, |
| VK_FORMAT_R16G16B16_SFLOAT = 90, |
| VK_FORMAT_R16G16B16A16_UNORM = 91, |
| VK_FORMAT_R16G16B16A16_SNORM = 92, |
| VK_FORMAT_R16G16B16A16_USCALED = 93, |
| VK_FORMAT_R16G16B16A16_SSCALED = 94, |
| VK_FORMAT_R16G16B16A16_UINT = 95, |
| VK_FORMAT_R16G16B16A16_SINT = 96, |
| VK_FORMAT_R16G16B16A16_SFLOAT = 97, |
| VK_FORMAT_R32_UINT = 98, |
| VK_FORMAT_R32_SINT = 99, |
| VK_FORMAT_R32_SFLOAT = 100, |
| VK_FORMAT_R32G32_UINT = 101, |
| VK_FORMAT_R32G32_SINT = 102, |
| VK_FORMAT_R32G32_SFLOAT = 103, |
| VK_FORMAT_R32G32B32_UINT = 104, |
| VK_FORMAT_R32G32B32_SINT = 105, |
| VK_FORMAT_R32G32B32_SFLOAT = 106, |
| VK_FORMAT_R32G32B32A32_UINT = 107, |
| VK_FORMAT_R32G32B32A32_SINT = 108, |
| VK_FORMAT_R32G32B32A32_SFLOAT = 109, |
| VK_FORMAT_R64_UINT = 110, |
| VK_FORMAT_R64_SINT = 111, |
| VK_FORMAT_R64_SFLOAT = 112, |
| VK_FORMAT_R64G64_UINT = 113, |
| VK_FORMAT_R64G64_SINT = 114, |
| VK_FORMAT_R64G64_SFLOAT = 115, |
| VK_FORMAT_R64G64B64_UINT = 116, |
| VK_FORMAT_R64G64B64_SINT = 117, |
| VK_FORMAT_R64G64B64_SFLOAT = 118, |
| VK_FORMAT_R64G64B64A64_UINT = 119, |
| VK_FORMAT_R64G64B64A64_SINT = 120, |
| VK_FORMAT_R64G64B64A64_SFLOAT = 121, |
| VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, |
| VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, |
| VK_FORMAT_D16_UNORM = 124, |
| VK_FORMAT_X8_D24_UNORM_PACK32 = 125, |
| VK_FORMAT_D32_SFLOAT = 126, |
| VK_FORMAT_S8_UINT = 127, |
| VK_FORMAT_D16_UNORM_S8_UINT = 128, |
| VK_FORMAT_D24_UNORM_S8_UINT = 129, |
| VK_FORMAT_D32_SFLOAT_S8_UINT = 130, |
| VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, |
| VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, |
| VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, |
| VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, |
| VK_FORMAT_BC2_UNORM_BLOCK = 135, |
| VK_FORMAT_BC2_SRGB_BLOCK = 136, |
| VK_FORMAT_BC3_UNORM_BLOCK = 137, |
| VK_FORMAT_BC3_SRGB_BLOCK = 138, |
| VK_FORMAT_BC4_UNORM_BLOCK = 139, |
| VK_FORMAT_BC4_SNORM_BLOCK = 140, |
| VK_FORMAT_BC5_UNORM_BLOCK = 141, |
| VK_FORMAT_BC5_SNORM_BLOCK = 142, |
| VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, |
| VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, |
| VK_FORMAT_BC7_UNORM_BLOCK = 145, |
| VK_FORMAT_BC7_SRGB_BLOCK = 146, |
| VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, |
| VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, |
| VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, |
| VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, |
| VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, |
| VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, |
| VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, |
| VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, |
| VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, |
| VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, |
| VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, |
| VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, |
| VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, |
| VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, |
| VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, |
| VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, |
| VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, |
| VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, |
| VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, |
| VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, |
| VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, |
| VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, |
| VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, |
| VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, |
| VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, |
| VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, |
| VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, |
| VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, |
| VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, |
| VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, |
| VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, |
| VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, |
| VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, |
| VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, |
| VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, |
| VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, |
| VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, |
| VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, |
| VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, |
| VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, |
| VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, |
| VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, |
| VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, |
| VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, |
| VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, |
| VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, |
| VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, |
| VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, |
| VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, |
| VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, |
| VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, |
| VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, |
| VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, |
| VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, |
| VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, |
| VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, |
| VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, |
| VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, |
| VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, |
| VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, |
| VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, |
| VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, |
| VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, |
| VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, |
| VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, |
| VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, |
| VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, |
| VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, |
| VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, |
| VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, |
| VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, |
| VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, |
| VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000, |
| VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001, |
| VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002, |
| VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003, |
| VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004, |
| VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005, |
| VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006, |
| VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007, |
| VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008, |
| VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009, |
| VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010, |
| VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011, |
| VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012, |
| VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013, |
| VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000, |
| VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001, |
| VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002, |
| VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003, |
| VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000, |
| VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001, |
| VK_FORMAT_MAX_ENUM = 0x7FFFFFFF |
| } VkFormat; |
| |
| typedef enum VkImageTiling { |
| VK_IMAGE_TILING_OPTIMAL = 0, |
| VK_IMAGE_TILING_LINEAR = 1, |
| VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, |
| VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF |
| } VkImageTiling; |
| |
| typedef enum VkImageType { |
| VK_IMAGE_TYPE_1D = 0, |
| VK_IMAGE_TYPE_2D = 1, |
| VK_IMAGE_TYPE_3D = 2, |
| VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkImageType; |
| |
| typedef enum VkPhysicalDeviceType { |
| VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, |
| VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, |
| VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, |
| VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, |
| VK_PHYSICAL_DEVICE_TYPE_CPU = 4, |
| VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkPhysicalDeviceType; |
| |
| typedef enum VkQueryType { |
| VK_QUERY_TYPE_OCCLUSION = 0, |
| VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, |
| VK_QUERY_TYPE_TIMESTAMP = 2, |
| VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, |
| VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryType; |
| |
| typedef enum VkSharingMode { |
| VK_SHARING_MODE_EXCLUSIVE = 0, |
| VK_SHARING_MODE_CONCURRENT = 1, |
| VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSharingMode; |
| |
| typedef enum VkComponentSwizzle { |
| VK_COMPONENT_SWIZZLE_IDENTITY = 0, |
| VK_COMPONENT_SWIZZLE_ZERO = 1, |
| VK_COMPONENT_SWIZZLE_ONE = 2, |
| VK_COMPONENT_SWIZZLE_R = 3, |
| VK_COMPONENT_SWIZZLE_G = 4, |
| VK_COMPONENT_SWIZZLE_B = 5, |
| VK_COMPONENT_SWIZZLE_A = 6, |
| VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF |
| } VkComponentSwizzle; |
| |
| typedef enum VkImageViewType { |
| VK_IMAGE_VIEW_TYPE_1D = 0, |
| VK_IMAGE_VIEW_TYPE_2D = 1, |
| VK_IMAGE_VIEW_TYPE_3D = 2, |
| VK_IMAGE_VIEW_TYPE_CUBE = 3, |
| VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, |
| VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, |
| VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, |
| VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkImageViewType; |
| |
| typedef enum VkBlendFactor { |
| VK_BLEND_FACTOR_ZERO = 0, |
| VK_BLEND_FACTOR_ONE = 1, |
| VK_BLEND_FACTOR_SRC_COLOR = 2, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, |
| VK_BLEND_FACTOR_DST_COLOR = 4, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, |
| VK_BLEND_FACTOR_SRC_ALPHA = 6, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, |
| VK_BLEND_FACTOR_DST_ALPHA = 8, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, |
| VK_BLEND_FACTOR_CONSTANT_COLOR = 10, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, |
| VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, |
| VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, |
| VK_BLEND_FACTOR_SRC1_COLOR = 15, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, |
| VK_BLEND_FACTOR_SRC1_ALPHA = 17, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, |
| VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF |
| } VkBlendFactor; |
| |
| typedef enum VkBlendOp { |
| VK_BLEND_OP_ADD = 0, |
| VK_BLEND_OP_SUBTRACT = 1, |
| VK_BLEND_OP_REVERSE_SUBTRACT = 2, |
| VK_BLEND_OP_MIN = 3, |
| VK_BLEND_OP_MAX = 4, |
| VK_BLEND_OP_ZERO_EXT = 1000148000, |
| VK_BLEND_OP_SRC_EXT = 1000148001, |
| VK_BLEND_OP_DST_EXT = 1000148002, |
| VK_BLEND_OP_SRC_OVER_EXT = 1000148003, |
| VK_BLEND_OP_DST_OVER_EXT = 1000148004, |
| VK_BLEND_OP_SRC_IN_EXT = 1000148005, |
| VK_BLEND_OP_DST_IN_EXT = 1000148006, |
| VK_BLEND_OP_SRC_OUT_EXT = 1000148007, |
| VK_BLEND_OP_DST_OUT_EXT = 1000148008, |
| VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, |
| VK_BLEND_OP_DST_ATOP_EXT = 1000148010, |
| VK_BLEND_OP_XOR_EXT = 1000148011, |
| VK_BLEND_OP_MULTIPLY_EXT = 1000148012, |
| VK_BLEND_OP_SCREEN_EXT = 1000148013, |
| VK_BLEND_OP_OVERLAY_EXT = 1000148014, |
| VK_BLEND_OP_DARKEN_EXT = 1000148015, |
| VK_BLEND_OP_LIGHTEN_EXT = 1000148016, |
| VK_BLEND_OP_COLORDODGE_EXT = 1000148017, |
| VK_BLEND_OP_COLORBURN_EXT = 1000148018, |
| VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, |
| VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, |
| VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, |
| VK_BLEND_OP_EXCLUSION_EXT = 1000148022, |
| VK_BLEND_OP_INVERT_EXT = 1000148023, |
| VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, |
| VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, |
| VK_BLEND_OP_LINEARBURN_EXT = 1000148026, |
| VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, |
| VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, |
| VK_BLEND_OP_PINLIGHT_EXT = 1000148029, |
| VK_BLEND_OP_HARDMIX_EXT = 1000148030, |
| VK_BLEND_OP_HSL_HUE_EXT = 1000148031, |
| VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, |
| VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, |
| VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, |
| VK_BLEND_OP_PLUS_EXT = 1000148035, |
| VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, |
| VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, |
| VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, |
| VK_BLEND_OP_MINUS_EXT = 1000148039, |
| VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, |
| VK_BLEND_OP_CONTRAST_EXT = 1000148041, |
| VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, |
| VK_BLEND_OP_RED_EXT = 1000148043, |
| VK_BLEND_OP_GREEN_EXT = 1000148044, |
| VK_BLEND_OP_BLUE_EXT = 1000148045, |
| VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkBlendOp; |
| |
| typedef enum VkCompareOp { |
| VK_COMPARE_OP_NEVER = 0, |
| VK_COMPARE_OP_LESS = 1, |
| VK_COMPARE_OP_EQUAL = 2, |
| VK_COMPARE_OP_LESS_OR_EQUAL = 3, |
| VK_COMPARE_OP_GREATER = 4, |
| VK_COMPARE_OP_NOT_EQUAL = 5, |
| VK_COMPARE_OP_GREATER_OR_EQUAL = 6, |
| VK_COMPARE_OP_ALWAYS = 7, |
| VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkCompareOp; |
| |
| typedef enum VkDynamicState { |
| VK_DYNAMIC_STATE_VIEWPORT = 0, |
| VK_DYNAMIC_STATE_SCISSOR = 1, |
| VK_DYNAMIC_STATE_LINE_WIDTH = 2, |
| VK_DYNAMIC_STATE_DEPTH_BIAS = 3, |
| VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, |
| VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, |
| VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, |
| VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, |
| VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, |
| VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, |
| VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, |
| VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, |
| VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, |
| VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000, |
| VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001, |
| VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002, |
| VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003, |
| VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004, |
| VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005, |
| VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006, |
| VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007, |
| VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008, |
| VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009, |
| VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010, |
| VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011, |
| VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, |
| VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, |
| VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001, |
| VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002, |
| VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, |
| VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004, |
| VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, |
| VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF |
| } VkDynamicState; |
| |
| typedef enum VkFrontFace { |
| VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, |
| VK_FRONT_FACE_CLOCKWISE = 1, |
| VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF |
| } VkFrontFace; |
| |
| typedef enum VkVertexInputRate { |
| VK_VERTEX_INPUT_RATE_VERTEX = 0, |
| VK_VERTEX_INPUT_RATE_INSTANCE = 1, |
| VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF |
| } VkVertexInputRate; |
| |
| typedef enum VkPrimitiveTopology { |
| VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, |
| VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, |
| VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF |
| } VkPrimitiveTopology; |
| |
| typedef enum VkPolygonMode { |
| VK_POLYGON_MODE_FILL = 0, |
| VK_POLYGON_MODE_LINE = 1, |
| VK_POLYGON_MODE_POINT = 2, |
| VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkPolygonMode; |
| |
| typedef enum VkStencilOp { |
| VK_STENCIL_OP_KEEP = 0, |
| VK_STENCIL_OP_ZERO = 1, |
| VK_STENCIL_OP_REPLACE = 2, |
| VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, |
| VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, |
| VK_STENCIL_OP_INVERT = 5, |
| VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, |
| VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, |
| VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkStencilOp; |
| |
| typedef enum VkLogicOp { |
| VK_LOGIC_OP_CLEAR = 0, |
| VK_LOGIC_OP_AND = 1, |
| VK_LOGIC_OP_AND_REVERSE = 2, |
| VK_LOGIC_OP_COPY = 3, |
| VK_LOGIC_OP_AND_INVERTED = 4, |
| VK_LOGIC_OP_NO_OP = 5, |
| VK_LOGIC_OP_XOR = 6, |
| VK_LOGIC_OP_OR = 7, |
| VK_LOGIC_OP_NOR = 8, |
| VK_LOGIC_OP_EQUIVALENT = 9, |
| VK_LOGIC_OP_INVERT = 10, |
| VK_LOGIC_OP_OR_REVERSE = 11, |
| VK_LOGIC_OP_COPY_INVERTED = 12, |
| VK_LOGIC_OP_OR_INVERTED = 13, |
| VK_LOGIC_OP_NAND = 14, |
| VK_LOGIC_OP_SET = 15, |
| VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkLogicOp; |
| |
| typedef enum VkBorderColor { |
| VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, |
| VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, |
| VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, |
| VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, |
| VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, |
| VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, |
| VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF |
| } VkBorderColor; |
| |
| typedef enum VkFilter { |
| VK_FILTER_NEAREST = 0, |
| VK_FILTER_LINEAR = 1, |
| VK_FILTER_CUBIC_IMG = 1000015000, |
| VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG, |
| VK_FILTER_MAX_ENUM = 0x7FFFFFFF |
| } VkFilter; |
| |
| typedef enum VkSamplerAddressMode { |
| VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, |
| VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, |
| VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, |
| VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerAddressMode; |
| |
| typedef enum VkSamplerMipmapMode { |
| VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, |
| VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, |
| VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerMipmapMode; |
| |
| typedef enum VkDescriptorType { |
| VK_DESCRIPTOR_TYPE_SAMPLER = 0, |
| VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, |
| VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, |
| VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, |
| VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, |
| VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, |
| VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, |
| VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorType; |
| |
| typedef enum VkAttachmentLoadOp { |
| VK_ATTACHMENT_LOAD_OP_LOAD = 0, |
| VK_ATTACHMENT_LOAD_OP_CLEAR = 1, |
| VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, |
| VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentLoadOp; |
| |
| typedef enum VkAttachmentStoreOp { |
| VK_ATTACHMENT_STORE_OP_STORE = 0, |
| VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, |
| VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentStoreOp; |
| |
| typedef enum VkPipelineBindPoint { |
| VK_PIPELINE_BIND_POINT_GRAPHICS = 0, |
| VK_PIPELINE_BIND_POINT_COMPUTE = 1, |
| VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineBindPoint; |
| |
| typedef enum VkCommandBufferLevel { |
| VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, |
| VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, |
| VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferLevel; |
| |
| typedef enum VkIndexType { |
| VK_INDEX_TYPE_UINT16 = 0, |
| VK_INDEX_TYPE_UINT32 = 1, |
| VK_INDEX_TYPE_UINT8_EXT = 1000265000, |
| VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkIndexType; |
| |
| typedef enum VkSubpassContents { |
| VK_SUBPASS_CONTENTS_INLINE = 0, |
| VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, |
| VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF |
| } VkSubpassContents; |
| |
| typedef enum VkAccessFlagBits { |
| VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, |
| VK_ACCESS_INDEX_READ_BIT = 0x00000002, |
| VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, |
| VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, |
| VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, |
| VK_ACCESS_SHADER_READ_BIT = 0x00000020, |
| VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, |
| VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, |
| VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, |
| VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, |
| VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, |
| VK_ACCESS_HOST_READ_BIT = 0x00002000, |
| VK_ACCESS_HOST_WRITE_BIT = 0x00004000, |
| VK_ACCESS_MEMORY_READ_BIT = 0x00008000, |
| VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, |
| VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, |
| VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, |
| VK_ACCESS_NONE_KHR = 0, |
| VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkAccessFlagBits; |
| typedef VkFlags VkAccessFlags; |
| |
| typedef enum VkImageAspectFlagBits { |
| VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, |
| VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, |
| VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, |
| VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, |
| VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, |
| VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, |
| VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, |
| VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, |
| VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, |
| VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, |
| VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, |
| VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageAspectFlagBits; |
| typedef VkFlags VkImageAspectFlags; |
| |
| typedef enum VkFormatFeatureFlagBits { |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, |
| VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, |
| VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, |
| VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, |
| VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, |
| VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, |
| VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, |
| VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, |
| VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, |
| VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, |
| VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, |
| VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, |
| VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFormatFeatureFlagBits; |
| typedef VkFlags VkFormatFeatureFlags; |
| |
| typedef enum VkImageCreateFlagBits { |
| VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, |
| VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, |
| VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
| VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, |
| VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, |
| VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, |
| VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, |
| VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, |
| VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, |
| VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, |
| VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, |
| VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, |
| VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, |
| VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageCreateFlagBits; |
| typedef VkFlags VkImageCreateFlags; |
| |
| typedef enum VkSampleCountFlagBits { |
| VK_SAMPLE_COUNT_1_BIT = 0x00000001, |
| VK_SAMPLE_COUNT_2_BIT = 0x00000002, |
| VK_SAMPLE_COUNT_4_BIT = 0x00000004, |
| VK_SAMPLE_COUNT_8_BIT = 0x00000008, |
| VK_SAMPLE_COUNT_16_BIT = 0x00000010, |
| VK_SAMPLE_COUNT_32_BIT = 0x00000020, |
| VK_SAMPLE_COUNT_64_BIT = 0x00000040, |
| VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSampleCountFlagBits; |
| typedef VkFlags VkSampleCountFlags; |
| |
| typedef enum VkImageUsageFlagBits { |
| VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, |
| VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, |
| VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, |
| VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, |
| VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, |
| VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, |
| VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, |
| VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, |
| VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, |
| VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageUsageFlagBits; |
| typedef VkFlags VkImageUsageFlags; |
| typedef VkFlags VkInstanceCreateFlags; |
| |
| typedef enum VkMemoryHeapFlagBits { |
| VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, |
| VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, |
| VK_MEMORY_HEAP_SEU_SAFE_BIT = 0x00000004, |
| VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkMemoryHeapFlagBits; |
| typedef VkFlags VkMemoryHeapFlags; |
| |
| typedef enum VkMemoryPropertyFlagBits { |
| VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, |
| VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, |
| VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, |
| VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, |
| VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, |
| VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, |
| VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkMemoryPropertyFlagBits; |
| typedef VkFlags VkMemoryPropertyFlags; |
| |
| typedef enum VkQueueFlagBits { |
| VK_QUEUE_GRAPHICS_BIT = 0x00000001, |
| VK_QUEUE_COMPUTE_BIT = 0x00000002, |
| VK_QUEUE_TRANSFER_BIT = 0x00000004, |
| VK_QUEUE_PROTECTED_BIT = 0x00000010, |
| VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueueFlagBits; |
| typedef VkFlags VkQueueFlags; |
| typedef VkFlags VkDeviceCreateFlags; |
| |
| typedef enum VkDeviceQueueCreateFlagBits { |
| VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, |
| VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDeviceQueueCreateFlagBits; |
| typedef VkFlags VkDeviceQueueCreateFlags; |
| |
| typedef enum VkPipelineStageFlagBits { |
| VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, |
| VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, |
| VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, |
| VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, |
| VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, |
| VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, |
| VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, |
| VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, |
| VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, |
| VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, |
| VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, |
| VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, |
| VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, |
| VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, |
| VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, |
| VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, |
| VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, |
| VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, |
| VK_PIPELINE_STAGE_NONE_KHR = 0, |
| VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineStageFlagBits; |
| typedef VkFlags VkPipelineStageFlags; |
| typedef VkFlags VkMemoryMapFlags; |
| |
| typedef enum VkFenceCreateFlagBits { |
| VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, |
| VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFenceCreateFlagBits; |
| typedef VkFlags VkFenceCreateFlags; |
| typedef VkFlags VkSemaphoreCreateFlags; |
| |
| typedef enum VkEventCreateFlagBits { |
| VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001, |
| VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkEventCreateFlagBits; |
| typedef VkFlags VkEventCreateFlags; |
| |
| typedef enum VkQueryPipelineStatisticFlagBits { |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, |
| VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, |
| VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, |
| VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, |
| VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryPipelineStatisticFlagBits; |
| typedef VkFlags VkQueryPipelineStatisticFlags; |
| typedef VkFlags VkQueryPoolCreateFlags; |
| |
| typedef enum VkQueryResultFlagBits { |
| VK_QUERY_RESULT_64_BIT = 0x00000001, |
| VK_QUERY_RESULT_WAIT_BIT = 0x00000002, |
| VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, |
| VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, |
| VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryResultFlagBits; |
| typedef VkFlags VkQueryResultFlags; |
| |
| typedef enum VkBufferCreateFlagBits { |
| VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, |
| VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, |
| VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
| VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, |
| VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, |
| VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkBufferCreateFlagBits; |
| typedef VkFlags VkBufferCreateFlags; |
| |
| typedef enum VkBufferUsageFlagBits { |
| VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, |
| VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, |
| VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, |
| VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, |
| VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, |
| VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, |
| VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, |
| VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, |
| VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, |
| VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, |
| VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkBufferUsageFlagBits; |
| typedef VkFlags VkBufferUsageFlags; |
| typedef VkFlags VkBufferViewCreateFlags; |
| |
| typedef enum VkImageViewCreateFlagBits { |
| VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageViewCreateFlagBits; |
| typedef VkFlags VkImageViewCreateFlags; |
| |
| typedef enum VkPipelineCacheCreateFlagBits { |
| VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT = 0x00000004, |
| VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT = 0x00000002, |
| VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT = VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT, |
| VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCacheCreateFlagBits; |
| typedef VkFlags VkPipelineCacheCreateFlags; |
| |
| typedef enum VkColorComponentFlagBits { |
| VK_COLOR_COMPONENT_R_BIT = 0x00000001, |
| VK_COLOR_COMPONENT_G_BIT = 0x00000002, |
| VK_COLOR_COMPONENT_B_BIT = 0x00000004, |
| VK_COLOR_COMPONENT_A_BIT = 0x00000008, |
| VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkColorComponentFlagBits; |
| typedef VkFlags VkColorComponentFlags; |
| |
| typedef enum VkPipelineCreateFlagBits { |
| VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, |
| VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, |
| VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, |
| VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, |
| VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, |
| VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCreateFlagBits; |
| typedef VkFlags VkPipelineCreateFlags; |
| |
| typedef enum VkPipelineShaderStageCreateFlagBits { |
| VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001, |
| VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002, |
| VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineShaderStageCreateFlagBits; |
| typedef VkFlags VkPipelineShaderStageCreateFlags; |
| |
| typedef enum VkShaderStageFlagBits { |
| VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, |
| VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, |
| VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, |
| VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, |
| VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, |
| VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, |
| VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, |
| VK_SHADER_STAGE_ALL = 0x7FFFFFFF, |
| VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkShaderStageFlagBits; |
| |
| typedef enum VkCullModeFlagBits { |
| VK_CULL_MODE_NONE = 0, |
| VK_CULL_MODE_FRONT_BIT = 0x00000001, |
| VK_CULL_MODE_BACK_BIT = 0x00000002, |
| VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, |
| VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCullModeFlagBits; |
| typedef VkFlags VkCullModeFlags; |
| typedef VkFlags VkPipelineVertexInputStateCreateFlags; |
| typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; |
| typedef VkFlags VkPipelineTessellationStateCreateFlags; |
| typedef VkFlags VkPipelineViewportStateCreateFlags; |
| typedef VkFlags VkPipelineRasterizationStateCreateFlags; |
| typedef VkFlags VkPipelineMultisampleStateCreateFlags; |
| typedef VkFlags VkPipelineDepthStencilStateCreateFlags; |
| typedef VkFlags VkPipelineColorBlendStateCreateFlags; |
| typedef VkFlags VkPipelineDynamicStateCreateFlags; |
| typedef VkFlags VkPipelineLayoutCreateFlags; |
| typedef VkFlags VkShaderStageFlags; |
| |
| typedef enum VkSamplerCreateFlagBits { |
| VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerCreateFlagBits; |
| typedef VkFlags VkSamplerCreateFlags; |
| |
| typedef enum VkDescriptorPoolCreateFlagBits { |
| VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, |
| VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, |
| VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorPoolCreateFlagBits; |
| typedef VkFlags VkDescriptorPoolCreateFlags; |
| typedef VkFlags VkDescriptorPoolResetFlags; |
| |
| typedef enum VkDescriptorSetLayoutCreateFlagBits { |
| VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, |
| VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorSetLayoutCreateFlagBits; |
| typedef VkFlags VkDescriptorSetLayoutCreateFlags; |
| |
| typedef enum VkAttachmentDescriptionFlagBits { |
| VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, |
| VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentDescriptionFlagBits; |
| typedef VkFlags VkAttachmentDescriptionFlags; |
| |
| typedef enum VkDependencyFlagBits { |
| VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, |
| VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, |
| VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, |
| VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDependencyFlagBits; |
| typedef VkFlags VkDependencyFlags; |
| |
| typedef enum VkFramebufferCreateFlagBits { |
| VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, |
| VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFramebufferCreateFlagBits; |
| typedef VkFlags VkFramebufferCreateFlags; |
| |
| typedef enum VkRenderPassCreateFlagBits { |
| VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkRenderPassCreateFlagBits; |
| typedef VkFlags VkRenderPassCreateFlags; |
| |
| typedef enum VkSubpassDescriptionFlagBits { |
| VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSubpassDescriptionFlagBits; |
| typedef VkFlags VkSubpassDescriptionFlags; |
| |
| typedef enum VkCommandPoolCreateFlagBits { |
| VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, |
| VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, |
| VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, |
| VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandPoolCreateFlagBits; |
| typedef VkFlags VkCommandPoolCreateFlags; |
| |
| typedef enum VkCommandPoolResetFlagBits { |
| VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandPoolResetFlagBits; |
| typedef VkFlags VkCommandPoolResetFlags; |
| |
| typedef enum VkCommandBufferUsageFlagBits { |
| VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, |
| VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, |
| VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, |
| VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferUsageFlagBits; |
| typedef VkFlags VkCommandBufferUsageFlags; |
| |
| typedef enum VkQueryControlFlagBits { |
| VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, |
| VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryControlFlagBits; |
| typedef VkFlags VkQueryControlFlags; |
| |
| typedef enum VkCommandBufferResetFlagBits { |
| VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, |
| VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferResetFlagBits; |
| typedef VkFlags VkCommandBufferResetFlags; |
| |
| typedef enum VkStencilFaceFlagBits { |
| VK_STENCIL_FACE_FRONT_BIT = 0x00000001, |
| VK_STENCIL_FACE_BACK_BIT = 0x00000002, |
| VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, |
| VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkStencilFaceFlagBits; |
| typedef VkFlags VkStencilFaceFlags; |
| typedef struct VkExtent2D { |
| uint32_t width; |
| uint32_t height; |
| } VkExtent2D; |
| |
| typedef struct VkExtent3D { |
| uint32_t width; |
| uint32_t height; |
| uint32_t depth; |
| } VkExtent3D; |
| |
| typedef struct VkOffset2D { |
| int32_t x; |
| int32_t y; |
| } VkOffset2D; |
| |
| typedef struct VkOffset3D { |
| int32_t x; |
| int32_t y; |
| int32_t z; |
| } VkOffset3D; |
| |
| typedef struct VkRect2D { |
| VkOffset2D offset; |
| VkExtent2D extent; |
| } VkRect2D; |
| |
| typedef struct VkBaseInStructure { |
| VkStructureType sType; |
| const struct VkBaseInStructure* pNext; |
| } VkBaseInStructure; |
| |
| typedef struct VkBaseOutStructure { |
| VkStructureType sType; |
| struct VkBaseOutStructure* pNext; |
| } VkBaseOutStructure; |
| |
| typedef struct VkBufferMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| } VkBufferMemoryBarrier; |
| |
| typedef struct VkDispatchIndirectCommand { |
| uint32_t x; |
| uint32_t y; |
| uint32_t z; |
| } VkDispatchIndirectCommand; |
| |
| typedef struct VkDrawIndexedIndirectCommand { |
| uint32_t indexCount; |
| uint32_t instanceCount; |
| uint32_t firstIndex; |
| int32_t vertexOffset; |
| uint32_t firstInstance; |
| } VkDrawIndexedIndirectCommand; |
| |
| typedef struct VkDrawIndirectCommand { |
| uint32_t vertexCount; |
| uint32_t instanceCount; |
| uint32_t firstVertex; |
| uint32_t firstInstance; |
| } VkDrawIndirectCommand; |
| |
| typedef struct VkImageSubresourceRange { |
| VkImageAspectFlags aspectMask; |
| uint32_t baseMipLevel; |
| uint32_t levelCount; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkImageSubresourceRange; |
| |
| typedef struct VkImageMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| VkImageLayout oldLayout; |
| VkImageLayout newLayout; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkImage image; |
| VkImageSubresourceRange subresourceRange; |
| } VkImageMemoryBarrier; |
| |
| typedef struct VkMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| } VkMemoryBarrier; |
| |
| typedef struct VkPipelineCacheHeaderVersionOne { |
| uint32_t headerSize; |
| VkPipelineCacheHeaderVersion headerVersion; |
| uint32_t vendorID; |
| uint32_t deviceID; |
| uint8_t pipelineCacheUUID[VK_UUID_SIZE]; |
| } VkPipelineCacheHeaderVersionOne; |
| |
| typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( |
| void* pUserData, |
| size_t size, |
| size_t alignment, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkFreeFunction)( |
| void* pUserData, |
| void* pMemory); |
| |
| typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( |
| void* pUserData, |
| size_t size, |
| VkInternalAllocationType allocationType, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( |
| void* pUserData, |
| size_t size, |
| VkInternalAllocationType allocationType, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( |
| void* pUserData, |
| void* pOriginal, |
| size_t size, |
| size_t alignment, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); |
| typedef struct VkAllocationCallbacks { |
| void* pUserData; |
| PFN_vkAllocationFunction pfnAllocation; |
| PFN_vkReallocationFunction pfnReallocation; |
| PFN_vkFreeFunction pfnFree; |
| PFN_vkInternalAllocationNotification pfnInternalAllocation; |
| PFN_vkInternalFreeNotification pfnInternalFree; |
| } VkAllocationCallbacks; |
| |
| typedef struct VkApplicationInfo { |
| VkStructureType sType; |
| const void* pNext; |
| const char* pApplicationName; |
| uint32_t applicationVersion; |
| const char* pEngineName; |
| uint32_t engineVersion; |
| uint32_t apiVersion; |
| } VkApplicationInfo; |
| |
| typedef struct VkFormatProperties { |
| VkFormatFeatureFlags linearTilingFeatures; |
| VkFormatFeatureFlags optimalTilingFeatures; |
| VkFormatFeatureFlags bufferFeatures; |
| } VkFormatProperties; |
| |
| typedef struct VkImageFormatProperties { |
| VkExtent3D maxExtent; |
| uint32_t maxMipLevels; |
| uint32_t maxArrayLayers; |
| VkSampleCountFlags sampleCounts; |
| VkDeviceSize maxResourceSize; |
| } VkImageFormatProperties; |
| |
| typedef struct VkInstanceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkInstanceCreateFlags flags; |
| const VkApplicationInfo* pApplicationInfo; |
| uint32_t enabledLayerCount; |
| const char* const* ppEnabledLayerNames; |
| uint32_t enabledExtensionCount; |
| const char* const* ppEnabledExtensionNames; |
| } VkInstanceCreateInfo; |
| |
| typedef struct VkMemoryHeap { |
| VkDeviceSize size; |
| VkMemoryHeapFlags flags; |
| } VkMemoryHeap; |
| |
| typedef struct VkMemoryType { |
| VkMemoryPropertyFlags propertyFlags; |
| uint32_t heapIndex; |
| } VkMemoryType; |
| |
| typedef struct VkPhysicalDeviceFeatures { |
| VkBool32 robustBufferAccess; |
| VkBool32 fullDrawIndexUint32; |
| VkBool32 imageCubeArray; |
| VkBool32 independentBlend; |
| VkBool32 geometryShader; |
| VkBool32 tessellationShader; |
| VkBool32 sampleRateShading; |
| VkBool32 dualSrcBlend; |
| VkBool32 logicOp; |
| VkBool32 multiDrawIndirect; |
| VkBool32 drawIndirectFirstInstance; |
| VkBool32 depthClamp; |
| VkBool32 depthBiasClamp; |
| VkBool32 fillModeNonSolid; |
| VkBool32 depthBounds; |
| VkBool32 wideLines; |
| VkBool32 largePoints; |
| VkBool32 alphaToOne; |
| VkBool32 multiViewport; |
| VkBool32 samplerAnisotropy; |
| VkBool32 textureCompressionETC2; |
| VkBool32 textureCompressionASTC_LDR; |
| VkBool32 textureCompressionBC; |
| VkBool32 occlusionQueryPrecise; |
| VkBool32 pipelineStatisticsQuery; |
| VkBool32 vertexPipelineStoresAndAtomics; |
| VkBool32 fragmentStoresAndAtomics; |
| VkBool32 shaderTessellationAndGeometryPointSize; |
| VkBool32 shaderImageGatherExtended; |
| VkBool32 shaderStorageImageExtendedFormats; |
| VkBool32 shaderStorageImageMultisample; |
| VkBool32 shaderStorageImageReadWithoutFormat; |
| VkBool32 shaderStorageImageWriteWithoutFormat; |
| VkBool32 shaderUniformBufferArrayDynamicIndexing; |
| VkBool32 shaderSampledImageArrayDynamicIndexing; |
| VkBool32 shaderStorageBufferArrayDynamicIndexing; |
| VkBool32 shaderStorageImageArrayDynamicIndexing; |
| VkBool32 shaderClipDistance; |
| VkBool32 shaderCullDistance; |
| VkBool32 shaderFloat64; |
| VkBool32 shaderInt64; |
| VkBool32 shaderInt16; |
| VkBool32 shaderResourceResidency; |
| VkBool32 shaderResourceMinLod; |
| VkBool32 sparseBinding; |
| VkBool32 sparseResidencyBuffer; |
| VkBool32 sparseResidencyImage2D; |
| VkBool32 sparseResidencyImage3D; |
| VkBool32 sparseResidency2Samples; |
| VkBool32 sparseResidency4Samples; |
| VkBool32 sparseResidency8Samples; |
| VkBool32 sparseResidency16Samples; |
| VkBool32 sparseResidencyAliased; |
| VkBool32 variableMultisampleRate; |
| VkBool32 inheritedQueries; |
| } VkPhysicalDeviceFeatures; |
| |
| typedef struct VkPhysicalDeviceLimits { |
| uint32_t maxImageDimension1D; |
| uint32_t maxImageDimension2D; |
| uint32_t maxImageDimension3D; |
| uint32_t maxImageDimensionCube; |
| uint32_t maxImageArrayLayers; |
| uint32_t maxTexelBufferElements; |
| uint32_t maxUniformBufferRange; |
| uint32_t maxStorageBufferRange; |
| uint32_t maxPushConstantsSize; |
| uint32_t maxMemoryAllocationCount; |
| uint32_t maxSamplerAllocationCount; |
| VkDeviceSize bufferImageGranularity; |
| VkDeviceSize sparseAddressSpaceSize; |
| uint32_t maxBoundDescriptorSets; |
| uint32_t maxPerStageDescriptorSamplers; |
| uint32_t maxPerStageDescriptorUniformBuffers; |
| uint32_t maxPerStageDescriptorStorageBuffers; |
| uint32_t maxPerStageDescriptorSampledImages; |
| uint32_t maxPerStageDescriptorStorageImages; |
| uint32_t maxPerStageDescriptorInputAttachments; |
| uint32_t maxPerStageResources; |
| uint32_t maxDescriptorSetSamplers; |
| uint32_t maxDescriptorSetUniformBuffers; |
| uint32_t maxDescriptorSetUniformBuffersDynamic; |
| uint32_t maxDescriptorSetStorageBuffers; |
| uint32_t maxDescriptorSetStorageBuffersDynamic; |
| uint32_t maxDescriptorSetSampledImages; |
| uint32_t maxDescriptorSetStorageImages; |
| uint32_t maxDescriptorSetInputAttachments; |
| uint32_t maxVertexInputAttributes; |
| uint32_t maxVertexInputBindings; |
| uint32_t maxVertexInputAttributeOffset; |
| uint32_t maxVertexInputBindingStride; |
| uint32_t maxVertexOutputComponents; |
| uint32_t maxTessellationGenerationLevel; |
| uint32_t maxTessellationPatchSize; |
| uint32_t maxTessellationControlPerVertexInputComponents; |
| uint32_t maxTessellationControlPerVertexOutputComponents; |
| uint32_t maxTessellationControlPerPatchOutputComponents; |
| uint32_t maxTessellationControlTotalOutputComponents; |
| uint32_t maxTessellationEvaluationInputComponents; |
| uint32_t maxTessellationEvaluationOutputComponents; |
| uint32_t maxGeometryShaderInvocations; |
| uint32_t maxGeometryInputComponents; |
| uint32_t maxGeometryOutputComponents; |
| uint32_t maxGeometryOutputVertices; |
| uint32_t maxGeometryTotalOutputComponents; |
| uint32_t maxFragmentInputComponents; |
| uint32_t maxFragmentOutputAttachments; |
| uint32_t maxFragmentDualSrcAttachments; |
| uint32_t maxFragmentCombinedOutputResources; |
| uint32_t maxComputeSharedMemorySize; |
| uint32_t maxComputeWorkGroupCount[3]; |
| uint32_t maxComputeWorkGroupInvocations; |
| uint32_t maxComputeWorkGroupSize[3]; |
| uint32_t subPixelPrecisionBits; |
| uint32_t subTexelPrecisionBits; |
| uint32_t mipmapPrecisionBits; |
| uint32_t maxDrawIndexedIndexValue; |
| uint32_t maxDrawIndirectCount; |
| float maxSamplerLodBias; |
| float maxSamplerAnisotropy; |
| uint32_t maxViewports; |
| uint32_t maxViewportDimensions[2]; |
| float viewportBoundsRange[2]; |
| uint32_t viewportSubPixelBits; |
| size_t minMemoryMapAlignment; |
| VkDeviceSize minTexelBufferOffsetAlignment; |
| VkDeviceSize minUniformBufferOffsetAlignment; |
| VkDeviceSize minStorageBufferOffsetAlignment; |
| int32_t minTexelOffset; |
| uint32_t maxTexelOffset; |
| int32_t minTexelGatherOffset; |
| uint32_t maxTexelGatherOffset; |
| float minInterpolationOffset; |
| float maxInterpolationOffset; |
| uint32_t subPixelInterpolationOffsetBits; |
| uint32_t maxFramebufferWidth; |
| uint32_t maxFramebufferHeight; |
| uint32_t maxFramebufferLayers; |
| VkSampleCountFlags framebufferColorSampleCounts; |
| VkSampleCountFlags framebufferDepthSampleCounts; |
| VkSampleCountFlags framebufferStencilSampleCounts; |
| VkSampleCountFlags framebufferNoAttachmentsSampleCounts; |
| uint32_t maxColorAttachments; |
| VkSampleCountFlags sampledImageColorSampleCounts; |
| VkSampleCountFlags sampledImageIntegerSampleCounts; |
| VkSampleCountFlags sampledImageDepthSampleCounts; |
| VkSampleCountFlags sampledImageStencilSampleCounts; |
| VkSampleCountFlags storageImageSampleCounts; |
| uint32_t maxSampleMaskWords; |
| VkBool32 timestampComputeAndGraphics; |
| float timestampPeriod; |
| uint32_t maxClipDistances; |
| uint32_t maxCullDistances; |
| uint32_t maxCombinedClipAndCullDistances; |
| uint32_t discreteQueuePriorities; |
| float pointSizeRange[2]; |
| float lineWidthRange[2]; |
| float pointSizeGranularity; |
| float lineWidthGranularity; |
| VkBool32 strictLines; |
| VkBool32 standardSampleLocations; |
| VkDeviceSize optimalBufferCopyOffsetAlignment; |
| VkDeviceSize optimalBufferCopyRowPitchAlignment; |
| VkDeviceSize nonCoherentAtomSize; |
| } VkPhysicalDeviceLimits; |
| |
| typedef struct VkPhysicalDeviceMemoryProperties { |
| uint32_t memoryTypeCount; |
| VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; |
| uint32_t memoryHeapCount; |
| VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; |
| } VkPhysicalDeviceMemoryProperties; |
| |
| typedef struct VkPhysicalDeviceSparseProperties { |
| VkBool32 residencyStandard2DBlockShape; |
| VkBool32 residencyStandard2DMultisampleBlockShape; |
| VkBool32 residencyStandard3DBlockShape; |
| VkBool32 residencyAlignedMipSize; |
| VkBool32 residencyNonResidentStrict; |
| } VkPhysicalDeviceSparseProperties; |
| |
| typedef struct VkPhysicalDeviceProperties { |
| uint32_t apiVersion; |
| uint32_t driverVersion; |
| uint32_t vendorID; |
| uint32_t deviceID; |
| VkPhysicalDeviceType deviceType; |
| char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; |
| uint8_t pipelineCacheUUID[VK_UUID_SIZE]; |
| VkPhysicalDeviceLimits limits; |
| VkPhysicalDeviceSparseProperties sparseProperties; |
| } VkPhysicalDeviceProperties; |
| |
| typedef struct VkQueueFamilyProperties { |
| VkQueueFlags queueFlags; |
| uint32_t queueCount; |
| uint32_t timestampValidBits; |
| VkExtent3D minImageTransferGranularity; |
| } VkQueueFamilyProperties; |
| |
| typedef struct VkDeviceQueueCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceQueueCreateFlags flags; |
| uint32_t queueFamilyIndex; |
| uint32_t queueCount; |
| const float* pQueuePriorities; |
| } VkDeviceQueueCreateInfo; |
| |
| typedef struct VkDeviceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceCreateFlags flags; |
| uint32_t queueCreateInfoCount; |
| const VkDeviceQueueCreateInfo* pQueueCreateInfos; |
| uint32_t enabledLayerCount; |
| const char* const* ppEnabledLayerNames; |
| uint32_t enabledExtensionCount; |
| const char* const* ppEnabledExtensionNames; |
| const VkPhysicalDeviceFeatures* pEnabledFeatures; |
| } VkDeviceCreateInfo; |
| |
| typedef struct VkExtensionProperties { |
| char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; |
| uint32_t specVersion; |
| } VkExtensionProperties; |
| |
| typedef struct VkLayerProperties { |
| char layerName[VK_MAX_EXTENSION_NAME_SIZE]; |
| uint32_t specVersion; |
| uint32_t implementationVersion; |
| char description[VK_MAX_DESCRIPTION_SIZE]; |
| } VkLayerProperties; |
| |
| typedef struct VkSubmitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const VkSemaphore* pWaitSemaphores; |
| const VkPipelineStageFlags* pWaitDstStageMask; |
| uint32_t commandBufferCount; |
| const VkCommandBuffer* pCommandBuffers; |
| uint32_t signalSemaphoreCount; |
| const VkSemaphore* pSignalSemaphores; |
| } VkSubmitInfo; |
| |
| typedef struct VkMappedMemoryRange { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceMemory memory; |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| } VkMappedMemoryRange; |
| |
| typedef struct VkMemoryAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize allocationSize; |
| uint32_t memoryTypeIndex; |
| } VkMemoryAllocateInfo; |
| |
| typedef struct VkMemoryRequirements { |
| VkDeviceSize size; |
| VkDeviceSize alignment; |
| uint32_t memoryTypeBits; |
| } VkMemoryRequirements; |
| |
| typedef struct VkImageSubresource { |
| VkImageAspectFlags aspectMask; |
| uint32_t mipLevel; |
| uint32_t arrayLayer; |
| } VkImageSubresource; |
| |
| typedef struct VkFenceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkFenceCreateFlags flags; |
| } VkFenceCreateInfo; |
| |
| typedef struct VkSemaphoreCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphoreCreateFlags flags; |
| } VkSemaphoreCreateInfo; |
| |
| typedef struct VkEventCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkEventCreateFlags flags; |
| } VkEventCreateInfo; |
| |
| typedef struct VkQueryPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkQueryPoolCreateFlags flags; |
| VkQueryType queryType; |
| uint32_t queryCount; |
| VkQueryPipelineStatisticFlags pipelineStatistics; |
| } VkQueryPoolCreateInfo; |
| |
| typedef struct VkBufferCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBufferCreateFlags flags; |
| VkDeviceSize size; |
| VkBufferUsageFlags usage; |
| VkSharingMode sharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| } VkBufferCreateInfo; |
| |
| typedef struct VkBufferViewCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBufferViewCreateFlags flags; |
| VkBuffer buffer; |
| VkFormat format; |
| VkDeviceSize offset; |
| VkDeviceSize range; |
| } VkBufferViewCreateInfo; |
| |
| typedef struct VkImageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageCreateFlags flags; |
| VkImageType imageType; |
| VkFormat format; |
| VkExtent3D extent; |
| uint32_t mipLevels; |
| uint32_t arrayLayers; |
| VkSampleCountFlagBits samples; |
| VkImageTiling tiling; |
| VkImageUsageFlags usage; |
| VkSharingMode sharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| VkImageLayout initialLayout; |
| } VkImageCreateInfo; |
| |
| typedef struct VkSubresourceLayout { |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| VkDeviceSize rowPitch; |
| VkDeviceSize arrayPitch; |
| VkDeviceSize depthPitch; |
| } VkSubresourceLayout; |
| |
| typedef struct VkComponentMapping { |
| VkComponentSwizzle r; |
| VkComponentSwizzle g; |
| VkComponentSwizzle b; |
| VkComponentSwizzle a; |
| } VkComponentMapping; |
| |
| typedef struct VkImageViewCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageViewCreateFlags flags; |
| VkImage image; |
| VkImageViewType viewType; |
| VkFormat format; |
| VkComponentMapping components; |
| VkImageSubresourceRange subresourceRange; |
| } VkImageViewCreateInfo; |
| |
| typedef struct VkPipelineCacheCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCacheCreateFlags flags; |
| size_t initialDataSize; |
| const void* pInitialData; |
| } VkPipelineCacheCreateInfo; |
| |
| typedef struct VkSpecializationMapEntry { |
| uint32_t constantID; |
| uint32_t offset; |
| size_t size; |
| } VkSpecializationMapEntry; |
| |
| typedef struct VkSpecializationInfo { |
| uint32_t mapEntryCount; |
| const VkSpecializationMapEntry* pMapEntries; |
| size_t dataSize; |
| const void* pData; |
| } VkSpecializationInfo; |
| |
| typedef struct VkPipelineShaderStageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineShaderStageCreateFlags flags; |
| VkShaderStageFlagBits stage; |
| VkShaderModule module; |
| const char* pName; |
| const VkSpecializationInfo* pSpecializationInfo; |
| } VkPipelineShaderStageCreateInfo; |
| |
| typedef struct VkComputePipelineCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCreateFlags flags; |
| VkPipelineShaderStageCreateInfo stage; |
| VkPipelineLayout layout; |
| VkPipeline basePipelineHandle; |
| int32_t basePipelineIndex; |
| } VkComputePipelineCreateInfo; |
| |
| typedef struct VkVertexInputBindingDescription { |
| uint32_t binding; |
| uint32_t stride; |
| VkVertexInputRate inputRate; |
| } VkVertexInputBindingDescription; |
| |
| typedef struct VkVertexInputAttributeDescription { |
| uint32_t location; |
| uint32_t binding; |
| VkFormat format; |
| uint32_t offset; |
| } VkVertexInputAttributeDescription; |
| |
| typedef struct VkPipelineVertexInputStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineVertexInputStateCreateFlags flags; |
| uint32_t vertexBindingDescriptionCount; |
| const VkVertexInputBindingDescription* pVertexBindingDescriptions; |
| uint32_t vertexAttributeDescriptionCount; |
| const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; |
| } VkPipelineVertexInputStateCreateInfo; |
| |
| typedef struct VkPipelineInputAssemblyStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineInputAssemblyStateCreateFlags flags; |
| VkPrimitiveTopology topology; |
| VkBool32 primitiveRestartEnable; |
| } VkPipelineInputAssemblyStateCreateInfo; |
| |
| typedef struct VkPipelineTessellationStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineTessellationStateCreateFlags flags; |
| uint32_t patchControlPoints; |
| } VkPipelineTessellationStateCreateInfo; |
| |
| typedef struct VkViewport { |
| float x; |
| float y; |
| float width; |
| float height; |
| float minDepth; |
| float maxDepth; |
| } VkViewport; |
| |
| typedef struct VkPipelineViewportStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineViewportStateCreateFlags flags; |
| uint32_t viewportCount; |
| const VkViewport* pViewports; |
| uint32_t scissorCount; |
| const VkRect2D* pScissors; |
| } VkPipelineViewportStateCreateInfo; |
| |
| typedef struct VkPipelineRasterizationStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineRasterizationStateCreateFlags flags; |
| VkBool32 depthClampEnable; |
| VkBool32 rasterizerDiscardEnable; |
| VkPolygonMode polygonMode; |
| VkCullModeFlags cullMode; |
| VkFrontFace frontFace; |
| VkBool32 depthBiasEnable; |
| float depthBiasConstantFactor; |
| float depthBiasClamp; |
| float depthBiasSlopeFactor; |
| float lineWidth; |
| } VkPipelineRasterizationStateCreateInfo; |
| |
| typedef struct VkPipelineMultisampleStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineMultisampleStateCreateFlags flags; |
| VkSampleCountFlagBits rasterizationSamples; |
| VkBool32 sampleShadingEnable; |
| float minSampleShading; |
| const VkSampleMask* pSampleMask; |
| VkBool32 alphaToCoverageEnable; |
| VkBool32 alphaToOneEnable; |
| } VkPipelineMultisampleStateCreateInfo; |
| |
| typedef struct VkStencilOpState { |
| VkStencilOp failOp; |
| VkStencilOp passOp; |
| VkStencilOp depthFailOp; |
| VkCompareOp compareOp; |
| uint32_t compareMask; |
| uint32_t writeMask; |
| uint32_t reference; |
| } VkStencilOpState; |
| |
| typedef struct VkPipelineDepthStencilStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineDepthStencilStateCreateFlags flags; |
| VkBool32 depthTestEnable; |
| VkBool32 depthWriteEnable; |
| VkCompareOp depthCompareOp; |
| VkBool32 depthBoundsTestEnable; |
| VkBool32 stencilTestEnable; |
| VkStencilOpState front; |
| VkStencilOpState back; |
| float minDepthBounds; |
| float maxDepthBounds; |
| } VkPipelineDepthStencilStateCreateInfo; |
| |
| typedef struct VkPipelineColorBlendAttachmentState { |
| VkBool32 blendEnable; |
| VkBlendFactor srcColorBlendFactor; |
| VkBlendFactor dstColorBlendFactor; |
| VkBlendOp colorBlendOp; |
| VkBlendFactor srcAlphaBlendFactor; |
| VkBlendFactor dstAlphaBlendFactor; |
| VkBlendOp alphaBlendOp; |
| VkColorComponentFlags colorWriteMask; |
| } VkPipelineColorBlendAttachmentState; |
| |
| typedef struct VkPipelineColorBlendStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineColorBlendStateCreateFlags flags; |
| VkBool32 logicOpEnable; |
| VkLogicOp logicOp; |
| uint32_t attachmentCount; |
| const VkPipelineColorBlendAttachmentState* pAttachments; |
| float blendConstants[4]; |
| } VkPipelineColorBlendStateCreateInfo; |
| |
| typedef struct VkPipelineDynamicStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineDynamicStateCreateFlags flags; |
| uint32_t dynamicStateCount; |
| const VkDynamicState* pDynamicStates; |
| } VkPipelineDynamicStateCreateInfo; |
| |
| typedef struct VkGraphicsPipelineCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCreateFlags flags; |
| uint32_t stageCount; |
| const VkPipelineShaderStageCreateInfo* pStages; |
| const VkPipelineVertexInputStateCreateInfo* pVertexInputState; |
| const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; |
| const VkPipelineTessellationStateCreateInfo* pTessellationState; |
| const VkPipelineViewportStateCreateInfo* pViewportState; |
| const VkPipelineRasterizationStateCreateInfo* pRasterizationState; |
| const VkPipelineMultisampleStateCreateInfo* pMultisampleState; |
| const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; |
| const VkPipelineColorBlendStateCreateInfo* pColorBlendState; |
| const VkPipelineDynamicStateCreateInfo* pDynamicState; |
| VkPipelineLayout layout; |
| VkRenderPass renderPass; |
| uint32_t subpass; |
| VkPipeline basePipelineHandle; |
| int32_t basePipelineIndex; |
| } VkGraphicsPipelineCreateInfo; |
| |
| typedef struct VkPushConstantRange { |
| VkShaderStageFlags stageFlags; |
| uint32_t offset; |
| uint32_t size; |
| } VkPushConstantRange; |
| |
| typedef struct VkPipelineLayoutCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineLayoutCreateFlags flags; |
| uint32_t setLayoutCount; |
| const VkDescriptorSetLayout* pSetLayouts; |
| uint32_t pushConstantRangeCount; |
| const VkPushConstantRange* pPushConstantRanges; |
| } VkPipelineLayoutCreateInfo; |
| |
| typedef struct VkSamplerCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSamplerCreateFlags flags; |
| VkFilter magFilter; |
| VkFilter minFilter; |
| VkSamplerMipmapMode mipmapMode; |
| VkSamplerAddressMode addressModeU; |
| VkSamplerAddressMode addressModeV; |
| VkSamplerAddressMode addressModeW; |
| float mipLodBias; |
| VkBool32 anisotropyEnable; |
| float maxAnisotropy; |
| VkBool32 compareEnable; |
| VkCompareOp compareOp; |
| float minLod; |
| float maxLod; |
| VkBorderColor borderColor; |
| VkBool32 unnormalizedCoordinates; |
| } VkSamplerCreateInfo; |
| |
| typedef struct VkCopyDescriptorSet { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSet srcSet; |
| uint32_t srcBinding; |
| uint32_t srcArrayElement; |
| VkDescriptorSet dstSet; |
| uint32_t dstBinding; |
| uint32_t dstArrayElement; |
| uint32_t descriptorCount; |
| } VkCopyDescriptorSet; |
| |
| typedef struct VkDescriptorBufferInfo { |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| VkDeviceSize range; |
| } VkDescriptorBufferInfo; |
| |
| typedef struct VkDescriptorImageInfo { |
| VkSampler sampler; |
| VkImageView imageView; |
| VkImageLayout imageLayout; |
| } VkDescriptorImageInfo; |
| |
| typedef struct VkDescriptorPoolSize { |
| VkDescriptorType type; |
| uint32_t descriptorCount; |
| } VkDescriptorPoolSize; |
| |
| typedef struct VkDescriptorPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorPoolCreateFlags flags; |
| uint32_t maxSets; |
| uint32_t poolSizeCount; |
| const VkDescriptorPoolSize* pPoolSizes; |
| } VkDescriptorPoolCreateInfo; |
| |
| typedef struct VkDescriptorSetAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorPool descriptorPool; |
| uint32_t descriptorSetCount; |
| const VkDescriptorSetLayout* pSetLayouts; |
| } VkDescriptorSetAllocateInfo; |
| |
| typedef struct VkDescriptorSetLayoutBinding { |
| uint32_t binding; |
| VkDescriptorType descriptorType; |
| uint32_t descriptorCount; |
| VkShaderStageFlags stageFlags; |
| const VkSampler* pImmutableSamplers; |
| } VkDescriptorSetLayoutBinding; |
| |
| typedef struct VkDescriptorSetLayoutCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSetLayoutCreateFlags flags; |
| uint32_t bindingCount; |
| const VkDescriptorSetLayoutBinding* pBindings; |
| } VkDescriptorSetLayoutCreateInfo; |
| |
| typedef struct VkWriteDescriptorSet { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSet dstSet; |
| uint32_t dstBinding; |
| uint32_t dstArrayElement; |
| uint32_t descriptorCount; |
| VkDescriptorType descriptorType; |
| const VkDescriptorImageInfo* pImageInfo; |
| const VkDescriptorBufferInfo* pBufferInfo; |
| const VkBufferView* pTexelBufferView; |
| } VkWriteDescriptorSet; |
| |
| typedef struct VkAttachmentDescription { |
| VkAttachmentDescriptionFlags flags; |
| VkFormat format; |
| VkSampleCountFlagBits samples; |
| VkAttachmentLoadOp loadOp; |
| VkAttachmentStoreOp storeOp; |
| VkAttachmentLoadOp stencilLoadOp; |
| VkAttachmentStoreOp stencilStoreOp; |
| VkImageLayout initialLayout; |
| VkImageLayout finalLayout; |
| } VkAttachmentDescription; |
| |
| typedef struct VkAttachmentReference { |
| uint32_t attachment; |
| VkImageLayout layout; |
| } VkAttachmentReference; |
| |
| typedef struct VkFramebufferCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkFramebufferCreateFlags flags; |
| VkRenderPass renderPass; |
| uint32_t attachmentCount; |
| const VkImageView* pAttachments; |
| uint32_t width; |
| uint32_t height; |
| uint32_t layers; |
| } VkFramebufferCreateInfo; |
| |
| typedef struct VkSubpassDescription { |
| VkSubpassDescriptionFlags flags; |
| VkPipelineBindPoint pipelineBindPoint; |
| uint32_t inputAttachmentCount; |
| const VkAttachmentReference* pInputAttachments; |
| uint32_t colorAttachmentCount; |
| const VkAttachmentReference* pColorAttachments; |
| const VkAttachmentReference* pResolveAttachments; |
| const VkAttachmentReference* pDepthStencilAttachment; |
| uint32_t preserveAttachmentCount; |
| const uint32_t* pPreserveAttachments; |
| } VkSubpassDescription; |
| |
| typedef struct VkSubpassDependency { |
| uint32_t srcSubpass; |
| uint32_t dstSubpass; |
| VkPipelineStageFlags srcStageMask; |
| VkPipelineStageFlags dstStageMask; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| VkDependencyFlags dependencyFlags; |
| } VkSubpassDependency; |
| |
| typedef struct VkRenderPassCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPassCreateFlags flags; |
| uint32_t attachmentCount; |
| const VkAttachmentDescription* pAttachments; |
| uint32_t subpassCount; |
| const VkSubpassDescription* pSubpasses; |
| uint32_t dependencyCount; |
| const VkSubpassDependency* pDependencies; |
| } VkRenderPassCreateInfo; |
| |
| typedef struct VkCommandPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandPoolCreateFlags flags; |
| uint32_t queueFamilyIndex; |
| } VkCommandPoolCreateInfo; |
| |
| typedef struct VkCommandBufferAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandPool commandPool; |
| VkCommandBufferLevel level; |
| uint32_t commandBufferCount; |
| } VkCommandBufferAllocateInfo; |
| |
| typedef struct VkCommandBufferInheritanceInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPass renderPass; |
| uint32_t subpass; |
| VkFramebuffer framebuffer; |
| VkBool32 occlusionQueryEnable; |
| VkQueryControlFlags queryFlags; |
| VkQueryPipelineStatisticFlags pipelineStatistics; |
| } VkCommandBufferInheritanceInfo; |
| |
| typedef struct VkCommandBufferBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandBufferUsageFlags flags; |
| const VkCommandBufferInheritanceInfo* pInheritanceInfo; |
| } VkCommandBufferBeginInfo; |
| |
| typedef struct VkBufferCopy { |
| VkDeviceSize srcOffset; |
| VkDeviceSize dstOffset; |
| VkDeviceSize size; |
| } VkBufferCopy; |
| |
| typedef struct VkImageSubresourceLayers { |
| VkImageAspectFlags aspectMask; |
| uint32_t mipLevel; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkImageSubresourceLayers; |
| |
| typedef struct VkBufferImageCopy { |
| VkDeviceSize bufferOffset; |
| uint32_t bufferRowLength; |
| uint32_t bufferImageHeight; |
| VkImageSubresourceLayers imageSubresource; |
| VkOffset3D imageOffset; |
| VkExtent3D imageExtent; |
| } VkBufferImageCopy; |
| |
| typedef union VkClearColorValue { |
| float float32[4]; |
| int32_t int32[4]; |
| uint32_t uint32[4]; |
| } VkClearColorValue; |
| |
| typedef struct VkClearDepthStencilValue { |
| float depth; |
| uint32_t stencil; |
| } VkClearDepthStencilValue; |
| |
| typedef union VkClearValue { |
| VkClearColorValue color; |
| VkClearDepthStencilValue depthStencil; |
| } VkClearValue; |
| |
| typedef struct VkClearAttachment { |
| VkImageAspectFlags aspectMask; |
| uint32_t colorAttachment; |
| VkClearValue clearValue; |
| } VkClearAttachment; |
| |
| typedef struct VkClearRect { |
| VkRect2D rect; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkClearRect; |
| |
| typedef struct VkImageBlit { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffsets[2]; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffsets[2]; |
| } VkImageBlit; |
| |
| typedef struct VkImageCopy { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageCopy; |
| |
| typedef struct VkImageResolve { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageResolve; |
| |
| typedef struct VkRenderPassBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPass renderPass; |
| VkFramebuffer framebuffer; |
| VkRect2D renderArea; |
| uint32_t clearValueCount; |
| const VkClearValue* pClearValues; |
| } VkRenderPassBeginInfo; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); |
| typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); |
| typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); |
| typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); |
| typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); |
| typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
| typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); |
| typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); |
| typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); |
| typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); |
| typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); |
| typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); |
| typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); |
| typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); |
| typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); |
| typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); |
| typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); |
| typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); |
| typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); |
| typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); |
| typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); |
| typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); |
| typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); |
| typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); |
| typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); |
| typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); |
| typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( |
| const VkInstanceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkInstance* pInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( |
| VkInstance instance, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( |
| VkInstance instance, |
| uint32_t* pPhysicalDeviceCount, |
| VkPhysicalDevice* pPhysicalDevices); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceFeatures* pFeatures); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkFormatProperties* pFormatProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkImageType type, |
| VkImageTiling tiling, |
| VkImageUsageFlags usage, |
| VkImageCreateFlags flags, |
| VkImageFormatProperties* pImageFormatProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceProperties* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pQueueFamilyPropertyCount, |
| VkQueueFamilyProperties* pQueueFamilyProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceMemoryProperties* pMemoryProperties); |
| |
| VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( |
| VkInstance instance, |
| const char* pName); |
| |
| VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( |
| VkDevice device, |
| const char* pName); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( |
| VkPhysicalDevice physicalDevice, |
| const VkDeviceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDevice* pDevice); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( |
| VkDevice device, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( |
| const char* pLayerName, |
| uint32_t* pPropertyCount, |
| VkExtensionProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( |
| VkPhysicalDevice physicalDevice, |
| const char* pLayerName, |
| uint32_t* pPropertyCount, |
| VkExtensionProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( |
| uint32_t* pPropertyCount, |
| VkLayerProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkLayerProperties* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( |
| VkDevice device, |
| uint32_t queueFamilyIndex, |
| uint32_t queueIndex, |
| VkQueue* pQueue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( |
| VkQueue queue, |
| uint32_t submitCount, |
| const VkSubmitInfo* pSubmits, |
| VkFence fence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( |
| VkQueue queue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( |
| VkDevice device); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( |
| VkDevice device, |
| const VkMemoryAllocateInfo* pAllocateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDeviceMemory* pMemory); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( |
| VkDevice device, |
| VkDeviceMemory memory, |
| VkDeviceSize offset, |
| VkDeviceSize size, |
| VkMemoryMapFlags flags, |
| void** ppData); |
| |
| VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( |
| VkDevice device, |
| VkDeviceMemory memory); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( |
| VkDevice device, |
| uint32_t memoryRangeCount, |
| const VkMappedMemoryRange* pMemoryRanges); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( |
| VkDevice device, |
| uint32_t memoryRangeCount, |
| const VkMappedMemoryRange* pMemoryRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( |
| VkDevice device, |
| VkDeviceMemory memory, |
| VkDeviceSize* pCommittedMemoryInBytes); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( |
| VkDevice device, |
| VkBuffer buffer, |
| VkDeviceMemory memory, |
| VkDeviceSize memoryOffset); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( |
| VkDevice device, |
| VkImage image, |
| VkDeviceMemory memory, |
| VkDeviceSize memoryOffset); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( |
| VkDevice device, |
| VkBuffer buffer, |
| VkMemoryRequirements* pMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( |
| VkDevice device, |
| VkImage image, |
| VkMemoryRequirements* pMemoryRequirements); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( |
| VkDevice device, |
| const VkFenceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFence* pFence); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyFence( |
| VkDevice device, |
| VkFence fence, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( |
| VkDevice device, |
| uint32_t fenceCount, |
| const VkFence* pFences); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( |
| VkDevice device, |
| VkFence fence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( |
| VkDevice device, |
| uint32_t fenceCount, |
| const VkFence* pFences, |
| VkBool32 waitAll, |
| uint64_t timeout); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( |
| VkDevice device, |
| const VkSemaphoreCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSemaphore* pSemaphore); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( |
| VkDevice device, |
| VkSemaphore semaphore, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( |
| VkDevice device, |
| const VkEventCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkEvent* pEvent); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( |
| VkDevice device, |
| VkEvent event, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( |
| VkDevice device, |
| const VkQueryPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkQueryPool* pQueryPool); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( |
| VkDevice device, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount, |
| size_t dataSize, |
| void* pData, |
| VkDeviceSize stride, |
| VkQueryResultFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( |
| VkDevice device, |
| const VkBufferCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkBuffer* pBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( |
| VkDevice device, |
| VkBuffer buffer, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( |
| VkDevice device, |
| const VkBufferViewCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkBufferView* pView); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( |
| VkDevice device, |
| VkBufferView bufferView, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( |
| VkDevice device, |
| const VkImageCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkImage* pImage); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyImage( |
| VkDevice device, |
| VkImage image, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( |
| VkDevice device, |
| VkImage image, |
| const VkImageSubresource* pSubresource, |
| VkSubresourceLayout* pLayout); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( |
| VkDevice device, |
| const VkImageViewCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkImageView* pView); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( |
| VkDevice device, |
| VkImageView imageView, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( |
| VkDevice device, |
| const VkPipelineCacheCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipelineCache* pPipelineCache); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| uint32_t createInfoCount, |
| const VkGraphicsPipelineCreateInfo* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipeline* pPipelines); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| uint32_t createInfoCount, |
| const VkComputePipelineCreateInfo* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipeline* pPipelines); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( |
| VkDevice device, |
| VkPipeline pipeline, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( |
| VkDevice device, |
| const VkPipelineLayoutCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipelineLayout* pPipelineLayout); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( |
| VkDevice device, |
| VkPipelineLayout pipelineLayout, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( |
| VkDevice device, |
| const VkSamplerCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSampler* pSampler); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySampler( |
| VkDevice device, |
| VkSampler sampler, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( |
| VkDevice device, |
| const VkDescriptorSetLayoutCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDescriptorSetLayout* pSetLayout); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( |
| VkDevice device, |
| VkDescriptorSetLayout descriptorSetLayout, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( |
| VkDevice device, |
| const VkDescriptorPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDescriptorPool* pDescriptorPool); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( |
| VkDevice device, |
| VkDescriptorPool descriptorPool, |
| VkDescriptorPoolResetFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( |
| VkDevice device, |
| const VkDescriptorSetAllocateInfo* pAllocateInfo, |
| VkDescriptorSet* pDescriptorSets); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( |
| VkDevice device, |
| VkDescriptorPool descriptorPool, |
| uint32_t descriptorSetCount, |
| const VkDescriptorSet* pDescriptorSets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( |
| VkDevice device, |
| uint32_t descriptorWriteCount, |
| const VkWriteDescriptorSet* pDescriptorWrites, |
| uint32_t descriptorCopyCount, |
| const VkCopyDescriptorSet* pDescriptorCopies); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( |
| VkDevice device, |
| const VkFramebufferCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFramebuffer* pFramebuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( |
| VkDevice device, |
| VkFramebuffer framebuffer, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( |
| VkDevice device, |
| const VkRenderPassCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkRenderPass* pRenderPass); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( |
| VkDevice device, |
| VkRenderPass renderPass, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( |
| VkDevice device, |
| VkRenderPass renderPass, |
| VkExtent2D* pGranularity); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( |
| VkDevice device, |
| const VkCommandPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkCommandPool* pCommandPool); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( |
| VkDevice device, |
| VkCommandPool commandPool, |
| VkCommandPoolResetFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( |
| VkDevice device, |
| const VkCommandBufferAllocateInfo* pAllocateInfo, |
| VkCommandBuffer* pCommandBuffers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( |
| VkDevice device, |
| VkCommandPool commandPool, |
| uint32_t commandBufferCount, |
| const VkCommandBuffer* pCommandBuffers); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( |
| VkCommandBuffer commandBuffer, |
| const VkCommandBufferBeginInfo* pBeginInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( |
| VkCommandBuffer commandBuffer, |
| VkCommandBufferResetFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( |
| VkCommandBuffer commandBuffer, |
| VkPipelineBindPoint pipelineBindPoint, |
| VkPipeline pipeline); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstViewport, |
| uint32_t viewportCount, |
| const VkViewport* pViewports); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstScissor, |
| uint32_t scissorCount, |
| const VkRect2D* pScissors); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( |
| VkCommandBuffer commandBuffer, |
| float lineWidth); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( |
| VkCommandBuffer commandBuffer, |
| float depthBiasConstantFactor, |
| float depthBiasClamp, |
| float depthBiasSlopeFactor); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( |
| VkCommandBuffer commandBuffer, |
| const float blendConstants[4]); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( |
| VkCommandBuffer commandBuffer, |
| float minDepthBounds, |
| float maxDepthBounds); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t compareMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t writeMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t reference); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( |
| VkCommandBuffer commandBuffer, |
| VkPipelineBindPoint pipelineBindPoint, |
| VkPipelineLayout layout, |
| uint32_t firstSet, |
| uint32_t descriptorSetCount, |
| const VkDescriptorSet* pDescriptorSets, |
| uint32_t dynamicOffsetCount, |
| const uint32_t* pDynamicOffsets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkIndexType indexType); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstBinding, |
| uint32_t bindingCount, |
| const VkBuffer* pBuffers, |
| const VkDeviceSize* pOffsets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDraw( |
| VkCommandBuffer commandBuffer, |
| uint32_t vertexCount, |
| uint32_t instanceCount, |
| uint32_t firstVertex, |
| uint32_t firstInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( |
| VkCommandBuffer commandBuffer, |
| uint32_t indexCount, |
| uint32_t instanceCount, |
| uint32_t firstIndex, |
| int32_t vertexOffset, |
| uint32_t firstInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| uint32_t drawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| uint32_t drawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( |
| VkCommandBuffer commandBuffer, |
| uint32_t groupCountX, |
| uint32_t groupCountY, |
| uint32_t groupCountZ); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer srcBuffer, |
| VkBuffer dstBuffer, |
| uint32_t regionCount, |
| const VkBufferCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageBlit* pRegions, |
| VkFilter filter); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( |
| VkCommandBuffer commandBuffer, |
| VkBuffer srcBuffer, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkBufferImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkBuffer dstBuffer, |
| uint32_t regionCount, |
| const VkBufferImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize dataSize, |
| const void* pData); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize size, |
| uint32_t data); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( |
| VkCommandBuffer commandBuffer, |
| VkImage image, |
| VkImageLayout imageLayout, |
| const VkClearColorValue* pColor, |
| uint32_t rangeCount, |
| const VkImageSubresourceRange* pRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( |
| VkCommandBuffer commandBuffer, |
| VkImage image, |
| VkImageLayout imageLayout, |
| const VkClearDepthStencilValue* pDepthStencil, |
| uint32_t rangeCount, |
| const VkImageSubresourceRange* pRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( |
| VkCommandBuffer commandBuffer, |
| uint32_t attachmentCount, |
| const VkClearAttachment* pAttachments, |
| uint32_t rectCount, |
| const VkClearRect* pRects); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageResolve* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| VkPipelineStageFlags stageMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| VkPipelineStageFlags stageMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( |
| VkCommandBuffer commandBuffer, |
| uint32_t eventCount, |
| const VkEvent* pEvents, |
| VkPipelineStageFlags srcStageMask, |
| VkPipelineStageFlags dstStageMask, |
| uint32_t memoryBarrierCount, |
| const VkMemoryBarrier* pMemoryBarriers, |
| uint32_t bufferMemoryBarrierCount, |
| const VkBufferMemoryBarrier* pBufferMemoryBarriers, |
| uint32_t imageMemoryBarrierCount, |
| const VkImageMemoryBarrier* pImageMemoryBarriers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlags srcStageMask, |
| VkPipelineStageFlags dstStageMask, |
| VkDependencyFlags dependencyFlags, |
| uint32_t memoryBarrierCount, |
| const VkMemoryBarrier* pMemoryBarriers, |
| uint32_t bufferMemoryBarrierCount, |
| const VkBufferMemoryBarrier* pBufferMemoryBarriers, |
| uint32_t imageMemoryBarrierCount, |
| const VkImageMemoryBarrier* pImageMemoryBarriers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t query, |
| VkQueryControlFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t query); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlagBits pipelineStage, |
| VkQueryPool queryPool, |
| uint32_t query); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize stride, |
| VkQueryResultFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( |
| VkCommandBuffer commandBuffer, |
| VkPipelineLayout layout, |
| VkShaderStageFlags stageFlags, |
| uint32_t offset, |
| uint32_t size, |
| const void* pValues); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( |
| VkCommandBuffer commandBuffer, |
| const VkRenderPassBeginInfo* pRenderPassBegin, |
| VkSubpassContents contents); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( |
| VkCommandBuffer commandBuffer, |
| VkSubpassContents contents); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( |
| VkCommandBuffer commandBuffer, |
| uint32_t commandBufferCount, |
| const VkCommandBuffer* pCommandBuffers); |
| #endif |
| |
| |
| #define VK_VERSION_1_1 1 |
| // Vulkan 1.1 version number |
| #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 |
| |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) |
| #define VK_MAX_DEVICE_GROUP_SIZE 32U |
| #define VK_LUID_SIZE 8U |
| #define VK_QUEUE_FAMILY_EXTERNAL (~1U) |
| |
| typedef enum VkPointClippingBehavior { |
| VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, |
| VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, |
| VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF |
| } VkPointClippingBehavior; |
| |
| typedef enum VkTessellationDomainOrigin { |
| VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, |
| VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, |
| VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF |
| } VkTessellationDomainOrigin; |
| |
| typedef enum VkSamplerYcbcrModelConversion { |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, |
| VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerYcbcrModelConversion; |
| |
| typedef enum VkSamplerYcbcrRange { |
| VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, |
| VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, |
| VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerYcbcrRange; |
| |
| typedef enum VkChromaLocation { |
| VK_CHROMA_LOCATION_COSITED_EVEN = 0, |
| VK_CHROMA_LOCATION_MIDPOINT = 1, |
| VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF |
| } VkChromaLocation; |
| |
| typedef enum VkSubgroupFeatureFlagBits { |
| VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, |
| VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, |
| VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, |
| VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, |
| VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, |
| VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, |
| VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, |
| VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, |
| VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSubgroupFeatureFlagBits; |
| typedef VkFlags VkSubgroupFeatureFlags; |
| |
| typedef enum VkPeerMemoryFeatureFlagBits { |
| VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, |
| VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, |
| VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, |
| VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, |
| VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPeerMemoryFeatureFlagBits; |
| typedef VkFlags VkPeerMemoryFeatureFlags; |
| |
| typedef enum VkMemoryAllocateFlagBits { |
| VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, |
| VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, |
| VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, |
| VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkMemoryAllocateFlagBits; |
| typedef VkFlags VkMemoryAllocateFlags; |
| |
| typedef enum VkExternalMemoryHandleTypeFlagBits { |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalMemoryHandleTypeFlagBits; |
| typedef VkFlags VkExternalMemoryHandleTypeFlags; |
| |
| typedef enum VkExternalMemoryFeatureFlagBits { |
| VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, |
| VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, |
| VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, |
| VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalMemoryFeatureFlagBits; |
| typedef VkFlags VkExternalMemoryFeatureFlags; |
| |
| typedef enum VkExternalFenceHandleTypeFlagBits { |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalFenceHandleTypeFlagBits; |
| typedef VkFlags VkExternalFenceHandleTypeFlags; |
| |
| typedef enum VkExternalFenceFeatureFlagBits { |
| VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, |
| VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, |
| VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalFenceFeatureFlagBits; |
| typedef VkFlags VkExternalFenceFeatureFlags; |
| |
| typedef enum VkFenceImportFlagBits { |
| VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, |
| VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFenceImportFlagBits; |
| typedef VkFlags VkFenceImportFlags; |
| |
| typedef enum VkSemaphoreImportFlagBits { |
| VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, |
| VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSemaphoreImportFlagBits; |
| typedef VkFlags VkSemaphoreImportFlags; |
| |
| typedef enum VkExternalSemaphoreHandleTypeFlagBits { |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalSemaphoreHandleTypeFlagBits; |
| typedef VkFlags VkExternalSemaphoreHandleTypeFlags; |
| |
| typedef enum VkExternalSemaphoreFeatureFlagBits { |
| VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, |
| VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, |
| VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkExternalSemaphoreFeatureFlagBits; |
| typedef VkFlags VkExternalSemaphoreFeatureFlags; |
| typedef struct VkPhysicalDeviceSubgroupProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t subgroupSize; |
| VkShaderStageFlags supportedStages; |
| VkSubgroupFeatureFlags supportedOperations; |
| VkBool32 quadOperationsInAllStages; |
| } VkPhysicalDeviceSubgroupProperties; |
| |
| typedef struct VkBindBufferMemoryInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBuffer buffer; |
| VkDeviceMemory memory; |
| VkDeviceSize memoryOffset; |
| } VkBindBufferMemoryInfo; |
| |
| typedef struct VkBindImageMemoryInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage image; |
| VkDeviceMemory memory; |
| VkDeviceSize memoryOffset; |
| } VkBindImageMemoryInfo; |
| |
| typedef struct VkPhysicalDevice16BitStorageFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 storageBuffer16BitAccess; |
| VkBool32 uniformAndStorageBuffer16BitAccess; |
| VkBool32 storagePushConstant16; |
| VkBool32 storageInputOutput16; |
| } VkPhysicalDevice16BitStorageFeatures; |
| |
| typedef struct VkMemoryDedicatedRequirements { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 prefersDedicatedAllocation; |
| VkBool32 requiresDedicatedAllocation; |
| } VkMemoryDedicatedRequirements; |
| |
| typedef struct VkMemoryDedicatedAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage image; |
| VkBuffer buffer; |
| } VkMemoryDedicatedAllocateInfo; |
| |
| typedef struct VkMemoryAllocateFlagsInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkMemoryAllocateFlags flags; |
| uint32_t deviceMask; |
| } VkMemoryAllocateFlagsInfo; |
| |
| typedef struct VkDeviceGroupRenderPassBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t deviceMask; |
| uint32_t deviceRenderAreaCount; |
| const VkRect2D* pDeviceRenderAreas; |
| } VkDeviceGroupRenderPassBeginInfo; |
| |
| typedef struct VkDeviceGroupCommandBufferBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t deviceMask; |
| } VkDeviceGroupCommandBufferBeginInfo; |
| |
| typedef struct VkDeviceGroupSubmitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const uint32_t* pWaitSemaphoreDeviceIndices; |
| uint32_t commandBufferCount; |
| const uint32_t* pCommandBufferDeviceMasks; |
| uint32_t signalSemaphoreCount; |
| const uint32_t* pSignalSemaphoreDeviceIndices; |
| } VkDeviceGroupSubmitInfo; |
| |
| typedef struct VkBindBufferMemoryDeviceGroupInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t deviceIndexCount; |
| const uint32_t* pDeviceIndices; |
| } VkBindBufferMemoryDeviceGroupInfo; |
| |
| typedef struct VkBindImageMemoryDeviceGroupInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t deviceIndexCount; |
| const uint32_t* pDeviceIndices; |
| uint32_t splitInstanceBindRegionCount; |
| const VkRect2D* pSplitInstanceBindRegions; |
| } VkBindImageMemoryDeviceGroupInfo; |
| |
| typedef struct VkPhysicalDeviceGroupProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t physicalDeviceCount; |
| VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; |
| VkBool32 subsetAllocation; |
| } VkPhysicalDeviceGroupProperties; |
| |
| typedef struct VkDeviceGroupDeviceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t physicalDeviceCount; |
| const VkPhysicalDevice* pPhysicalDevices; |
| } VkDeviceGroupDeviceCreateInfo; |
| |
| typedef struct VkBufferMemoryRequirementsInfo2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkBuffer buffer; |
| } VkBufferMemoryRequirementsInfo2; |
| |
| typedef struct VkImageMemoryRequirementsInfo2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage image; |
| } VkImageMemoryRequirementsInfo2; |
| |
| typedef struct VkMemoryRequirements2 { |
| VkStructureType sType; |
| void* pNext; |
| VkMemoryRequirements memoryRequirements; |
| } VkMemoryRequirements2; |
| |
| typedef struct VkPhysicalDeviceFeatures2 { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceFeatures features; |
| } VkPhysicalDeviceFeatures2; |
| |
| typedef struct VkPhysicalDeviceProperties2 { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceProperties properties; |
| } VkPhysicalDeviceProperties2; |
| |
| typedef struct VkFormatProperties2 { |
| VkStructureType sType; |
| void* pNext; |
| VkFormatProperties formatProperties; |
| } VkFormatProperties2; |
| |
| typedef struct VkImageFormatProperties2 { |
| VkStructureType sType; |
| void* pNext; |
| VkImageFormatProperties imageFormatProperties; |
| } VkImageFormatProperties2; |
| |
| typedef struct VkPhysicalDeviceImageFormatInfo2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkFormat format; |
| VkImageType type; |
| VkImageTiling tiling; |
| VkImageUsageFlags usage; |
| VkImageCreateFlags flags; |
| } VkPhysicalDeviceImageFormatInfo2; |
| |
| typedef struct VkQueueFamilyProperties2 { |
| VkStructureType sType; |
| void* pNext; |
| VkQueueFamilyProperties queueFamilyProperties; |
| } VkQueueFamilyProperties2; |
| |
| typedef struct VkPhysicalDeviceMemoryProperties2 { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceMemoryProperties memoryProperties; |
| } VkPhysicalDeviceMemoryProperties2; |
| |
| typedef struct VkPhysicalDevicePointClippingProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkPointClippingBehavior pointClippingBehavior; |
| } VkPhysicalDevicePointClippingProperties; |
| |
| typedef struct VkInputAttachmentAspectReference { |
| uint32_t subpass; |
| uint32_t inputAttachmentIndex; |
| VkImageAspectFlags aspectMask; |
| } VkInputAttachmentAspectReference; |
| |
| typedef struct VkRenderPassInputAttachmentAspectCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t aspectReferenceCount; |
| const VkInputAttachmentAspectReference* pAspectReferences; |
| } VkRenderPassInputAttachmentAspectCreateInfo; |
| |
| typedef struct VkImageViewUsageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageUsageFlags usage; |
| } VkImageViewUsageCreateInfo; |
| |
| typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkTessellationDomainOrigin domainOrigin; |
| } VkPipelineTessellationDomainOriginStateCreateInfo; |
| |
| typedef struct VkRenderPassMultiviewCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t subpassCount; |
| const uint32_t* pViewMasks; |
| uint32_t dependencyCount; |
| const int32_t* pViewOffsets; |
| uint32_t correlationMaskCount; |
| const uint32_t* pCorrelationMasks; |
| } VkRenderPassMultiviewCreateInfo; |
| |
| typedef struct VkPhysicalDeviceMultiviewFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 multiview; |
| VkBool32 multiviewGeometryShader; |
| VkBool32 multiviewTessellationShader; |
| } VkPhysicalDeviceMultiviewFeatures; |
| |
| typedef struct VkPhysicalDeviceMultiviewProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxMultiviewViewCount; |
| uint32_t maxMultiviewInstanceIndex; |
| } VkPhysicalDeviceMultiviewProperties; |
| |
| typedef struct VkPhysicalDeviceVariablePointersFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 variablePointersStorageBuffer; |
| VkBool32 variablePointers; |
| } VkPhysicalDeviceVariablePointersFeatures; |
| |
| typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; |
| |
| typedef struct VkPhysicalDeviceProtectedMemoryFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 protectedMemory; |
| } VkPhysicalDeviceProtectedMemoryFeatures; |
| |
| typedef struct VkPhysicalDeviceProtectedMemoryProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 protectedNoFault; |
| } VkPhysicalDeviceProtectedMemoryProperties; |
| |
| typedef struct VkDeviceQueueInfo2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceQueueCreateFlags flags; |
| uint32_t queueFamilyIndex; |
| uint32_t queueIndex; |
| } VkDeviceQueueInfo2; |
| |
| typedef struct VkProtectedSubmitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 protectedSubmit; |
| } VkProtectedSubmitInfo; |
| |
| typedef struct VkSamplerYcbcrConversionCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkFormat format; |
| VkSamplerYcbcrModelConversion ycbcrModel; |
| VkSamplerYcbcrRange ycbcrRange; |
| VkComponentMapping components; |
| VkChromaLocation xChromaOffset; |
| VkChromaLocation yChromaOffset; |
| VkFilter chromaFilter; |
| VkBool32 forceExplicitReconstruction; |
| } VkSamplerYcbcrConversionCreateInfo; |
| |
| typedef struct VkSamplerYcbcrConversionInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSamplerYcbcrConversion conversion; |
| } VkSamplerYcbcrConversionInfo; |
| |
| typedef struct VkBindImagePlaneMemoryInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageAspectFlagBits planeAspect; |
| } VkBindImagePlaneMemoryInfo; |
| |
| typedef struct VkImagePlaneMemoryRequirementsInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageAspectFlagBits planeAspect; |
| } VkImagePlaneMemoryRequirementsInfo; |
| |
| typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 samplerYcbcrConversion; |
| } VkPhysicalDeviceSamplerYcbcrConversionFeatures; |
| |
| typedef struct VkSamplerYcbcrConversionImageFormatProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t combinedImageSamplerDescriptorCount; |
| } VkSamplerYcbcrConversionImageFormatProperties; |
| |
| typedef struct VkExternalMemoryProperties { |
| VkExternalMemoryFeatureFlags externalMemoryFeatures; |
| VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; |
| VkExternalMemoryHandleTypeFlags compatibleHandleTypes; |
| } VkExternalMemoryProperties; |
| |
| typedef struct VkPhysicalDeviceExternalImageFormatInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagBits handleType; |
| } VkPhysicalDeviceExternalImageFormatInfo; |
| |
| typedef struct VkExternalImageFormatProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkExternalMemoryProperties externalMemoryProperties; |
| } VkExternalImageFormatProperties; |
| |
| typedef struct VkPhysicalDeviceExternalBufferInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBufferCreateFlags flags; |
| VkBufferUsageFlags usage; |
| VkExternalMemoryHandleTypeFlagBits handleType; |
| } VkPhysicalDeviceExternalBufferInfo; |
| |
| typedef struct VkExternalBufferProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkExternalMemoryProperties externalMemoryProperties; |
| } VkExternalBufferProperties; |
| |
| typedef struct VkPhysicalDeviceIDProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint8_t deviceUUID[VK_UUID_SIZE]; |
| uint8_t driverUUID[VK_UUID_SIZE]; |
| uint8_t deviceLUID[VK_LUID_SIZE]; |
| uint32_t deviceNodeMask; |
| VkBool32 deviceLUIDValid; |
| } VkPhysicalDeviceIDProperties; |
| |
| typedef struct VkExternalMemoryImageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlags handleTypes; |
| } VkExternalMemoryImageCreateInfo; |
| |
| typedef struct VkExternalMemoryBufferCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlags handleTypes; |
| } VkExternalMemoryBufferCreateInfo; |
| |
| typedef struct VkExportMemoryAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlags handleTypes; |
| } VkExportMemoryAllocateInfo; |
| |
| typedef struct VkPhysicalDeviceExternalFenceInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalFenceHandleTypeFlagBits handleType; |
| } VkPhysicalDeviceExternalFenceInfo; |
| |
| typedef struct VkExternalFenceProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; |
| VkExternalFenceHandleTypeFlags compatibleHandleTypes; |
| VkExternalFenceFeatureFlags externalFenceFeatures; |
| } VkExternalFenceProperties; |
| |
| typedef struct VkExportFenceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalFenceHandleTypeFlags handleTypes; |
| } VkExportFenceCreateInfo; |
| |
| typedef struct VkExportSemaphoreCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalSemaphoreHandleTypeFlags handleTypes; |
| } VkExportSemaphoreCreateInfo; |
| |
| typedef struct VkPhysicalDeviceExternalSemaphoreInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalSemaphoreHandleTypeFlagBits handleType; |
| } VkPhysicalDeviceExternalSemaphoreInfo; |
| |
| typedef struct VkExternalSemaphoreProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; |
| VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; |
| VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; |
| } VkExternalSemaphoreProperties; |
| |
| typedef struct VkPhysicalDeviceMaintenance3Properties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxPerSetDescriptors; |
| VkDeviceSize maxMemoryAllocationSize; |
| } VkPhysicalDeviceMaintenance3Properties; |
| |
| typedef struct VkDescriptorSetLayoutSupport { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 supported; |
| } VkDescriptorSetLayoutSupport; |
| |
| typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderDrawParameters; |
| } VkPhysicalDeviceShaderDrawParametersFeatures; |
| |
| typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); |
| typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( |
| uint32_t* pApiVersion); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( |
| VkDevice device, |
| uint32_t bindInfoCount, |
| const VkBindBufferMemoryInfo* pBindInfos); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( |
| VkDevice device, |
| uint32_t bindInfoCount, |
| const VkBindImageMemoryInfo* pBindInfos); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( |
| VkDevice device, |
| uint32_t heapIndex, |
| uint32_t localDeviceIndex, |
| uint32_t remoteDeviceIndex, |
| VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( |
| VkCommandBuffer commandBuffer, |
| uint32_t deviceMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( |
| VkCommandBuffer commandBuffer, |
| uint32_t baseGroupX, |
| uint32_t baseGroupY, |
| uint32_t baseGroupZ, |
| uint32_t groupCountX, |
| uint32_t groupCountY, |
| uint32_t groupCountZ); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( |
| VkInstance instance, |
| uint32_t* pPhysicalDeviceGroupCount, |
| VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( |
| VkDevice device, |
| const VkImageMemoryRequirementsInfo2* pInfo, |
| VkMemoryRequirements2* pMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( |
| VkDevice device, |
| const VkBufferMemoryRequirementsInfo2* pInfo, |
| VkMemoryRequirements2* pMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceFeatures2* pFeatures); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceProperties2* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkFormatProperties2* pFormatProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, |
| VkImageFormatProperties2* pImageFormatProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pQueueFamilyPropertyCount, |
| VkQueueFamilyProperties2* pQueueFamilyProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceMemoryProperties2* pMemoryProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( |
| VkDevice device, |
| const VkDeviceQueueInfo2* pQueueInfo, |
| VkQueue* pQueue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( |
| VkDevice device, |
| const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSamplerYcbcrConversion* pYcbcrConversion); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( |
| VkDevice device, |
| VkSamplerYcbcrConversion ycbcrConversion, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, |
| VkExternalBufferProperties* pExternalBufferProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, |
| VkExternalFenceProperties* pExternalFenceProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, |
| VkExternalSemaphoreProperties* pExternalSemaphoreProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( |
| VkDevice device, |
| const VkDescriptorSetLayoutCreateInfo* pCreateInfo, |
| VkDescriptorSetLayoutSupport* pSupport); |
| #endif |
| |
| |
| #define VK_VERSION_1_2 1 |
| // Vulkan 1.2 version number |
| #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 |
| |
| #define VK_MAX_DRIVER_NAME_SIZE 256U |
| #define VK_MAX_DRIVER_INFO_SIZE 256U |
| |
| typedef enum VkDriverId { |
| VK_DRIVER_ID_AMD_PROPRIETARY = 1, |
| VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, |
| VK_DRIVER_ID_MESA_RADV = 3, |
| VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, |
| VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, |
| VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, |
| VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, |
| VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, |
| VK_DRIVER_ID_ARM_PROPRIETARY = 9, |
| VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, |
| VK_DRIVER_ID_GGP_PROPRIETARY = 11, |
| VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, |
| VK_DRIVER_ID_MESA_LLVMPIPE = 13, |
| VK_DRIVER_ID_MOLTENVK = 14, |
| VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, |
| VK_DRIVER_ID_JUICE_PROPRIETARY = 16, |
| VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, |
| VK_DRIVER_ID_MESA_TURNIP = 18, |
| VK_DRIVER_ID_MESA_V3DV = 19, |
| VK_DRIVER_ID_MESA_PANVK = 20, |
| VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, |
| VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF |
| } VkDriverId; |
| |
| typedef enum VkShaderFloatControlsIndependence { |
| VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, |
| VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, |
| VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, |
| VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF |
| } VkShaderFloatControlsIndependence; |
| |
| typedef enum VkSamplerReductionMode { |
| VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, |
| VK_SAMPLER_REDUCTION_MODE_MIN = 1, |
| VK_SAMPLER_REDUCTION_MODE_MAX = 2, |
| VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerReductionMode; |
| |
| typedef enum VkSemaphoreType { |
| VK_SEMAPHORE_TYPE_BINARY = 0, |
| VK_SEMAPHORE_TYPE_TIMELINE = 1, |
| VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkSemaphoreType; |
| |
| typedef enum VkResolveModeFlagBits { |
| VK_RESOLVE_MODE_NONE = 0, |
| VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, |
| VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, |
| VK_RESOLVE_MODE_MIN_BIT = 0x00000004, |
| VK_RESOLVE_MODE_MAX_BIT = 0x00000008, |
| VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkResolveModeFlagBits; |
| typedef VkFlags VkResolveModeFlags; |
| |
| typedef enum VkDescriptorBindingFlagBits { |
| VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, |
| VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, |
| VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, |
| VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, |
| VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorBindingFlagBits; |
| typedef VkFlags VkDescriptorBindingFlags; |
| |
| typedef enum VkSemaphoreWaitFlagBits { |
| VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, |
| VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSemaphoreWaitFlagBits; |
| typedef VkFlags VkSemaphoreWaitFlags; |
| typedef struct VkPhysicalDeviceVulkan11Features { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 storageBuffer16BitAccess; |
| VkBool32 uniformAndStorageBuffer16BitAccess; |
| VkBool32 storagePushConstant16; |
| VkBool32 storageInputOutput16; |
| VkBool32 multiview; |
| VkBool32 multiviewGeometryShader; |
| VkBool32 multiviewTessellationShader; |
| VkBool32 variablePointersStorageBuffer; |
| VkBool32 variablePointers; |
| VkBool32 protectedMemory; |
| VkBool32 samplerYcbcrConversion; |
| VkBool32 shaderDrawParameters; |
| } VkPhysicalDeviceVulkan11Features; |
| |
| typedef struct VkPhysicalDeviceVulkan11Properties { |
| VkStructureType sType; |
| void* pNext; |
| uint8_t deviceUUID[VK_UUID_SIZE]; |
| uint8_t driverUUID[VK_UUID_SIZE]; |
| uint8_t deviceLUID[VK_LUID_SIZE]; |
| uint32_t deviceNodeMask; |
| VkBool32 deviceLUIDValid; |
| uint32_t subgroupSize; |
| VkShaderStageFlags subgroupSupportedStages; |
| VkSubgroupFeatureFlags subgroupSupportedOperations; |
| VkBool32 subgroupQuadOperationsInAllStages; |
| VkPointClippingBehavior pointClippingBehavior; |
| uint32_t maxMultiviewViewCount; |
| uint32_t maxMultiviewInstanceIndex; |
| VkBool32 protectedNoFault; |
| uint32_t maxPerSetDescriptors; |
| VkDeviceSize maxMemoryAllocationSize; |
| } VkPhysicalDeviceVulkan11Properties; |
| |
| typedef struct VkPhysicalDeviceVulkan12Features { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 samplerMirrorClampToEdge; |
| VkBool32 drawIndirectCount; |
| VkBool32 storageBuffer8BitAccess; |
| VkBool32 uniformAndStorageBuffer8BitAccess; |
| VkBool32 storagePushConstant8; |
| VkBool32 shaderBufferInt64Atomics; |
| VkBool32 shaderSharedInt64Atomics; |
| VkBool32 shaderFloat16; |
| VkBool32 shaderInt8; |
| VkBool32 descriptorIndexing; |
| VkBool32 shaderInputAttachmentArrayDynamicIndexing; |
| VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; |
| VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; |
| VkBool32 shaderUniformBufferArrayNonUniformIndexing; |
| VkBool32 shaderSampledImageArrayNonUniformIndexing; |
| VkBool32 shaderStorageBufferArrayNonUniformIndexing; |
| VkBool32 shaderStorageImageArrayNonUniformIndexing; |
| VkBool32 shaderInputAttachmentArrayNonUniformIndexing; |
| VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; |
| VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; |
| VkBool32 descriptorBindingUniformBufferUpdateAfterBind; |
| VkBool32 descriptorBindingSampledImageUpdateAfterBind; |
| VkBool32 descriptorBindingStorageImageUpdateAfterBind; |
| VkBool32 descriptorBindingStorageBufferUpdateAfterBind; |
| VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; |
| VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; |
| VkBool32 descriptorBindingUpdateUnusedWhilePending; |
| VkBool32 descriptorBindingPartiallyBound; |
| VkBool32 descriptorBindingVariableDescriptorCount; |
| VkBool32 runtimeDescriptorArray; |
| VkBool32 samplerFilterMinmax; |
| VkBool32 scalarBlockLayout; |
| VkBool32 imagelessFramebuffer; |
| VkBool32 uniformBufferStandardLayout; |
| VkBool32 shaderSubgroupExtendedTypes; |
| VkBool32 separateDepthStencilLayouts; |
| VkBool32 hostQueryReset; |
| VkBool32 timelineSemaphore; |
| VkBool32 bufferDeviceAddress; |
| VkBool32 bufferDeviceAddressCaptureReplay; |
| VkBool32 bufferDeviceAddressMultiDevice; |
| VkBool32 vulkanMemoryModel; |
| VkBool32 vulkanMemoryModelDeviceScope; |
| VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; |
| VkBool32 shaderOutputViewportIndex; |
| VkBool32 shaderOutputLayer; |
| VkBool32 subgroupBroadcastDynamicId; |
| } VkPhysicalDeviceVulkan12Features; |
| |
| typedef struct VkConformanceVersion { |
| uint8_t major; |
| uint8_t minor; |
| uint8_t subminor; |
| uint8_t patch; |
| } VkConformanceVersion; |
| |
| typedef struct VkPhysicalDeviceVulkan12Properties { |
| VkStructureType sType; |
| void* pNext; |
| VkDriverId driverID; |
| char driverName[VK_MAX_DRIVER_NAME_SIZE]; |
| char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; |
| VkConformanceVersion conformanceVersion; |
| VkShaderFloatControlsIndependence denormBehaviorIndependence; |
| VkShaderFloatControlsIndependence roundingModeIndependence; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat16; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat32; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat64; |
| VkBool32 shaderDenormPreserveFloat16; |
| VkBool32 shaderDenormPreserveFloat32; |
| VkBool32 shaderDenormPreserveFloat64; |
| VkBool32 shaderDenormFlushToZeroFloat16; |
| VkBool32 shaderDenormFlushToZeroFloat32; |
| VkBool32 shaderDenormFlushToZeroFloat64; |
| VkBool32 shaderRoundingModeRTEFloat16; |
| VkBool32 shaderRoundingModeRTEFloat32; |
| VkBool32 shaderRoundingModeRTEFloat64; |
| VkBool32 shaderRoundingModeRTZFloat16; |
| VkBool32 shaderRoundingModeRTZFloat32; |
| VkBool32 shaderRoundingModeRTZFloat64; |
| uint32_t maxUpdateAfterBindDescriptorsInAllPools; |
| VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; |
| VkBool32 shaderSampledImageArrayNonUniformIndexingNative; |
| VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; |
| VkBool32 shaderStorageImageArrayNonUniformIndexingNative; |
| VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; |
| VkBool32 robustBufferAccessUpdateAfterBind; |
| VkBool32 quadDivergentImplicitLod; |
| uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; |
| uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; |
| uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; |
| uint32_t maxPerStageUpdateAfterBindResources; |
| uint32_t maxDescriptorSetUpdateAfterBindSamplers; |
| uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; |
| uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; |
| uint32_t maxDescriptorSetUpdateAfterBindSampledImages; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageImages; |
| uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; |
| VkResolveModeFlags supportedDepthResolveModes; |
| VkResolveModeFlags supportedStencilResolveModes; |
| VkBool32 independentResolveNone; |
| VkBool32 independentResolve; |
| VkBool32 filterMinmaxSingleComponentFormats; |
| VkBool32 filterMinmaxImageComponentMapping; |
| uint64_t maxTimelineSemaphoreValueDifference; |
| VkSampleCountFlags framebufferIntegerColorSampleCounts; |
| } VkPhysicalDeviceVulkan12Properties; |
| |
| typedef struct VkImageFormatListCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t viewFormatCount; |
| const VkFormat* pViewFormats; |
| } VkImageFormatListCreateInfo; |
| |
| typedef struct VkAttachmentDescription2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkAttachmentDescriptionFlags flags; |
| VkFormat format; |
| VkSampleCountFlagBits samples; |
| VkAttachmentLoadOp loadOp; |
| VkAttachmentStoreOp storeOp; |
| VkAttachmentLoadOp stencilLoadOp; |
| VkAttachmentStoreOp stencilStoreOp; |
| VkImageLayout initialLayout; |
| VkImageLayout finalLayout; |
| } VkAttachmentDescription2; |
| |
| typedef struct VkAttachmentReference2 { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t attachment; |
| VkImageLayout layout; |
| VkImageAspectFlags aspectMask; |
| } VkAttachmentReference2; |
| |
| typedef struct VkSubpassDescription2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkSubpassDescriptionFlags flags; |
| VkPipelineBindPoint pipelineBindPoint; |
| uint32_t viewMask; |
| uint32_t inputAttachmentCount; |
| const VkAttachmentReference2* pInputAttachments; |
| uint32_t colorAttachmentCount; |
| const VkAttachmentReference2* pColorAttachments; |
| const VkAttachmentReference2* pResolveAttachments; |
| const VkAttachmentReference2* pDepthStencilAttachment; |
| uint32_t preserveAttachmentCount; |
| const uint32_t* pPreserveAttachments; |
| } VkSubpassDescription2; |
| |
| typedef struct VkSubpassDependency2 { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t srcSubpass; |
| uint32_t dstSubpass; |
| VkPipelineStageFlags srcStageMask; |
| VkPipelineStageFlags dstStageMask; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| VkDependencyFlags dependencyFlags; |
| int32_t viewOffset; |
| } VkSubpassDependency2; |
| |
| typedef struct VkRenderPassCreateInfo2 { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPassCreateFlags flags; |
| uint32_t attachmentCount; |
| const VkAttachmentDescription2* pAttachments; |
| uint32_t subpassCount; |
| const VkSubpassDescription2* pSubpasses; |
| uint32_t dependencyCount; |
| const VkSubpassDependency2* pDependencies; |
| uint32_t correlatedViewMaskCount; |
| const uint32_t* pCorrelatedViewMasks; |
| } VkRenderPassCreateInfo2; |
| |
| typedef struct VkSubpassBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSubpassContents contents; |
| } VkSubpassBeginInfo; |
| |
| typedef struct VkSubpassEndInfo { |
| VkStructureType sType; |
| const void* pNext; |
| } VkSubpassEndInfo; |
| |
| typedef struct VkPhysicalDevice8BitStorageFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 storageBuffer8BitAccess; |
| VkBool32 uniformAndStorageBuffer8BitAccess; |
| VkBool32 storagePushConstant8; |
| } VkPhysicalDevice8BitStorageFeatures; |
| |
| typedef struct VkPhysicalDeviceDriverProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkDriverId driverID; |
| char driverName[VK_MAX_DRIVER_NAME_SIZE]; |
| char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; |
| VkConformanceVersion conformanceVersion; |
| } VkPhysicalDeviceDriverProperties; |
| |
| typedef struct VkPhysicalDeviceShaderAtomicInt64Features { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderBufferInt64Atomics; |
| VkBool32 shaderSharedInt64Atomics; |
| } VkPhysicalDeviceShaderAtomicInt64Features; |
| |
| typedef struct VkPhysicalDeviceShaderFloat16Int8Features { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderFloat16; |
| VkBool32 shaderInt8; |
| } VkPhysicalDeviceShaderFloat16Int8Features; |
| |
| typedef struct VkPhysicalDeviceFloatControlsProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkShaderFloatControlsIndependence denormBehaviorIndependence; |
| VkShaderFloatControlsIndependence roundingModeIndependence; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat16; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat32; |
| VkBool32 shaderSignedZeroInfNanPreserveFloat64; |
| VkBool32 shaderDenormPreserveFloat16; |
| VkBool32 shaderDenormPreserveFloat32; |
| VkBool32 shaderDenormPreserveFloat64; |
| VkBool32 shaderDenormFlushToZeroFloat16; |
| VkBool32 shaderDenormFlushToZeroFloat32; |
| VkBool32 shaderDenormFlushToZeroFloat64; |
| VkBool32 shaderRoundingModeRTEFloat16; |
| VkBool32 shaderRoundingModeRTEFloat32; |
| VkBool32 shaderRoundingModeRTEFloat64; |
| VkBool32 shaderRoundingModeRTZFloat16; |
| VkBool32 shaderRoundingModeRTZFloat32; |
| VkBool32 shaderRoundingModeRTZFloat64; |
| } VkPhysicalDeviceFloatControlsProperties; |
| |
| typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t bindingCount; |
| const VkDescriptorBindingFlags* pBindingFlags; |
| } VkDescriptorSetLayoutBindingFlagsCreateInfo; |
| |
| typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderInputAttachmentArrayDynamicIndexing; |
| VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; |
| VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; |
| VkBool32 shaderUniformBufferArrayNonUniformIndexing; |
| VkBool32 shaderSampledImageArrayNonUniformIndexing; |
| VkBool32 shaderStorageBufferArrayNonUniformIndexing; |
| VkBool32 shaderStorageImageArrayNonUniformIndexing; |
| VkBool32 shaderInputAttachmentArrayNonUniformIndexing; |
| VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; |
| VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; |
| VkBool32 descriptorBindingUniformBufferUpdateAfterBind; |
| VkBool32 descriptorBindingSampledImageUpdateAfterBind; |
| VkBool32 descriptorBindingStorageImageUpdateAfterBind; |
| VkBool32 descriptorBindingStorageBufferUpdateAfterBind; |
| VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; |
| VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; |
| VkBool32 descriptorBindingUpdateUnusedWhilePending; |
| VkBool32 descriptorBindingPartiallyBound; |
| VkBool32 descriptorBindingVariableDescriptorCount; |
| VkBool32 runtimeDescriptorArray; |
| } VkPhysicalDeviceDescriptorIndexingFeatures; |
| |
| typedef struct VkPhysicalDeviceDescriptorIndexingProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxUpdateAfterBindDescriptorsInAllPools; |
| VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; |
| VkBool32 shaderSampledImageArrayNonUniformIndexingNative; |
| VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; |
| VkBool32 shaderStorageImageArrayNonUniformIndexingNative; |
| VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; |
| VkBool32 robustBufferAccessUpdateAfterBind; |
| VkBool32 quadDivergentImplicitLod; |
| uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; |
| uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; |
| uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; |
| uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; |
| uint32_t maxPerStageUpdateAfterBindResources; |
| uint32_t maxDescriptorSetUpdateAfterBindSamplers; |
| uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; |
| uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; |
| uint32_t maxDescriptorSetUpdateAfterBindSampledImages; |
| uint32_t maxDescriptorSetUpdateAfterBindStorageImages; |
| uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; |
| } VkPhysicalDeviceDescriptorIndexingProperties; |
| |
| typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t descriptorSetCount; |
| const uint32_t* pDescriptorCounts; |
| } VkDescriptorSetVariableDescriptorCountAllocateInfo; |
| |
| typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxVariableDescriptorCount; |
| } VkDescriptorSetVariableDescriptorCountLayoutSupport; |
| |
| typedef struct VkSubpassDescriptionDepthStencilResolve { |
| VkStructureType sType; |
| const void* pNext; |
| VkResolveModeFlagBits depthResolveMode; |
| VkResolveModeFlagBits stencilResolveMode; |
| const VkAttachmentReference2* pDepthStencilResolveAttachment; |
| } VkSubpassDescriptionDepthStencilResolve; |
| |
| typedef struct VkPhysicalDeviceDepthStencilResolveProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkResolveModeFlags supportedDepthResolveModes; |
| VkResolveModeFlags supportedStencilResolveModes; |
| VkBool32 independentResolveNone; |
| VkBool32 independentResolve; |
| } VkPhysicalDeviceDepthStencilResolveProperties; |
| |
| typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 scalarBlockLayout; |
| } VkPhysicalDeviceScalarBlockLayoutFeatures; |
| |
| typedef struct VkImageStencilUsageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageUsageFlags stencilUsage; |
| } VkImageStencilUsageCreateInfo; |
| |
| typedef struct VkSamplerReductionModeCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSamplerReductionMode reductionMode; |
| } VkSamplerReductionModeCreateInfo; |
| |
| typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 filterMinmaxSingleComponentFormats; |
| VkBool32 filterMinmaxImageComponentMapping; |
| } VkPhysicalDeviceSamplerFilterMinmaxProperties; |
| |
| typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 vulkanMemoryModel; |
| VkBool32 vulkanMemoryModelDeviceScope; |
| VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; |
| } VkPhysicalDeviceVulkanMemoryModelFeatures; |
| |
| typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 imagelessFramebuffer; |
| } VkPhysicalDeviceImagelessFramebufferFeatures; |
| |
| typedef struct VkFramebufferAttachmentImageInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageCreateFlags flags; |
| VkImageUsageFlags usage; |
| uint32_t width; |
| uint32_t height; |
| uint32_t layerCount; |
| uint32_t viewFormatCount; |
| const VkFormat* pViewFormats; |
| } VkFramebufferAttachmentImageInfo; |
| |
| typedef struct VkFramebufferAttachmentsCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t attachmentImageInfoCount; |
| const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; |
| } VkFramebufferAttachmentsCreateInfo; |
| |
| typedef struct VkRenderPassAttachmentBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t attachmentCount; |
| const VkImageView* pAttachments; |
| } VkRenderPassAttachmentBeginInfo; |
| |
| typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 uniformBufferStandardLayout; |
| } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; |
| |
| typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderSubgroupExtendedTypes; |
| } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; |
| |
| typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 separateDepthStencilLayouts; |
| } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; |
| |
| typedef struct VkAttachmentReferenceStencilLayout { |
| VkStructureType sType; |
| void* pNext; |
| VkImageLayout stencilLayout; |
| } VkAttachmentReferenceStencilLayout; |
| |
| typedef struct VkAttachmentDescriptionStencilLayout { |
| VkStructureType sType; |
| void* pNext; |
| VkImageLayout stencilInitialLayout; |
| VkImageLayout stencilFinalLayout; |
| } VkAttachmentDescriptionStencilLayout; |
| |
| typedef struct VkPhysicalDeviceHostQueryResetFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 hostQueryReset; |
| } VkPhysicalDeviceHostQueryResetFeatures; |
| |
| typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 timelineSemaphore; |
| } VkPhysicalDeviceTimelineSemaphoreFeatures; |
| |
| typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { |
| VkStructureType sType; |
| void* pNext; |
| uint64_t maxTimelineSemaphoreValueDifference; |
| } VkPhysicalDeviceTimelineSemaphoreProperties; |
| |
| typedef struct VkSemaphoreTypeCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphoreType semaphoreType; |
| uint64_t initialValue; |
| } VkSemaphoreTypeCreateInfo; |
| |
| typedef struct VkTimelineSemaphoreSubmitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreValueCount; |
| const uint64_t* pWaitSemaphoreValues; |
| uint32_t signalSemaphoreValueCount; |
| const uint64_t* pSignalSemaphoreValues; |
| } VkTimelineSemaphoreSubmitInfo; |
| |
| typedef struct VkSemaphoreWaitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphoreWaitFlags flags; |
| uint32_t semaphoreCount; |
| const VkSemaphore* pSemaphores; |
| const uint64_t* pValues; |
| } VkSemaphoreWaitInfo; |
| |
| typedef struct VkSemaphoreSignalInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphore semaphore; |
| uint64_t value; |
| } VkSemaphoreSignalInfo; |
| |
| typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 bufferDeviceAddress; |
| VkBool32 bufferDeviceAddressCaptureReplay; |
| VkBool32 bufferDeviceAddressMultiDevice; |
| } VkPhysicalDeviceBufferDeviceAddressFeatures; |
| |
| typedef struct VkBufferDeviceAddressInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBuffer buffer; |
| } VkBufferDeviceAddressInfo; |
| |
| typedef struct VkBufferOpaqueCaptureAddressCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint64_t opaqueCaptureAddress; |
| } VkBufferOpaqueCaptureAddressCreateInfo; |
| |
| typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint64_t opaqueCaptureAddress; |
| } VkMemoryOpaqueCaptureAddressAllocateInfo; |
| |
| typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceMemory memory; |
| } VkDeviceMemoryOpaqueCaptureAddressInfo; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); |
| typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue); |
| typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); |
| typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); |
| typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); |
| typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); |
| typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkBuffer countBuffer, |
| VkDeviceSize countBufferOffset, |
| uint32_t maxDrawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkBuffer countBuffer, |
| VkDeviceSize countBufferOffset, |
| uint32_t maxDrawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( |
| VkDevice device, |
| const VkRenderPassCreateInfo2* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkRenderPass* pRenderPass); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( |
| VkCommandBuffer commandBuffer, |
| const VkRenderPassBeginInfo* pRenderPassBegin, |
| const VkSubpassBeginInfo* pSubpassBeginInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( |
| VkCommandBuffer commandBuffer, |
| const VkSubpassBeginInfo* pSubpassBeginInfo, |
| const VkSubpassEndInfo* pSubpassEndInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( |
| VkCommandBuffer commandBuffer, |
| const VkSubpassEndInfo* pSubpassEndInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( |
| VkDevice device, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( |
| VkDevice device, |
| VkSemaphore semaphore, |
| uint64_t* pValue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( |
| VkDevice device, |
| const VkSemaphoreWaitInfo* pWaitInfo, |
| uint64_t timeout); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( |
| VkDevice device, |
| const VkSemaphoreSignalInfo* pSignalInfo); |
| |
| VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( |
| VkDevice device, |
| const VkBufferDeviceAddressInfo* pInfo); |
| |
| VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress( |
| VkDevice device, |
| const VkBufferDeviceAddressInfo* pInfo); |
| |
| VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( |
| VkDevice device, |
| const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); |
| #endif |
| |
| |
| #define VKSC_VERSION_1_0 1 |
| // Vulkan SC 1.0 version number |
| #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 |
| |
| |
| typedef enum VkFaultLevel { |
| VK_FAULT_LEVEL_UNASSIGNED = 0, |
| VK_FAULT_LEVEL_CRITICAL = 1, |
| VK_FAULT_LEVEL_RECOVERABLE = 2, |
| VK_FAULT_LEVEL_WARNING = 3, |
| VK_FAULT_LEVEL_MAX_ENUM = 0x7FFFFFFF |
| } VkFaultLevel; |
| |
| typedef enum VkFaultType { |
| VK_FAULT_TYPE_INVALID = 0, |
| VK_FAULT_TYPE_UNASSIGNED = 1, |
| VK_FAULT_TYPE_IMPLEMENTATION = 2, |
| VK_FAULT_TYPE_SYSTEM = 3, |
| VK_FAULT_TYPE_PHYSICAL_DEVICE = 4, |
| VK_FAULT_TYPE_COMMAND_BUFFER_FULL = 5, |
| VK_FAULT_TYPE_INVALID_API_USAGE = 6, |
| VK_FAULT_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkFaultType; |
| |
| typedef enum VkFaultQueryBehavior { |
| VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS = 0, |
| VK_FAULT_QUERY_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF |
| } VkFaultQueryBehavior; |
| |
| typedef enum VkPipelineMatchControl { |
| VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH = 0, |
| VK_PIPELINE_MATCH_CONTROL_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineMatchControl; |
| |
| typedef enum VkPipelineCacheValidationVersion { |
| VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE = 1, |
| VK_PIPELINE_CACHE_VALIDATION_VERSION_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCacheValidationVersion; |
| typedef struct VkPhysicalDeviceVulkanSC10Features { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderAtomicInstructions; |
| } VkPhysicalDeviceVulkanSC10Features; |
| |
| typedef struct VkPhysicalDeviceVulkanSC10Properties { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 deviceNoDynamicHostAllocations; |
| VkBool32 deviceDestroyFreesMemory; |
| VkBool32 commandPoolMultipleCommandBuffersRecording; |
| VkBool32 commandPoolResetCommandBuffer; |
| VkBool32 commandBufferSimultaneousUse; |
| VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer; |
| VkBool32 recycleDescriptorSetMemory; |
| VkBool32 recyclePipelineMemory; |
| uint32_t maxRenderPassSubpasses; |
| uint32_t maxRenderPassDependencies; |
| uint32_t maxSubpassInputAttachments; |
| uint32_t maxSubpassPreserveAttachments; |
| uint32_t maxFramebufferAttachments; |
| uint32_t maxDescriptorSetLayoutBindings; |
| uint32_t maxQueryFaultCount; |
| uint32_t maxCallbackFaultCount; |
| uint32_t maxCommandPoolCommandBuffers; |
| VkDeviceSize maxCommandBufferSize; |
| } VkPhysicalDeviceVulkanSC10Properties; |
| |
| typedef struct VkPipelinePoolSize { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize poolEntrySize; |
| uint32_t poolEntryCount; |
| } VkPipelinePoolSize; |
| |
| typedef struct VkDeviceObjectReservationCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t pipelineCacheCreateInfoCount; |
| const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos; |
| uint32_t pipelinePoolSizeCount; |
| const VkPipelinePoolSize* pPipelinePoolSizes; |
| uint32_t semaphoreRequestCount; |
| uint32_t commandBufferRequestCount; |
| uint32_t fenceRequestCount; |
| uint32_t deviceMemoryRequestCount; |
| uint32_t bufferRequestCount; |
| uint32_t imageRequestCount; |
| uint32_t eventRequestCount; |
| uint32_t queryPoolRequestCount; |
| uint32_t bufferViewRequestCount; |
| uint32_t imageViewRequestCount; |
| uint32_t layeredImageViewRequestCount; |
| uint32_t pipelineCacheRequestCount; |
| uint32_t pipelineLayoutRequestCount; |
| uint32_t renderPassRequestCount; |
| uint32_t graphicsPipelineRequestCount; |
| uint32_t computePipelineRequestCount; |
| uint32_t descriptorSetLayoutRequestCount; |
| uint32_t samplerRequestCount; |
| uint32_t descriptorPoolRequestCount; |
| uint32_t descriptorSetRequestCount; |
| uint32_t framebufferRequestCount; |
| uint32_t commandPoolRequestCount; |
| uint32_t samplerYcbcrConversionRequestCount; |
| uint32_t surfaceRequestCount; |
| uint32_t swapchainRequestCount; |
| uint32_t displayModeRequestCount; |
| uint32_t subpassDescriptionRequestCount; |
| uint32_t attachmentDescriptionRequestCount; |
| uint32_t descriptorSetLayoutBindingRequestCount; |
| uint32_t descriptorSetLayoutBindingLimit; |
| uint32_t maxImageViewMipLevels; |
| uint32_t maxImageViewArrayLayers; |
| uint32_t maxLayeredImageViewMipLevels; |
| uint32_t maxOcclusionQueriesPerPool; |
| uint32_t maxPipelineStatisticsQueriesPerPool; |
| uint32_t maxTimestampQueriesPerPool; |
| uint32_t maxImmutableSamplersPerDescriptorSetLayout; |
| } VkDeviceObjectReservationCreateInfo; |
| |
| typedef struct VkCommandPoolMemoryReservationCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize commandPoolReservedSize; |
| uint32_t commandPoolMaxCommandBuffers; |
| } VkCommandPoolMemoryReservationCreateInfo; |
| |
| typedef struct VkCommandPoolMemoryConsumption { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize commandPoolAllocated; |
| VkDeviceSize commandPoolReservedSize; |
| VkDeviceSize commandBufferAllocated; |
| } VkCommandPoolMemoryConsumption; |
| |
| typedef struct VkFaultData { |
| VkStructureType sType; |
| void* pNext; |
| VkFaultLevel faultLevel; |
| VkFaultType faultType; |
| } VkFaultData; |
| |
| typedef void (VKAPI_PTR *PFN_vkFaultCallbackFunction)( |
| VkBool32 unrecordedFaults, |
| uint32_t faultCount, |
| const VkFaultData* pFaults); |
| |
| typedef struct VkFaultCallbackInfo { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t faultCount; |
| VkFaultData* pFaults; |
| PFN_vkFaultCallbackFunction pfnFaultCallback; |
| } VkFaultCallbackInfo; |
| |
| typedef struct VkPipelineOfflineCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint8_t pipelineIdentifier[VK_UUID_SIZE]; |
| VkPipelineMatchControl matchControl; |
| VkDeviceSize poolEntrySize; |
| } VkPipelineOfflineCreateInfo; |
| |
| typedef struct VkPipelineCacheStageValidationIndexEntry { |
| uint64_t codeSize; |
| uint64_t codeOffset; |
| } VkPipelineCacheStageValidationIndexEntry; |
| |
| typedef struct VkPipelineCacheSafetyCriticalIndexEntry { |
| uint8_t pipelineIdentifier[VK_UUID_SIZE]; |
| uint64_t pipelineMemorySize; |
| uint64_t jsonSize; |
| uint64_t jsonOffset; |
| uint32_t stageIndexCount; |
| uint32_t stageIndexStride; |
| uint64_t stageIndexOffset; |
| } VkPipelineCacheSafetyCriticalIndexEntry; |
| |
| typedef struct VkPipelineCacheHeaderVersionSafetyCriticalOne { |
| VkPipelineCacheHeaderVersionOne headerVersionOne; |
| VkPipelineCacheValidationVersion validationVersion; |
| uint32_t implementationData; |
| uint32_t pipelineIndexCount; |
| uint32_t pipelineIndexStride; |
| uint64_t pipelineIndexOffset; |
| } VkPipelineCacheHeaderVersionSafetyCriticalOne; |
| |
| typedef void (VKAPI_PTR *PFN_vkGetCommandPoolMemoryConsumption)(VkDevice device, VkCommandPool commandPool, VkCommandBuffer commandBuffer, VkCommandPoolMemoryConsumption* pConsumption); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetFaultData)(VkDevice device, VkFaultQueryBehavior faultQueryBehavior, VkBool32* pUnrecordedFaults, uint32_t* pFaultCount, VkFaultData* pFaults); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkGetCommandPoolMemoryConsumption( |
| VkDevice device, |
| VkCommandPool commandPool, |
| VkCommandBuffer commandBuffer, |
| VkCommandPoolMemoryConsumption* pConsumption); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetFaultData( |
| VkDevice device, |
| VkFaultQueryBehavior faultQueryBehavior, |
| VkBool32* pUnrecordedFaults, |
| uint32_t* pFaultCount, |
| VkFaultData* pFaults); |
| #endif |
| |
| |
| #define VK_KHR_surface 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) |
| #define VK_KHR_SURFACE_SPEC_VERSION 25 |
| #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" |
| |
| typedef enum VkPresentModeKHR { |
| VK_PRESENT_MODE_IMMEDIATE_KHR = 0, |
| VK_PRESENT_MODE_MAILBOX_KHR = 1, |
| VK_PRESENT_MODE_FIFO_KHR = 2, |
| VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, |
| VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, |
| VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, |
| VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPresentModeKHR; |
| |
| typedef enum VkColorSpaceKHR { |
| VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, |
| VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, |
| VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, |
| VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, |
| VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, |
| VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, |
| VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, |
| VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, |
| VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, |
| VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, |
| VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, |
| VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, |
| VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, |
| VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, |
| VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, |
| VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkColorSpaceKHR; |
| |
| typedef enum VkSurfaceTransformFlagBitsKHR { |
| VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, |
| VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, |
| VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, |
| VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, |
| VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, |
| VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkSurfaceTransformFlagBitsKHR; |
| |
| typedef enum VkCompositeAlphaFlagBitsKHR { |
| VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, |
| VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, |
| VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, |
| VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkCompositeAlphaFlagBitsKHR; |
| typedef VkFlags VkCompositeAlphaFlagsKHR; |
| typedef VkFlags VkSurfaceTransformFlagsKHR; |
| typedef struct VkSurfaceCapabilitiesKHR { |
| uint32_t minImageCount; |
| uint32_t maxImageCount; |
| VkExtent2D currentExtent; |
| VkExtent2D minImageExtent; |
| VkExtent2D maxImageExtent; |
| uint32_t maxImageArrayLayers; |
| VkSurfaceTransformFlagsKHR supportedTransforms; |
| VkSurfaceTransformFlagBitsKHR currentTransform; |
| VkCompositeAlphaFlagsKHR supportedCompositeAlpha; |
| VkImageUsageFlags supportedUsageFlags; |
| } VkSurfaceCapabilitiesKHR; |
| |
| typedef struct VkSurfaceFormatKHR { |
| VkFormat format; |
| VkColorSpaceKHR colorSpace; |
| } VkSurfaceFormatKHR; |
| |
| typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( |
| VkInstance instance, |
| VkSurfaceKHR surface, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| VkSurfaceKHR surface, |
| VkBool32* pSupported); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| uint32_t* pSurfaceFormatCount, |
| VkSurfaceFormatKHR* pSurfaceFormats); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| uint32_t* pPresentModeCount, |
| VkPresentModeKHR* pPresentModes); |
| #endif |
| |
| |
| #define VK_KHR_swapchain 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) |
| #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 |
| #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" |
| |
| typedef enum VkSwapchainCreateFlagBitsKHR { |
| VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, |
| VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, |
| VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, |
| VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkSwapchainCreateFlagBitsKHR; |
| typedef VkFlags VkSwapchainCreateFlagsKHR; |
| |
| typedef enum VkDeviceGroupPresentModeFlagBitsKHR { |
| VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, |
| VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, |
| VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, |
| VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, |
| VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkDeviceGroupPresentModeFlagBitsKHR; |
| typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; |
| typedef struct VkSwapchainCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSwapchainCreateFlagsKHR flags; |
| VkSurfaceKHR surface; |
| uint32_t minImageCount; |
| VkFormat imageFormat; |
| VkColorSpaceKHR imageColorSpace; |
| VkExtent2D imageExtent; |
| uint32_t imageArrayLayers; |
| VkImageUsageFlags imageUsage; |
| VkSharingMode imageSharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| VkSurfaceTransformFlagBitsKHR preTransform; |
| VkCompositeAlphaFlagBitsKHR compositeAlpha; |
| VkPresentModeKHR presentMode; |
| VkBool32 clipped; |
| VkSwapchainKHR oldSwapchain; |
| } VkSwapchainCreateInfoKHR; |
| |
| typedef struct VkPresentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const VkSemaphore* pWaitSemaphores; |
| uint32_t swapchainCount; |
| const VkSwapchainKHR* pSwapchains; |
| const uint32_t* pImageIndices; |
| VkResult* pResults; |
| } VkPresentInfoKHR; |
| |
| typedef struct VkImageSwapchainCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSwapchainKHR swapchain; |
| } VkImageSwapchainCreateInfoKHR; |
| |
| typedef struct VkBindImageMemorySwapchainInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSwapchainKHR swapchain; |
| uint32_t imageIndex; |
| } VkBindImageMemorySwapchainInfoKHR; |
| |
| typedef struct VkAcquireNextImageInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSwapchainKHR swapchain; |
| uint64_t timeout; |
| VkSemaphore semaphore; |
| VkFence fence; |
| uint32_t deviceMask; |
| } VkAcquireNextImageInfoKHR; |
| |
| typedef struct VkDeviceGroupPresentCapabilitiesKHR { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; |
| VkDeviceGroupPresentModeFlagsKHR modes; |
| } VkDeviceGroupPresentCapabilitiesKHR; |
| |
| typedef struct VkDeviceGroupPresentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t swapchainCount; |
| const uint32_t* pDeviceMasks; |
| VkDeviceGroupPresentModeFlagBitsKHR mode; |
| } VkDeviceGroupPresentInfoKHR; |
| |
| typedef struct VkDeviceGroupSwapchainCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceGroupPresentModeFlagsKHR modes; |
| } VkDeviceGroupSwapchainCreateInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); |
| typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); |
| typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( |
| VkDevice device, |
| const VkSwapchainCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSwapchainKHR* pSwapchain); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| uint32_t* pSwapchainImageCount, |
| VkImage* pSwapchainImages); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| uint64_t timeout, |
| VkSemaphore semaphore, |
| VkFence fence, |
| uint32_t* pImageIndex); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( |
| VkQueue queue, |
| const VkPresentInfoKHR* pPresentInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( |
| VkDevice device, |
| VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( |
| VkDevice device, |
| VkSurfaceKHR surface, |
| VkDeviceGroupPresentModeFlagsKHR* pModes); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| uint32_t* pRectCount, |
| VkRect2D* pRects); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( |
| VkDevice device, |
| const VkAcquireNextImageInfoKHR* pAcquireInfo, |
| uint32_t* pImageIndex); |
| #endif |
| |
| |
| #define VK_KHR_display 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) |
| #define VK_KHR_DISPLAY_SPEC_VERSION 23 |
| #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" |
| typedef VkFlags VkDisplayModeCreateFlagsKHR; |
| |
| typedef enum VkDisplayPlaneAlphaFlagBitsKHR { |
| VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, |
| VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkDisplayPlaneAlphaFlagBitsKHR; |
| typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; |
| typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; |
| typedef struct VkDisplayModeParametersKHR { |
| VkExtent2D visibleRegion; |
| uint32_t refreshRate; |
| } VkDisplayModeParametersKHR; |
| |
| typedef struct VkDisplayModeCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplayModeCreateFlagsKHR flags; |
| VkDisplayModeParametersKHR parameters; |
| } VkDisplayModeCreateInfoKHR; |
| |
| typedef struct VkDisplayModePropertiesKHR { |
| VkDisplayModeKHR displayMode; |
| VkDisplayModeParametersKHR parameters; |
| } VkDisplayModePropertiesKHR; |
| |
| typedef struct VkDisplayPlaneCapabilitiesKHR { |
| VkDisplayPlaneAlphaFlagsKHR supportedAlpha; |
| VkOffset2D minSrcPosition; |
| VkOffset2D maxSrcPosition; |
| VkExtent2D minSrcExtent; |
| VkExtent2D maxSrcExtent; |
| VkOffset2D minDstPosition; |
| VkOffset2D maxDstPosition; |
| VkExtent2D minDstExtent; |
| VkExtent2D maxDstExtent; |
| } VkDisplayPlaneCapabilitiesKHR; |
| |
| typedef struct VkDisplayPlanePropertiesKHR { |
| VkDisplayKHR currentDisplay; |
| uint32_t currentStackIndex; |
| } VkDisplayPlanePropertiesKHR; |
| |
| typedef struct VkDisplayPropertiesKHR { |
| VkDisplayKHR display; |
| const char* displayName; |
| VkExtent2D physicalDimensions; |
| VkExtent2D physicalResolution; |
| VkSurfaceTransformFlagsKHR supportedTransforms; |
| VkBool32 planeReorderPossible; |
| VkBool32 persistentContent; |
| } VkDisplayPropertiesKHR; |
| |
| typedef struct VkDisplaySurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplaySurfaceCreateFlagsKHR flags; |
| VkDisplayModeKHR displayMode; |
| uint32_t planeIndex; |
| uint32_t planeStackIndex; |
| VkSurfaceTransformFlagBitsKHR transform; |
| float globalAlpha; |
| VkDisplayPlaneAlphaFlagBitsKHR alphaMode; |
| VkExtent2D imageExtent; |
| } VkDisplaySurfaceCreateInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayPropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayPlanePropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t planeIndex, |
| uint32_t* pDisplayCount, |
| VkDisplayKHR* pDisplays); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display, |
| uint32_t* pPropertyCount, |
| VkDisplayModePropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display, |
| const VkDisplayModeCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDisplayModeKHR* pMode); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayModeKHR mode, |
| uint32_t planeIndex, |
| VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( |
| VkInstance instance, |
| const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| #endif |
| |
| |
| #define VK_KHR_display_swapchain 1 |
| #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 |
| #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" |
| typedef struct VkDisplayPresentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkRect2D srcRect; |
| VkRect2D dstRect; |
| VkBool32 persistent; |
| } VkDisplayPresentInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( |
| VkDevice device, |
| uint32_t swapchainCount, |
| const VkSwapchainCreateInfoKHR* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkSwapchainKHR* pSwapchains); |
| #endif |
| |
| |
| #define VK_KHR_external_memory_fd 1 |
| #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 |
| #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" |
| typedef struct VkImportMemoryFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagBits handleType; |
| int fd; |
| } VkImportMemoryFdInfoKHR; |
| |
| typedef struct VkMemoryFdPropertiesKHR { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t memoryTypeBits; |
| } VkMemoryFdPropertiesKHR; |
| |
| typedef struct VkMemoryGetFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceMemory memory; |
| VkExternalMemoryHandleTypeFlagBits handleType; |
| } VkMemoryGetFdInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( |
| VkDevice device, |
| const VkMemoryGetFdInfoKHR* pGetFdInfo, |
| int* pFd); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( |
| VkDevice device, |
| VkExternalMemoryHandleTypeFlagBits handleType, |
| int fd, |
| VkMemoryFdPropertiesKHR* pMemoryFdProperties); |
| #endif |
| |
| |
| #define VK_KHR_external_semaphore_fd 1 |
| #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 |
| #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" |
| typedef struct VkImportSemaphoreFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphore semaphore; |
| VkSemaphoreImportFlags flags; |
| VkExternalSemaphoreHandleTypeFlagBits handleType; |
| int fd; |
| } VkImportSemaphoreFdInfoKHR; |
| |
| typedef struct VkSemaphoreGetFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphore semaphore; |
| VkExternalSemaphoreHandleTypeFlagBits handleType; |
| } VkSemaphoreGetFdInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( |
| VkDevice device, |
| const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( |
| VkDevice device, |
| const VkSemaphoreGetFdInfoKHR* pGetFdInfo, |
| int* pFd); |
| #endif |
| |
| |
| #define VK_KHR_incremental_present 1 |
| #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 |
| #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" |
| typedef struct VkRectLayerKHR { |
| VkOffset2D offset; |
| VkExtent2D extent; |
| uint32_t layer; |
| } VkRectLayerKHR; |
| |
| typedef struct VkPresentRegionKHR { |
| uint32_t rectangleCount; |
| const VkRectLayerKHR* pRectangles; |
| } VkPresentRegionKHR; |
| |
| typedef struct VkPresentRegionsKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t swapchainCount; |
| const VkPresentRegionKHR* pRegions; |
| } VkPresentRegionsKHR; |
| |
| |
| |
| #define VK_KHR_shared_presentable_image 1 |
| #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 |
| #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" |
| typedef struct VkSharedPresentSurfaceCapabilitiesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkImageUsageFlags sharedPresentSupportedUsageFlags; |
| } VkSharedPresentSurfaceCapabilitiesKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain); |
| #endif |
| |
| |
| #define VK_KHR_external_fence_fd 1 |
| #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 |
| #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" |
| typedef struct VkImportFenceFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkFence fence; |
| VkFenceImportFlags flags; |
| VkExternalFenceHandleTypeFlagBits handleType; |
| int fd; |
| } VkImportFenceFdInfoKHR; |
| |
| typedef struct VkFenceGetFdInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkFence fence; |
| VkExternalFenceHandleTypeFlagBits handleType; |
| } VkFenceGetFdInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( |
| VkDevice device, |
| const VkImportFenceFdInfoKHR* pImportFenceFdInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( |
| VkDevice device, |
| const VkFenceGetFdInfoKHR* pGetFdInfo, |
| int* pFd); |
| #endif |
| |
| |
| #define VK_KHR_performance_query 1 |
| #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 |
| #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" |
| |
| typedef enum VkPerformanceCounterUnitKHR { |
| VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, |
| VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, |
| VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, |
| VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, |
| VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, |
| VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, |
| VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, |
| VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, |
| VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, |
| VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, |
| VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, |
| VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPerformanceCounterUnitKHR; |
| |
| typedef enum VkPerformanceCounterScopeKHR { |
| VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, |
| VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, |
| VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, |
| VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, |
| VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, |
| VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, |
| VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPerformanceCounterScopeKHR; |
| |
| typedef enum VkPerformanceCounterStorageKHR { |
| VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, |
| VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, |
| VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, |
| VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, |
| VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, |
| VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, |
| VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPerformanceCounterStorageKHR; |
| |
| typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { |
| VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, |
| VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, |
| VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, |
| VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, |
| VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPerformanceCounterDescriptionFlagBitsKHR; |
| typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; |
| |
| typedef enum VkAcquireProfilingLockFlagBitsKHR { |
| VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkAcquireProfilingLockFlagBitsKHR; |
| typedef VkFlags VkAcquireProfilingLockFlagsKHR; |
| typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 performanceCounterQueryPools; |
| VkBool32 performanceCounterMultipleQueryPools; |
| } VkPhysicalDevicePerformanceQueryFeaturesKHR; |
| |
| typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 allowCommandBufferQueryCopies; |
| } VkPhysicalDevicePerformanceQueryPropertiesKHR; |
| |
| typedef struct VkPerformanceCounterKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkPerformanceCounterUnitKHR unit; |
| VkPerformanceCounterScopeKHR scope; |
| VkPerformanceCounterStorageKHR storage; |
| uint8_t uuid[VK_UUID_SIZE]; |
| } VkPerformanceCounterKHR; |
| |
| typedef struct VkPerformanceCounterDescriptionKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkPerformanceCounterDescriptionFlagsKHR flags; |
| char name[VK_MAX_DESCRIPTION_SIZE]; |
| char category[VK_MAX_DESCRIPTION_SIZE]; |
| char description[VK_MAX_DESCRIPTION_SIZE]; |
| } VkPerformanceCounterDescriptionKHR; |
| |
| typedef struct VkQueryPoolPerformanceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t queueFamilyIndex; |
| uint32_t counterIndexCount; |
| const uint32_t* pCounterIndices; |
| } VkQueryPoolPerformanceCreateInfoKHR; |
| |
| typedef union VkPerformanceCounterResultKHR { |
| int32_t int32; |
| int64_t int64; |
| uint32_t uint32; |
| uint64_t uint64; |
| float float32; |
| double float64; |
| } VkPerformanceCounterResultKHR; |
| |
| typedef struct VkAcquireProfilingLockInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkAcquireProfilingLockFlagsKHR flags; |
| uint64_t timeout; |
| } VkAcquireProfilingLockInfoKHR; |
| |
| typedef struct VkPerformanceQuerySubmitInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t counterPassIndex; |
| } VkPerformanceQuerySubmitInfoKHR; |
| |
| typedef struct VkPerformanceQueryReservationInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t maxPerformanceQueriesPerPool; |
| } VkPerformanceQueryReservationInfoKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); |
| typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); |
| typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| uint32_t* pCounterCount, |
| VkPerformanceCounterKHR* pCounters, |
| VkPerformanceCounterDescriptionKHR* pCounterDescriptions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( |
| VkPhysicalDevice physicalDevice, |
| const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, |
| uint32_t* pNumPasses); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( |
| VkDevice device, |
| const VkAcquireProfilingLockInfoKHR* pInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( |
| VkDevice device); |
| #endif |
| |
| |
| #define VK_KHR_get_surface_capabilities2 1 |
| #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 |
| #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" |
| typedef struct VkPhysicalDeviceSurfaceInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSurfaceKHR surface; |
| } VkPhysicalDeviceSurfaceInfo2KHR; |
| |
| typedef struct VkSurfaceCapabilities2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkSurfaceCapabilitiesKHR surfaceCapabilities; |
| } VkSurfaceCapabilities2KHR; |
| |
| typedef struct VkSurfaceFormat2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkSurfaceFormatKHR surfaceFormat; |
| } VkSurfaceFormat2KHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, |
| VkSurfaceCapabilities2KHR* pSurfaceCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, |
| uint32_t* pSurfaceFormatCount, |
| VkSurfaceFormat2KHR* pSurfaceFormats); |
| #endif |
| |
| |
| #define VK_KHR_get_display_properties2 1 |
| #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 |
| #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" |
| typedef struct VkDisplayProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkDisplayPropertiesKHR displayProperties; |
| } VkDisplayProperties2KHR; |
| |
| typedef struct VkDisplayPlaneProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkDisplayPlanePropertiesKHR displayPlaneProperties; |
| } VkDisplayPlaneProperties2KHR; |
| |
| typedef struct VkDisplayModeProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkDisplayModePropertiesKHR displayModeProperties; |
| } VkDisplayModeProperties2KHR; |
| |
| typedef struct VkDisplayPlaneInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplayModeKHR mode; |
| uint32_t planeIndex; |
| } VkDisplayPlaneInfo2KHR; |
| |
| typedef struct VkDisplayPlaneCapabilities2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkDisplayPlaneCapabilitiesKHR capabilities; |
| } VkDisplayPlaneCapabilities2KHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayProperties2KHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayPlaneProperties2KHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display, |
| uint32_t* pPropertyCount, |
| VkDisplayModeProperties2KHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( |
| VkPhysicalDevice physicalDevice, |
| const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, |
| VkDisplayPlaneCapabilities2KHR* pCapabilities); |
| #endif |
| |
| |
| #define VK_KHR_shader_clock 1 |
| #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 |
| #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" |
| typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderSubgroupClock; |
| VkBool32 shaderDeviceClock; |
| } VkPhysicalDeviceShaderClockFeaturesKHR; |
| |
| |
| |
| #define VK_KHR_swapchain_mutable_format 1 |
| #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 |
| #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" |
| |
| |
| #define VK_KHR_shader_terminate_invocation 1 |
| #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 |
| #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" |
| typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderTerminateInvocation; |
| } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; |
| |
| |
| |
| #define VK_KHR_fragment_shading_rate 1 |
| #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 |
| #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" |
| |
| typedef enum VkFragmentShadingRateCombinerOpKHR { |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, |
| VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkFragmentShadingRateCombinerOpKHR; |
| typedef struct VkFragmentShadingRateAttachmentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| const VkAttachmentReference2* pFragmentShadingRateAttachment; |
| VkExtent2D shadingRateAttachmentTexelSize; |
| } VkFragmentShadingRateAttachmentInfoKHR; |
| |
| typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkExtent2D fragmentSize; |
| VkFragmentShadingRateCombinerOpKHR combinerOps[2]; |
| } VkPipelineFragmentShadingRateStateCreateInfoKHR; |
| |
| typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 pipelineFragmentShadingRate; |
| VkBool32 primitiveFragmentShadingRate; |
| VkBool32 attachmentFragmentShadingRate; |
| } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; |
| |
| typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkExtent2D minFragmentShadingRateAttachmentTexelSize; |
| VkExtent2D maxFragmentShadingRateAttachmentTexelSize; |
| uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; |
| VkBool32 primitiveFragmentShadingRateWithMultipleViewports; |
| VkBool32 layeredShadingRateAttachments; |
| VkBool32 fragmentShadingRateNonTrivialCombinerOps; |
| VkExtent2D maxFragmentSize; |
| uint32_t maxFragmentSizeAspectRatio; |
| uint32_t maxFragmentShadingRateCoverageSamples; |
| VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; |
| VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; |
| VkBool32 fragmentShadingRateWithSampleMask; |
| VkBool32 fragmentShadingRateWithShaderSampleMask; |
| VkBool32 fragmentShadingRateWithConservativeRasterization; |
| VkBool32 fragmentShadingRateWithFragmentShaderInterlock; |
| VkBool32 fragmentShadingRateWithCustomSampleLocations; |
| VkBool32 fragmentShadingRateStrictMultiplyCombiner; |
| } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; |
| |
| typedef struct VkPhysicalDeviceFragmentShadingRateKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkSampleCountFlags sampleCounts; |
| VkExtent2D fragmentSize; |
| } VkPhysicalDeviceFragmentShadingRateKHR; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pFragmentShadingRateCount, |
| VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( |
| VkCommandBuffer commandBuffer, |
| const VkExtent2D* pFragmentSize, |
| const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); |
| #endif |
| |
| |
| #define VK_KHR_object_refresh 1 |
| #define VK_KHR_OBJECT_REFRESH_SPEC_VERSION 1 |
| #define VK_KHR_OBJECT_REFRESH_EXTENSION_NAME "VK_KHR_object_refresh" |
| |
| typedef enum VkRefreshObjectFlagBitsKHR { |
| VK_REFRESH_OBJECT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkRefreshObjectFlagBitsKHR; |
| typedef VkFlags VkRefreshObjectFlagsKHR; |
| typedef struct VkRefreshObjectKHR { |
| VkObjectType objectType; |
| uint64_t objectHandle; |
| VkRefreshObjectFlagsKHR flags; |
| } VkRefreshObjectKHR; |
| |
| typedef struct VkRefreshObjectListKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t objectCount; |
| const VkRefreshObjectKHR* pObjects; |
| } VkRefreshObjectListKHR; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdRefreshObjectsKHR)(VkCommandBuffer commandBuffer, const VkRefreshObjectListKHR* pRefreshObjects); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceRefreshableObjectTypesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pRefreshableObjectTypeCount, VkObjectType* pRefreshableObjectTypes); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdRefreshObjectsKHR( |
| VkCommandBuffer commandBuffer, |
| const VkRefreshObjectListKHR* pRefreshObjects); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceRefreshableObjectTypesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pRefreshableObjectTypeCount, |
| VkObjectType* pRefreshableObjectTypes); |
| #endif |
| |
| |
| #define VK_KHR_synchronization2 1 |
| typedef uint64_t VkFlags64; |
| #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 |
| #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" |
| typedef VkFlags64 VkPipelineStageFlags2KHR; |
| |
| // Flag bits for VkPipelineStageFlagBits2KHR |
| typedef VkFlags64 VkPipelineStageFlagBits2KHR; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; |
| static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; |
| |
| typedef VkFlags64 VkAccessFlags2KHR; |
| |
| // Flag bits for VkAccessFlagBits2KHR |
| typedef VkFlags64 VkAccessFlagBits2KHR; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; |
| static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; |
| |
| |
| typedef enum VkSubmitFlagBitsKHR { |
| VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001, |
| VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkSubmitFlagBitsKHR; |
| typedef VkFlags VkSubmitFlagsKHR; |
| typedef struct VkMemoryBarrier2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineStageFlags2KHR srcStageMask; |
| VkAccessFlags2KHR srcAccessMask; |
| VkPipelineStageFlags2KHR dstStageMask; |
| VkAccessFlags2KHR dstAccessMask; |
| } VkMemoryBarrier2KHR; |
| |
| typedef struct VkBufferMemoryBarrier2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineStageFlags2KHR srcStageMask; |
| VkAccessFlags2KHR srcAccessMask; |
| VkPipelineStageFlags2KHR dstStageMask; |
| VkAccessFlags2KHR dstAccessMask; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| } VkBufferMemoryBarrier2KHR; |
| |
| typedef struct VkImageMemoryBarrier2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineStageFlags2KHR srcStageMask; |
| VkAccessFlags2KHR srcAccessMask; |
| VkPipelineStageFlags2KHR dstStageMask; |
| VkAccessFlags2KHR dstAccessMask; |
| VkImageLayout oldLayout; |
| VkImageLayout newLayout; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkImage image; |
| VkImageSubresourceRange subresourceRange; |
| } VkImageMemoryBarrier2KHR; |
| |
| typedef struct VkDependencyInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDependencyFlags dependencyFlags; |
| uint32_t memoryBarrierCount; |
| const VkMemoryBarrier2KHR* pMemoryBarriers; |
| uint32_t bufferMemoryBarrierCount; |
| const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers; |
| uint32_t imageMemoryBarrierCount; |
| const VkImageMemoryBarrier2KHR* pImageMemoryBarriers; |
| } VkDependencyInfoKHR; |
| |
| typedef struct VkSemaphoreSubmitInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphore semaphore; |
| uint64_t value; |
| VkPipelineStageFlags2KHR stageMask; |
| uint32_t deviceIndex; |
| } VkSemaphoreSubmitInfoKHR; |
| |
| typedef struct VkCommandBufferSubmitInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandBuffer commandBuffer; |
| uint32_t deviceMask; |
| } VkCommandBufferSubmitInfoKHR; |
| |
| typedef struct VkSubmitInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSubmitFlagsKHR flags; |
| uint32_t waitSemaphoreInfoCount; |
| const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos; |
| uint32_t commandBufferInfoCount; |
| const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos; |
| uint32_t signalSemaphoreInfoCount; |
| const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos; |
| } VkSubmitInfo2KHR; |
| |
| typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 synchronization2; |
| } VkPhysicalDeviceSynchronization2FeaturesKHR; |
| |
| typedef struct VkQueueFamilyCheckpointProperties2NV { |
| VkStructureType sType; |
| void* pNext; |
| VkPipelineStageFlags2KHR checkpointExecutionStageMask; |
| } VkQueueFamilyCheckpointProperties2NV; |
| |
| typedef struct VkCheckpointData2NV { |
| VkStructureType sType; |
| void* pNext; |
| VkPipelineStageFlags2KHR stage; |
| void* pCheckpointMarker; |
| } VkCheckpointData2NV; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos); |
| typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence); |
| typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); |
| typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| const VkDependencyInfoKHR* pDependencyInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| VkPipelineStageFlags2KHR stageMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( |
| VkCommandBuffer commandBuffer, |
| uint32_t eventCount, |
| const VkEvent* pEvents, |
| const VkDependencyInfoKHR* pDependencyInfos); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkDependencyInfoKHR* pDependencyInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlags2KHR stage, |
| VkQueryPool queryPool, |
| uint32_t query); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( |
| VkQueue queue, |
| uint32_t submitCount, |
| const VkSubmitInfo2KHR* pSubmits, |
| VkFence fence); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlags2KHR stage, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| uint32_t marker); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( |
| VkQueue queue, |
| uint32_t* pCheckpointDataCount, |
| VkCheckpointData2NV* pCheckpointData); |
| #endif |
| |
| |
| #define VK_KHR_copy_commands2 1 |
| #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 |
| #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" |
| typedef struct VkBufferCopy2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize srcOffset; |
| VkDeviceSize dstOffset; |
| VkDeviceSize size; |
| } VkBufferCopy2KHR; |
| |
| typedef struct VkCopyBufferInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkBuffer srcBuffer; |
| VkBuffer dstBuffer; |
| uint32_t regionCount; |
| const VkBufferCopy2KHR* pRegions; |
| } VkCopyBufferInfo2KHR; |
| |
| typedef struct VkImageCopy2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageCopy2KHR; |
| |
| typedef struct VkCopyImageInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage srcImage; |
| VkImageLayout srcImageLayout; |
| VkImage dstImage; |
| VkImageLayout dstImageLayout; |
| uint32_t regionCount; |
| const VkImageCopy2KHR* pRegions; |
| } VkCopyImageInfo2KHR; |
| |
| typedef struct VkBufferImageCopy2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize bufferOffset; |
| uint32_t bufferRowLength; |
| uint32_t bufferImageHeight; |
| VkImageSubresourceLayers imageSubresource; |
| VkOffset3D imageOffset; |
| VkExtent3D imageExtent; |
| } VkBufferImageCopy2KHR; |
| |
| typedef struct VkCopyBufferToImageInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkBuffer srcBuffer; |
| VkImage dstImage; |
| VkImageLayout dstImageLayout; |
| uint32_t regionCount; |
| const VkBufferImageCopy2KHR* pRegions; |
| } VkCopyBufferToImageInfo2KHR; |
| |
| typedef struct VkCopyImageToBufferInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage srcImage; |
| VkImageLayout srcImageLayout; |
| VkBuffer dstBuffer; |
| uint32_t regionCount; |
| const VkBufferImageCopy2KHR* pRegions; |
| } VkCopyImageToBufferInfo2KHR; |
| |
| typedef struct VkImageBlit2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffsets[2]; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffsets[2]; |
| } VkImageBlit2KHR; |
| |
| typedef struct VkBlitImageInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage srcImage; |
| VkImageLayout srcImageLayout; |
| VkImage dstImage; |
| VkImageLayout dstImageLayout; |
| uint32_t regionCount; |
| const VkImageBlit2KHR* pRegions; |
| VkFilter filter; |
| } VkBlitImageInfo2KHR; |
| |
| typedef struct VkImageResolve2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageResolve2KHR; |
| |
| typedef struct VkResolveImageInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage srcImage; |
| VkImageLayout srcImageLayout; |
| VkImage dstImage; |
| VkImageLayout dstImageLayout; |
| uint32_t regionCount; |
| const VkImageResolve2KHR* pRegions; |
| } VkResolveImageInfo2KHR; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkCopyBufferInfo2KHR* pCopyBufferInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkCopyImageInfo2KHR* pCopyImageInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkBlitImageInfo2KHR* pBlitImageInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( |
| VkCommandBuffer commandBuffer, |
| const VkResolveImageInfo2KHR* pResolveImageInfo); |
| #endif |
| |
| |
| #define VK_EXT_depth_range_unrestricted 1 |
| #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 |
| #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" |
| |
| |
| #define VK_EXT_texture_compression_astc_hdr 1 |
| #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 |
| #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" |
| typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 textureCompressionASTC_HDR; |
| } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_astc_decode_mode 1 |
| #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 |
| #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" |
| typedef struct VkImageViewASTCDecodeModeEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkFormat decodeMode; |
| } VkImageViewASTCDecodeModeEXT; |
| |
| typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 decodeModeSharedExponent; |
| } VkPhysicalDeviceASTCDecodeFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_direct_mode_display 1 |
| #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 |
| #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" |
| typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display); |
| #endif |
| |
| |
| #define VK_EXT_display_surface_counter 1 |
| #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 |
| #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" |
| |
| typedef enum VkSurfaceCounterFlagBitsEXT { |
| VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, |
| VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, |
| VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkSurfaceCounterFlagBitsEXT; |
| typedef VkFlags VkSurfaceCounterFlagsEXT; |
| typedef struct VkSurfaceCapabilities2EXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t minImageCount; |
| uint32_t maxImageCount; |
| VkExtent2D currentExtent; |
| VkExtent2D minImageExtent; |
| VkExtent2D maxImageExtent; |
| uint32_t maxImageArrayLayers; |
| VkSurfaceTransformFlagsKHR supportedTransforms; |
| VkSurfaceTransformFlagBitsKHR currentTransform; |
| VkCompositeAlphaFlagsKHR supportedCompositeAlpha; |
| VkImageUsageFlags supportedUsageFlags; |
| VkSurfaceCounterFlagsEXT supportedSurfaceCounters; |
| } VkSurfaceCapabilities2EXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| VkSurfaceCapabilities2EXT* pSurfaceCapabilities); |
| #endif |
| |
| |
| #define VK_EXT_display_control 1 |
| #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 |
| #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" |
| |
| typedef enum VkDisplayPowerStateEXT { |
| VK_DISPLAY_POWER_STATE_OFF_EXT = 0, |
| VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, |
| VK_DISPLAY_POWER_STATE_ON_EXT = 2, |
| VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDisplayPowerStateEXT; |
| |
| typedef enum VkDeviceEventTypeEXT { |
| VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, |
| VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDeviceEventTypeEXT; |
| |
| typedef enum VkDisplayEventTypeEXT { |
| VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, |
| VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDisplayEventTypeEXT; |
| typedef struct VkDisplayPowerInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplayPowerStateEXT powerState; |
| } VkDisplayPowerInfoEXT; |
| |
| typedef struct VkDeviceEventInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceEventTypeEXT deviceEvent; |
| } VkDeviceEventInfoEXT; |
| |
| typedef struct VkDisplayEventInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplayEventTypeEXT displayEvent; |
| } VkDisplayEventInfoEXT; |
| |
| typedef struct VkSwapchainCounterCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkSurfaceCounterFlagsEXT surfaceCounters; |
| } VkSwapchainCounterCreateInfoEXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
| typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( |
| VkDevice device, |
| VkDisplayKHR display, |
| const VkDisplayPowerInfoEXT* pDisplayPowerInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( |
| VkDevice device, |
| const VkDeviceEventInfoEXT* pDeviceEventInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFence* pFence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( |
| VkDevice device, |
| VkDisplayKHR display, |
| const VkDisplayEventInfoEXT* pDisplayEventInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFence* pFence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| VkSurfaceCounterFlagBitsEXT counter, |
| uint64_t* pCounterValue); |
| #endif |
| |
| |
| #define VK_EXT_discard_rectangles 1 |
| #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 |
| #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" |
| |
| typedef enum VkDiscardRectangleModeEXT { |
| VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, |
| VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, |
| VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDiscardRectangleModeEXT; |
| typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; |
| typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxDiscardRectangles; |
| } VkPhysicalDeviceDiscardRectanglePropertiesEXT; |
| |
| typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineDiscardRectangleStateCreateFlagsEXT flags; |
| VkDiscardRectangleModeEXT discardRectangleMode; |
| uint32_t discardRectangleCount; |
| const VkRect2D* pDiscardRectangles; |
| } VkPipelineDiscardRectangleStateCreateInfoEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstDiscardRectangle, |
| uint32_t discardRectangleCount, |
| const VkRect2D* pDiscardRectangles); |
| #endif |
| |
| |
| #define VK_EXT_conservative_rasterization 1 |
| #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 |
| #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" |
| |
| typedef enum VkConservativeRasterizationModeEXT { |
| VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, |
| VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, |
| VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, |
| VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkConservativeRasterizationModeEXT; |
| typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; |
| typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| float primitiveOverestimationSize; |
| float maxExtraPrimitiveOverestimationSize; |
| float extraPrimitiveOverestimationSizeGranularity; |
| VkBool32 primitiveUnderestimation; |
| VkBool32 conservativePointAndLineRasterization; |
| VkBool32 degenerateTrianglesRasterized; |
| VkBool32 degenerateLinesRasterized; |
| VkBool32 fullyCoveredFragmentShaderInputVariable; |
| VkBool32 conservativeRasterizationPostDepthCoverage; |
| } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; |
| |
| typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; |
| VkConservativeRasterizationModeEXT conservativeRasterizationMode; |
| float extraPrimitiveOverestimationSize; |
| } VkPipelineRasterizationConservativeStateCreateInfoEXT; |
| |
| |
| |
| #define VK_EXT_depth_clip_enable 1 |
| #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 |
| #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" |
| typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; |
| typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 depthClipEnable; |
| } VkPhysicalDeviceDepthClipEnableFeaturesEXT; |
| |
| typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; |
| VkBool32 depthClipEnable; |
| } VkPipelineRasterizationDepthClipStateCreateInfoEXT; |
| |
| |
| |
| #define VK_EXT_swapchain_colorspace 1 |
| #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 |
| #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" |
| |
| |
| #define VK_EXT_hdr_metadata 1 |
| #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 |
| #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" |
| typedef struct VkXYColorEXT { |
| float x; |
| float y; |
| } VkXYColorEXT; |
| |
| typedef struct VkHdrMetadataEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkXYColorEXT displayPrimaryRed; |
| VkXYColorEXT displayPrimaryGreen; |
| VkXYColorEXT displayPrimaryBlue; |
| VkXYColorEXT whitePoint; |
| float maxLuminance; |
| float minLuminance; |
| float maxContentLightLevel; |
| float maxFrameAverageLightLevel; |
| } VkHdrMetadataEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( |
| VkDevice device, |
| uint32_t swapchainCount, |
| const VkSwapchainKHR* pSwapchains, |
| const VkHdrMetadataEXT* pMetadata); |
| #endif |
| |
| |
| #define VK_EXT_external_memory_dma_buf 1 |
| #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 |
| #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" |
| |
| |
| #define VK_EXT_queue_family_foreign 1 |
| #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 |
| #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" |
| #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) |
| |
| |
| #define VK_EXT_debug_utils 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) |
| #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 |
| #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" |
| typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; |
| |
| typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { |
| VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, |
| VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, |
| VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, |
| VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, |
| VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDebugUtilsMessageSeverityFlagBitsEXT; |
| |
| typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { |
| VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, |
| VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, |
| VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, |
| VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDebugUtilsMessageTypeFlagBitsEXT; |
| typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; |
| typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; |
| typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; |
| typedef struct VkDebugUtilsLabelEXT { |
| VkStructureType sType; |
| const void* pNext; |
| const char* pLabelName; |
| float color[4]; |
| } VkDebugUtilsLabelEXT; |
| |
| typedef struct VkDebugUtilsObjectNameInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkObjectType objectType; |
| uint64_t objectHandle; |
| const char* pObjectName; |
| } VkDebugUtilsObjectNameInfoEXT; |
| |
| typedef struct VkDebugUtilsMessengerCallbackDataEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDebugUtilsMessengerCallbackDataFlagsEXT flags; |
| const char* pMessageIdName; |
| int32_t messageIdNumber; |
| const char* pMessage; |
| uint32_t queueLabelCount; |
| const VkDebugUtilsLabelEXT* pQueueLabels; |
| uint32_t cmdBufLabelCount; |
| const VkDebugUtilsLabelEXT* pCmdBufLabels; |
| uint32_t objectCount; |
| const VkDebugUtilsObjectNameInfoEXT* pObjects; |
| } VkDebugUtilsMessengerCallbackDataEXT; |
| |
| typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( |
| VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, |
| VkDebugUtilsMessageTypeFlagsEXT messageTypes, |
| const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, |
| void* pUserData); |
| |
| typedef struct VkDebugUtilsMessengerCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDebugUtilsMessengerCreateFlagsEXT flags; |
| VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; |
| VkDebugUtilsMessageTypeFlagsEXT messageType; |
| PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; |
| void* pUserData; |
| } VkDebugUtilsMessengerCreateInfoEXT; |
| |
| typedef struct VkDebugUtilsObjectTagInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkObjectType objectType; |
| uint64_t objectHandle; |
| uint64_t tagName; |
| size_t tagSize; |
| const void* pTag; |
| } VkDebugUtilsObjectTagInfoEXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); |
| typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); |
| typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); |
| typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); |
| typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( |
| VkDevice device, |
| const VkDebugUtilsObjectNameInfoEXT* pNameInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( |
| VkDevice device, |
| const VkDebugUtilsObjectTagInfoEXT* pTagInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( |
| VkQueue queue, |
| const VkDebugUtilsLabelEXT* pLabelInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( |
| VkQueue queue); |
| |
| VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( |
| VkQueue queue, |
| const VkDebugUtilsLabelEXT* pLabelInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( |
| VkCommandBuffer commandBuffer, |
| const VkDebugUtilsLabelEXT* pLabelInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( |
| VkCommandBuffer commandBuffer, |
| const VkDebugUtilsLabelEXT* pLabelInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( |
| VkInstance instance, |
| const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDebugUtilsMessengerEXT* pMessenger); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( |
| VkInstance instance, |
| VkDebugUtilsMessengerEXT messenger, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( |
| VkInstance instance, |
| VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, |
| VkDebugUtilsMessageTypeFlagsEXT messageTypes, |
| const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); |
| #endif |
| |
| |
| #define VK_EXT_shader_stencil_export 1 |
| #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 |
| #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" |
| |
| |
| #define VK_EXT_sample_locations 1 |
| #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 |
| #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" |
| typedef struct VkSampleLocationEXT { |
| float x; |
| float y; |
| } VkSampleLocationEXT; |
| |
| typedef struct VkSampleLocationsInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkSampleCountFlagBits sampleLocationsPerPixel; |
| VkExtent2D sampleLocationGridSize; |
| uint32_t sampleLocationsCount; |
| const VkSampleLocationEXT* pSampleLocations; |
| } VkSampleLocationsInfoEXT; |
| |
| typedef struct VkAttachmentSampleLocationsEXT { |
| uint32_t attachmentIndex; |
| VkSampleLocationsInfoEXT sampleLocationsInfo; |
| } VkAttachmentSampleLocationsEXT; |
| |
| typedef struct VkSubpassSampleLocationsEXT { |
| uint32_t subpassIndex; |
| VkSampleLocationsInfoEXT sampleLocationsInfo; |
| } VkSubpassSampleLocationsEXT; |
| |
| typedef struct VkRenderPassSampleLocationsBeginInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t attachmentInitialSampleLocationsCount; |
| const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; |
| uint32_t postSubpassSampleLocationsCount; |
| const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; |
| } VkRenderPassSampleLocationsBeginInfoEXT; |
| |
| typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 sampleLocationsEnable; |
| VkSampleLocationsInfoEXT sampleLocationsInfo; |
| } VkPipelineSampleLocationsStateCreateInfoEXT; |
| |
| typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkSampleCountFlags sampleLocationSampleCounts; |
| VkExtent2D maxSampleLocationGridSize; |
| float sampleLocationCoordinateRange[2]; |
| uint32_t sampleLocationSubPixelBits; |
| VkBool32 variableSampleLocations; |
| } VkPhysicalDeviceSampleLocationsPropertiesEXT; |
| |
| typedef struct VkMultisamplePropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkExtent2D maxSampleLocationGridSize; |
| } VkMultisamplePropertiesEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( |
| VkCommandBuffer commandBuffer, |
| const VkSampleLocationsInfoEXT* pSampleLocationsInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( |
| VkPhysicalDevice physicalDevice, |
| VkSampleCountFlagBits samples, |
| VkMultisamplePropertiesEXT* pMultisampleProperties); |
| #endif |
| |
| |
| #define VK_EXT_blend_operation_advanced 1 |
| #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 |
| #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" |
| |
| typedef enum VkBlendOverlapEXT { |
| VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, |
| VK_BLEND_OVERLAP_DISJOINT_EXT = 1, |
| VK_BLEND_OVERLAP_CONJOINT_EXT = 2, |
| VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkBlendOverlapEXT; |
| typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 advancedBlendCoherentOperations; |
| } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; |
| |
| typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t advancedBlendMaxColorAttachments; |
| VkBool32 advancedBlendIndependentBlend; |
| VkBool32 advancedBlendNonPremultipliedSrcColor; |
| VkBool32 advancedBlendNonPremultipliedDstColor; |
| VkBool32 advancedBlendCorrelatedOverlap; |
| VkBool32 advancedBlendAllOperations; |
| } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; |
| |
| typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 srcPremultiplied; |
| VkBool32 dstPremultiplied; |
| VkBlendOverlapEXT blendOverlap; |
| } VkPipelineColorBlendAdvancedStateCreateInfoEXT; |
| |
| |
| |
| #define VK_EXT_post_depth_coverage 1 |
| #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 |
| #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" |
| |
| |
| #define VK_EXT_image_drm_format_modifier 1 |
| #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 |
| #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" |
| typedef VkFlags64 VkFormatFeatureFlags2KHR; |
| |
| // Flag bits for VkFormatFeatureFlagBits2KHR |
| typedef VkFlags64 VkFormatFeatureFlagBits2KHR; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; |
| static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; |
| |
| typedef struct VkDrmFormatModifierPropertiesEXT { |
| uint64_t drmFormatModifier; |
| uint32_t drmFormatModifierPlaneCount; |
| VkFormatFeatureFlags drmFormatModifierTilingFeatures; |
| } VkDrmFormatModifierPropertiesEXT; |
| |
| typedef struct VkDrmFormatModifierPropertiesListEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t drmFormatModifierCount; |
| VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; |
| } VkDrmFormatModifierPropertiesListEXT; |
| |
| typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint64_t drmFormatModifier; |
| VkSharingMode sharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; |
| |
| typedef struct VkImageDrmFormatModifierListCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t drmFormatModifierCount; |
| const uint64_t* pDrmFormatModifiers; |
| } VkImageDrmFormatModifierListCreateInfoEXT; |
| |
| typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint64_t drmFormatModifier; |
| uint32_t drmFormatModifierPlaneCount; |
| const VkSubresourceLayout* pPlaneLayouts; |
| } VkImageDrmFormatModifierExplicitCreateInfoEXT; |
| |
| typedef struct VkImageDrmFormatModifierPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint64_t drmFormatModifier; |
| } VkImageDrmFormatModifierPropertiesEXT; |
| |
| typedef struct VkDrmFormatModifierProperties2EXT { |
| uint64_t drmFormatModifier; |
| uint32_t drmFormatModifierPlaneCount; |
| VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures; |
| } VkDrmFormatModifierProperties2EXT; |
| |
| typedef struct VkDrmFormatModifierPropertiesList2EXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t drmFormatModifierCount; |
| VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; |
| } VkDrmFormatModifierPropertiesList2EXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( |
| VkDevice device, |
| VkImage image, |
| VkImageDrmFormatModifierPropertiesEXT* pProperties); |
| #endif |
| |
| |
| #define VK_EXT_filter_cubic 1 |
| #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 |
| #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" |
| typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkImageViewType imageViewType; |
| } VkPhysicalDeviceImageViewImageFormatInfoEXT; |
| |
| typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 filterCubic; |
| VkBool32 filterCubicMinmax; |
| } VkFilterCubicImageViewImageFormatPropertiesEXT; |
| |
| |
| |
| #define VK_EXT_global_priority 1 |
| #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 |
| #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" |
| |
| typedef enum VkQueueGlobalPriorityEXT { |
| VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, |
| VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, |
| VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, |
| VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024, |
| VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkQueueGlobalPriorityEXT; |
| typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkQueueGlobalPriorityEXT globalPriority; |
| } VkDeviceQueueGlobalPriorityCreateInfoEXT; |
| |
| |
| |
| #define VK_EXT_external_memory_host 1 |
| #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 |
| #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" |
| typedef struct VkImportMemoryHostPointerInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagBits handleType; |
| void* pHostPointer; |
| } VkImportMemoryHostPointerInfoEXT; |
| |
| typedef struct VkMemoryHostPointerPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t memoryTypeBits; |
| } VkMemoryHostPointerPropertiesEXT; |
| |
| typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize minImportedHostPointerAlignment; |
| } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( |
| VkDevice device, |
| VkExternalMemoryHandleTypeFlagBits handleType, |
| const void* pHostPointer, |
| VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); |
| #endif |
| |
| |
| #define VK_EXT_calibrated_timestamps 1 |
| #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 |
| #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" |
| |
| typedef enum VkTimeDomainEXT { |
| VK_TIME_DOMAIN_DEVICE_EXT = 0, |
| VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, |
| VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, |
| VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, |
| VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkTimeDomainEXT; |
| typedef struct VkCalibratedTimestampInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkTimeDomainEXT timeDomain; |
| } VkCalibratedTimestampInfoEXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pTimeDomainCount, |
| VkTimeDomainEXT* pTimeDomains); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( |
| VkDevice device, |
| uint32_t timestampCount, |
| const VkCalibratedTimestampInfoEXT* pTimestampInfos, |
| uint64_t* pTimestamps, |
| uint64_t* pMaxDeviation); |
| #endif |
| |
| |
| #define VK_EXT_vertex_attribute_divisor 1 |
| #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 |
| #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" |
| typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxVertexAttribDivisor; |
| } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; |
| |
| typedef struct VkVertexInputBindingDivisorDescriptionEXT { |
| uint32_t binding; |
| uint32_t divisor; |
| } VkVertexInputBindingDivisorDescriptionEXT; |
| |
| typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t vertexBindingDivisorCount; |
| const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; |
| } VkPipelineVertexInputDivisorStateCreateInfoEXT; |
| |
| typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 vertexAttributeInstanceRateDivisor; |
| VkBool32 vertexAttributeInstanceRateZeroDivisor; |
| } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_pci_bus_info 1 |
| #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 |
| #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" |
| typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t pciDomain; |
| uint32_t pciBus; |
| uint32_t pciDevice; |
| uint32_t pciFunction; |
| } VkPhysicalDevicePCIBusInfoPropertiesEXT; |
| |
| |
| |
| #define VK_EXT_subgroup_size_control 1 |
| #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 |
| #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" |
| typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 subgroupSizeControl; |
| VkBool32 computeFullSubgroups; |
| } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; |
| |
| typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t minSubgroupSize; |
| uint32_t maxSubgroupSize; |
| uint32_t maxComputeWorkgroupSubgroups; |
| VkShaderStageFlags requiredSubgroupSizeStages; |
| } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; |
| |
| typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t requiredSubgroupSize; |
| } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; |
| |
| |
| |
| #define VK_EXT_shader_image_atomic_int64 1 |
| #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 |
| #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" |
| typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderImageInt64Atomics; |
| VkBool32 sparseImageInt64Atomics; |
| } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; |
| |
| |
| |
| #define VK_EXT_memory_budget 1 |
| #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 |
| #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" |
| typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; |
| VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; |
| } VkPhysicalDeviceMemoryBudgetPropertiesEXT; |
| |
| |
| |
| #define VK_EXT_validation_features 1 |
| #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 |
| #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" |
| |
| typedef enum VkValidationFeatureEnableEXT { |
| VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, |
| VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, |
| VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, |
| VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, |
| VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, |
| VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkValidationFeatureEnableEXT; |
| |
| typedef enum VkValidationFeatureDisableEXT { |
| VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, |
| VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, |
| VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, |
| VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, |
| VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, |
| VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, |
| VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, |
| VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, |
| VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkValidationFeatureDisableEXT; |
| typedef struct VkValidationFeaturesEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t enabledValidationFeatureCount; |
| const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; |
| uint32_t disabledValidationFeatureCount; |
| const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; |
| } VkValidationFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_fragment_shader_interlock 1 |
| #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 |
| #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" |
| typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 fragmentShaderSampleInterlock; |
| VkBool32 fragmentShaderPixelInterlock; |
| VkBool32 fragmentShaderShadingRateInterlock; |
| } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_ycbcr_image_arrays 1 |
| #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 |
| #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" |
| typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 ycbcrImageArrays; |
| } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_headless_surface 1 |
| #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 |
| #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" |
| typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; |
| typedef struct VkHeadlessSurfaceCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkHeadlessSurfaceCreateFlagsEXT flags; |
| } VkHeadlessSurfaceCreateInfoEXT; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( |
| VkInstance instance, |
| const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| #endif |
| |
| |
| #define VK_EXT_line_rasterization 1 |
| #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 |
| #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" |
| |
| typedef enum VkLineRasterizationModeEXT { |
| VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, |
| VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, |
| VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, |
| VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, |
| VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkLineRasterizationModeEXT; |
| typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 rectangularLines; |
| VkBool32 bresenhamLines; |
| VkBool32 smoothLines; |
| VkBool32 stippledRectangularLines; |
| VkBool32 stippledBresenhamLines; |
| VkBool32 stippledSmoothLines; |
| } VkPhysicalDeviceLineRasterizationFeaturesEXT; |
| |
| typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t lineSubPixelPrecisionBits; |
| } VkPhysicalDeviceLineRasterizationPropertiesEXT; |
| |
| typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkLineRasterizationModeEXT lineRasterizationMode; |
| VkBool32 stippledLineEnable; |
| uint32_t lineStippleFactor; |
| uint16_t lineStipplePattern; |
| } VkPipelineRasterizationLineStateCreateInfoEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t lineStippleFactor, |
| uint16_t lineStipplePattern); |
| #endif |
| |
| |
| #define VK_EXT_shader_atomic_float 1 |
| #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 |
| #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" |
| typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderBufferFloat32Atomics; |
| VkBool32 shaderBufferFloat32AtomicAdd; |
| VkBool32 shaderBufferFloat64Atomics; |
| VkBool32 shaderBufferFloat64AtomicAdd; |
| VkBool32 shaderSharedFloat32Atomics; |
| VkBool32 shaderSharedFloat32AtomicAdd; |
| VkBool32 shaderSharedFloat64Atomics; |
| VkBool32 shaderSharedFloat64AtomicAdd; |
| VkBool32 shaderImageFloat32Atomics; |
| VkBool32 shaderImageFloat32AtomicAdd; |
| VkBool32 sparseImageFloat32Atomics; |
| VkBool32 sparseImageFloat32AtomicAdd; |
| } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_index_type_uint8 1 |
| #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 |
| #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" |
| typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 indexTypeUint8; |
| } VkPhysicalDeviceIndexTypeUint8FeaturesEXT; |
| |
| |
| |
| #define VK_EXT_extended_dynamic_state 1 |
| #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 |
| #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" |
| typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 extendedDynamicState; |
| } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( |
| VkCommandBuffer commandBuffer, |
| VkCullModeFlags cullMode); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( |
| VkCommandBuffer commandBuffer, |
| VkFrontFace frontFace); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( |
| VkCommandBuffer commandBuffer, |
| VkPrimitiveTopology primitiveTopology); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t viewportCount, |
| const VkViewport* pViewports); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t scissorCount, |
| const VkRect2D* pScissors); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstBinding, |
| uint32_t bindingCount, |
| const VkBuffer* pBuffers, |
| const VkDeviceSize* pOffsets, |
| const VkDeviceSize* pSizes, |
| const VkDeviceSize* pStrides); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 depthTestEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 depthWriteEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( |
| VkCommandBuffer commandBuffer, |
| VkCompareOp depthCompareOp); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 depthBoundsTestEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 stencilTestEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| VkStencilOp failOp, |
| VkStencilOp passOp, |
| VkStencilOp depthFailOp, |
| VkCompareOp compareOp); |
| #endif |
| |
| |
| #define VK_EXT_shader_demote_to_helper_invocation 1 |
| #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 |
| #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" |
| typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 shaderDemoteToHelperInvocation; |
| } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_texel_buffer_alignment 1 |
| #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 |
| #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" |
| typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 texelBufferAlignment; |
| } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; |
| |
| typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize storageTexelBufferOffsetAlignmentBytes; |
| VkBool32 storageTexelBufferOffsetSingleTexelAlignment; |
| VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; |
| VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; |
| } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; |
| |
| |
| |
| #define VK_EXT_robustness2 1 |
| #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 |
| #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" |
| typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 robustBufferAccess2; |
| VkBool32 robustImageAccess2; |
| VkBool32 nullDescriptor; |
| } VkPhysicalDeviceRobustness2FeaturesEXT; |
| |
| typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize robustStorageBufferAccessSizeAlignment; |
| VkDeviceSize robustUniformBufferAccessSizeAlignment; |
| } VkPhysicalDeviceRobustness2PropertiesEXT; |
| |
| |
| |
| #define VK_EXT_custom_border_color 1 |
| #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 |
| #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" |
| typedef struct VkSamplerCustomBorderColorCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkClearColorValue customBorderColor; |
| VkFormat format; |
| } VkSamplerCustomBorderColorCreateInfoEXT; |
| |
| typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t maxCustomBorderColorSamplers; |
| } VkPhysicalDeviceCustomBorderColorPropertiesEXT; |
| |
| typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 customBorderColors; |
| VkBool32 customBorderColorWithoutFormat; |
| } VkPhysicalDeviceCustomBorderColorFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_ycbcr_2plane_444_formats 1 |
| #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 |
| #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" |
| typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 ycbcr2plane444Formats; |
| } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_image_robustness 1 |
| #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 |
| #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" |
| typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 robustImageAccess; |
| } VkPhysicalDeviceImageRobustnessFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_4444_formats 1 |
| #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 |
| #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" |
| typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 formatA4R4G4B4; |
| VkBool32 formatA4B4G4R4; |
| } VkPhysicalDevice4444FormatsFeaturesEXT; |
| |
| |
| |
| #define VK_EXT_vertex_input_dynamic_state 1 |
| #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 |
| #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" |
| typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 vertexInputDynamicState; |
| } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; |
| |
| typedef struct VkVertexInputBindingDescription2EXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t binding; |
| uint32_t stride; |
| VkVertexInputRate inputRate; |
| uint32_t divisor; |
| } VkVertexInputBindingDescription2EXT; |
| |
| typedef struct VkVertexInputAttributeDescription2EXT { |
| VkStructureType sType; |
| void* pNext; |
| uint32_t location; |
| uint32_t binding; |
| VkFormat format; |
| uint32_t offset; |
| } VkVertexInputAttributeDescription2EXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t vertexBindingDescriptionCount, |
| const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, |
| uint32_t vertexAttributeDescriptionCount, |
| const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); |
| #endif |
| |
| |
| #define VK_EXT_extended_dynamic_state2 1 |
| #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 |
| #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" |
| typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 extendedDynamicState2; |
| VkBool32 extendedDynamicState2LogicOp; |
| VkBool32 extendedDynamicState2PatchControlPoints; |
| } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t patchControlPoints); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 rasterizerDiscardEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 depthBiasEnable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( |
| VkCommandBuffer commandBuffer, |
| VkLogicOp logicOp); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( |
| VkCommandBuffer commandBuffer, |
| VkBool32 primitiveRestartEnable); |
| #endif |
| |
| |
| #define VK_EXT_color_write_enable 1 |
| #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 |
| #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" |
| typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 colorWriteEnable; |
| } VkPhysicalDeviceColorWriteEnableFeaturesEXT; |
| |
| typedef struct VkPipelineColorWriteCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t attachmentCount; |
| const VkBool32* pColorWriteEnables; |
| } VkPipelineColorWriteCreateInfoEXT; |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( |
| VkCommandBuffer commandBuffer, |
| uint32_t attachmentCount, |
| const VkBool32* pColorWriteEnables); |
| #endif |
| |
| |
| #define VK_EXT_application_parameters 1 |
| #define VK_EXT_APPLICATION_PARAMETERS_SPEC_VERSION 1 |
| #define VK_EXT_APPLICATION_PARAMETERS_EXTENSION_NAME "VK_EXT_application_parameters" |
| typedef struct VkApplicationParametersEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t vendorID; |
| uint32_t deviceID; |
| uint32_t key; |
| uint64_t value; |
| } VkApplicationParametersEXT; |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |