2018-05-13 09:49:23 -07:00
# ifndef VULKAN_CORE_H_
# define VULKAN_CORE_H_ 1
# ifdef __cplusplus
extern " C " {
# endif
/*
* * Copyright ( c ) 2015 - 2018 The Khronos Group Inc .
* *
* * Licensed under the Apache License , Version 2.0 ( the " License " ) ;
* * you may not use this file except in compliance with the License .
* * You may obtain a copy of the License at
* *
* * http : //www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing , software
* * distributed under the License is distributed on an " AS IS " BASIS ,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* * See the License for the specific language governing permissions and
* * limitations under the License .
*/
/*
* * This header is generated from the Khronos Vulkan XML API Registry .
* *
*/
# define VK_VERSION_1_0 1
# include "vk_platform.h"
# define VK_MAKE_VERSION(major, minor, patch) \
( ( ( major ) < < 22 ) | ( ( minor ) < < 12 ) | ( patch ) )
2018-05-13 21:42:02 +02:00
/* DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. */
#if 0
# define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) /* Patch version should always be set to 0 */
# endif
2018-05-13 09:49:23 -07:00
2018-05-13 21:42:02 +02:00
/* Vulkan 1.0 version number */
# define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) /* Patch version should always be set to 0 */
2018-05-13 09:49:23 -07:00
# define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
# define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
# define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
2018-05-13 21:42:02 +02:00
/* Version of this file */
2018-05-13 09:49:23 -07:00
# define VK_HEADER_VERSION 73
# define VK_NULL_HANDLE 0
# define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
# if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
# if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
# 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
typedef uint32_t VkFlags ;
typedef uint32_t VkBool32 ;
typedef uint64_t VkDeviceSize ;
typedef uint32_t VkSampleMask ;
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 ( VkBuffer )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkImage )
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 ( VkRenderPass )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkPipeline )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDescriptorSetLayout )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkSampler )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDescriptorPool )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDescriptorSet )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkFramebuffer )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkCommandPool )
# define VK_LOD_CLAMP_NONE 1000.0f
# define VK_REMAINING_MIP_LEVELS (~0U)
# define VK_REMAINING_ARRAY_LAYERS (~0U)
# define VK_WHOLE_SIZE (~0ULL)
# define VK_ATTACHMENT_UNUSED (~0U)
# define VK_TRUE 1
# define VK_FALSE 0
# define VK_QUEUE_FAMILY_IGNORED (~0U)
# define VK_SUBPASS_EXTERNAL (~0U)
# define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
# define VK_UUID_SIZE 16
# define VK_MAX_MEMORY_TYPES 32
# define VK_MAX_MEMORY_HEAPS 16
# define VK_MAX_EXTENSION_NAME_SIZE 256
# define VK_MAX_DESCRIPTION_SIZE 256
typedef enum VkPipelineCacheHeaderVersion {
VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 ,
VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE ,
VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE ,
VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = ( VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1 ) ,
VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
} VkPipelineCacheHeaderVersion ;
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_OUT_OF_POOL_MEMORY = - 1000069000 ,
VK_ERROR_INVALID_EXTERNAL_HANDLE = - 1000072003 ,
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_VALIDATION_FAILED_EXT = - 1000011001 ,
VK_ERROR_INVALID_SHADER_NV = - 1000012000 ,
VK_ERROR_FRAGMENTATION_EXT = - 1000161000 ,
VK_ERROR_NOT_PERMITTED_EXT = - 1000174001 ,
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY ,
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE ,
VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL ,
VK_RESULT_END_RANGE = VK_INCOMPLETE ,
VK_RESULT_RANGE_SIZE = ( VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1 ) ,
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_BIND_SPARSE_INFO = 7 ,
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_SHADER_MODULE_CREATE_INFO = 16 ,
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_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006 ,
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_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002 ,
VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003 ,
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004 ,
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_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008 ,
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_POINTER_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_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000 ,
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_PARAMETER_FEATURES = 1000063000 ,
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_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000 ,
VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000 ,
VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000 ,
VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000 ,
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000 ,
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000 ,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000 ,
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000 ,
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000 ,
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001 ,
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002 ,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000 ,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001 ,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002 ,
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 ,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000 ,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001 ,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000 ,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001 ,
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000 ,
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000 ,
VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000 ,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000 ,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001 ,
VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002 ,
VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003 ,
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_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000 ,
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000 ,
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001 ,
VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002 ,
VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003 ,
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000 ,
VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000 ,
VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000 ,
VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000 ,
VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001 ,
VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002 ,
VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003 ,
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004 ,
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005 ,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000 ,
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_PRESENT_TIMES_INFO_GOOGLE = 1000092000 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000 ,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000 ,
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_HDR_METADATA_EXT = 1000105000 ,
VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000 ,
VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000 ,
VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001 ,
VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002 ,
VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000 ,
VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001 ,
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_IOS_SURFACE_CREATE_INFO_MVK = 1000122000 ,
VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000 ,
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_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000 ,
VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001 ,
VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002 ,
VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003 ,
VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004 ,
VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 ,
VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 ,
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_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000 ,
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_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000 ,
VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000 ,
VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000 ,
VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001 ,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002 ,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003 ,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 ,
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_CORE_PROPERTIES_AMD = 1000185000 ,
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_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 ,
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ,
VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ,
VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ,
VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ,
VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ,
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ,
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ,
VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO ,
VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ,
VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO ,
VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ,
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ,
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ,
VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ,
VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES ,
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO ,
VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES ,
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ,
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ,
VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ,
VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ,
VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 ,
VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 ,
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ,
VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ,
VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES ,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES ,
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ,
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO ,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES ,
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT ,
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO ,
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO ,
VK_STRUCTURE_TYPE_RANGE_SIZE = ( VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1 ) ,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkStructureType ;
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_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND ,
VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE ,
VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = ( VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1 ) ,
VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
} VkSystemAllocationScope ;
typedef enum VkInternalAllocationType {
VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0 ,
VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ,
VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ,
VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = ( VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1 ) ,
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_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000 ,
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001 ,
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002 ,
VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003 ,
VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004 ,
VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005 ,
VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006 ,
VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007 ,
VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM ,
VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM ,
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM ,
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM ,
VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM ,
VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM ,
VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM ,
VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16 ,
VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16 ,
VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 ,
VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ,
VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ,
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ,
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ,
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ,
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ,
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ,
VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16 ,
VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16 ,
VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 ,
VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ,
VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ,
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ,
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ,
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ,
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ,
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ,
VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM ,
VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM ,
VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM ,
VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM ,
VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM ,
VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM ,
VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM ,
VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED ,
VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK ,
VK_FORMAT_RANGE_SIZE = ( VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1 ) ,
VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
} VkFormat ;
typedef enum VkImageType {
VK_IMAGE_TYPE_1D = 0 ,
VK_IMAGE_TYPE_2D = 1 ,
VK_IMAGE_TYPE_3D = 2 ,
VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D ,
VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D ,
VK_IMAGE_TYPE_RANGE_SIZE = ( VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1 ) ,
VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkImageType ;
typedef enum VkImageTiling {
VK_IMAGE_TILING_OPTIMAL = 0 ,
VK_IMAGE_TILING_LINEAR = 1 ,
VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL ,
VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR ,
VK_IMAGE_TILING_RANGE_SIZE = ( VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1 ) ,
VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
} VkImageTiling ;
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_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER ,
VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU ,
VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = ( VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1 ) ,
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_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION ,
VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP ,
VK_QUERY_TYPE_RANGE_SIZE = ( VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1 ) ,
VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkQueryType ;
typedef enum VkSharingMode {
VK_SHARING_MODE_EXCLUSIVE = 0 ,
VK_SHARING_MODE_CONCURRENT = 1 ,
VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE ,
VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT ,
VK_SHARING_MODE_RANGE_SIZE = ( VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1 ) ,
VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
} VkSharingMode ;
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_PRESENT_SRC_KHR = 1000001002 ,
VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000 ,
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL ,
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL ,
VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED ,
VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED ,
VK_IMAGE_LAYOUT_RANGE_SIZE = ( VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1 ) ,
VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
} VkImageLayout ;
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_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D ,
VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY ,
VK_IMAGE_VIEW_TYPE_RANGE_SIZE = ( VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1 ) ,
VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkImageViewType ;
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_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY ,
VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A ,
VK_COMPONENT_SWIZZLE_RANGE_SIZE = ( VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1 ) ,
VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
} VkComponentSwizzle ;
typedef enum VkVertexInputRate {
VK_VERTEX_INPUT_RATE_VERTEX = 0 ,
VK_VERTEX_INPUT_RATE_INSTANCE = 1 ,
VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX ,
VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE ,
VK_VERTEX_INPUT_RATE_RANGE_SIZE = ( VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 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_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST ,
VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST ,
VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = ( VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1 ) ,
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_FILL_RECTANGLE_NV = 1000153000 ,
VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL ,
VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT ,
VK_POLYGON_MODE_RANGE_SIZE = ( VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1 ) ,
VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
} VkPolygonMode ;
typedef enum VkFrontFace {
VK_FRONT_FACE_COUNTER_CLOCKWISE = 0 ,
VK_FRONT_FACE_CLOCKWISE = 1 ,
VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE ,
VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE ,
VK_FRONT_FACE_RANGE_SIZE = ( VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1 ) ,
VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
} VkFrontFace ;
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_BEGIN_RANGE = VK_COMPARE_OP_NEVER ,
VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS ,
VK_COMPARE_OP_RANGE_SIZE = ( VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1 ) ,
VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
} VkCompareOp ;
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_BEGIN_RANGE = VK_STENCIL_OP_KEEP ,
VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP ,
VK_STENCIL_OP_RANGE_SIZE = ( VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1 ) ,
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_BEGIN_RANGE = VK_LOGIC_OP_CLEAR ,
VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET ,
VK_LOGIC_OP_RANGE_SIZE = ( VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1 ) ,
VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
} VkLogicOp ;
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_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO ,
VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA ,
VK_BLEND_FACTOR_RANGE_SIZE = ( VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1 ) ,
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_BEGIN_RANGE = VK_BLEND_OP_ADD ,
VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX ,
VK_BLEND_OP_RANGE_SIZE = ( VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1 ) ,
VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
} VkBlendOp ;
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_VIEWPORT_W_SCALING_NV = 1000087000 ,
VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000 ,
VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000 ,
VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT ,
VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE ,
VK_DYNAMIC_STATE_RANGE_SIZE = ( VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1 ) ,
VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
} VkDynamicState ;
typedef enum VkFilter {
VK_FILTER_NEAREST = 0 ,
VK_FILTER_LINEAR = 1 ,
VK_FILTER_CUBIC_IMG = 1000015000 ,
VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST ,
VK_FILTER_END_RANGE = VK_FILTER_LINEAR ,
VK_FILTER_RANGE_SIZE = ( VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1 ) ,
VK_FILTER_MAX_ENUM = 0x7FFFFFFF
} VkFilter ;
typedef enum VkSamplerMipmapMode {
VK_SAMPLER_MIPMAP_MODE_NEAREST = 0 ,
VK_SAMPLER_MIPMAP_MODE_LINEAR = 1 ,
VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST ,
VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR ,
VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = ( VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1 ) ,
VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
} VkSamplerMipmapMode ;
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_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT ,
VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER ,
VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = ( VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1 ) ,
VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
} VkSamplerAddressMode ;
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_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK ,
VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE ,
VK_BORDER_COLOR_RANGE_SIZE = ( VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1 ) ,
VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
} VkBorderColor ;
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_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER ,
VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT ,
VK_DESCRIPTOR_TYPE_RANGE_SIZE = ( VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1 ) ,
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_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD ,
VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE ,
VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = ( VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1 ) ,
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_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE ,
VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE ,
VK_ATTACHMENT_STORE_OP_RANGE_SIZE = ( VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 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_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS ,
VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE ,
VK_PIPELINE_BIND_POINT_RANGE_SIZE = ( VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 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_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY ,
VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY ,
VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = ( VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 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_BEGIN_RANGE = VK_INDEX_TYPE_UINT16 ,
VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32 ,
VK_INDEX_TYPE_RANGE_SIZE = ( VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1 ) ,
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_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE ,
VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS ,
VK_SUBPASS_CONTENTS_RANGE_SIZE = ( VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1 ) ,
VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
} VkSubpassContents ;
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_SHADER_MODULE = 15 ,
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_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000 ,
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_REPORT_CALLBACK_EXT = 1000011000 ,
VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000 ,
VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001 ,
VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000 ,
VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000 ,
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE ,
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION ,
VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN ,
VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL ,
VK_OBJECT_TYPE_RANGE_SIZE = ( VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1 ) ,
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkObjectType ;
typedef VkFlags VkInstanceCreateFlags ;
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_CUBIC_BIT_IMG = 0x00002000 ,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000 ,
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ,
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT ,
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT ,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT ,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT ,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT ,
VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT ,
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ,
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkFormatFeatureFlagBits ;
typedef VkFlags VkFormatFeatureFlags ;
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_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageUsageFlagBits ;
typedef VkFlags VkImageUsageFlags ;
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_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ,
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ,
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ,
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT ,
VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT ,
VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT ,
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 VkQueueFlagBits {
VK_QUEUE_GRAPHICS_BIT = 0x00000001 ,
VK_QUEUE_COMPUTE_BIT = 0x00000002 ,
VK_QUEUE_TRANSFER_BIT = 0x00000004 ,
VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008 ,
VK_QUEUE_PROTECTED_BIT = 0x00000010 ,
VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkQueueFlagBits ;
typedef VkFlags VkQueueFlags ;
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 VkMemoryHeapFlagBits {
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001 ,
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002 ,
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT ,
VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkMemoryHeapFlagBits ;
typedef VkFlags VkMemoryHeapFlags ;
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_COMMAND_PROCESS_BIT_NVX = 0x00020000 ,
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkPipelineStageFlagBits ;
typedef VkFlags VkPipelineStageFlags ;
typedef VkFlags VkMemoryMapFlags ;
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_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT ,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT ,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT ,
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageAspectFlagBits ;
typedef VkFlags VkImageAspectFlags ;
typedef enum VkSparseImageFormatFlagBits {
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001 ,
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002 ,
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004 ,
VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkSparseImageFormatFlagBits ;
typedef VkFlags VkSparseImageFormatFlags ;
typedef enum VkSparseMemoryBindFlagBits {
VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001 ,
VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkSparseMemoryBindFlagBits ;
typedef VkFlags VkSparseMemoryBindFlags ;
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 VkFlags VkEventCreateFlags ;
typedef VkFlags VkQueryPoolCreateFlags ;
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 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_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_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkBufferUsageFlagBits ;
typedef VkFlags VkBufferUsageFlags ;
typedef VkFlags VkBufferViewCreateFlags ;
typedef VkFlags VkImageViewCreateFlags ;
typedef VkFlags VkShaderModuleCreateFlags ;
typedef VkFlags VkPipelineCacheCreateFlags ;
typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001 ,
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002 ,
VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004 ,
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008 ,
VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010 ,
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ,
VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE ,
VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkPipelineCreateFlagBits ;
typedef VkFlags VkPipelineCreateFlags ;
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 VkFlags VkPipelineVertexInputStateCreateFlags ;
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags ;
typedef VkFlags VkPipelineTessellationStateCreateFlags ;
typedef VkFlags VkPipelineViewportStateCreateFlags ;
typedef VkFlags VkPipelineRasterizationStateCreateFlags ;
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 VkPipelineMultisampleStateCreateFlags ;
typedef VkFlags VkPipelineDepthStencilStateCreateFlags ;
typedef VkFlags VkPipelineColorBlendStateCreateFlags ;
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 VkFlags VkPipelineDynamicStateCreateFlags ;
typedef VkFlags VkPipelineLayoutCreateFlags ;
typedef VkFlags VkShaderStageFlags ;
typedef VkFlags VkSamplerCreateFlags ;
typedef enum VkDescriptorSetLayoutCreateFlagBits {
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001 ,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002 ,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkDescriptorSetLayoutCreateFlagBits ;
typedef VkFlags VkDescriptorSetLayoutCreateFlags ;
typedef enum VkDescriptorPoolCreateFlagBits {
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001 ,
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002 ,
VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkDescriptorPoolCreateFlagBits ;
typedef VkFlags VkDescriptorPoolCreateFlags ;
typedef VkFlags VkDescriptorPoolResetFlags ;
typedef VkFlags VkFramebufferCreateFlags ;
typedef VkFlags VkRenderPassCreateFlags ;
typedef enum VkAttachmentDescriptionFlagBits {
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001 ,
VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkAttachmentDescriptionFlagBits ;
typedef VkFlags VkAttachmentDescriptionFlags ;
typedef enum VkSubpassDescriptionFlagBits {
VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001 ,
VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002 ,
VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkSubpassDescriptionFlagBits ;
typedef VkFlags VkSubpassDescriptionFlags ;
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_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000 ,
VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000 ,
VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000 ,
VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkAccessFlagBits ;
typedef VkFlags VkAccessFlags ;
typedef enum VkDependencyFlagBits {
VK_DEPENDENCY_BY_REGION_BIT = 0x00000001 ,
VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004 ,
VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002 ,
VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT ,
VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT ,
VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkDependencyFlagBits ;
typedef VkFlags VkDependencyFlags ;
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_RELEASE_RESOURCES_BIT = 0x00000001 ,
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_FRONT_AND_BACK = 0x00000003 ,
VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkStencilFaceFlagBits ;
typedef VkFlags VkStencilFaceFlags ;
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 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 void * ( VKAPI_PTR * PFN_vkAllocationFunction ) (
void * pUserData ,
size_t size ,
size_t alignment ,
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_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 struct VkAllocationCallbacks {
void * pUserData ;
PFN_vkAllocationFunction pfnAllocation ;
PFN_vkReallocationFunction pfnReallocation ;
PFN_vkFreeFunction pfnFree ;
PFN_vkInternalAllocationNotification pfnInternalAllocation ;
PFN_vkInternalFreeNotification pfnInternalFree ;
} VkAllocationCallbacks ;
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 VkFormatProperties {
VkFormatFeatureFlags linearTilingFeatures ;
VkFormatFeatureFlags optimalTilingFeatures ;
VkFormatFeatureFlags bufferFeatures ;
} VkFormatProperties ;
typedef struct VkExtent3D {
uint32_t width ;
uint32_t height ;
uint32_t depth ;
} VkExtent3D ;
typedef struct VkImageFormatProperties {
VkExtent3D maxExtent ;
uint32_t maxMipLevels ;
uint32_t maxArrayLayers ;
VkSampleCountFlags sampleCounts ;
VkDeviceSize maxResourceSize ;
} VkImageFormatProperties ;
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 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 VkMemoryType {
VkMemoryPropertyFlags propertyFlags ;
uint32_t heapIndex ;
} VkMemoryType ;
typedef struct VkMemoryHeap {
VkDeviceSize size ;
VkMemoryHeapFlags flags ;
} VkMemoryHeap ;
typedef struct VkPhysicalDeviceMemoryProperties {
uint32_t memoryTypeCount ;
VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ] ;
uint32_t memoryHeapCount ;
VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ] ;
} VkPhysicalDeviceMemoryProperties ;
typedef void ( VKAPI_PTR * PFN_vkVoidFunction ) ( void ) ;
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 VkMemoryAllocateInfo {
VkStructureType sType ;
const void * pNext ;
VkDeviceSize allocationSize ;
uint32_t memoryTypeIndex ;
} VkMemoryAllocateInfo ;
typedef struct VkMappedMemoryRange {
VkStructureType sType ;
const void * pNext ;
VkDeviceMemory memory ;
VkDeviceSize offset ;
VkDeviceSize size ;
} VkMappedMemoryRange ;
typedef struct VkMemoryRequirements {
VkDeviceSize size ;
VkDeviceSize alignment ;
uint32_t memoryTypeBits ;
} VkMemoryRequirements ;
typedef struct VkSparseImageFormatProperties {
VkImageAspectFlags aspectMask ;
VkExtent3D imageGranularity ;
VkSparseImageFormatFlags flags ;
} VkSparseImageFormatProperties ;
typedef struct VkSparseImageMemoryRequirements {
VkSparseImageFormatProperties formatProperties ;
uint32_t imageMipTailFirstLod ;
VkDeviceSize imageMipTailSize ;
VkDeviceSize imageMipTailOffset ;
VkDeviceSize imageMipTailStride ;
} VkSparseImageMemoryRequirements ;
typedef struct VkSparseMemoryBind {
VkDeviceSize resourceOffset ;
VkDeviceSize size ;
VkDeviceMemory memory ;
VkDeviceSize memoryOffset ;
VkSparseMemoryBindFlags flags ;
} VkSparseMemoryBind ;
typedef struct VkSparseBufferMemoryBindInfo {
VkBuffer buffer ;
uint32_t bindCount ;
const VkSparseMemoryBind * pBinds ;
} VkSparseBufferMemoryBindInfo ;
typedef struct VkSparseImageOpaqueMemoryBindInfo {
VkImage image ;
uint32_t bindCount ;
const VkSparseMemoryBind * pBinds ;
} VkSparseImageOpaqueMemoryBindInfo ;
typedef struct VkImageSubresource {
VkImageAspectFlags aspectMask ;
uint32_t mipLevel ;
uint32_t arrayLayer ;
} VkImageSubresource ;
typedef struct VkOffset3D {
int32_t x ;
int32_t y ;
int32_t z ;
} VkOffset3D ;
typedef struct VkSparseImageMemoryBind {
VkImageSubresource subresource ;
VkOffset3D offset ;
VkExtent3D extent ;
VkDeviceMemory memory ;
VkDeviceSize memoryOffset ;
VkSparseMemoryBindFlags flags ;
} VkSparseImageMemoryBind ;
typedef struct VkSparseImageMemoryBindInfo {
VkImage image ;
uint32_t bindCount ;
const VkSparseImageMemoryBind * pBinds ;
} VkSparseImageMemoryBindInfo ;
typedef struct VkBindSparseInfo {
VkStructureType sType ;
const void * pNext ;
uint32_t waitSemaphoreCount ;
const VkSemaphore * pWaitSemaphores ;
uint32_t bufferBindCount ;
const VkSparseBufferMemoryBindInfo * pBufferBinds ;
uint32_t imageOpaqueBindCount ;
const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds ;
uint32_t imageBindCount ;
const VkSparseImageMemoryBindInfo * pImageBinds ;
uint32_t signalSemaphoreCount ;
const VkSemaphore * pSignalSemaphores ;
} VkBindSparseInfo ;
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 VkImageSubresourceRange {
VkImageAspectFlags aspectMask ;
uint32_t baseMipLevel ;
uint32_t levelCount ;
uint32_t baseArrayLayer ;
uint32_t layerCount ;
} VkImageSubresourceRange ;
typedef struct VkImageViewCreateInfo {
VkStructureType sType ;
const void * pNext ;
VkImageViewCreateFlags flags ;
VkImage image ;
VkImageViewType viewType ;
VkFormat format ;
VkComponentMapping components ;
VkImageSubresourceRange subresourceRange ;
} VkImageViewCreateInfo ;
typedef struct VkShaderModuleCreateInfo {
VkStructureType sType ;
const void * pNext ;
VkShaderModuleCreateFlags flags ;
size_t codeSize ;
const uint32_t * pCode ;
} VkShaderModuleCreateInfo ;
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 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 VkOffset2D {
int32_t x ;
int32_t y ;
} VkOffset2D ;
typedef struct VkExtent2D {
uint32_t width ;
uint32_t height ;
} VkExtent2D ;
typedef struct VkRect2D {
VkOffset2D offset ;
VkExtent2D extent ;
} VkRect2D ;
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 VkComputePipelineCreateInfo {
VkStructureType sType ;
const void * pNext ;
VkPipelineCreateFlags flags ;
VkPipelineShaderStageCreateInfo stage ;
VkPipelineLayout layout ;
VkPipeline basePipelineHandle ;
int32_t basePipelineIndex ;
} VkComputePipelineCreateInfo ;
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 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 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 VkDescriptorImageInfo {
VkSampler sampler ;
VkImageView imageView ;
VkImageLayout imageLayout ;
} VkDescriptorImageInfo ;
typedef struct VkDescriptorBufferInfo {
VkBuffer buffer ;
VkDeviceSize offset ;
VkDeviceSize range ;
} VkDescriptorBufferInfo ;
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 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 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 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 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 VkImageCopy {
VkImageSubresourceLayers srcSubresource ;
VkOffset3D srcOffset ;
VkImageSubresourceLayers dstSubresource ;
VkOffset3D dstOffset ;
VkExtent3D extent ;
} VkImageCopy ;
typedef struct VkImageBlit {
VkImageSubresourceLayers srcSubresource ;
VkOffset3D srcOffsets [ 2 ] ;
VkImageSubresourceLayers dstSubresource ;
VkOffset3D dstOffsets [ 2 ] ;
} VkImageBlit ;
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 VkImageResolve {
VkImageSubresourceLayers srcSubresource ;
VkOffset3D srcOffset ;
VkImageSubresourceLayers dstSubresource ;
VkOffset3D dstOffset ;
VkExtent3D extent ;
} VkImageResolve ;
typedef struct VkMemoryBarrier {
VkStructureType sType ;
const void * pNext ;
VkAccessFlags srcAccessMask ;
VkAccessFlags dstAccessMask ;
} VkMemoryBarrier ;
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 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 VkRenderPassBeginInfo {
VkStructureType sType ;
const void * pNext ;
VkRenderPass renderPass ;
VkFramebuffer framebuffer ;
VkRect2D renderArea ;
uint32_t clearValueCount ;
const VkClearValue * pClearValues ;
} VkRenderPassBeginInfo ;
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 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 void ( VKAPI_PTR * PFN_vkFreeMemory ) ( VkDevice device , VkDeviceMemory memory , const VkAllocationCallbacks * pAllocator ) ;
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 void ( VKAPI_PTR * PFN_vkGetImageSparseMemoryRequirements ) ( VkDevice device , VkImage image , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSparseImageFormatProperties ) ( VkPhysicalDevice physicalDevice , VkFormat format , VkImageType type , VkSampleCountFlagBits samples , VkImageUsageFlags usage , VkImageTiling tiling , uint32_t * pPropertyCount , VkSparseImageFormatProperties * pProperties ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkQueueBindSparse ) ( VkQueue queue , uint32_t bindInfoCount , const VkBindSparseInfo * pBindInfo , VkFence fence ) ;
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 void ( VKAPI_PTR * PFN_vkDestroyQueryPool ) ( VkDevice device , VkQueryPool queryPool , const VkAllocationCallbacks * pAllocator ) ;
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_vkCreateShaderModule ) ( VkDevice device , const VkShaderModuleCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkShaderModule * pShaderModule ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyShaderModule ) ( VkDevice device , VkShaderModule shaderModule , 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_vkGetPipelineCacheData ) ( VkDevice device , VkPipelineCache pipelineCache , size_t * pDataSize , void * pData ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkMergePipelineCaches ) ( VkDevice device , VkPipelineCache dstCache , uint32_t srcCacheCount , const VkPipelineCache * pSrcCaches ) ;
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 void ( VKAPI_PTR * PFN_vkDestroyDescriptorPool ) ( VkDevice device , VkDescriptorPool descriptorPool , const VkAllocationCallbacks * pAllocator ) ;
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 void ( VKAPI_PTR * PFN_vkDestroyCommandPool ) ( VkDevice device , VkCommandPool commandPool , const VkAllocationCallbacks * pAllocator ) ;
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 void VKAPI_CALL vkFreeMemory (
VkDevice device ,
VkDeviceMemory memory ,
const VkAllocationCallbacks * pAllocator ) ;
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 void VKAPI_CALL vkGetImageSparseMemoryRequirements (
VkDevice device ,
VkImage image ,
uint32_t * pSparseMemoryRequirementCount ,
VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties (
VkPhysicalDevice physicalDevice ,
VkFormat format ,
VkImageType type ,
VkSampleCountFlagBits samples ,
VkImageUsageFlags usage ,
VkImageTiling tiling ,
uint32_t * pPropertyCount ,
VkSparseImageFormatProperties * pProperties ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse (
VkQueue queue ,
uint32_t bindInfoCount ,
const VkBindSparseInfo * pBindInfo ,
VkFence fence ) ;
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 void VKAPI_CALL vkDestroyQueryPool (
VkDevice device ,
VkQueryPool queryPool ,
const VkAllocationCallbacks * pAllocator ) ;
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 vkCreateShaderModule (
VkDevice device ,
const VkShaderModuleCreateInfo * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkShaderModule * pShaderModule ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule (
VkDevice device ,
VkShaderModule shaderModule ,
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 vkGetPipelineCacheData (
VkDevice device ,
VkPipelineCache pipelineCache ,
size_t * pDataSize ,
void * pData ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches (
VkDevice device ,
VkPipelineCache dstCache ,
uint32_t srcCacheCount ,
const VkPipelineCache * pSrcCaches ) ;
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 void VKAPI_CALL vkDestroyDescriptorPool (
VkDevice device ,
VkDescriptorPool descriptorPool ,
const VkAllocationCallbacks * pAllocator ) ;
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 void VKAPI_CALL vkDestroyCommandPool (
VkDevice device ,
VkCommandPool commandPool ,
const VkAllocationCallbacks * pAllocator ) ;
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
2018-05-13 21:42:02 +02:00
/* Vulkan 1.1 version number */
# define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0) /* Patch version should always be set to 0 */
2018-05-13 09:49:23 -07:00
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkSamplerYcbcrConversion )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDescriptorUpdateTemplate )
# define VK_MAX_DEVICE_GROUP_SIZE 32
# define VK_LUID_SIZE 8
# define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
typedef enum VkPointClippingBehavior {
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0 ,
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1 ,
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ,
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ,
VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ,
VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ,
VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = ( VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 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_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ,
VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT ,
VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ,
VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT ,
VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = ( VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_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_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ,
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = ( VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1 ) ,
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_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL ,
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW ,
VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL ,
VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW ,
VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = ( VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 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_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN ,
VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT ,
VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN ,
VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT ,
VK_CHROMA_LOCATION_RANGE_SIZE = ( VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1 ) ,
VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
} VkChromaLocation ;
typedef enum VkDescriptorUpdateTemplateType {
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0 ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1 ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = ( VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1 ) ,
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkDescriptorUpdateTemplateType ;
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_PARTITIONED_BIT_NV = 0x00000100 ,
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_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT ,
VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT ,
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT ,
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT ,
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_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT ,
VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkMemoryAllocateFlagBits ;
typedef VkFlags VkMemoryAllocateFlags ;
typedef VkFlags VkCommandPoolTrimFlags ;
typedef VkFlags VkDescriptorUpdateTemplateCreateFlags ;
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_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400 ,
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_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT ,
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_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT ,
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT ,
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT ,
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_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT ,
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT ,
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ,
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT ,
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_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT ,
VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT ,
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_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT ,
VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkFenceImportFlagBits ;
typedef VkFlags VkFenceImportFlags ;
typedef enum VkSemaphoreImportFlagBits {
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001 ,
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ,
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_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ,
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT ,
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ,
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT ,
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_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_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT ,
VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT ,
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 VkDeviceGroupBindSparseInfo {
VkStructureType sType ;
const void * pNext ;
uint32_t resourceDeviceIndex ;
uint32_t memoryDeviceIndex ;
} VkDeviceGroupBindSparseInfo ;
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 VkImageSparseMemoryRequirementsInfo2 {
VkStructureType sType ;
const void * pNext ;
VkImage image ;
} VkImageSparseMemoryRequirementsInfo2 ;
typedef struct VkMemoryRequirements2 {
VkStructureType sType ;
void * pNext ;
VkMemoryRequirements memoryRequirements ;
} VkMemoryRequirements2 ;
typedef struct VkSparseImageMemoryRequirements2 {
VkStructureType sType ;
void * pNext ;
VkSparseImageMemoryRequirements memoryRequirements ;
} VkSparseImageMemoryRequirements2 ;
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 VkSparseImageFormatProperties2 {
VkStructureType sType ;
void * pNext ;
VkSparseImageFormatProperties properties ;
} VkSparseImageFormatProperties2 ;
typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
VkStructureType sType ;
const void * pNext ;
VkFormat format ;
VkImageType type ;
VkSampleCountFlagBits samples ;
VkImageUsageFlags usage ;
VkImageTiling tiling ;
} VkPhysicalDeviceSparseImageFormatInfo2 ;
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 VkPhysicalDeviceVariablePointerFeatures {
VkStructureType sType ;
void * pNext ;
VkBool32 variablePointersStorageBuffer ;
VkBool32 variablePointers ;
} 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 VkDescriptorUpdateTemplateEntry {
uint32_t dstBinding ;
uint32_t dstArrayElement ;
uint32_t descriptorCount ;
VkDescriptorType descriptorType ;
size_t offset ;
size_t stride ;
} VkDescriptorUpdateTemplateEntry ;
typedef struct VkDescriptorUpdateTemplateCreateInfo {
VkStructureType sType ;
void * pNext ;
VkDescriptorUpdateTemplateCreateFlags flags ;
uint32_t descriptorUpdateEntryCount ;
const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries ;
VkDescriptorUpdateTemplateType templateType ;
VkDescriptorSetLayout descriptorSetLayout ;
VkPipelineBindPoint pipelineBindPoint ;
VkPipelineLayout pipelineLayout ;
uint32_t set ;
} VkDescriptorUpdateTemplateCreateInfo ;
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 VkPhysicalDeviceShaderDrawParameterFeatures {
VkStructureType sType ;
void * pNext ;
VkBool32 shaderDrawParameters ;
} 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_vkGetImageSparseMemoryRequirements2 ) ( VkDevice device , const VkImageSparseMemoryRequirementsInfo2 * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) ;
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_vkGetPhysicalDeviceSparseImageFormatProperties2 ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo , uint32_t * pPropertyCount , VkSparseImageFormatProperties2 * pProperties ) ;
typedef void ( VKAPI_PTR * PFN_vkTrimCommandPool ) ( VkDevice device , VkCommandPool commandPool , VkCommandPoolTrimFlags flags ) ;
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 VkResult ( VKAPI_PTR * PFN_vkCreateDescriptorUpdateTemplate ) ( VkDevice device , const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyDescriptorUpdateTemplate ) ( VkDevice device , VkDescriptorUpdateTemplate descriptorUpdateTemplate , const VkAllocationCallbacks * pAllocator ) ;
typedef void ( VKAPI_PTR * PFN_vkUpdateDescriptorSetWithTemplate ) ( VkDevice device , VkDescriptorSet descriptorSet , VkDescriptorUpdateTemplate descriptorUpdateTemplate , const void * pData ) ;
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 vkGetImageSparseMemoryRequirements2 (
VkDevice device ,
const VkImageSparseMemoryRequirementsInfo2 * pInfo ,
uint32_t * pSparseMemoryRequirementCount ,
VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) ;
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 vkGetPhysicalDeviceSparseImageFormatProperties2 (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo ,
uint32_t * pPropertyCount ,
VkSparseImageFormatProperties2 * pProperties ) ;
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool (
VkDevice device ,
VkCommandPool commandPool ,
VkCommandPoolTrimFlags flags ) ;
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 VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate (
VkDevice device ,
const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate (
VkDevice device ,
VkDescriptorUpdateTemplate descriptorUpdateTemplate ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate (
VkDevice device ,
VkDescriptorSet descriptorSet ,
VkDescriptorUpdateTemplate descriptorUpdateTemplate ,
const void * pData ) ;
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_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"
# define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
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_DCI_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_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR ,
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR ,
VK_COLOR_SPACE_RANGE_SIZE_KHR = ( VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1 ) ,
VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
} VkColorSpaceKHR ;
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_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR ,
VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR ,
VK_PRESENT_MODE_RANGE_SIZE_KHR = ( VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1 ) ,
VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
} VkPresentModeKHR ;
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 VkFlags VkSurfaceTransformFlagsKHR ;
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 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_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 ;
const 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 void ( VKAPI_PTR * PFN_vkDestroySwapchainKHR ) ( VkDevice device , VkSwapchainKHR swapchain , const VkAllocationCallbacks * pAllocator ) ;
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 void VKAPI_CALL vkDestroySwapchainKHR (
VkDevice device ,
VkSwapchainKHR swapchain ,
const VkAllocationCallbacks * pAllocator ) ;
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 21
# define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
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 VkDisplayModeCreateFlagsKHR ;
typedef VkFlags VkDisplaySurfaceCreateFlagsKHR ;
typedef struct VkDisplayPropertiesKHR {
VkDisplayKHR display ;
const char * displayName ;
VkExtent2D physicalDimensions ;
VkExtent2D physicalResolution ;
VkSurfaceTransformFlagsKHR supportedTransforms ;
VkBool32 planeReorderPossible ;
VkBool32 persistentContent ;
} VkDisplayPropertiesKHR ;
typedef struct VkDisplayModeParametersKHR {
VkExtent2D visibleRegion ;
uint32_t refreshRate ;
} VkDisplayModeParametersKHR ;
typedef struct VkDisplayModePropertiesKHR {
VkDisplayModeKHR displayMode ;
VkDisplayModeParametersKHR parameters ;
} VkDisplayModePropertiesKHR ;
typedef struct VkDisplayModeCreateInfoKHR {
VkStructureType sType ;
const void * pNext ;
VkDisplayModeCreateFlagsKHR flags ;
VkDisplayModeParametersKHR parameters ;
} VkDisplayModeCreateInfoKHR ;
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 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 9
# 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_sampler_mirror_clamp_to_edge 1
# define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
# define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
# define VK_KHR_multiview 1
# define VK_KHR_MULTIVIEW_SPEC_VERSION 1
# define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR ;
typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR ;
typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR ;
# define VK_KHR_get_physical_device_properties2 1
# define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
# define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR ;
typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR ;
typedef VkFormatProperties2 VkFormatProperties2KHR ;
typedef VkImageFormatProperties2 VkImageFormatProperties2KHR ;
typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR ;
typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR ;
typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR ;
typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR ;
typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceFeatures2KHR ) ( VkPhysicalDevice physicalDevice , VkPhysicalDeviceFeatures2 * pFeatures ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceProperties2KHR ) ( VkPhysicalDevice physicalDevice , VkPhysicalDeviceProperties2 * pProperties ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceFormatProperties2KHR ) ( VkPhysicalDevice physicalDevice , VkFormat format , VkFormatProperties2 * pFormatProperties ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceImageFormatProperties2KHR ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo , VkImageFormatProperties2 * pImageFormatProperties ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ( VkPhysicalDevice physicalDevice , uint32_t * pQueueFamilyPropertyCount , VkQueueFamilyProperties2 * pQueueFamilyProperties ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceMemoryProperties2KHR ) ( VkPhysicalDevice physicalDevice , VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo , uint32_t * pPropertyCount , VkSparseImageFormatProperties2 * pProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR (
VkPhysicalDevice physicalDevice ,
VkPhysicalDeviceFeatures2 * pFeatures ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR (
VkPhysicalDevice physicalDevice ,
VkPhysicalDeviceProperties2 * pProperties ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR (
VkPhysicalDevice physicalDevice ,
VkFormat format ,
VkFormatProperties2 * pFormatProperties ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo ,
VkImageFormatProperties2 * pImageFormatProperties ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR (
VkPhysicalDevice physicalDevice ,
uint32_t * pQueueFamilyPropertyCount ,
VkQueueFamilyProperties2 * pQueueFamilyProperties ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR (
VkPhysicalDevice physicalDevice ,
VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo ,
uint32_t * pPropertyCount ,
VkSparseImageFormatProperties2 * pProperties ) ;
# endif
# define VK_KHR_device_group 1
# define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
# define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR ;
typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR ;
typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR ;
typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR ;
typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR ;
typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR ;
typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR ;
typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR ;
typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR ;
typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR ;
typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR ;
typedef void ( VKAPI_PTR * PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR ) ( VkDevice device , uint32_t heapIndex , uint32_t localDeviceIndex , uint32_t remoteDeviceIndex , VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdSetDeviceMaskKHR ) ( VkCommandBuffer commandBuffer , uint32_t deviceMask ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdDispatchBaseKHR ) ( VkCommandBuffer commandBuffer , uint32_t baseGroupX , uint32_t baseGroupY , uint32_t baseGroupZ , uint32_t groupCountX , uint32_t groupCountY , uint32_t groupCountZ ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR (
VkDevice device ,
uint32_t heapIndex ,
uint32_t localDeviceIndex ,
uint32_t remoteDeviceIndex ,
VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR (
VkCommandBuffer commandBuffer ,
uint32_t deviceMask ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR (
VkCommandBuffer commandBuffer ,
uint32_t baseGroupX ,
uint32_t baseGroupY ,
uint32_t baseGroupZ ,
uint32_t groupCountX ,
uint32_t groupCountY ,
uint32_t groupCountZ ) ;
# endif
# define VK_KHR_shader_draw_parameters 1
# define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
# define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
# define VK_KHR_maintenance1 1
# define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
# define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR ;
typedef void ( VKAPI_PTR * PFN_vkTrimCommandPoolKHR ) ( VkDevice device , VkCommandPool commandPool , VkCommandPoolTrimFlags flags ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR (
VkDevice device ,
VkCommandPool commandPool ,
VkCommandPoolTrimFlags flags ) ;
# endif
# define VK_KHR_device_group_creation 1
# define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
# define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
# define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR ;
typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR ;
typedef VkResult ( VKAPI_PTR * PFN_vkEnumeratePhysicalDeviceGroupsKHR ) ( VkInstance instance , uint32_t * pPhysicalDeviceGroupCount , VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR (
VkInstance instance ,
uint32_t * pPhysicalDeviceGroupCount ,
VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) ;
# endif
# define VK_KHR_external_memory_capabilities 1
# define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
# define VK_LUID_SIZE_KHR VK_LUID_SIZE
typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR ;
typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR ;
typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR ;
typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR ;
typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR ;
typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR ;
typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR ;
typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR ;
typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR ;
typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo , VkExternalBufferProperties * pExternalBufferProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo ,
VkExternalBufferProperties * pExternalBufferProperties ) ;
# endif
# define VK_KHR_external_memory 1
# define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
# define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR ;
typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR ;
typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR ;
# 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_capabilities 1
# define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR ;
typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR ;
typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR ;
typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR ;
typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR ;
typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo , VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo ,
VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) ;
# endif
# define VK_KHR_external_semaphore 1
# define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR ;
typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR ;
typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR ;
# 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_push_descriptor 1
# define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
# define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
VkStructureType sType ;
void * pNext ;
uint32_t maxPushDescriptors ;
} VkPhysicalDevicePushDescriptorPropertiesKHR ;
typedef void ( VKAPI_PTR * PFN_vkCmdPushDescriptorSetKHR ) ( VkCommandBuffer commandBuffer , VkPipelineBindPoint pipelineBindPoint , VkPipelineLayout layout , uint32_t set , uint32_t descriptorWriteCount , const VkWriteDescriptorSet * pDescriptorWrites ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdPushDescriptorSetWithTemplateKHR ) ( VkCommandBuffer commandBuffer , VkDescriptorUpdateTemplate descriptorUpdateTemplate , VkPipelineLayout layout , uint32_t set , const void * pData ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR (
VkCommandBuffer commandBuffer ,
VkPipelineBindPoint pipelineBindPoint ,
VkPipelineLayout layout ,
uint32_t set ,
uint32_t descriptorWriteCount ,
const VkWriteDescriptorSet * pDescriptorWrites ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR (
VkCommandBuffer commandBuffer ,
VkDescriptorUpdateTemplate descriptorUpdateTemplate ,
VkPipelineLayout layout ,
uint32_t set ,
const void * pData ) ;
# endif
# define VK_KHR_16bit_storage 1
# define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
# define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR ;
# define VK_KHR_incremental_present 1
# define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
# 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_descriptor_update_template 1
typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR ;
# define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
# define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR ;
typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR ;
typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR ;
typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateDescriptorUpdateTemplateKHR ) ( VkDevice device , const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyDescriptorUpdateTemplateKHR ) ( VkDevice device , VkDescriptorUpdateTemplate descriptorUpdateTemplate , const VkAllocationCallbacks * pAllocator ) ;
typedef void ( VKAPI_PTR * PFN_vkUpdateDescriptorSetWithTemplateKHR ) ( VkDevice device , VkDescriptorSet descriptorSet , VkDescriptorUpdateTemplate descriptorUpdateTemplate , const void * pData ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR (
VkDevice device ,
const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR (
VkDevice device ,
VkDescriptorUpdateTemplate descriptorUpdateTemplate ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR (
VkDevice device ,
VkDescriptorSet descriptorSet ,
VkDescriptorUpdateTemplate descriptorUpdateTemplate ,
const void * pData ) ;
# endif
# 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_capabilities 1
# define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR ;
typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR ;
typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR ;
typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR ;
typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR ;
typedef VkExternalFenceProperties VkExternalFencePropertiesKHR ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR ) ( VkPhysicalDevice physicalDevice , const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo , VkExternalFenceProperties * pExternalFenceProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR (
VkPhysicalDevice physicalDevice ,
const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo ,
VkExternalFenceProperties * pExternalFenceProperties ) ;
# endif
# define VK_KHR_external_fence 1
# define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
# define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
typedef VkFenceImportFlags VkFenceImportFlagsKHR ;
typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR ;
typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR ;
# 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_maintenance2 1
# define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
# define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
typedef VkPointClippingBehavior VkPointClippingBehaviorKHR ;
typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR ;
typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR ;
typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR ;
typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR ;
typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR ;
typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR ;
# 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_variable_pointers 1
# define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
# define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
typedef VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeaturesKHR ;
# define VK_KHR_dedicated_allocation 1
# define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
# define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR ;
typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR ;
# define VK_KHR_storage_buffer_storage_class 1
# define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
# define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
# define VK_KHR_relaxed_block_layout 1
# define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
# define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
# define VK_KHR_get_memory_requirements2 1
# define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
# define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR ;
typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR ;
typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR ;
typedef VkMemoryRequirements2 VkMemoryRequirements2KHR ;
typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR ;
typedef void ( VKAPI_PTR * PFN_vkGetImageMemoryRequirements2KHR ) ( VkDevice device , const VkImageMemoryRequirementsInfo2 * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) ;
typedef void ( VKAPI_PTR * PFN_vkGetBufferMemoryRequirements2KHR ) ( VkDevice device , const VkBufferMemoryRequirementsInfo2 * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) ;
typedef void ( VKAPI_PTR * PFN_vkGetImageSparseMemoryRequirements2KHR ) ( VkDevice device , const VkImageSparseMemoryRequirementsInfo2 * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR (
VkDevice device ,
const VkImageMemoryRequirementsInfo2 * pInfo ,
VkMemoryRequirements2 * pMemoryRequirements ) ;
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR (
VkDevice device ,
const VkBufferMemoryRequirementsInfo2 * pInfo ,
VkMemoryRequirements2 * pMemoryRequirements ) ;
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR (
VkDevice device ,
const VkImageSparseMemoryRequirementsInfo2 * pInfo ,
uint32_t * pSparseMemoryRequirementCount ,
VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) ;
# endif
# define VK_KHR_image_format_list 1
# define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
# define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
typedef struct VkImageFormatListCreateInfoKHR {
VkStructureType sType ;
const void * pNext ;
uint32_t viewFormatCount ;
const VkFormat * pViewFormats ;
} VkImageFormatListCreateInfoKHR ;
# define VK_KHR_sampler_ycbcr_conversion 1
typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR ;
# define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
# define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR ;
typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR ;
typedef VkChromaLocation VkChromaLocationKHR ;
typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR ;
typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR ;
typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR ;
typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR ;
typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR ;
typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateSamplerYcbcrConversionKHR ) ( VkDevice device , const VkSamplerYcbcrConversionCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkSamplerYcbcrConversion * pYcbcrConversion ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroySamplerYcbcrConversionKHR ) ( VkDevice device , VkSamplerYcbcrConversion ycbcrConversion , const VkAllocationCallbacks * pAllocator ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR (
VkDevice device ,
const VkSamplerYcbcrConversionCreateInfo * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkSamplerYcbcrConversion * pYcbcrConversion ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR (
VkDevice device ,
VkSamplerYcbcrConversion ycbcrConversion ,
const VkAllocationCallbacks * pAllocator ) ;
# endif
# define VK_KHR_bind_memory2 1
# define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
# define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR ;
typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR ;
typedef VkResult ( VKAPI_PTR * PFN_vkBindBufferMemory2KHR ) ( VkDevice device , uint32_t bindInfoCount , const VkBindBufferMemoryInfo * pBindInfos ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkBindImageMemory2KHR ) ( VkDevice device , uint32_t bindInfoCount , const VkBindImageMemoryInfo * pBindInfos ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR (
VkDevice device ,
uint32_t bindInfoCount ,
const VkBindBufferMemoryInfo * pBindInfos ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR (
VkDevice device ,
uint32_t bindInfoCount ,
const VkBindImageMemoryInfo * pBindInfos ) ;
# endif
# define VK_KHR_maintenance3 1
# define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
# define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR ;
typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR ;
typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutSupportKHR ) ( VkDevice device , const VkDescriptorSetLayoutCreateInfo * pCreateInfo , VkDescriptorSetLayoutSupport * pSupport ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR (
VkDevice device ,
const VkDescriptorSetLayoutCreateInfo * pCreateInfo ,
VkDescriptorSetLayoutSupport * pSupport ) ;
# endif
# define VK_EXT_debug_report 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDebugReportCallbackEXT )
# define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
# define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
# define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
# define VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
typedef enum VkDebugReportObjectTypeEXT {
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0 ,
VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1 ,
VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3 ,
VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5 ,
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6 ,
VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8 ,
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9 ,
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10 ,
VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11 ,
VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12 ,
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13 ,
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15 ,
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16 ,
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17 ,
VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18 ,
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23 ,
VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24 ,
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30 ,
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31 ,
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32 ,
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33 ,
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000 ,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT ,
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT ,
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT ,
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT ,
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = ( VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1 ) ,
VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
} VkDebugReportObjectTypeEXT ;
typedef enum VkDebugReportFlagBitsEXT {
VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001 ,
VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002 ,
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004 ,
VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008 ,
VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010 ,
VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
} VkDebugReportFlagBitsEXT ;
typedef VkFlags VkDebugReportFlagsEXT ;
typedef VkBool32 ( VKAPI_PTR * PFN_vkDebugReportCallbackEXT ) (
VkDebugReportFlagsEXT flags ,
VkDebugReportObjectTypeEXT objectType ,
uint64_t object ,
size_t location ,
int32_t messageCode ,
const char * pLayerPrefix ,
const char * pMessage ,
void * pUserData ) ;
typedef struct VkDebugReportCallbackCreateInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkDebugReportFlagsEXT flags ;
PFN_vkDebugReportCallbackEXT pfnCallback ;
void * pUserData ;
} VkDebugReportCallbackCreateInfoEXT ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateDebugReportCallbackEXT ) ( VkInstance instance , const VkDebugReportCallbackCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkDebugReportCallbackEXT * pCallback ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyDebugReportCallbackEXT ) ( VkInstance instance , VkDebugReportCallbackEXT callback , const VkAllocationCallbacks * pAllocator ) ;
typedef void ( VKAPI_PTR * PFN_vkDebugReportMessageEXT ) ( VkInstance instance , VkDebugReportFlagsEXT flags , VkDebugReportObjectTypeEXT objectType , uint64_t object , size_t location , int32_t messageCode , const char * pLayerPrefix , const char * pMessage ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT (
VkInstance instance ,
const VkDebugReportCallbackCreateInfoEXT * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkDebugReportCallbackEXT * pCallback ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT (
VkInstance instance ,
VkDebugReportCallbackEXT callback ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT (
VkInstance instance ,
VkDebugReportFlagsEXT flags ,
VkDebugReportObjectTypeEXT objectType ,
uint64_t object ,
size_t location ,
int32_t messageCode ,
const char * pLayerPrefix ,
const char * pMessage ) ;
# endif
# define VK_NV_glsl_shader 1
# define VK_NV_GLSL_SHADER_SPEC_VERSION 1
# define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
# 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_IMG_filter_cubic 1
# define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
# define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
# define VK_AMD_rasterization_order 1
# define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
# define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
typedef enum VkRasterizationOrderAMD {
VK_RASTERIZATION_ORDER_STRICT_AMD = 0 ,
VK_RASTERIZATION_ORDER_RELAXED_AMD = 1 ,
VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD ,
VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD ,
VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = ( VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1 ) ,
VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
} VkRasterizationOrderAMD ;
typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
VkStructureType sType ;
const void * pNext ;
VkRasterizationOrderAMD rasterizationOrder ;
} VkPipelineRasterizationStateRasterizationOrderAMD ;
# define VK_AMD_shader_trinary_minmax 1
# define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
# define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
# define VK_AMD_shader_explicit_vertex_parameter 1
# define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
# define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
# define VK_EXT_debug_marker 1
# define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
# define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
typedef struct VkDebugMarkerObjectNameInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkDebugReportObjectTypeEXT objectType ;
uint64_t object ;
const char * pObjectName ;
} VkDebugMarkerObjectNameInfoEXT ;
typedef struct VkDebugMarkerObjectTagInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkDebugReportObjectTypeEXT objectType ;
uint64_t object ;
uint64_t tagName ;
size_t tagSize ;
const void * pTag ;
} VkDebugMarkerObjectTagInfoEXT ;
typedef struct VkDebugMarkerMarkerInfoEXT {
VkStructureType sType ;
const void * pNext ;
const char * pMarkerName ;
float color [ 4 ] ;
} VkDebugMarkerMarkerInfoEXT ;
typedef VkResult ( VKAPI_PTR * PFN_vkDebugMarkerSetObjectTagEXT ) ( VkDevice device , const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkDebugMarkerSetObjectNameEXT ) ( VkDevice device , const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdDebugMarkerBeginEXT ) ( VkCommandBuffer commandBuffer , const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdDebugMarkerEndEXT ) ( VkCommandBuffer commandBuffer ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdDebugMarkerInsertEXT ) ( VkCommandBuffer commandBuffer , const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT (
VkDevice device ,
const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT (
VkDevice device ,
const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT (
VkCommandBuffer commandBuffer ,
const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT (
VkCommandBuffer commandBuffer ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT (
VkCommandBuffer commandBuffer ,
const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) ;
# endif
# define VK_AMD_gcn_shader 1
# define VK_AMD_GCN_SHADER_SPEC_VERSION 1
# define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
# define VK_NV_dedicated_allocation 1
# define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
# define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
typedef struct VkDedicatedAllocationImageCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkBool32 dedicatedAllocation ;
} VkDedicatedAllocationImageCreateInfoNV ;
typedef struct VkDedicatedAllocationBufferCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkBool32 dedicatedAllocation ;
} VkDedicatedAllocationBufferCreateInfoNV ;
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkImage image ;
VkBuffer buffer ;
} VkDedicatedAllocationMemoryAllocateInfoNV ;
# define VK_AMD_draw_indirect_count 1
# define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
# define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
typedef void ( VKAPI_PTR * PFN_vkCmdDrawIndirectCountAMD ) ( VkCommandBuffer commandBuffer , VkBuffer buffer , VkDeviceSize offset , VkBuffer countBuffer , VkDeviceSize countBufferOffset , uint32_t maxDrawCount , uint32_t stride ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdDrawIndexedIndirectCountAMD ) ( VkCommandBuffer commandBuffer , VkBuffer buffer , VkDeviceSize offset , VkBuffer countBuffer , VkDeviceSize countBufferOffset , uint32_t maxDrawCount , uint32_t stride ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD (
VkCommandBuffer commandBuffer ,
VkBuffer buffer ,
VkDeviceSize offset ,
VkBuffer countBuffer ,
VkDeviceSize countBufferOffset ,
uint32_t maxDrawCount ,
uint32_t stride ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD (
VkCommandBuffer commandBuffer ,
VkBuffer buffer ,
VkDeviceSize offset ,
VkBuffer countBuffer ,
VkDeviceSize countBufferOffset ,
uint32_t maxDrawCount ,
uint32_t stride ) ;
# endif
# define VK_AMD_negative_viewport_height 1
# define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
# define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
# define VK_AMD_gpu_shader_half_float 1
# define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
# define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
# define VK_AMD_shader_ballot 1
# define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
# define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
# define VK_AMD_texture_gather_bias_lod 1
# define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
# define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
typedef struct VkTextureLODGatherFormatPropertiesAMD {
VkStructureType sType ;
void * pNext ;
VkBool32 supportsTextureGatherLODBiasAMD ;
} VkTextureLODGatherFormatPropertiesAMD ;
# define VK_AMD_shader_info 1
# define VK_AMD_SHADER_INFO_SPEC_VERSION 1
# define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
typedef enum VkShaderInfoTypeAMD {
VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0 ,
VK_SHADER_INFO_TYPE_BINARY_AMD = 1 ,
VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2 ,
VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD ,
VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD ,
VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = ( VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1 ) ,
VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
} VkShaderInfoTypeAMD ;
typedef struct VkShaderResourceUsageAMD {
uint32_t numUsedVgprs ;
uint32_t numUsedSgprs ;
uint32_t ldsSizePerLocalWorkGroup ;
size_t ldsUsageSizeInBytes ;
size_t scratchMemUsageInBytes ;
} VkShaderResourceUsageAMD ;
typedef struct VkShaderStatisticsInfoAMD {
VkShaderStageFlags shaderStageMask ;
VkShaderResourceUsageAMD resourceUsage ;
uint32_t numPhysicalVgprs ;
uint32_t numPhysicalSgprs ;
uint32_t numAvailableVgprs ;
uint32_t numAvailableSgprs ;
uint32_t computeWorkGroupSize [ 3 ] ;
} VkShaderStatisticsInfoAMD ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetShaderInfoAMD ) ( VkDevice device , VkPipeline pipeline , VkShaderStageFlagBits shaderStage , VkShaderInfoTypeAMD infoType , size_t * pInfoSize , void * pInfo ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD (
VkDevice device ,
VkPipeline pipeline ,
VkShaderStageFlagBits shaderStage ,
VkShaderInfoTypeAMD infoType ,
size_t * pInfoSize ,
void * pInfo ) ;
# endif
# define VK_AMD_shader_image_load_store_lod 1
# define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
# define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
# define VK_IMG_format_pvrtc 1
# define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
# define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
# define VK_NV_external_memory_capabilities 1
# define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
# define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001 ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002 ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004 ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008 ,
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
} VkExternalMemoryHandleTypeFlagBitsNV ;
typedef VkFlags VkExternalMemoryHandleTypeFlagsNV ;
typedef enum VkExternalMemoryFeatureFlagBitsNV {
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001 ,
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002 ,
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004 ,
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
} VkExternalMemoryFeatureFlagBitsNV ;
typedef VkFlags VkExternalMemoryFeatureFlagsNV ;
typedef struct VkExternalImageFormatPropertiesNV {
VkImageFormatProperties imageFormatProperties ;
VkExternalMemoryFeatureFlagsNV externalMemoryFeatures ;
VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes ;
VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes ;
} VkExternalImageFormatPropertiesNV ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV ) ( VkPhysicalDevice physicalDevice , VkFormat format , VkImageType type , VkImageTiling tiling , VkImageUsageFlags usage , VkImageCreateFlags flags , VkExternalMemoryHandleTypeFlagsNV externalHandleType , VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV (
VkPhysicalDevice physicalDevice ,
VkFormat format ,
VkImageType type ,
VkImageTiling tiling ,
VkImageUsageFlags usage ,
VkImageCreateFlags flags ,
VkExternalMemoryHandleTypeFlagsNV externalHandleType ,
VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) ;
# endif
# define VK_NV_external_memory 1
# define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
# define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
typedef struct VkExternalMemoryImageCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkExternalMemoryHandleTypeFlagsNV handleTypes ;
} VkExternalMemoryImageCreateInfoNV ;
typedef struct VkExportMemoryAllocateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkExternalMemoryHandleTypeFlagsNV handleTypes ;
} VkExportMemoryAllocateInfoNV ;
# define VK_EXT_validation_flags 1
# define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1
# define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
typedef enum VkValidationCheckEXT {
VK_VALIDATION_CHECK_ALL_EXT = 0 ,
VK_VALIDATION_CHECK_SHADERS_EXT = 1 ,
VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT ,
VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT ,
VK_VALIDATION_CHECK_RANGE_SIZE_EXT = ( VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1 ) ,
VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
} VkValidationCheckEXT ;
typedef struct VkValidationFlagsEXT {
VkStructureType sType ;
const void * pNext ;
uint32_t disabledValidationCheckCount ;
VkValidationCheckEXT * pDisabledValidationChecks ;
} VkValidationFlagsEXT ;
# define VK_EXT_shader_subgroup_ballot 1
# define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
# define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
# define VK_EXT_shader_subgroup_vote 1
# define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
# define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
# define VK_NVX_device_generated_commands 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkObjectTableNVX )
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkIndirectCommandsLayoutNVX )
# define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
# define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
typedef enum VkIndirectCommandsTokenTypeNVX {
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7 ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = ( VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1 ) ,
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
} VkIndirectCommandsTokenTypeNVX ;
typedef enum VkObjectEntryTypeNVX {
VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0 ,
VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1 ,
VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2 ,
VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3 ,
VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4 ,
VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ,
VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX ,
VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = ( VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1 ) ,
VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
} VkObjectEntryTypeNVX ;
typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001 ,
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002 ,
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004 ,
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008 ,
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
} VkIndirectCommandsLayoutUsageFlagBitsNVX ;
typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX ;
typedef enum VkObjectEntryUsageFlagBitsNVX {
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001 ,
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002 ,
VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
} VkObjectEntryUsageFlagBitsNVX ;
typedef VkFlags VkObjectEntryUsageFlagsNVX ;
typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
VkStructureType sType ;
const void * pNext ;
VkBool32 computeBindingPointSupport ;
} VkDeviceGeneratedCommandsFeaturesNVX ;
typedef struct VkDeviceGeneratedCommandsLimitsNVX {
VkStructureType sType ;
const void * pNext ;
uint32_t maxIndirectCommandsLayoutTokenCount ;
uint32_t maxObjectEntryCounts ;
uint32_t minSequenceCountBufferOffsetAlignment ;
uint32_t minSequenceIndexBufferOffsetAlignment ;
uint32_t minCommandsTokenBufferOffsetAlignment ;
} VkDeviceGeneratedCommandsLimitsNVX ;
typedef struct VkIndirectCommandsTokenNVX {
VkIndirectCommandsTokenTypeNVX tokenType ;
VkBuffer buffer ;
VkDeviceSize offset ;
} VkIndirectCommandsTokenNVX ;
typedef struct VkIndirectCommandsLayoutTokenNVX {
VkIndirectCommandsTokenTypeNVX tokenType ;
uint32_t bindingUnit ;
uint32_t dynamicCount ;
uint32_t divisor ;
} VkIndirectCommandsLayoutTokenNVX ;
typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
VkStructureType sType ;
const void * pNext ;
VkPipelineBindPoint pipelineBindPoint ;
VkIndirectCommandsLayoutUsageFlagsNVX flags ;
uint32_t tokenCount ;
const VkIndirectCommandsLayoutTokenNVX * pTokens ;
} VkIndirectCommandsLayoutCreateInfoNVX ;
typedef struct VkCmdProcessCommandsInfoNVX {
VkStructureType sType ;
const void * pNext ;
VkObjectTableNVX objectTable ;
VkIndirectCommandsLayoutNVX indirectCommandsLayout ;
uint32_t indirectCommandsTokenCount ;
const VkIndirectCommandsTokenNVX * pIndirectCommandsTokens ;
uint32_t maxSequencesCount ;
VkCommandBuffer targetCommandBuffer ;
VkBuffer sequencesCountBuffer ;
VkDeviceSize sequencesCountOffset ;
VkBuffer sequencesIndexBuffer ;
VkDeviceSize sequencesIndexOffset ;
} VkCmdProcessCommandsInfoNVX ;
typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
VkStructureType sType ;
const void * pNext ;
VkObjectTableNVX objectTable ;
VkIndirectCommandsLayoutNVX indirectCommandsLayout ;
uint32_t maxSequencesCount ;
} VkCmdReserveSpaceForCommandsInfoNVX ;
typedef struct VkObjectTableCreateInfoNVX {
VkStructureType sType ;
const void * pNext ;
uint32_t objectCount ;
const VkObjectEntryTypeNVX * pObjectEntryTypes ;
const uint32_t * pObjectEntryCounts ;
const VkObjectEntryUsageFlagsNVX * pObjectEntryUsageFlags ;
uint32_t maxUniformBuffersPerDescriptor ;
uint32_t maxStorageBuffersPerDescriptor ;
uint32_t maxStorageImagesPerDescriptor ;
uint32_t maxSampledImagesPerDescriptor ;
uint32_t maxPipelineLayouts ;
} VkObjectTableCreateInfoNVX ;
typedef struct VkObjectTableEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
} VkObjectTableEntryNVX ;
typedef struct VkObjectTablePipelineEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
VkPipeline pipeline ;
} VkObjectTablePipelineEntryNVX ;
typedef struct VkObjectTableDescriptorSetEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
VkPipelineLayout pipelineLayout ;
VkDescriptorSet descriptorSet ;
} VkObjectTableDescriptorSetEntryNVX ;
typedef struct VkObjectTableVertexBufferEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
VkBuffer buffer ;
} VkObjectTableVertexBufferEntryNVX ;
typedef struct VkObjectTableIndexBufferEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
VkBuffer buffer ;
VkIndexType indexType ;
} VkObjectTableIndexBufferEntryNVX ;
typedef struct VkObjectTablePushConstantEntryNVX {
VkObjectEntryTypeNVX type ;
VkObjectEntryUsageFlagsNVX flags ;
VkPipelineLayout pipelineLayout ;
VkShaderStageFlags stageFlags ;
} VkObjectTablePushConstantEntryNVX ;
typedef void ( VKAPI_PTR * PFN_vkCmdProcessCommandsNVX ) ( VkCommandBuffer commandBuffer , const VkCmdProcessCommandsInfoNVX * pProcessCommandsInfo ) ;
typedef void ( VKAPI_PTR * PFN_vkCmdReserveSpaceForCommandsNVX ) ( VkCommandBuffer commandBuffer , const VkCmdReserveSpaceForCommandsInfoNVX * pReserveSpaceInfo ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateIndirectCommandsLayoutNVX ) ( VkDevice device , const VkIndirectCommandsLayoutCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkIndirectCommandsLayoutNVX * pIndirectCommandsLayout ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyIndirectCommandsLayoutNVX ) ( VkDevice device , VkIndirectCommandsLayoutNVX indirectCommandsLayout , const VkAllocationCallbacks * pAllocator ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateObjectTableNVX ) ( VkDevice device , const VkObjectTableCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkObjectTableNVX * pObjectTable ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyObjectTableNVX ) ( VkDevice device , VkObjectTableNVX objectTable , const VkAllocationCallbacks * pAllocator ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkRegisterObjectsNVX ) ( VkDevice device , VkObjectTableNVX objectTable , uint32_t objectCount , const VkObjectTableEntryNVX * const * ppObjectTableEntries , const uint32_t * pObjectIndices ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkUnregisterObjectsNVX ) ( VkDevice device , VkObjectTableNVX objectTable , uint32_t objectCount , const VkObjectEntryTypeNVX * pObjectEntryTypes , const uint32_t * pObjectIndices ) ;
typedef void ( VKAPI_PTR * PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ) ( VkPhysicalDevice physicalDevice , VkDeviceGeneratedCommandsFeaturesNVX * pFeatures , VkDeviceGeneratedCommandsLimitsNVX * pLimits ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX (
VkCommandBuffer commandBuffer ,
const VkCmdProcessCommandsInfoNVX * pProcessCommandsInfo ) ;
VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX (
VkCommandBuffer commandBuffer ,
const VkCmdReserveSpaceForCommandsInfoNVX * pReserveSpaceInfo ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX (
VkDevice device ,
const VkIndirectCommandsLayoutCreateInfoNVX * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkIndirectCommandsLayoutNVX * pIndirectCommandsLayout ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX (
VkDevice device ,
VkIndirectCommandsLayoutNVX indirectCommandsLayout ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX (
VkDevice device ,
const VkObjectTableCreateInfoNVX * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkObjectTableNVX * pObjectTable ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX (
VkDevice device ,
VkObjectTableNVX objectTable ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX (
VkDevice device ,
VkObjectTableNVX objectTable ,
uint32_t objectCount ,
const VkObjectTableEntryNVX * const * ppObjectTableEntries ,
const uint32_t * pObjectIndices ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX (
VkDevice device ,
VkObjectTableNVX objectTable ,
uint32_t objectCount ,
const VkObjectEntryTypeNVX * pObjectEntryTypes ,
const uint32_t * pObjectIndices ) ;
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX (
VkPhysicalDevice physicalDevice ,
VkDeviceGeneratedCommandsFeaturesNVX * pFeatures ,
VkDeviceGeneratedCommandsLimitsNVX * pLimits ) ;
# endif
# define VK_NV_clip_space_w_scaling 1
# define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
# define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
typedef struct VkViewportWScalingNV {
float xcoeff ;
float ycoeff ;
} VkViewportWScalingNV ;
typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkBool32 viewportWScalingEnable ;
uint32_t viewportCount ;
const VkViewportWScalingNV * pViewportWScalings ;
} VkPipelineViewportWScalingStateCreateInfoNV ;
typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWScalingNV ) ( VkCommandBuffer commandBuffer , uint32_t firstViewport , uint32_t viewportCount , const VkViewportWScalingNV * pViewportWScalings ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV (
VkCommandBuffer commandBuffer ,
uint32_t firstViewport ,
uint32_t viewportCount ,
const VkViewportWScalingNV * pViewportWScalings ) ;
# endif
# 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"
# define VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT
typedef enum VkSurfaceCounterFlagBitsEXT {
VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001 ,
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_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT ,
VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT ,
VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = ( VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1 ) ,
VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
} VkDisplayPowerStateEXT ;
typedef enum VkDeviceEventTypeEXT {
VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0 ,
VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ,
VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ,
VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = ( VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1 ) ,
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_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ,
VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ,
VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = ( VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1 ) ,
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_GOOGLE_display_timing 1
# define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
# define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
typedef struct VkRefreshCycleDurationGOOGLE {
uint64_t refreshDuration ;
} VkRefreshCycleDurationGOOGLE ;
typedef struct VkPastPresentationTimingGOOGLE {
uint32_t presentID ;
uint64_t desiredPresentTime ;
uint64_t actualPresentTime ;
uint64_t earliestPresentTime ;
uint64_t presentMargin ;
} VkPastPresentationTimingGOOGLE ;
typedef struct VkPresentTimeGOOGLE {
uint32_t presentID ;
uint64_t desiredPresentTime ;
} VkPresentTimeGOOGLE ;
typedef struct VkPresentTimesInfoGOOGLE {
VkStructureType sType ;
const void * pNext ;
uint32_t swapchainCount ;
const VkPresentTimeGOOGLE * pTimes ;
} VkPresentTimesInfoGOOGLE ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetRefreshCycleDurationGOOGLE ) ( VkDevice device , VkSwapchainKHR swapchain , VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetPastPresentationTimingGOOGLE ) ( VkDevice device , VkSwapchainKHR swapchain , uint32_t * pPresentationTimingCount , VkPastPresentationTimingGOOGLE * pPresentationTimings ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE (
VkDevice device ,
VkSwapchainKHR swapchain ,
VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE (
VkDevice device ,
VkSwapchainKHR swapchain ,
uint32_t * pPresentationTimingCount ,
VkPastPresentationTimingGOOGLE * pPresentationTimings ) ;
# endif
# define VK_NV_sample_mask_override_coverage 1
# define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
# define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
# define VK_NV_geometry_shader_passthrough 1
# define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
# define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
# define VK_NV_viewport_array2 1
# define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
# define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
# define VK_NVX_multiview_per_view_attributes 1
# define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
# define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
VkStructureType sType ;
void * pNext ;
VkBool32 perViewPositionAllComponents ;
} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX ;
# define VK_NV_viewport_swizzle 1
# define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
# define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
typedef enum VkViewportCoordinateSwizzleNV {
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7 ,
VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ,
VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV ,
VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = ( VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1 ) ,
VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
} VkViewportCoordinateSwizzleNV ;
typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV ;
typedef struct VkViewportSwizzleNV {
VkViewportCoordinateSwizzleNV x ;
VkViewportCoordinateSwizzleNV y ;
VkViewportCoordinateSwizzleNV z ;
VkViewportCoordinateSwizzleNV w ;
} VkViewportSwizzleNV ;
typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkPipelineViewportSwizzleStateCreateFlagsNV flags ;
uint32_t viewportCount ;
const VkViewportSwizzleNV * pViewportSwizzles ;
} VkPipelineViewportSwizzleStateCreateInfoNV ;
# 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_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT ,
VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT ,
VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = ( VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_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_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT ,
VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT ,
VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = ( VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1 ) ,
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_swapchain_colorspace 1
# define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3
# 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 1
# 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 (~0U-2)
# define VK_EXT_debug_utils 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkDebugUtilsMessengerEXT )
# define VK_EXT_DEBUG_UTILS_SPEC_VERSION 1
# define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT ;
typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT ;
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 VkFlags VkDebugUtilsMessageSeverityFlagsEXT ;
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 struct VkDebugUtilsObjectNameInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkObjectType objectType ;
uint64_t objectHandle ;
const char * pObjectName ;
} VkDebugUtilsObjectNameInfoEXT ;
typedef struct VkDebugUtilsObjectTagInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkObjectType objectType ;
uint64_t objectHandle ;
uint64_t tagName ;
size_t tagSize ;
const void * pTag ;
} VkDebugUtilsObjectTagInfoEXT ;
typedef struct VkDebugUtilsLabelEXT {
VkStructureType sType ;
const void * pNext ;
const char * pLabelName ;
float color [ 4 ] ;
} VkDebugUtilsLabelEXT ;
typedef struct VkDebugUtilsMessengerCallbackDataEXT {
VkStructureType sType ;
const void * pNext ;
VkDebugUtilsMessengerCallbackDataFlagsEXT flags ;
const char * pMessageIdName ;
int32_t messageIdNumber ;
const char * pMessage ;
uint32_t queueLabelCount ;
VkDebugUtilsLabelEXT * pQueueLabels ;
uint32_t cmdBufLabelCount ;
VkDebugUtilsLabelEXT * pCmdBufLabels ;
uint32_t objectCount ;
VkDebugUtilsObjectNameInfoEXT * pObjects ;
} VkDebugUtilsMessengerCallbackDataEXT ;
typedef VkBool32 ( VKAPI_PTR * PFN_vkDebugUtilsMessengerCallbackEXT ) (
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity ,
VkDebugUtilsMessageTypeFlagsEXT messageType ,
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 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_sampler_filter_minmax 1
# define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
# define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
typedef enum VkSamplerReductionModeEXT {
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0 ,
VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1 ,
VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2 ,
VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT ,
VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT ,
VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = ( VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1 ) ,
VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
} VkSamplerReductionModeEXT ;
typedef struct VkSamplerReductionModeCreateInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkSamplerReductionModeEXT reductionMode ;
} VkSamplerReductionModeCreateInfoEXT ;
typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
VkStructureType sType ;
void * pNext ;
VkBool32 filterMinmaxSingleComponentFormats ;
VkBool32 filterMinmaxImageComponentMapping ;
} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT ;
# define VK_AMD_gpu_shader_int16 1
# define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1
# define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
# define VK_AMD_mixed_attachment_samples 1
# define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
# define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
# define VK_AMD_shader_fragment_mask 1
# define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
# define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
# 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_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT ,
VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT ,
VK_BLEND_OVERLAP_RANGE_SIZE_EXT = ( VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1 ) ,
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_NV_fragment_coverage_to_color 1
# define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
# define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV ;
typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkPipelineCoverageToColorStateCreateFlagsNV flags ;
VkBool32 coverageToColorEnable ;
uint32_t coverageToColorLocation ;
} VkPipelineCoverageToColorStateCreateInfoNV ;
# define VK_NV_framebuffer_mixed_samples 1
# define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
# define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
typedef enum VkCoverageModulationModeNV {
VK_COVERAGE_MODULATION_MODE_NONE_NV = 0 ,
VK_COVERAGE_MODULATION_MODE_RGB_NV = 1 ,
VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2 ,
VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3 ,
VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV ,
VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV ,
VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = ( VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1 ) ,
VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
} VkCoverageModulationModeNV ;
typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV ;
typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
VkStructureType sType ;
const void * pNext ;
VkPipelineCoverageModulationStateCreateFlagsNV flags ;
VkCoverageModulationModeNV coverageModulationMode ;
VkBool32 coverageModulationTableEnable ;
uint32_t coverageModulationTableCount ;
const float * pCoverageModulationTable ;
} VkPipelineCoverageModulationStateCreateInfoNV ;
# define VK_NV_fill_rectangle 1
# define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
# define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
# 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_validation_cache 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE ( VkValidationCacheEXT )
# define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
# define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
# define VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
typedef enum VkValidationCacheHeaderVersionEXT {
VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1 ,
VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ,
VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ,
VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = ( VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1 ) ,
VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
} VkValidationCacheHeaderVersionEXT ;
typedef VkFlags VkValidationCacheCreateFlagsEXT ;
typedef struct VkValidationCacheCreateInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkValidationCacheCreateFlagsEXT flags ;
size_t initialDataSize ;
const void * pInitialData ;
} VkValidationCacheCreateInfoEXT ;
typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
VkStructureType sType ;
const void * pNext ;
VkValidationCacheEXT validationCache ;
} VkShaderModuleValidationCacheCreateInfoEXT ;
typedef VkResult ( VKAPI_PTR * PFN_vkCreateValidationCacheEXT ) ( VkDevice device , const VkValidationCacheCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkValidationCacheEXT * pValidationCache ) ;
typedef void ( VKAPI_PTR * PFN_vkDestroyValidationCacheEXT ) ( VkDevice device , VkValidationCacheEXT validationCache , const VkAllocationCallbacks * pAllocator ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkMergeValidationCachesEXT ) ( VkDevice device , VkValidationCacheEXT dstCache , uint32_t srcCacheCount , const VkValidationCacheEXT * pSrcCaches ) ;
typedef VkResult ( VKAPI_PTR * PFN_vkGetValidationCacheDataEXT ) ( VkDevice device , VkValidationCacheEXT validationCache , size_t * pDataSize , void * pData ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT (
VkDevice device ,
const VkValidationCacheCreateInfoEXT * pCreateInfo ,
const VkAllocationCallbacks * pAllocator ,
VkValidationCacheEXT * pValidationCache ) ;
VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT (
VkDevice device ,
VkValidationCacheEXT validationCache ,
const VkAllocationCallbacks * pAllocator ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT (
VkDevice device ,
VkValidationCacheEXT dstCache ,
uint32_t srcCacheCount ,
const VkValidationCacheEXT * pSrcCaches ) ;
VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT (
VkDevice device ,
VkValidationCacheEXT validationCache ,
size_t * pDataSize ,
void * pData ) ;
# endif
# define VK_EXT_descriptor_indexing 1
# define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
# define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
typedef enum VkDescriptorBindingFlagBitsEXT {
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = 0x00000001 ,
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = 0x00000002 ,
VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = 0x00000004 ,
VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = 0x00000008 ,
VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
} VkDescriptorBindingFlagBitsEXT ;
typedef VkFlags VkDescriptorBindingFlagsEXT ;
typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
VkStructureType sType ;
const void * pNext ;
uint32_t bindingCount ;
const VkDescriptorBindingFlagsEXT * pBindingFlags ;
} VkDescriptorSetLayoutBindingFlagsCreateInfoEXT ;
typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
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 ;
} VkPhysicalDeviceDescriptorIndexingFeaturesEXT ;
typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
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 ;
} VkPhysicalDeviceDescriptorIndexingPropertiesEXT ;
typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
VkStructureType sType ;
const void * pNext ;
uint32_t descriptorSetCount ;
const uint32_t * pDescriptorCounts ;
} VkDescriptorSetVariableDescriptorCountAllocateInfoEXT ;
typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
VkStructureType sType ;
void * pNext ;
uint32_t maxVariableDescriptorCount ;
} VkDescriptorSetVariableDescriptorCountLayoutSupportEXT ;
# define VK_EXT_shader_viewport_index_layer 1
# define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
# define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
# 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_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ,
VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT ,
VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = ( VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1 ) ,
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_AMD_buffer_marker 1
# define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
# define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarkerAMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlagBits pipelineStage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) ;
# ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD (
VkCommandBuffer commandBuffer ,
VkPipelineStageFlagBits pipelineStage ,
VkBuffer dstBuffer ,
VkDeviceSize dstOffset ,
uint32_t marker ) ;
# endif
# define VK_AMD_shader_core_properties 1
# define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
# define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
VkStructureType sType ;
void * pNext ;
uint32_t shaderEngineCount ;
uint32_t shaderArraysPerEngineCount ;
uint32_t computeUnitsPerShaderArray ;
uint32_t simdPerComputeUnit ;
uint32_t wavefrontsPerSimd ;
uint32_t wavefrontSize ;
uint32_t sgprsPerSimd ;
uint32_t minSgprAllocation ;
uint32_t maxSgprAllocation ;
uint32_t sgprAllocationGranularity ;
uint32_t vgprsPerSimd ;
uint32_t minVgprAllocation ;
uint32_t maxVgprAllocation ;
uint32_t vgprAllocationGranularity ;
} VkPhysicalDeviceShaderCorePropertiesAMD ;
# define VK_EXT_vertex_attribute_divisor 1
# define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1
# 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 ;
# define VK_NV_shader_subgroup_partitioned 1
# define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
# define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
# ifdef __cplusplus
}
# endif
# endif