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