| #ifndef VULKAN_H_ |
| #define VULKAN_H_ 1 |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| ** Copyright (c) 2015-2017 The Khronos Group Inc. |
| ** |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| */ |
| |
| /* |
| ** This header is generated from the Khronos Vulkan XML API Registry. |
| ** |
| */ |
| |
| |
| #define VK_VERSION_1_0 1 |
| #include "vk_platform.h" |
| |
| #define VK_MAKE_VERSION(major, minor, patch) \ |
| (((major) << 22) | ((minor) << 12) | (patch)) |
| |
| // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. |
| //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) |
| |
| // Vulkan 1.0 version number |
| #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) |
| |
| #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) |
| #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) |
| #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) |
| // Version of this file |
| #define VK_HEADER_VERSION 38 |
| |
| |
| #define VK_NULL_HANDLE 0 |
| |
| |
| |
| #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; |
| |
| |
| #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) |
| #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
| #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; |
| #else |
| #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; |
| #endif |
| #endif |
| |
| |
| |
| typedef uint32_t VkFlags; |
| typedef uint32_t VkBool32; |
| typedef uint64_t VkDeviceSize; |
| typedef uint32_t VkSampleMask; |
| |
| VK_DEFINE_HANDLE(VkInstance) |
| VK_DEFINE_HANDLE(VkPhysicalDevice) |
| VK_DEFINE_HANDLE(VkDevice) |
| VK_DEFINE_HANDLE(VkQueue) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) |
| VK_DEFINE_HANDLE(VkCommandBuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) |
| |
| #define VK_LOD_CLAMP_NONE 1000.0f |
| #define VK_REMAINING_MIP_LEVELS (~0U) |
| #define VK_REMAINING_ARRAY_LAYERS (~0U) |
| #define VK_WHOLE_SIZE (~0ULL) |
| #define VK_ATTACHMENT_UNUSED (~0U) |
| #define VK_TRUE 1 |
| #define VK_FALSE 0 |
| #define VK_QUEUE_FAMILY_IGNORED (~0U) |
| #define VK_SUBPASS_EXTERNAL (~0U) |
| #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 |
| #define VK_UUID_SIZE 16 |
| #define VK_MAX_MEMORY_TYPES 32 |
| #define VK_MAX_MEMORY_HEAPS 16 |
| #define VK_MAX_EXTENSION_NAME_SIZE 256 |
| #define VK_MAX_DESCRIPTION_SIZE 256 |
| |
| |
| typedef enum VkPipelineCacheHeaderVersion { |
| VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, |
| VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, |
| VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, |
| VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1), |
| VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCacheHeaderVersion; |
| |
| typedef enum VkResult { |
| VK_SUCCESS = 0, |
| VK_NOT_READY = 1, |
| VK_TIMEOUT = 2, |
| VK_EVENT_SET = 3, |
| VK_EVENT_RESET = 4, |
| VK_INCOMPLETE = 5, |
| VK_ERROR_OUT_OF_HOST_MEMORY = -1, |
| VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, |
| VK_ERROR_INITIALIZATION_FAILED = -3, |
| VK_ERROR_DEVICE_LOST = -4, |
| VK_ERROR_MEMORY_MAP_FAILED = -5, |
| VK_ERROR_LAYER_NOT_PRESENT = -6, |
| VK_ERROR_EXTENSION_NOT_PRESENT = -7, |
| VK_ERROR_FEATURE_NOT_PRESENT = -8, |
| VK_ERROR_INCOMPATIBLE_DRIVER = -9, |
| VK_ERROR_TOO_MANY_OBJECTS = -10, |
| VK_ERROR_FORMAT_NOT_SUPPORTED = -11, |
| VK_ERROR_FRAGMENTED_POOL = -12, |
| VK_ERROR_SURFACE_LOST_KHR = -1000000000, |
| VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, |
| VK_SUBOPTIMAL_KHR = 1000001003, |
| VK_ERROR_OUT_OF_DATE_KHR = -1000001004, |
| VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, |
| VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, |
| VK_ERROR_INVALID_SHADER_NV = -1000012000, |
| VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL, |
| VK_RESULT_END_RANGE = VK_INCOMPLETE, |
| VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1), |
| VK_RESULT_MAX_ENUM = 0x7FFFFFFF |
| } VkResult; |
| |
| typedef enum VkStructureType { |
| VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, |
| VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, |
| VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, |
| VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, |
| VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, |
| VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, |
| VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, |
| VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, |
| VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, |
| VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, |
| VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, |
| VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, |
| VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, |
| VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, |
| VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, |
| VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, |
| VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, |
| VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, |
| VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, |
| VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, |
| VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, |
| VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, |
| VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, |
| VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, |
| VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, |
| VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, |
| VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, |
| VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, |
| VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, |
| VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, |
| VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, |
| VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, |
| VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, |
| VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, |
| VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, |
| VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, |
| VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, |
| VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, |
| VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, |
| VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, |
| VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, |
| VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, |
| VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, |
| VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, |
| VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, |
| VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, |
| VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000, |
| VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, |
| VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, |
| VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, |
| VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001, |
| VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002, |
| VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004, |
| VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006, |
| VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008, |
| VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, |
| VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, |
| VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000, |
| VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001, |
| VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002, |
| VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, |
| VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, |
| VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, |
| VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, |
| VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, |
| VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, |
| VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), |
| VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkStructureType; |
| |
| typedef enum VkSystemAllocationScope { |
| VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, |
| VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, |
| VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, |
| VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, |
| VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, |
| VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, |
| VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE, |
| VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1), |
| VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF |
| } VkSystemAllocationScope; |
| |
| typedef enum VkInternalAllocationType { |
| VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, |
| VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, |
| VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, |
| VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1), |
| VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkInternalAllocationType; |
| |
| typedef enum VkFormat { |
| VK_FORMAT_UNDEFINED = 0, |
| VK_FORMAT_R4G4_UNORM_PACK8 = 1, |
| VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, |
| VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, |
| VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, |
| VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, |
| VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, |
| VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, |
| VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, |
| VK_FORMAT_R8_UNORM = 9, |
| VK_FORMAT_R8_SNORM = 10, |
| VK_FORMAT_R8_USCALED = 11, |
| VK_FORMAT_R8_SSCALED = 12, |
| VK_FORMAT_R8_UINT = 13, |
| VK_FORMAT_R8_SINT = 14, |
| VK_FORMAT_R8_SRGB = 15, |
| VK_FORMAT_R8G8_UNORM = 16, |
| VK_FORMAT_R8G8_SNORM = 17, |
| VK_FORMAT_R8G8_USCALED = 18, |
| VK_FORMAT_R8G8_SSCALED = 19, |
| VK_FORMAT_R8G8_UINT = 20, |
| VK_FORMAT_R8G8_SINT = 21, |
| VK_FORMAT_R8G8_SRGB = 22, |
| VK_FORMAT_R8G8B8_UNORM = 23, |
| VK_FORMAT_R8G8B8_SNORM = 24, |
| VK_FORMAT_R8G8B8_USCALED = 25, |
| VK_FORMAT_R8G8B8_SSCALED = 26, |
| VK_FORMAT_R8G8B8_UINT = 27, |
| VK_FORMAT_R8G8B8_SINT = 28, |
| VK_FORMAT_R8G8B8_SRGB = 29, |
| VK_FORMAT_B8G8R8_UNORM = 30, |
| VK_FORMAT_B8G8R8_SNORM = 31, |
| VK_FORMAT_B8G8R8_USCALED = 32, |
| VK_FORMAT_B8G8R8_SSCALED = 33, |
| VK_FORMAT_B8G8R8_UINT = 34, |
| VK_FORMAT_B8G8R8_SINT = 35, |
| VK_FORMAT_B8G8R8_SRGB = 36, |
| VK_FORMAT_R8G8B8A8_UNORM = 37, |
| VK_FORMAT_R8G8B8A8_SNORM = 38, |
| VK_FORMAT_R8G8B8A8_USCALED = 39, |
| VK_FORMAT_R8G8B8A8_SSCALED = 40, |
| VK_FORMAT_R8G8B8A8_UINT = 41, |
| VK_FORMAT_R8G8B8A8_SINT = 42, |
| VK_FORMAT_R8G8B8A8_SRGB = 43, |
| VK_FORMAT_B8G8R8A8_UNORM = 44, |
| VK_FORMAT_B8G8R8A8_SNORM = 45, |
| VK_FORMAT_B8G8R8A8_USCALED = 46, |
| VK_FORMAT_B8G8R8A8_SSCALED = 47, |
| VK_FORMAT_B8G8R8A8_UINT = 48, |
| VK_FORMAT_B8G8R8A8_SINT = 49, |
| VK_FORMAT_B8G8R8A8_SRGB = 50, |
| VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, |
| VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, |
| VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, |
| VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, |
| VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, |
| VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, |
| VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, |
| VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, |
| VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, |
| VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, |
| VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, |
| VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, |
| VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, |
| VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, |
| VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, |
| VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, |
| VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, |
| VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, |
| VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, |
| VK_FORMAT_R16_UNORM = 70, |
| VK_FORMAT_R16_SNORM = 71, |
| VK_FORMAT_R16_USCALED = 72, |
| VK_FORMAT_R16_SSCALED = 73, |
| VK_FORMAT_R16_UINT = 74, |
| VK_FORMAT_R16_SINT = 75, |
| VK_FORMAT_R16_SFLOAT = 76, |
| VK_FORMAT_R16G16_UNORM = 77, |
| VK_FORMAT_R16G16_SNORM = 78, |
| VK_FORMAT_R16G16_USCALED = 79, |
| VK_FORMAT_R16G16_SSCALED = 80, |
| VK_FORMAT_R16G16_UINT = 81, |
| VK_FORMAT_R16G16_SINT = 82, |
| VK_FORMAT_R16G16_SFLOAT = 83, |
| VK_FORMAT_R16G16B16_UNORM = 84, |
| VK_FORMAT_R16G16B16_SNORM = 85, |
| VK_FORMAT_R16G16B16_USCALED = 86, |
| VK_FORMAT_R16G16B16_SSCALED = 87, |
| VK_FORMAT_R16G16B16_UINT = 88, |
| VK_FORMAT_R16G16B16_SINT = 89, |
| VK_FORMAT_R16G16B16_SFLOAT = 90, |
| VK_FORMAT_R16G16B16A16_UNORM = 91, |
| VK_FORMAT_R16G16B16A16_SNORM = 92, |
| VK_FORMAT_R16G16B16A16_USCALED = 93, |
| VK_FORMAT_R16G16B16A16_SSCALED = 94, |
| VK_FORMAT_R16G16B16A16_UINT = 95, |
| VK_FORMAT_R16G16B16A16_SINT = 96, |
| VK_FORMAT_R16G16B16A16_SFLOAT = 97, |
| VK_FORMAT_R32_UINT = 98, |
| VK_FORMAT_R32_SINT = 99, |
| VK_FORMAT_R32_SFLOAT = 100, |
| VK_FORMAT_R32G32_UINT = 101, |
| VK_FORMAT_R32G32_SINT = 102, |
| VK_FORMAT_R32G32_SFLOAT = 103, |
| VK_FORMAT_R32G32B32_UINT = 104, |
| VK_FORMAT_R32G32B32_SINT = 105, |
| VK_FORMAT_R32G32B32_SFLOAT = 106, |
| VK_FORMAT_R32G32B32A32_UINT = 107, |
| VK_FORMAT_R32G32B32A32_SINT = 108, |
| VK_FORMAT_R32G32B32A32_SFLOAT = 109, |
| VK_FORMAT_R64_UINT = 110, |
| VK_FORMAT_R64_SINT = 111, |
| VK_FORMAT_R64_SFLOAT = 112, |
| VK_FORMAT_R64G64_UINT = 113, |
| VK_FORMAT_R64G64_SINT = 114, |
| VK_FORMAT_R64G64_SFLOAT = 115, |
| VK_FORMAT_R64G64B64_UINT = 116, |
| VK_FORMAT_R64G64B64_SINT = 117, |
| VK_FORMAT_R64G64B64_SFLOAT = 118, |
| VK_FORMAT_R64G64B64A64_UINT = 119, |
| VK_FORMAT_R64G64B64A64_SINT = 120, |
| VK_FORMAT_R64G64B64A64_SFLOAT = 121, |
| VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, |
| VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, |
| VK_FORMAT_D16_UNORM = 124, |
| VK_FORMAT_X8_D24_UNORM_PACK32 = 125, |
| VK_FORMAT_D32_SFLOAT = 126, |
| VK_FORMAT_S8_UINT = 127, |
| VK_FORMAT_D16_UNORM_S8_UINT = 128, |
| VK_FORMAT_D24_UNORM_S8_UINT = 129, |
| VK_FORMAT_D32_SFLOAT_S8_UINT = 130, |
| VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, |
| VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, |
| VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, |
| VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, |
| VK_FORMAT_BC2_UNORM_BLOCK = 135, |
| VK_FORMAT_BC2_SRGB_BLOCK = 136, |
| VK_FORMAT_BC3_UNORM_BLOCK = 137, |
| VK_FORMAT_BC3_SRGB_BLOCK = 138, |
| VK_FORMAT_BC4_UNORM_BLOCK = 139, |
| VK_FORMAT_BC4_SNORM_BLOCK = 140, |
| VK_FORMAT_BC5_UNORM_BLOCK = 141, |
| VK_FORMAT_BC5_SNORM_BLOCK = 142, |
| VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, |
| VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, |
| VK_FORMAT_BC7_UNORM_BLOCK = 145, |
| VK_FORMAT_BC7_SRGB_BLOCK = 146, |
| VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, |
| VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, |
| VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, |
| VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, |
| VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, |
| VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, |
| VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, |
| VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, |
| VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, |
| VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, |
| VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, |
| VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, |
| VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, |
| VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, |
| VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, |
| VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, |
| VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, |
| VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, |
| VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, |
| VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, |
| VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, |
| VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, |
| VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, |
| VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, |
| VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, |
| VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, |
| VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, |
| VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, |
| VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, |
| VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, |
| VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, |
| VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, |
| VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, |
| VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, |
| VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, |
| VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, |
| VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, |
| VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, |
| VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, |
| VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, |
| VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, |
| VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, |
| VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, |
| VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, |
| VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, |
| VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, |
| VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, |
| VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, |
| VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1), |
| VK_FORMAT_MAX_ENUM = 0x7FFFFFFF |
| } VkFormat; |
| |
| typedef enum VkImageType { |
| VK_IMAGE_TYPE_1D = 0, |
| VK_IMAGE_TYPE_2D = 1, |
| VK_IMAGE_TYPE_3D = 2, |
| VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D, |
| VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D, |
| VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1), |
| VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkImageType; |
| |
| typedef enum VkImageTiling { |
| VK_IMAGE_TILING_OPTIMAL = 0, |
| VK_IMAGE_TILING_LINEAR = 1, |
| VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL, |
| VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR, |
| VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1), |
| VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF |
| } VkImageTiling; |
| |
| typedef enum VkPhysicalDeviceType { |
| VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, |
| VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, |
| VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, |
| VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, |
| VK_PHYSICAL_DEVICE_TYPE_CPU = 4, |
| VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER, |
| VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU, |
| VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1), |
| VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkPhysicalDeviceType; |
| |
| typedef enum VkQueryType { |
| VK_QUERY_TYPE_OCCLUSION = 0, |
| VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, |
| VK_QUERY_TYPE_TIMESTAMP = 2, |
| VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION, |
| VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP, |
| VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1), |
| VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryType; |
| |
| typedef enum VkSharingMode { |
| VK_SHARING_MODE_EXCLUSIVE = 0, |
| VK_SHARING_MODE_CONCURRENT = 1, |
| VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE, |
| VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT, |
| VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1), |
| VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSharingMode; |
| |
| typedef enum VkImageLayout { |
| VK_IMAGE_LAYOUT_UNDEFINED = 0, |
| VK_IMAGE_LAYOUT_GENERAL = 1, |
| VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, |
| VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, |
| VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, |
| VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, |
| VK_IMAGE_LAYOUT_PREINITIALIZED = 8, |
| VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, |
| VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, |
| VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED, |
| VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED, |
| VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1), |
| VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF |
| } VkImageLayout; |
| |
| typedef enum VkImageViewType { |
| VK_IMAGE_VIEW_TYPE_1D = 0, |
| VK_IMAGE_VIEW_TYPE_2D = 1, |
| VK_IMAGE_VIEW_TYPE_3D = 2, |
| VK_IMAGE_VIEW_TYPE_CUBE = 3, |
| VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, |
| VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, |
| VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, |
| VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D, |
| VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, |
| VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1), |
| VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkImageViewType; |
| |
| typedef enum VkComponentSwizzle { |
| VK_COMPONENT_SWIZZLE_IDENTITY = 0, |
| VK_COMPONENT_SWIZZLE_ZERO = 1, |
| VK_COMPONENT_SWIZZLE_ONE = 2, |
| VK_COMPONENT_SWIZZLE_R = 3, |
| VK_COMPONENT_SWIZZLE_G = 4, |
| VK_COMPONENT_SWIZZLE_B = 5, |
| VK_COMPONENT_SWIZZLE_A = 6, |
| VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY, |
| VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A, |
| VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1), |
| VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF |
| } VkComponentSwizzle; |
| |
| typedef enum VkVertexInputRate { |
| VK_VERTEX_INPUT_RATE_VERTEX = 0, |
| VK_VERTEX_INPUT_RATE_INSTANCE = 1, |
| VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX, |
| VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE, |
| VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1), |
| VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF |
| } VkVertexInputRate; |
| |
| typedef enum VkPrimitiveTopology { |
| VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, |
| VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, |
| VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, |
| VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, |
| VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1), |
| VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF |
| } VkPrimitiveTopology; |
| |
| typedef enum VkPolygonMode { |
| VK_POLYGON_MODE_FILL = 0, |
| VK_POLYGON_MODE_LINE = 1, |
| VK_POLYGON_MODE_POINT = 2, |
| VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL, |
| VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT, |
| VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1), |
| VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkPolygonMode; |
| |
| typedef enum VkFrontFace { |
| VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, |
| VK_FRONT_FACE_CLOCKWISE = 1, |
| VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE, |
| VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE, |
| VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1), |
| VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF |
| } VkFrontFace; |
| |
| typedef enum VkCompareOp { |
| VK_COMPARE_OP_NEVER = 0, |
| VK_COMPARE_OP_LESS = 1, |
| VK_COMPARE_OP_EQUAL = 2, |
| VK_COMPARE_OP_LESS_OR_EQUAL = 3, |
| VK_COMPARE_OP_GREATER = 4, |
| VK_COMPARE_OP_NOT_EQUAL = 5, |
| VK_COMPARE_OP_GREATER_OR_EQUAL = 6, |
| VK_COMPARE_OP_ALWAYS = 7, |
| VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER, |
| VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS, |
| VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1), |
| VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkCompareOp; |
| |
| typedef enum VkStencilOp { |
| VK_STENCIL_OP_KEEP = 0, |
| VK_STENCIL_OP_ZERO = 1, |
| VK_STENCIL_OP_REPLACE = 2, |
| VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, |
| VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, |
| VK_STENCIL_OP_INVERT = 5, |
| VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, |
| VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, |
| VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP, |
| VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP, |
| VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1), |
| VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkStencilOp; |
| |
| typedef enum VkLogicOp { |
| VK_LOGIC_OP_CLEAR = 0, |
| VK_LOGIC_OP_AND = 1, |
| VK_LOGIC_OP_AND_REVERSE = 2, |
| VK_LOGIC_OP_COPY = 3, |
| VK_LOGIC_OP_AND_INVERTED = 4, |
| VK_LOGIC_OP_NO_OP = 5, |
| VK_LOGIC_OP_XOR = 6, |
| VK_LOGIC_OP_OR = 7, |
| VK_LOGIC_OP_NOR = 8, |
| VK_LOGIC_OP_EQUIVALENT = 9, |
| VK_LOGIC_OP_INVERT = 10, |
| VK_LOGIC_OP_OR_REVERSE = 11, |
| VK_LOGIC_OP_COPY_INVERTED = 12, |
| VK_LOGIC_OP_OR_INVERTED = 13, |
| VK_LOGIC_OP_NAND = 14, |
| VK_LOGIC_OP_SET = 15, |
| VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR, |
| VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET, |
| VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1), |
| VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkLogicOp; |
| |
| typedef enum VkBlendFactor { |
| VK_BLEND_FACTOR_ZERO = 0, |
| VK_BLEND_FACTOR_ONE = 1, |
| VK_BLEND_FACTOR_SRC_COLOR = 2, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, |
| VK_BLEND_FACTOR_DST_COLOR = 4, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, |
| VK_BLEND_FACTOR_SRC_ALPHA = 6, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, |
| VK_BLEND_FACTOR_DST_ALPHA = 8, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, |
| VK_BLEND_FACTOR_CONSTANT_COLOR = 10, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, |
| VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, |
| VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, |
| VK_BLEND_FACTOR_SRC1_COLOR = 15, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, |
| VK_BLEND_FACTOR_SRC1_ALPHA = 17, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, |
| VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO, |
| VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA, |
| VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1), |
| VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF |
| } VkBlendFactor; |
| |
| typedef enum VkBlendOp { |
| VK_BLEND_OP_ADD = 0, |
| VK_BLEND_OP_SUBTRACT = 1, |
| VK_BLEND_OP_REVERSE_SUBTRACT = 2, |
| VK_BLEND_OP_MIN = 3, |
| VK_BLEND_OP_MAX = 4, |
| VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD, |
| VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX, |
| VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1), |
| VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkBlendOp; |
| |
| typedef enum VkDynamicState { |
| VK_DYNAMIC_STATE_VIEWPORT = 0, |
| VK_DYNAMIC_STATE_SCISSOR = 1, |
| VK_DYNAMIC_STATE_LINE_WIDTH = 2, |
| VK_DYNAMIC_STATE_DEPTH_BIAS = 3, |
| VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, |
| VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, |
| VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, |
| VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, |
| VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, |
| VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT, |
| VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE, |
| VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1), |
| VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF |
| } VkDynamicState; |
| |
| typedef enum VkFilter { |
| VK_FILTER_NEAREST = 0, |
| VK_FILTER_LINEAR = 1, |
| VK_FILTER_CUBIC_IMG = 1000015000, |
| VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST, |
| VK_FILTER_END_RANGE = VK_FILTER_LINEAR, |
| VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1), |
| VK_FILTER_MAX_ENUM = 0x7FFFFFFF |
| } VkFilter; |
| |
| typedef enum VkSamplerMipmapMode { |
| VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, |
| VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, |
| VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST, |
| VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR, |
| VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1), |
| VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerMipmapMode; |
| |
| typedef enum VkSamplerAddressMode { |
| VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, |
| VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, |
| VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, |
| VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT, |
| VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, |
| VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1), |
| VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF |
| } VkSamplerAddressMode; |
| |
| typedef enum VkBorderColor { |
| VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, |
| VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, |
| VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, |
| VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, |
| VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, |
| VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE, |
| VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1), |
| VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF |
| } VkBorderColor; |
| |
| typedef enum VkDescriptorType { |
| VK_DESCRIPTOR_TYPE_SAMPLER = 0, |
| VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, |
| VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, |
| VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, |
| VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, |
| VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, |
| VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, |
| VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER, |
| VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, |
| VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1), |
| VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorType; |
| |
| typedef enum VkAttachmentLoadOp { |
| VK_ATTACHMENT_LOAD_OP_LOAD = 0, |
| VK_ATTACHMENT_LOAD_OP_CLEAR = 1, |
| VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, |
| VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD, |
| VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE, |
| VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1), |
| VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentLoadOp; |
| |
| typedef enum VkAttachmentStoreOp { |
| VK_ATTACHMENT_STORE_OP_STORE = 0, |
| VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, |
| VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE, |
| VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE, |
| VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1), |
| VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentStoreOp; |
| |
| typedef enum VkPipelineBindPoint { |
| VK_PIPELINE_BIND_POINT_GRAPHICS = 0, |
| VK_PIPELINE_BIND_POINT_COMPUTE = 1, |
| VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS, |
| VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE, |
| VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1), |
| VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineBindPoint; |
| |
| typedef enum VkCommandBufferLevel { |
| VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, |
| VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, |
| VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY, |
| VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY, |
| VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1), |
| VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferLevel; |
| |
| typedef enum VkIndexType { |
| VK_INDEX_TYPE_UINT16 = 0, |
| VK_INDEX_TYPE_UINT32 = 1, |
| VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, |
| VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, |
| VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), |
| VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF |
| } VkIndexType; |
| |
| typedef enum VkSubpassContents { |
| VK_SUBPASS_CONTENTS_INLINE = 0, |
| VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, |
| VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE, |
| VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, |
| VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1), |
| VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF |
| } VkSubpassContents; |
| |
| typedef VkFlags VkInstanceCreateFlags; |
| |
| typedef enum VkFormatFeatureFlagBits { |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, |
| VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, |
| VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, |
| VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, |
| VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, |
| VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, |
| VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFormatFeatureFlagBits; |
| typedef VkFlags VkFormatFeatureFlags; |
| |
| typedef enum VkImageUsageFlagBits { |
| VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, |
| VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, |
| VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, |
| VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, |
| VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, |
| VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, |
| VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, |
| VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, |
| VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageUsageFlagBits; |
| typedef VkFlags VkImageUsageFlags; |
| |
| typedef enum VkImageCreateFlagBits { |
| VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, |
| VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, |
| VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
| VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, |
| VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, |
| VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageCreateFlagBits; |
| typedef VkFlags VkImageCreateFlags; |
| |
| typedef enum VkSampleCountFlagBits { |
| VK_SAMPLE_COUNT_1_BIT = 0x00000001, |
| VK_SAMPLE_COUNT_2_BIT = 0x00000002, |
| VK_SAMPLE_COUNT_4_BIT = 0x00000004, |
| VK_SAMPLE_COUNT_8_BIT = 0x00000008, |
| VK_SAMPLE_COUNT_16_BIT = 0x00000010, |
| VK_SAMPLE_COUNT_32_BIT = 0x00000020, |
| VK_SAMPLE_COUNT_64_BIT = 0x00000040, |
| VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSampleCountFlagBits; |
| typedef VkFlags VkSampleCountFlags; |
| |
| typedef enum VkQueueFlagBits { |
| VK_QUEUE_GRAPHICS_BIT = 0x00000001, |
| VK_QUEUE_COMPUTE_BIT = 0x00000002, |
| VK_QUEUE_TRANSFER_BIT = 0x00000004, |
| VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, |
| VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueueFlagBits; |
| typedef VkFlags VkQueueFlags; |
| |
| typedef enum VkMemoryPropertyFlagBits { |
| VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, |
| VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, |
| VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, |
| VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, |
| VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, |
| VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkMemoryPropertyFlagBits; |
| typedef VkFlags VkMemoryPropertyFlags; |
| |
| typedef enum VkMemoryHeapFlagBits { |
| VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, |
| VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkMemoryHeapFlagBits; |
| typedef VkFlags VkMemoryHeapFlags; |
| typedef VkFlags VkDeviceCreateFlags; |
| typedef VkFlags VkDeviceQueueCreateFlags; |
| |
| typedef enum VkPipelineStageFlagBits { |
| VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, |
| VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, |
| VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, |
| VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, |
| VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, |
| VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, |
| VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, |
| VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, |
| VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, |
| VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, |
| VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, |
| VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, |
| VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, |
| VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, |
| VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, |
| VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, |
| VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, |
| VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000, |
| VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineStageFlagBits; |
| typedef VkFlags VkPipelineStageFlags; |
| typedef VkFlags VkMemoryMapFlags; |
| |
| typedef enum VkImageAspectFlagBits { |
| VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, |
| VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, |
| VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, |
| VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, |
| VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkImageAspectFlagBits; |
| typedef VkFlags VkImageAspectFlags; |
| |
| typedef enum VkSparseImageFormatFlagBits { |
| VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, |
| VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, |
| VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, |
| VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSparseImageFormatFlagBits; |
| typedef VkFlags VkSparseImageFormatFlags; |
| |
| typedef enum VkSparseMemoryBindFlagBits { |
| VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, |
| VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkSparseMemoryBindFlagBits; |
| typedef VkFlags VkSparseMemoryBindFlags; |
| |
| typedef enum VkFenceCreateFlagBits { |
| VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, |
| VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkFenceCreateFlagBits; |
| typedef VkFlags VkFenceCreateFlags; |
| typedef VkFlags VkSemaphoreCreateFlags; |
| typedef VkFlags VkEventCreateFlags; |
| typedef VkFlags VkQueryPoolCreateFlags; |
| |
| typedef enum VkQueryPipelineStatisticFlagBits { |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, |
| VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, |
| VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, |
| VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, |
| VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryPipelineStatisticFlagBits; |
| typedef VkFlags VkQueryPipelineStatisticFlags; |
| |
| typedef enum VkQueryResultFlagBits { |
| VK_QUERY_RESULT_64_BIT = 0x00000001, |
| VK_QUERY_RESULT_WAIT_BIT = 0x00000002, |
| VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, |
| VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, |
| VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryResultFlagBits; |
| typedef VkFlags VkQueryResultFlags; |
| |
| typedef enum VkBufferCreateFlagBits { |
| VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, |
| VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, |
| VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
| VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkBufferCreateFlagBits; |
| typedef VkFlags VkBufferCreateFlags; |
| |
| typedef enum VkBufferUsageFlagBits { |
| VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, |
| VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, |
| VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, |
| VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, |
| VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, |
| VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, |
| VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, |
| VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, |
| VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, |
| VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkBufferUsageFlagBits; |
| typedef VkFlags VkBufferUsageFlags; |
| typedef VkFlags VkBufferViewCreateFlags; |
| typedef VkFlags VkImageViewCreateFlags; |
| typedef VkFlags VkShaderModuleCreateFlags; |
| typedef VkFlags VkPipelineCacheCreateFlags; |
| |
| typedef enum VkPipelineCreateFlagBits { |
| VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, |
| VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, |
| VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, |
| VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkPipelineCreateFlagBits; |
| typedef VkFlags VkPipelineCreateFlags; |
| typedef VkFlags VkPipelineShaderStageCreateFlags; |
| |
| typedef enum VkShaderStageFlagBits { |
| VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, |
| VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, |
| VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, |
| VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, |
| VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, |
| VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, |
| VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, |
| VK_SHADER_STAGE_ALL = 0x7FFFFFFF, |
| VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkShaderStageFlagBits; |
| typedef VkFlags VkPipelineVertexInputStateCreateFlags; |
| typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; |
| typedef VkFlags VkPipelineTessellationStateCreateFlags; |
| typedef VkFlags VkPipelineViewportStateCreateFlags; |
| typedef VkFlags VkPipelineRasterizationStateCreateFlags; |
| |
| typedef enum VkCullModeFlagBits { |
| VK_CULL_MODE_NONE = 0, |
| VK_CULL_MODE_FRONT_BIT = 0x00000001, |
| VK_CULL_MODE_BACK_BIT = 0x00000002, |
| VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, |
| VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCullModeFlagBits; |
| typedef VkFlags VkCullModeFlags; |
| typedef VkFlags VkPipelineMultisampleStateCreateFlags; |
| typedef VkFlags VkPipelineDepthStencilStateCreateFlags; |
| typedef VkFlags VkPipelineColorBlendStateCreateFlags; |
| |
| typedef enum VkColorComponentFlagBits { |
| VK_COLOR_COMPONENT_R_BIT = 0x00000001, |
| VK_COLOR_COMPONENT_G_BIT = 0x00000002, |
| VK_COLOR_COMPONENT_B_BIT = 0x00000004, |
| VK_COLOR_COMPONENT_A_BIT = 0x00000008, |
| VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkColorComponentFlagBits; |
| typedef VkFlags VkColorComponentFlags; |
| typedef VkFlags VkPipelineDynamicStateCreateFlags; |
| typedef VkFlags VkPipelineLayoutCreateFlags; |
| typedef VkFlags VkShaderStageFlags; |
| typedef VkFlags VkSamplerCreateFlags; |
| typedef VkFlags VkDescriptorSetLayoutCreateFlags; |
| |
| typedef enum VkDescriptorPoolCreateFlagBits { |
| VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, |
| VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDescriptorPoolCreateFlagBits; |
| typedef VkFlags VkDescriptorPoolCreateFlags; |
| typedef VkFlags VkDescriptorPoolResetFlags; |
| typedef VkFlags VkFramebufferCreateFlags; |
| typedef VkFlags VkRenderPassCreateFlags; |
| |
| typedef enum VkAttachmentDescriptionFlagBits { |
| VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, |
| VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkAttachmentDescriptionFlagBits; |
| typedef VkFlags VkAttachmentDescriptionFlags; |
| typedef VkFlags VkSubpassDescriptionFlags; |
| |
| typedef enum VkAccessFlagBits { |
| VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, |
| VK_ACCESS_INDEX_READ_BIT = 0x00000002, |
| VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, |
| VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, |
| VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, |
| VK_ACCESS_SHADER_READ_BIT = 0x00000020, |
| VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, |
| VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, |
| VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, |
| VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, |
| VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, |
| VK_ACCESS_HOST_READ_BIT = 0x00002000, |
| VK_ACCESS_HOST_WRITE_BIT = 0x00004000, |
| VK_ACCESS_MEMORY_READ_BIT = 0x00008000, |
| VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, |
| VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000, |
| VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000, |
| VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkAccessFlagBits; |
| typedef VkFlags VkAccessFlags; |
| |
| typedef enum VkDependencyFlagBits { |
| VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, |
| VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkDependencyFlagBits; |
| typedef VkFlags VkDependencyFlags; |
| |
| typedef enum VkCommandPoolCreateFlagBits { |
| VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, |
| VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, |
| VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandPoolCreateFlagBits; |
| typedef VkFlags VkCommandPoolCreateFlags; |
| |
| typedef enum VkCommandPoolResetFlagBits { |
| VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, |
| VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandPoolResetFlagBits; |
| typedef VkFlags VkCommandPoolResetFlags; |
| |
| typedef enum VkCommandBufferUsageFlagBits { |
| VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, |
| VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, |
| VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, |
| VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferUsageFlagBits; |
| typedef VkFlags VkCommandBufferUsageFlags; |
| |
| typedef enum VkQueryControlFlagBits { |
| VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, |
| VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkQueryControlFlagBits; |
| typedef VkFlags VkQueryControlFlags; |
| |
| typedef enum VkCommandBufferResetFlagBits { |
| VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, |
| VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkCommandBufferResetFlagBits; |
| typedef VkFlags VkCommandBufferResetFlags; |
| |
| typedef enum VkStencilFaceFlagBits { |
| VK_STENCIL_FACE_FRONT_BIT = 0x00000001, |
| VK_STENCIL_FACE_BACK_BIT = 0x00000002, |
| VK_STENCIL_FRONT_AND_BACK = 0x00000003, |
| VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
| } VkStencilFaceFlagBits; |
| typedef VkFlags VkStencilFaceFlags; |
| |
| typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( |
| void* pUserData, |
| size_t size, |
| size_t alignment, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( |
| void* pUserData, |
| void* pOriginal, |
| size_t size, |
| size_t alignment, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkFreeFunction)( |
| void* pUserData, |
| void* pMemory); |
| |
| typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( |
| void* pUserData, |
| size_t size, |
| VkInternalAllocationType allocationType, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( |
| void* pUserData, |
| size_t size, |
| VkInternalAllocationType allocationType, |
| VkSystemAllocationScope allocationScope); |
| |
| typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); |
| |
| typedef struct VkApplicationInfo { |
| VkStructureType sType; |
| const void* pNext; |
| const char* pApplicationName; |
| uint32_t applicationVersion; |
| const char* pEngineName; |
| uint32_t engineVersion; |
| uint32_t apiVersion; |
| } VkApplicationInfo; |
| |
| typedef struct VkInstanceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkInstanceCreateFlags flags; |
| const VkApplicationInfo* pApplicationInfo; |
| uint32_t enabledLayerCount; |
| const char* const* ppEnabledLayerNames; |
| uint32_t enabledExtensionCount; |
| const char* const* ppEnabledExtensionNames; |
| } VkInstanceCreateInfo; |
| |
| typedef struct VkAllocationCallbacks { |
| void* pUserData; |
| PFN_vkAllocationFunction pfnAllocation; |
| PFN_vkReallocationFunction pfnReallocation; |
| PFN_vkFreeFunction pfnFree; |
| PFN_vkInternalAllocationNotification pfnInternalAllocation; |
| PFN_vkInternalFreeNotification pfnInternalFree; |
| } VkAllocationCallbacks; |
| |
| typedef struct VkPhysicalDeviceFeatures { |
| VkBool32 robustBufferAccess; |
| VkBool32 fullDrawIndexUint32; |
| VkBool32 imageCubeArray; |
| VkBool32 independentBlend; |
| VkBool32 geometryShader; |
| VkBool32 tessellationShader; |
| VkBool32 sampleRateShading; |
| VkBool32 dualSrcBlend; |
| VkBool32 logicOp; |
| VkBool32 multiDrawIndirect; |
| VkBool32 drawIndirectFirstInstance; |
| VkBool32 depthClamp; |
| VkBool32 depthBiasClamp; |
| VkBool32 fillModeNonSolid; |
| VkBool32 depthBounds; |
| VkBool32 wideLines; |
| VkBool32 largePoints; |
| VkBool32 alphaToOne; |
| VkBool32 multiViewport; |
| VkBool32 samplerAnisotropy; |
| VkBool32 textureCompressionETC2; |
| VkBool32 textureCompressionASTC_LDR; |
| VkBool32 textureCompressionBC; |
| VkBool32 occlusionQueryPrecise; |
| VkBool32 pipelineStatisticsQuery; |
| VkBool32 vertexPipelineStoresAndAtomics; |
| VkBool32 fragmentStoresAndAtomics; |
| VkBool32 shaderTessellationAndGeometryPointSize; |
| VkBool32 shaderImageGatherExtended; |
| VkBool32 shaderStorageImageExtendedFormats; |
| VkBool32 shaderStorageImageMultisample; |
| VkBool32 shaderStorageImageReadWithoutFormat; |
| VkBool32 shaderStorageImageWriteWithoutFormat; |
| VkBool32 shaderUniformBufferArrayDynamicIndexing; |
| VkBool32 shaderSampledImageArrayDynamicIndexing; |
| VkBool32 shaderStorageBufferArrayDynamicIndexing; |
| VkBool32 shaderStorageImageArrayDynamicIndexing; |
| VkBool32 shaderClipDistance; |
| VkBool32 shaderCullDistance; |
| VkBool32 shaderFloat64; |
| VkBool32 shaderInt64; |
| VkBool32 shaderInt16; |
| VkBool32 shaderResourceResidency; |
| VkBool32 shaderResourceMinLod; |
| VkBool32 sparseBinding; |
| VkBool32 sparseResidencyBuffer; |
| VkBool32 sparseResidencyImage2D; |
| VkBool32 sparseResidencyImage3D; |
| VkBool32 sparseResidency2Samples; |
| VkBool32 sparseResidency4Samples; |
| VkBool32 sparseResidency8Samples; |
| VkBool32 sparseResidency16Samples; |
| VkBool32 sparseResidencyAliased; |
| VkBool32 variableMultisampleRate; |
| VkBool32 inheritedQueries; |
| } VkPhysicalDeviceFeatures; |
| |
| typedef struct VkFormatProperties { |
| VkFormatFeatureFlags linearTilingFeatures; |
| VkFormatFeatureFlags optimalTilingFeatures; |
| VkFormatFeatureFlags bufferFeatures; |
| } VkFormatProperties; |
| |
| typedef struct VkExtent3D { |
| uint32_t width; |
| uint32_t height; |
| uint32_t depth; |
| } VkExtent3D; |
| |
| typedef struct VkImageFormatProperties { |
| VkExtent3D maxExtent; |
| uint32_t maxMipLevels; |
| uint32_t maxArrayLayers; |
| VkSampleCountFlags sampleCounts; |
| VkDeviceSize maxResourceSize; |
| } VkImageFormatProperties; |
| |
| typedef struct VkPhysicalDeviceLimits { |
| uint32_t maxImageDimension1D; |
| uint32_t maxImageDimension2D; |
| uint32_t maxImageDimension3D; |
| uint32_t maxImageDimensionCube; |
| uint32_t maxImageArrayLayers; |
| uint32_t maxTexelBufferElements; |
| uint32_t maxUniformBufferRange; |
| uint32_t maxStorageBufferRange; |
| uint32_t maxPushConstantsSize; |
| uint32_t maxMemoryAllocationCount; |
| uint32_t maxSamplerAllocationCount; |
| VkDeviceSize bufferImageGranularity; |
| VkDeviceSize sparseAddressSpaceSize; |
| uint32_t maxBoundDescriptorSets; |
| uint32_t maxPerStageDescriptorSamplers; |
| uint32_t maxPerStageDescriptorUniformBuffers; |
| uint32_t maxPerStageDescriptorStorageBuffers; |
| uint32_t maxPerStageDescriptorSampledImages; |
| uint32_t maxPerStageDescriptorStorageImages; |
| uint32_t maxPerStageDescriptorInputAttachments; |
| uint32_t maxPerStageResources; |
| uint32_t maxDescriptorSetSamplers; |
| uint32_t maxDescriptorSetUniformBuffers; |
| uint32_t maxDescriptorSetUniformBuffersDynamic; |
| uint32_t maxDescriptorSetStorageBuffers; |
| uint32_t maxDescriptorSetStorageBuffersDynamic; |
| uint32_t maxDescriptorSetSampledImages; |
| uint32_t maxDescriptorSetStorageImages; |
| uint32_t maxDescriptorSetInputAttachments; |
| uint32_t maxVertexInputAttributes; |
| uint32_t maxVertexInputBindings; |
| uint32_t maxVertexInputAttributeOffset; |
| uint32_t maxVertexInputBindingStride; |
| uint32_t maxVertexOutputComponents; |
| uint32_t maxTessellationGenerationLevel; |
| uint32_t maxTessellationPatchSize; |
| uint32_t maxTessellationControlPerVertexInputComponents; |
| uint32_t maxTessellationControlPerVertexOutputComponents; |
| uint32_t maxTessellationControlPerPatchOutputComponents; |
| uint32_t maxTessellationControlTotalOutputComponents; |
| uint32_t maxTessellationEvaluationInputComponents; |
| uint32_t maxTessellationEvaluationOutputComponents; |
| uint32_t maxGeometryShaderInvocations; |
| uint32_t maxGeometryInputComponents; |
| uint32_t maxGeometryOutputComponents; |
| uint32_t maxGeometryOutputVertices; |
| uint32_t maxGeometryTotalOutputComponents; |
| uint32_t maxFragmentInputComponents; |
| uint32_t maxFragmentOutputAttachments; |
| uint32_t maxFragmentDualSrcAttachments; |
| uint32_t maxFragmentCombinedOutputResources; |
| uint32_t maxComputeSharedMemorySize; |
| uint32_t maxComputeWorkGroupCount[3]; |
| uint32_t maxComputeWorkGroupInvocations; |
| uint32_t maxComputeWorkGroupSize[3]; |
| uint32_t subPixelPrecisionBits; |
| uint32_t subTexelPrecisionBits; |
| uint32_t mipmapPrecisionBits; |
| uint32_t maxDrawIndexedIndexValue; |
| uint32_t maxDrawIndirectCount; |
| float maxSamplerLodBias; |
| float maxSamplerAnisotropy; |
| uint32_t maxViewports; |
| uint32_t maxViewportDimensions[2]; |
| float viewportBoundsRange[2]; |
| uint32_t viewportSubPixelBits; |
| size_t minMemoryMapAlignment; |
| VkDeviceSize minTexelBufferOffsetAlignment; |
| VkDeviceSize minUniformBufferOffsetAlignment; |
| VkDeviceSize minStorageBufferOffsetAlignment; |
| int32_t minTexelOffset; |
| uint32_t maxTexelOffset; |
| int32_t minTexelGatherOffset; |
| uint32_t maxTexelGatherOffset; |
| float minInterpolationOffset; |
| float maxInterpolationOffset; |
| uint32_t subPixelInterpolationOffsetBits; |
| uint32_t maxFramebufferWidth; |
| uint32_t maxFramebufferHeight; |
| uint32_t maxFramebufferLayers; |
| VkSampleCountFlags framebufferColorSampleCounts; |
| VkSampleCountFlags framebufferDepthSampleCounts; |
| VkSampleCountFlags framebufferStencilSampleCounts; |
| VkSampleCountFlags framebufferNoAttachmentsSampleCounts; |
| uint32_t maxColorAttachments; |
| VkSampleCountFlags sampledImageColorSampleCounts; |
| VkSampleCountFlags sampledImageIntegerSampleCounts; |
| VkSampleCountFlags sampledImageDepthSampleCounts; |
| VkSampleCountFlags sampledImageStencilSampleCounts; |
| VkSampleCountFlags storageImageSampleCounts; |
| uint32_t maxSampleMaskWords; |
| VkBool32 timestampComputeAndGraphics; |
| float timestampPeriod; |
| uint32_t maxClipDistances; |
| uint32_t maxCullDistances; |
| uint32_t maxCombinedClipAndCullDistances; |
| uint32_t discreteQueuePriorities; |
| float pointSizeRange[2]; |
| float lineWidthRange[2]; |
| float pointSizeGranularity; |
| float lineWidthGranularity; |
| VkBool32 strictLines; |
| VkBool32 standardSampleLocations; |
| VkDeviceSize optimalBufferCopyOffsetAlignment; |
| VkDeviceSize optimalBufferCopyRowPitchAlignment; |
| VkDeviceSize nonCoherentAtomSize; |
| } VkPhysicalDeviceLimits; |
| |
| typedef struct VkPhysicalDeviceSparseProperties { |
| VkBool32 residencyStandard2DBlockShape; |
| VkBool32 residencyStandard2DMultisampleBlockShape; |
| VkBool32 residencyStandard3DBlockShape; |
| VkBool32 residencyAlignedMipSize; |
| VkBool32 residencyNonResidentStrict; |
| } VkPhysicalDeviceSparseProperties; |
| |
| typedef struct VkPhysicalDeviceProperties { |
| uint32_t apiVersion; |
| uint32_t driverVersion; |
| uint32_t vendorID; |
| uint32_t deviceID; |
| VkPhysicalDeviceType deviceType; |
| char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; |
| uint8_t pipelineCacheUUID[VK_UUID_SIZE]; |
| VkPhysicalDeviceLimits limits; |
| VkPhysicalDeviceSparseProperties sparseProperties; |
| } VkPhysicalDeviceProperties; |
| |
| typedef struct VkQueueFamilyProperties { |
| VkQueueFlags queueFlags; |
| uint32_t queueCount; |
| uint32_t timestampValidBits; |
| VkExtent3D minImageTransferGranularity; |
| } VkQueueFamilyProperties; |
| |
| typedef struct VkMemoryType { |
| VkMemoryPropertyFlags propertyFlags; |
| uint32_t heapIndex; |
| } VkMemoryType; |
| |
| typedef struct VkMemoryHeap { |
| VkDeviceSize size; |
| VkMemoryHeapFlags flags; |
| } VkMemoryHeap; |
| |
| typedef struct VkPhysicalDeviceMemoryProperties { |
| uint32_t memoryTypeCount; |
| VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; |
| uint32_t memoryHeapCount; |
| VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; |
| } VkPhysicalDeviceMemoryProperties; |
| |
| typedef struct VkDeviceQueueCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceQueueCreateFlags flags; |
| uint32_t queueFamilyIndex; |
| uint32_t queueCount; |
| const float* pQueuePriorities; |
| } VkDeviceQueueCreateInfo; |
| |
| typedef struct VkDeviceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceCreateFlags flags; |
| uint32_t queueCreateInfoCount; |
| const VkDeviceQueueCreateInfo* pQueueCreateInfos; |
| uint32_t enabledLayerCount; |
| const char* const* ppEnabledLayerNames; |
| uint32_t enabledExtensionCount; |
| const char* const* ppEnabledExtensionNames; |
| const VkPhysicalDeviceFeatures* pEnabledFeatures; |
| } VkDeviceCreateInfo; |
| |
| typedef struct VkExtensionProperties { |
| char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; |
| uint32_t specVersion; |
| } VkExtensionProperties; |
| |
| typedef struct VkLayerProperties { |
| char layerName[VK_MAX_EXTENSION_NAME_SIZE]; |
| uint32_t specVersion; |
| uint32_t implementationVersion; |
| char description[VK_MAX_DESCRIPTION_SIZE]; |
| } VkLayerProperties; |
| |
| typedef struct VkSubmitInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const VkSemaphore* pWaitSemaphores; |
| const VkPipelineStageFlags* pWaitDstStageMask; |
| uint32_t commandBufferCount; |
| const VkCommandBuffer* pCommandBuffers; |
| uint32_t signalSemaphoreCount; |
| const VkSemaphore* pSignalSemaphores; |
| } VkSubmitInfo; |
| |
| typedef struct VkMemoryAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceSize allocationSize; |
| uint32_t memoryTypeIndex; |
| } VkMemoryAllocateInfo; |
| |
| typedef struct VkMappedMemoryRange { |
| VkStructureType sType; |
| const void* pNext; |
| VkDeviceMemory memory; |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| } VkMappedMemoryRange; |
| |
| typedef struct VkMemoryRequirements { |
| VkDeviceSize size; |
| VkDeviceSize alignment; |
| uint32_t memoryTypeBits; |
| } VkMemoryRequirements; |
| |
| typedef struct VkSparseImageFormatProperties { |
| VkImageAspectFlags aspectMask; |
| VkExtent3D imageGranularity; |
| VkSparseImageFormatFlags flags; |
| } VkSparseImageFormatProperties; |
| |
| typedef struct VkSparseImageMemoryRequirements { |
| VkSparseImageFormatProperties formatProperties; |
| uint32_t imageMipTailFirstLod; |
| VkDeviceSize imageMipTailSize; |
| VkDeviceSize imageMipTailOffset; |
| VkDeviceSize imageMipTailStride; |
| } VkSparseImageMemoryRequirements; |
| |
| typedef struct VkSparseMemoryBind { |
| VkDeviceSize resourceOffset; |
| VkDeviceSize size; |
| VkDeviceMemory memory; |
| VkDeviceSize memoryOffset; |
| VkSparseMemoryBindFlags flags; |
| } VkSparseMemoryBind; |
| |
| typedef struct VkSparseBufferMemoryBindInfo { |
| VkBuffer buffer; |
| uint32_t bindCount; |
| const VkSparseMemoryBind* pBinds; |
| } VkSparseBufferMemoryBindInfo; |
| |
| typedef struct VkSparseImageOpaqueMemoryBindInfo { |
| VkImage image; |
| uint32_t bindCount; |
| const VkSparseMemoryBind* pBinds; |
| } VkSparseImageOpaqueMemoryBindInfo; |
| |
| typedef struct VkImageSubresource { |
| VkImageAspectFlags aspectMask; |
| uint32_t mipLevel; |
| uint32_t arrayLayer; |
| } VkImageSubresource; |
| |
| typedef struct VkOffset3D { |
| int32_t x; |
| int32_t y; |
| int32_t z; |
| } VkOffset3D; |
| |
| typedef struct VkSparseImageMemoryBind { |
| VkImageSubresource subresource; |
| VkOffset3D offset; |
| VkExtent3D extent; |
| VkDeviceMemory memory; |
| VkDeviceSize memoryOffset; |
| VkSparseMemoryBindFlags flags; |
| } VkSparseImageMemoryBind; |
| |
| typedef struct VkSparseImageMemoryBindInfo { |
| VkImage image; |
| uint32_t bindCount; |
| const VkSparseImageMemoryBind* pBinds; |
| } VkSparseImageMemoryBindInfo; |
| |
| typedef struct VkBindSparseInfo { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const VkSemaphore* pWaitSemaphores; |
| uint32_t bufferBindCount; |
| const VkSparseBufferMemoryBindInfo* pBufferBinds; |
| uint32_t imageOpaqueBindCount; |
| const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; |
| uint32_t imageBindCount; |
| const VkSparseImageMemoryBindInfo* pImageBinds; |
| uint32_t signalSemaphoreCount; |
| const VkSemaphore* pSignalSemaphores; |
| } VkBindSparseInfo; |
| |
| typedef struct VkFenceCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkFenceCreateFlags flags; |
| } VkFenceCreateInfo; |
| |
| typedef struct VkSemaphoreCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSemaphoreCreateFlags flags; |
| } VkSemaphoreCreateInfo; |
| |
| typedef struct VkEventCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkEventCreateFlags flags; |
| } VkEventCreateInfo; |
| |
| typedef struct VkQueryPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkQueryPoolCreateFlags flags; |
| VkQueryType queryType; |
| uint32_t queryCount; |
| VkQueryPipelineStatisticFlags pipelineStatistics; |
| } VkQueryPoolCreateInfo; |
| |
| typedef struct VkBufferCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBufferCreateFlags flags; |
| VkDeviceSize size; |
| VkBufferUsageFlags usage; |
| VkSharingMode sharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| } VkBufferCreateInfo; |
| |
| typedef struct VkBufferViewCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkBufferViewCreateFlags flags; |
| VkBuffer buffer; |
| VkFormat format; |
| VkDeviceSize offset; |
| VkDeviceSize range; |
| } VkBufferViewCreateInfo; |
| |
| typedef struct VkImageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageCreateFlags flags; |
| VkImageType imageType; |
| VkFormat format; |
| VkExtent3D extent; |
| uint32_t mipLevels; |
| uint32_t arrayLayers; |
| VkSampleCountFlagBits samples; |
| VkImageTiling tiling; |
| VkImageUsageFlags usage; |
| VkSharingMode sharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| VkImageLayout initialLayout; |
| } VkImageCreateInfo; |
| |
| typedef struct VkSubresourceLayout { |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| VkDeviceSize rowPitch; |
| VkDeviceSize arrayPitch; |
| VkDeviceSize depthPitch; |
| } VkSubresourceLayout; |
| |
| typedef struct VkComponentMapping { |
| VkComponentSwizzle r; |
| VkComponentSwizzle g; |
| VkComponentSwizzle b; |
| VkComponentSwizzle a; |
| } VkComponentMapping; |
| |
| typedef struct VkImageSubresourceRange { |
| VkImageAspectFlags aspectMask; |
| uint32_t baseMipLevel; |
| uint32_t levelCount; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkImageSubresourceRange; |
| |
| typedef struct VkImageViewCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkImageViewCreateFlags flags; |
| VkImage image; |
| VkImageViewType viewType; |
| VkFormat format; |
| VkComponentMapping components; |
| VkImageSubresourceRange subresourceRange; |
| } VkImageViewCreateInfo; |
| |
| typedef struct VkShaderModuleCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkShaderModuleCreateFlags flags; |
| size_t codeSize; |
| const uint32_t* pCode; |
| } VkShaderModuleCreateInfo; |
| |
| typedef struct VkPipelineCacheCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCacheCreateFlags flags; |
| size_t initialDataSize; |
| const void* pInitialData; |
| } VkPipelineCacheCreateInfo; |
| |
| typedef struct VkSpecializationMapEntry { |
| uint32_t constantID; |
| uint32_t offset; |
| size_t size; |
| } VkSpecializationMapEntry; |
| |
| typedef struct VkSpecializationInfo { |
| uint32_t mapEntryCount; |
| const VkSpecializationMapEntry* pMapEntries; |
| size_t dataSize; |
| const void* pData; |
| } VkSpecializationInfo; |
| |
| typedef struct VkPipelineShaderStageCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineShaderStageCreateFlags flags; |
| VkShaderStageFlagBits stage; |
| VkShaderModule module; |
| const char* pName; |
| const VkSpecializationInfo* pSpecializationInfo; |
| } VkPipelineShaderStageCreateInfo; |
| |
| typedef struct VkVertexInputBindingDescription { |
| uint32_t binding; |
| uint32_t stride; |
| VkVertexInputRate inputRate; |
| } VkVertexInputBindingDescription; |
| |
| typedef struct VkVertexInputAttributeDescription { |
| uint32_t location; |
| uint32_t binding; |
| VkFormat format; |
| uint32_t offset; |
| } VkVertexInputAttributeDescription; |
| |
| typedef struct VkPipelineVertexInputStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineVertexInputStateCreateFlags flags; |
| uint32_t vertexBindingDescriptionCount; |
| const VkVertexInputBindingDescription* pVertexBindingDescriptions; |
| uint32_t vertexAttributeDescriptionCount; |
| const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; |
| } VkPipelineVertexInputStateCreateInfo; |
| |
| typedef struct VkPipelineInputAssemblyStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineInputAssemblyStateCreateFlags flags; |
| VkPrimitiveTopology topology; |
| VkBool32 primitiveRestartEnable; |
| } VkPipelineInputAssemblyStateCreateInfo; |
| |
| typedef struct VkPipelineTessellationStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineTessellationStateCreateFlags flags; |
| uint32_t patchControlPoints; |
| } VkPipelineTessellationStateCreateInfo; |
| |
| typedef struct VkViewport { |
| float x; |
| float y; |
| float width; |
| float height; |
| float minDepth; |
| float maxDepth; |
| } VkViewport; |
| |
| typedef struct VkOffset2D { |
| int32_t x; |
| int32_t y; |
| } VkOffset2D; |
| |
| typedef struct VkExtent2D { |
| uint32_t width; |
| uint32_t height; |
| } VkExtent2D; |
| |
| typedef struct VkRect2D { |
| VkOffset2D offset; |
| VkExtent2D extent; |
| } VkRect2D; |
| |
| typedef struct VkPipelineViewportStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineViewportStateCreateFlags flags; |
| uint32_t viewportCount; |
| const VkViewport* pViewports; |
| uint32_t scissorCount; |
| const VkRect2D* pScissors; |
| } VkPipelineViewportStateCreateInfo; |
| |
| typedef struct VkPipelineRasterizationStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineRasterizationStateCreateFlags flags; |
| VkBool32 depthClampEnable; |
| VkBool32 rasterizerDiscardEnable; |
| VkPolygonMode polygonMode; |
| VkCullModeFlags cullMode; |
| VkFrontFace frontFace; |
| VkBool32 depthBiasEnable; |
| float depthBiasConstantFactor; |
| float depthBiasClamp; |
| float depthBiasSlopeFactor; |
| float lineWidth; |
| } VkPipelineRasterizationStateCreateInfo; |
| |
| typedef struct VkPipelineMultisampleStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineMultisampleStateCreateFlags flags; |
| VkSampleCountFlagBits rasterizationSamples; |
| VkBool32 sampleShadingEnable; |
| float minSampleShading; |
| const VkSampleMask* pSampleMask; |
| VkBool32 alphaToCoverageEnable; |
| VkBool32 alphaToOneEnable; |
| } VkPipelineMultisampleStateCreateInfo; |
| |
| typedef struct VkStencilOpState { |
| VkStencilOp failOp; |
| VkStencilOp passOp; |
| VkStencilOp depthFailOp; |
| VkCompareOp compareOp; |
| uint32_t compareMask; |
| uint32_t writeMask; |
| uint32_t reference; |
| } VkStencilOpState; |
| |
| typedef struct VkPipelineDepthStencilStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineDepthStencilStateCreateFlags flags; |
| VkBool32 depthTestEnable; |
| VkBool32 depthWriteEnable; |
| VkCompareOp depthCompareOp; |
| VkBool32 depthBoundsTestEnable; |
| VkBool32 stencilTestEnable; |
| VkStencilOpState front; |
| VkStencilOpState back; |
| float minDepthBounds; |
| float maxDepthBounds; |
| } VkPipelineDepthStencilStateCreateInfo; |
| |
| typedef struct VkPipelineColorBlendAttachmentState { |
| VkBool32 blendEnable; |
| VkBlendFactor srcColorBlendFactor; |
| VkBlendFactor dstColorBlendFactor; |
| VkBlendOp colorBlendOp; |
| VkBlendFactor srcAlphaBlendFactor; |
| VkBlendFactor dstAlphaBlendFactor; |
| VkBlendOp alphaBlendOp; |
| VkColorComponentFlags colorWriteMask; |
| } VkPipelineColorBlendAttachmentState; |
| |
| typedef struct VkPipelineColorBlendStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineColorBlendStateCreateFlags flags; |
| VkBool32 logicOpEnable; |
| VkLogicOp logicOp; |
| uint32_t attachmentCount; |
| const VkPipelineColorBlendAttachmentState* pAttachments; |
| float blendConstants[4]; |
| } VkPipelineColorBlendStateCreateInfo; |
| |
| typedef struct VkPipelineDynamicStateCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineDynamicStateCreateFlags flags; |
| uint32_t dynamicStateCount; |
| const VkDynamicState* pDynamicStates; |
| } VkPipelineDynamicStateCreateInfo; |
| |
| typedef struct VkGraphicsPipelineCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCreateFlags flags; |
| uint32_t stageCount; |
| const VkPipelineShaderStageCreateInfo* pStages; |
| const VkPipelineVertexInputStateCreateInfo* pVertexInputState; |
| const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; |
| const VkPipelineTessellationStateCreateInfo* pTessellationState; |
| const VkPipelineViewportStateCreateInfo* pViewportState; |
| const VkPipelineRasterizationStateCreateInfo* pRasterizationState; |
| const VkPipelineMultisampleStateCreateInfo* pMultisampleState; |
| const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; |
| const VkPipelineColorBlendStateCreateInfo* pColorBlendState; |
| const VkPipelineDynamicStateCreateInfo* pDynamicState; |
| VkPipelineLayout layout; |
| VkRenderPass renderPass; |
| uint32_t subpass; |
| VkPipeline basePipelineHandle; |
| int32_t basePipelineIndex; |
| } VkGraphicsPipelineCreateInfo; |
| |
| typedef struct VkComputePipelineCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineCreateFlags flags; |
| VkPipelineShaderStageCreateInfo stage; |
| VkPipelineLayout layout; |
| VkPipeline basePipelineHandle; |
| int32_t basePipelineIndex; |
| } VkComputePipelineCreateInfo; |
| |
| typedef struct VkPushConstantRange { |
| VkShaderStageFlags stageFlags; |
| uint32_t offset; |
| uint32_t size; |
| } VkPushConstantRange; |
| |
| typedef struct VkPipelineLayoutCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineLayoutCreateFlags flags; |
| uint32_t setLayoutCount; |
| const VkDescriptorSetLayout* pSetLayouts; |
| uint32_t pushConstantRangeCount; |
| const VkPushConstantRange* pPushConstantRanges; |
| } VkPipelineLayoutCreateInfo; |
| |
| typedef struct VkSamplerCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkSamplerCreateFlags flags; |
| VkFilter magFilter; |
| VkFilter minFilter; |
| VkSamplerMipmapMode mipmapMode; |
| VkSamplerAddressMode addressModeU; |
| VkSamplerAddressMode addressModeV; |
| VkSamplerAddressMode addressModeW; |
| float mipLodBias; |
| VkBool32 anisotropyEnable; |
| float maxAnisotropy; |
| VkBool32 compareEnable; |
| VkCompareOp compareOp; |
| float minLod; |
| float maxLod; |
| VkBorderColor borderColor; |
| VkBool32 unnormalizedCoordinates; |
| } VkSamplerCreateInfo; |
| |
| typedef struct VkDescriptorSetLayoutBinding { |
| uint32_t binding; |
| VkDescriptorType descriptorType; |
| uint32_t descriptorCount; |
| VkShaderStageFlags stageFlags; |
| const VkSampler* pImmutableSamplers; |
| } VkDescriptorSetLayoutBinding; |
| |
| typedef struct VkDescriptorSetLayoutCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSetLayoutCreateFlags flags; |
| uint32_t bindingCount; |
| const VkDescriptorSetLayoutBinding* pBindings; |
| } VkDescriptorSetLayoutCreateInfo; |
| |
| typedef struct VkDescriptorPoolSize { |
| VkDescriptorType type; |
| uint32_t descriptorCount; |
| } VkDescriptorPoolSize; |
| |
| typedef struct VkDescriptorPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorPoolCreateFlags flags; |
| uint32_t maxSets; |
| uint32_t poolSizeCount; |
| const VkDescriptorPoolSize* pPoolSizes; |
| } VkDescriptorPoolCreateInfo; |
| |
| typedef struct VkDescriptorSetAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorPool descriptorPool; |
| uint32_t descriptorSetCount; |
| const VkDescriptorSetLayout* pSetLayouts; |
| } VkDescriptorSetAllocateInfo; |
| |
| typedef struct VkDescriptorImageInfo { |
| VkSampler sampler; |
| VkImageView imageView; |
| VkImageLayout imageLayout; |
| } VkDescriptorImageInfo; |
| |
| typedef struct VkDescriptorBufferInfo { |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| VkDeviceSize range; |
| } VkDescriptorBufferInfo; |
| |
| typedef struct VkWriteDescriptorSet { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSet dstSet; |
| uint32_t dstBinding; |
| uint32_t dstArrayElement; |
| uint32_t descriptorCount; |
| VkDescriptorType descriptorType; |
| const VkDescriptorImageInfo* pImageInfo; |
| const VkDescriptorBufferInfo* pBufferInfo; |
| const VkBufferView* pTexelBufferView; |
| } VkWriteDescriptorSet; |
| |
| typedef struct VkCopyDescriptorSet { |
| VkStructureType sType; |
| const void* pNext; |
| VkDescriptorSet srcSet; |
| uint32_t srcBinding; |
| uint32_t srcArrayElement; |
| VkDescriptorSet dstSet; |
| uint32_t dstBinding; |
| uint32_t dstArrayElement; |
| uint32_t descriptorCount; |
| } VkCopyDescriptorSet; |
| |
| typedef struct VkFramebufferCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkFramebufferCreateFlags flags; |
| VkRenderPass renderPass; |
| uint32_t attachmentCount; |
| const VkImageView* pAttachments; |
| uint32_t width; |
| uint32_t height; |
| uint32_t layers; |
| } VkFramebufferCreateInfo; |
| |
| typedef struct VkAttachmentDescription { |
| VkAttachmentDescriptionFlags flags; |
| VkFormat format; |
| VkSampleCountFlagBits samples; |
| VkAttachmentLoadOp loadOp; |
| VkAttachmentStoreOp storeOp; |
| VkAttachmentLoadOp stencilLoadOp; |
| VkAttachmentStoreOp stencilStoreOp; |
| VkImageLayout initialLayout; |
| VkImageLayout finalLayout; |
| } VkAttachmentDescription; |
| |
| typedef struct VkAttachmentReference { |
| uint32_t attachment; |
| VkImageLayout layout; |
| } VkAttachmentReference; |
| |
| typedef struct VkSubpassDescription { |
| VkSubpassDescriptionFlags flags; |
| VkPipelineBindPoint pipelineBindPoint; |
| uint32_t inputAttachmentCount; |
| const VkAttachmentReference* pInputAttachments; |
| uint32_t colorAttachmentCount; |
| const VkAttachmentReference* pColorAttachments; |
| const VkAttachmentReference* pResolveAttachments; |
| const VkAttachmentReference* pDepthStencilAttachment; |
| uint32_t preserveAttachmentCount; |
| const uint32_t* pPreserveAttachments; |
| } VkSubpassDescription; |
| |
| typedef struct VkSubpassDependency { |
| uint32_t srcSubpass; |
| uint32_t dstSubpass; |
| VkPipelineStageFlags srcStageMask; |
| VkPipelineStageFlags dstStageMask; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| VkDependencyFlags dependencyFlags; |
| } VkSubpassDependency; |
| |
| typedef struct VkRenderPassCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPassCreateFlags flags; |
| uint32_t attachmentCount; |
| const VkAttachmentDescription* pAttachments; |
| uint32_t subpassCount; |
| const VkSubpassDescription* pSubpasses; |
| uint32_t dependencyCount; |
| const VkSubpassDependency* pDependencies; |
| } VkRenderPassCreateInfo; |
| |
| typedef struct VkCommandPoolCreateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandPoolCreateFlags flags; |
| uint32_t queueFamilyIndex; |
| } VkCommandPoolCreateInfo; |
| |
| typedef struct VkCommandBufferAllocateInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandPool commandPool; |
| VkCommandBufferLevel level; |
| uint32_t commandBufferCount; |
| } VkCommandBufferAllocateInfo; |
| |
| typedef struct VkCommandBufferInheritanceInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPass renderPass; |
| uint32_t subpass; |
| VkFramebuffer framebuffer; |
| VkBool32 occlusionQueryEnable; |
| VkQueryControlFlags queryFlags; |
| VkQueryPipelineStatisticFlags pipelineStatistics; |
| } VkCommandBufferInheritanceInfo; |
| |
| typedef struct VkCommandBufferBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkCommandBufferUsageFlags flags; |
| const VkCommandBufferInheritanceInfo* pInheritanceInfo; |
| } VkCommandBufferBeginInfo; |
| |
| typedef struct VkBufferCopy { |
| VkDeviceSize srcOffset; |
| VkDeviceSize dstOffset; |
| VkDeviceSize size; |
| } VkBufferCopy; |
| |
| typedef struct VkImageSubresourceLayers { |
| VkImageAspectFlags aspectMask; |
| uint32_t mipLevel; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkImageSubresourceLayers; |
| |
| typedef struct VkImageCopy { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageCopy; |
| |
| typedef struct VkImageBlit { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffsets[2]; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffsets[2]; |
| } VkImageBlit; |
| |
| typedef struct VkBufferImageCopy { |
| VkDeviceSize bufferOffset; |
| uint32_t bufferRowLength; |
| uint32_t bufferImageHeight; |
| VkImageSubresourceLayers imageSubresource; |
| VkOffset3D imageOffset; |
| VkExtent3D imageExtent; |
| } VkBufferImageCopy; |
| |
| typedef union VkClearColorValue { |
| float float32[4]; |
| int32_t int32[4]; |
| uint32_t uint32[4]; |
| } VkClearColorValue; |
| |
| typedef struct VkClearDepthStencilValue { |
| float depth; |
| uint32_t stencil; |
| } VkClearDepthStencilValue; |
| |
| typedef union VkClearValue { |
| VkClearColorValue color; |
| VkClearDepthStencilValue depthStencil; |
| } VkClearValue; |
| |
| typedef struct VkClearAttachment { |
| VkImageAspectFlags aspectMask; |
| uint32_t colorAttachment; |
| VkClearValue clearValue; |
| } VkClearAttachment; |
| |
| typedef struct VkClearRect { |
| VkRect2D rect; |
| uint32_t baseArrayLayer; |
| uint32_t layerCount; |
| } VkClearRect; |
| |
| typedef struct VkImageResolve { |
| VkImageSubresourceLayers srcSubresource; |
| VkOffset3D srcOffset; |
| VkImageSubresourceLayers dstSubresource; |
| VkOffset3D dstOffset; |
| VkExtent3D extent; |
| } VkImageResolve; |
| |
| typedef struct VkMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| } VkMemoryBarrier; |
| |
| typedef struct VkBufferMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| VkDeviceSize size; |
| } VkBufferMemoryBarrier; |
| |
| typedef struct VkImageMemoryBarrier { |
| VkStructureType sType; |
| const void* pNext; |
| VkAccessFlags srcAccessMask; |
| VkAccessFlags dstAccessMask; |
| VkImageLayout oldLayout; |
| VkImageLayout newLayout; |
| uint32_t srcQueueFamilyIndex; |
| uint32_t dstQueueFamilyIndex; |
| VkImage image; |
| VkImageSubresourceRange subresourceRange; |
| } VkImageMemoryBarrier; |
| |
| typedef struct VkRenderPassBeginInfo { |
| VkStructureType sType; |
| const void* pNext; |
| VkRenderPass renderPass; |
| VkFramebuffer framebuffer; |
| VkRect2D renderArea; |
| uint32_t clearValueCount; |
| const VkClearValue* pClearValues; |
| } VkRenderPassBeginInfo; |
| |
| typedef struct VkDispatchIndirectCommand { |
| uint32_t x; |
| uint32_t y; |
| uint32_t z; |
| } VkDispatchIndirectCommand; |
| |
| typedef struct VkDrawIndexedIndirectCommand { |
| uint32_t indexCount; |
| uint32_t instanceCount; |
| uint32_t firstIndex; |
| int32_t vertexOffset; |
| uint32_t firstInstance; |
| } VkDrawIndexedIndirectCommand; |
| |
| typedef struct VkDrawIndirectCommand { |
| uint32_t vertexCount; |
| uint32_t instanceCount; |
| uint32_t firstVertex; |
| uint32_t firstInstance; |
| } VkDrawIndirectCommand; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); |
| typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); |
| typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); |
| typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); |
| typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); |
| typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); |
| typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); |
| typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); |
| typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); |
| typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); |
| typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); |
| typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); |
| typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); |
| typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); |
| typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); |
| typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); |
| typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); |
| typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); |
| typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); |
| typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); |
| typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); |
| typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); |
| typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); |
| typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); |
| typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); |
| typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); |
| typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); |
| typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); |
| typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); |
| typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); |
| typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); |
| typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z); |
| typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); |
| typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
| typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); |
| typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); |
| typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); |
| typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); |
| typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); |
| typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); |
| typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); |
| typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); |
| typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); |
| typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); |
| typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( |
| const VkInstanceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkInstance* pInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( |
| VkInstance instance, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( |
| VkInstance instance, |
| uint32_t* pPhysicalDeviceCount, |
| VkPhysicalDevice* pPhysicalDevices); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceFeatures* pFeatures); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkFormatProperties* pFormatProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkImageType type, |
| VkImageTiling tiling, |
| VkImageUsageFlags usage, |
| VkImageCreateFlags flags, |
| VkImageFormatProperties* pImageFormatProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceProperties* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pQueueFamilyPropertyCount, |
| VkQueueFamilyProperties* pQueueFamilyProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceMemoryProperties* pMemoryProperties); |
| |
| VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( |
| VkInstance instance, |
| const char* pName); |
| |
| VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( |
| VkDevice device, |
| const char* pName); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( |
| VkPhysicalDevice physicalDevice, |
| const VkDeviceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDevice* pDevice); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( |
| VkDevice device, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( |
| const char* pLayerName, |
| uint32_t* pPropertyCount, |
| VkExtensionProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( |
| VkPhysicalDevice physicalDevice, |
| const char* pLayerName, |
| uint32_t* pPropertyCount, |
| VkExtensionProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( |
| uint32_t* pPropertyCount, |
| VkLayerProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkLayerProperties* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( |
| VkDevice device, |
| uint32_t queueFamilyIndex, |
| uint32_t queueIndex, |
| VkQueue* pQueue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( |
| VkQueue queue, |
| uint32_t submitCount, |
| const VkSubmitInfo* pSubmits, |
| VkFence fence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( |
| VkQueue queue); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( |
| VkDevice device); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( |
| VkDevice device, |
| const VkMemoryAllocateInfo* pAllocateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDeviceMemory* pMemory); |
| |
| VKAPI_ATTR void VKAPI_CALL vkFreeMemory( |
| VkDevice device, |
| VkDeviceMemory memory, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( |
| VkDevice device, |
| VkDeviceMemory memory, |
| VkDeviceSize offset, |
| VkDeviceSize size, |
| VkMemoryMapFlags flags, |
| void** ppData); |
| |
| VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( |
| VkDevice device, |
| VkDeviceMemory memory); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( |
| VkDevice device, |
| uint32_t memoryRangeCount, |
| const VkMappedMemoryRange* pMemoryRanges); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( |
| VkDevice device, |
| uint32_t memoryRangeCount, |
| const VkMappedMemoryRange* pMemoryRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( |
| VkDevice device, |
| VkDeviceMemory memory, |
| VkDeviceSize* pCommittedMemoryInBytes); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( |
| VkDevice device, |
| VkBuffer buffer, |
| VkDeviceMemory memory, |
| VkDeviceSize memoryOffset); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( |
| VkDevice device, |
| VkImage image, |
| VkDeviceMemory memory, |
| VkDeviceSize memoryOffset); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( |
| VkDevice device, |
| VkBuffer buffer, |
| VkMemoryRequirements* pMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( |
| VkDevice device, |
| VkImage image, |
| VkMemoryRequirements* pMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( |
| VkDevice device, |
| VkImage image, |
| uint32_t* pSparseMemoryRequirementCount, |
| VkSparseImageMemoryRequirements* pSparseMemoryRequirements); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkImageType type, |
| VkSampleCountFlagBits samples, |
| VkImageUsageFlags usage, |
| VkImageTiling tiling, |
| uint32_t* pPropertyCount, |
| VkSparseImageFormatProperties* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( |
| VkQueue queue, |
| uint32_t bindInfoCount, |
| const VkBindSparseInfo* pBindInfo, |
| VkFence fence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( |
| VkDevice device, |
| const VkFenceCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFence* pFence); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyFence( |
| VkDevice device, |
| VkFence fence, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( |
| VkDevice device, |
| uint32_t fenceCount, |
| const VkFence* pFences); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( |
| VkDevice device, |
| VkFence fence); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( |
| VkDevice device, |
| uint32_t fenceCount, |
| const VkFence* pFences, |
| VkBool32 waitAll, |
| uint64_t timeout); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( |
| VkDevice device, |
| const VkSemaphoreCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSemaphore* pSemaphore); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( |
| VkDevice device, |
| VkSemaphore semaphore, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( |
| VkDevice device, |
| const VkEventCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkEvent* pEvent); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( |
| VkDevice device, |
| VkEvent event, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( |
| VkDevice device, |
| VkEvent event); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( |
| VkDevice device, |
| const VkQueryPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkQueryPool* pQueryPool); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( |
| VkDevice device, |
| VkQueryPool queryPool, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( |
| VkDevice device, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount, |
| size_t dataSize, |
| void* pData, |
| VkDeviceSize stride, |
| VkQueryResultFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( |
| VkDevice device, |
| const VkBufferCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkBuffer* pBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( |
| VkDevice device, |
| VkBuffer buffer, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( |
| VkDevice device, |
| const VkBufferViewCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkBufferView* pView); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( |
| VkDevice device, |
| VkBufferView bufferView, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( |
| VkDevice device, |
| const VkImageCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkImage* pImage); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyImage( |
| VkDevice device, |
| VkImage image, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( |
| VkDevice device, |
| VkImage image, |
| const VkImageSubresource* pSubresource, |
| VkSubresourceLayout* pLayout); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( |
| VkDevice device, |
| const VkImageViewCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkImageView* pView); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( |
| VkDevice device, |
| VkImageView imageView, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( |
| VkDevice device, |
| const VkShaderModuleCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkShaderModule* pShaderModule); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( |
| VkDevice device, |
| VkShaderModule shaderModule, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( |
| VkDevice device, |
| const VkPipelineCacheCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipelineCache* pPipelineCache); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| size_t* pDataSize, |
| void* pData); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( |
| VkDevice device, |
| VkPipelineCache dstCache, |
| uint32_t srcCacheCount, |
| const VkPipelineCache* pSrcCaches); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| uint32_t createInfoCount, |
| const VkGraphicsPipelineCreateInfo* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipeline* pPipelines); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( |
| VkDevice device, |
| VkPipelineCache pipelineCache, |
| uint32_t createInfoCount, |
| const VkComputePipelineCreateInfo* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipeline* pPipelines); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( |
| VkDevice device, |
| VkPipeline pipeline, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( |
| VkDevice device, |
| const VkPipelineLayoutCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkPipelineLayout* pPipelineLayout); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( |
| VkDevice device, |
| VkPipelineLayout pipelineLayout, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( |
| VkDevice device, |
| const VkSamplerCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSampler* pSampler); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySampler( |
| VkDevice device, |
| VkSampler sampler, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( |
| VkDevice device, |
| const VkDescriptorSetLayoutCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDescriptorSetLayout* pSetLayout); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( |
| VkDevice device, |
| VkDescriptorSetLayout descriptorSetLayout, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( |
| VkDevice device, |
| const VkDescriptorPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDescriptorPool* pDescriptorPool); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( |
| VkDevice device, |
| VkDescriptorPool descriptorPool, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( |
| VkDevice device, |
| VkDescriptorPool descriptorPool, |
| VkDescriptorPoolResetFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( |
| VkDevice device, |
| const VkDescriptorSetAllocateInfo* pAllocateInfo, |
| VkDescriptorSet* pDescriptorSets); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( |
| VkDevice device, |
| VkDescriptorPool descriptorPool, |
| uint32_t descriptorSetCount, |
| const VkDescriptorSet* pDescriptorSets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( |
| VkDevice device, |
| uint32_t descriptorWriteCount, |
| const VkWriteDescriptorSet* pDescriptorWrites, |
| uint32_t descriptorCopyCount, |
| const VkCopyDescriptorSet* pDescriptorCopies); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( |
| VkDevice device, |
| const VkFramebufferCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkFramebuffer* pFramebuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( |
| VkDevice device, |
| VkFramebuffer framebuffer, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( |
| VkDevice device, |
| const VkRenderPassCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkRenderPass* pRenderPass); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( |
| VkDevice device, |
| VkRenderPass renderPass, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( |
| VkDevice device, |
| VkRenderPass renderPass, |
| VkExtent2D* pGranularity); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( |
| VkDevice device, |
| const VkCommandPoolCreateInfo* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkCommandPool* pCommandPool); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( |
| VkDevice device, |
| VkCommandPool commandPool, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( |
| VkDevice device, |
| VkCommandPool commandPool, |
| VkCommandPoolResetFlags flags); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( |
| VkDevice device, |
| const VkCommandBufferAllocateInfo* pAllocateInfo, |
| VkCommandBuffer* pCommandBuffers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( |
| VkDevice device, |
| VkCommandPool commandPool, |
| uint32_t commandBufferCount, |
| const VkCommandBuffer* pCommandBuffers); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( |
| VkCommandBuffer commandBuffer, |
| const VkCommandBufferBeginInfo* pBeginInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( |
| VkCommandBuffer commandBuffer, |
| VkCommandBufferResetFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( |
| VkCommandBuffer commandBuffer, |
| VkPipelineBindPoint pipelineBindPoint, |
| VkPipeline pipeline); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstViewport, |
| uint32_t viewportCount, |
| const VkViewport* pViewports); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstScissor, |
| uint32_t scissorCount, |
| const VkRect2D* pScissors); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( |
| VkCommandBuffer commandBuffer, |
| float lineWidth); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( |
| VkCommandBuffer commandBuffer, |
| float depthBiasConstantFactor, |
| float depthBiasClamp, |
| float depthBiasSlopeFactor); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( |
| VkCommandBuffer commandBuffer, |
| const float blendConstants[4]); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( |
| VkCommandBuffer commandBuffer, |
| float minDepthBounds, |
| float maxDepthBounds); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t compareMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t writeMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( |
| VkCommandBuffer commandBuffer, |
| VkStencilFaceFlags faceMask, |
| uint32_t reference); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( |
| VkCommandBuffer commandBuffer, |
| VkPipelineBindPoint pipelineBindPoint, |
| VkPipelineLayout layout, |
| uint32_t firstSet, |
| uint32_t descriptorSetCount, |
| const VkDescriptorSet* pDescriptorSets, |
| uint32_t dynamicOffsetCount, |
| const uint32_t* pDynamicOffsets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkIndexType indexType); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( |
| VkCommandBuffer commandBuffer, |
| uint32_t firstBinding, |
| uint32_t bindingCount, |
| const VkBuffer* pBuffers, |
| const VkDeviceSize* pOffsets); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDraw( |
| VkCommandBuffer commandBuffer, |
| uint32_t vertexCount, |
| uint32_t instanceCount, |
| uint32_t firstVertex, |
| uint32_t firstInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( |
| VkCommandBuffer commandBuffer, |
| uint32_t indexCount, |
| uint32_t instanceCount, |
| uint32_t firstIndex, |
| int32_t vertexOffset, |
| uint32_t firstInstance); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| uint32_t drawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| uint32_t drawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( |
| VkCommandBuffer commandBuffer, |
| uint32_t x, |
| uint32_t y, |
| uint32_t z); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer srcBuffer, |
| VkBuffer dstBuffer, |
| uint32_t regionCount, |
| const VkBufferCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageBlit* pRegions, |
| VkFilter filter); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( |
| VkCommandBuffer commandBuffer, |
| VkBuffer srcBuffer, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkBufferImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkBuffer dstBuffer, |
| uint32_t regionCount, |
| const VkBufferImageCopy* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize dataSize, |
| const void* pData); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( |
| VkCommandBuffer commandBuffer, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize size, |
| uint32_t data); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( |
| VkCommandBuffer commandBuffer, |
| VkImage image, |
| VkImageLayout imageLayout, |
| const VkClearColorValue* pColor, |
| uint32_t rangeCount, |
| const VkImageSubresourceRange* pRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( |
| VkCommandBuffer commandBuffer, |
| VkImage image, |
| VkImageLayout imageLayout, |
| const VkClearDepthStencilValue* pDepthStencil, |
| uint32_t rangeCount, |
| const VkImageSubresourceRange* pRanges); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( |
| VkCommandBuffer commandBuffer, |
| uint32_t attachmentCount, |
| const VkClearAttachment* pAttachments, |
| uint32_t rectCount, |
| const VkClearRect* pRects); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( |
| VkCommandBuffer commandBuffer, |
| VkImage srcImage, |
| VkImageLayout srcImageLayout, |
| VkImage dstImage, |
| VkImageLayout dstImageLayout, |
| uint32_t regionCount, |
| const VkImageResolve* pRegions); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| VkPipelineStageFlags stageMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( |
| VkCommandBuffer commandBuffer, |
| VkEvent event, |
| VkPipelineStageFlags stageMask); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( |
| VkCommandBuffer commandBuffer, |
| uint32_t eventCount, |
| const VkEvent* pEvents, |
| VkPipelineStageFlags srcStageMask, |
| VkPipelineStageFlags dstStageMask, |
| uint32_t memoryBarrierCount, |
| const VkMemoryBarrier* pMemoryBarriers, |
| uint32_t bufferMemoryBarrierCount, |
| const VkBufferMemoryBarrier* pBufferMemoryBarriers, |
| uint32_t imageMemoryBarrierCount, |
| const VkImageMemoryBarrier* pImageMemoryBarriers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlags srcStageMask, |
| VkPipelineStageFlags dstStageMask, |
| VkDependencyFlags dependencyFlags, |
| uint32_t memoryBarrierCount, |
| const VkMemoryBarrier* pMemoryBarriers, |
| uint32_t bufferMemoryBarrierCount, |
| const VkBufferMemoryBarrier* pBufferMemoryBarriers, |
| uint32_t imageMemoryBarrierCount, |
| const VkImageMemoryBarrier* pImageMemoryBarriers); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t query, |
| VkQueryControlFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t query); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( |
| VkCommandBuffer commandBuffer, |
| VkPipelineStageFlagBits pipelineStage, |
| VkQueryPool queryPool, |
| uint32_t query); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( |
| VkCommandBuffer commandBuffer, |
| VkQueryPool queryPool, |
| uint32_t firstQuery, |
| uint32_t queryCount, |
| VkBuffer dstBuffer, |
| VkDeviceSize dstOffset, |
| VkDeviceSize stride, |
| VkQueryResultFlags flags); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( |
| VkCommandBuffer commandBuffer, |
| VkPipelineLayout layout, |
| VkShaderStageFlags stageFlags, |
| uint32_t offset, |
| uint32_t size, |
| const void* pValues); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( |
| VkCommandBuffer commandBuffer, |
| const VkRenderPassBeginInfo* pRenderPassBegin, |
| VkSubpassContents contents); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( |
| VkCommandBuffer commandBuffer, |
| VkSubpassContents contents); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( |
| VkCommandBuffer commandBuffer, |
| uint32_t commandBufferCount, |
| const VkCommandBuffer* pCommandBuffers); |
| #endif |
| |
| #define VK_KHR_surface 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) |
| |
| #define VK_KHR_SURFACE_SPEC_VERSION 25 |
| #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" |
| #define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR |
| |
| |
| typedef enum VkColorSpaceKHR { |
| VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, |
| VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, |
| VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, |
| VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104003, |
| VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104004, |
| VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104005, |
| VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104006, |
| VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104007, |
| VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104008, |
| VK_COLOR_SPACE_BT2020_170M_EXT = 1000104009, |
| VK_COLOR_SPACE_BT2020_ST2084_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_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
| VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
| VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1), |
| VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkColorSpaceKHR; |
| |
| typedef enum VkPresentModeKHR { |
| VK_PRESENT_MODE_IMMEDIATE_KHR = 0, |
| VK_PRESENT_MODE_MAILBOX_KHR = 1, |
| VK_PRESENT_MODE_FIFO_KHR = 2, |
| VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, |
| VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, |
| VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, |
| VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR, |
| VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR, |
| VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), |
| VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkPresentModeKHR; |
| |
| |
| typedef enum VkSurfaceTransformFlagBitsKHR { |
| VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, |
| VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, |
| VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, |
| VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, |
| VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, |
| VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkSurfaceTransformFlagBitsKHR; |
| typedef VkFlags VkSurfaceTransformFlagsKHR; |
| |
| typedef enum VkCompositeAlphaFlagBitsKHR { |
| VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, |
| VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, |
| VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, |
| VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkCompositeAlphaFlagBitsKHR; |
| typedef VkFlags VkCompositeAlphaFlagsKHR; |
| |
| typedef struct VkSurfaceCapabilitiesKHR { |
| uint32_t minImageCount; |
| uint32_t maxImageCount; |
| VkExtent2D currentExtent; |
| VkExtent2D minImageExtent; |
| VkExtent2D maxImageExtent; |
| uint32_t maxImageArrayLayers; |
| VkSurfaceTransformFlagsKHR supportedTransforms; |
| VkSurfaceTransformFlagBitsKHR currentTransform; |
| VkCompositeAlphaFlagsKHR supportedCompositeAlpha; |
| VkImageUsageFlags supportedUsageFlags; |
| } VkSurfaceCapabilitiesKHR; |
| |
| typedef struct VkSurfaceFormatKHR { |
| VkFormat format; |
| VkColorSpaceKHR colorSpace; |
| } VkSurfaceFormatKHR; |
| |
| |
| typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( |
| VkInstance instance, |
| VkSurfaceKHR surface, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| VkSurfaceKHR surface, |
| VkBool32* pSupported); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| uint32_t* pSurfaceFormatCount, |
| VkSurfaceFormatKHR* pSurfaceFormats); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkSurfaceKHR surface, |
| uint32_t* pPresentModeCount, |
| VkPresentModeKHR* pPresentModes); |
| #endif |
| |
| #define VK_KHR_swapchain 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) |
| |
| #define VK_KHR_SWAPCHAIN_SPEC_VERSION 68 |
| #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" |
| |
| typedef VkFlags VkSwapchainCreateFlagsKHR; |
| |
| typedef struct VkSwapchainCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkSwapchainCreateFlagsKHR flags; |
| VkSurfaceKHR surface; |
| uint32_t minImageCount; |
| VkFormat imageFormat; |
| VkColorSpaceKHR imageColorSpace; |
| VkExtent2D imageExtent; |
| uint32_t imageArrayLayers; |
| VkImageUsageFlags imageUsage; |
| VkSharingMode imageSharingMode; |
| uint32_t queueFamilyIndexCount; |
| const uint32_t* pQueueFamilyIndices; |
| VkSurfaceTransformFlagBitsKHR preTransform; |
| VkCompositeAlphaFlagBitsKHR compositeAlpha; |
| VkPresentModeKHR presentMode; |
| VkBool32 clipped; |
| VkSwapchainKHR oldSwapchain; |
| } VkSwapchainCreateInfoKHR; |
| |
| typedef struct VkPresentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t waitSemaphoreCount; |
| const VkSemaphore* pWaitSemaphores; |
| uint32_t swapchainCount; |
| const VkSwapchainKHR* pSwapchains; |
| const uint32_t* pImageIndices; |
| VkResult* pResults; |
| } VkPresentInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); |
| typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); |
| typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); |
| typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( |
| VkDevice device, |
| const VkSwapchainCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSwapchainKHR* pSwapchain); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| uint32_t* pSwapchainImageCount, |
| VkImage* pSwapchainImages); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| uint64_t timeout, |
| VkSemaphore semaphore, |
| VkFence fence, |
| uint32_t* pImageIndex); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( |
| VkQueue queue, |
| const VkPresentInfoKHR* pPresentInfo); |
| #endif |
| |
| #define VK_KHR_display 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) |
| |
| #define VK_KHR_DISPLAY_SPEC_VERSION 21 |
| #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" |
| |
| |
| typedef enum VkDisplayPlaneAlphaFlagBitsKHR { |
| VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, |
| VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
| } VkDisplayPlaneAlphaFlagBitsKHR; |
| typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; |
| typedef VkFlags VkDisplayModeCreateFlagsKHR; |
| typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; |
| |
| typedef struct VkDisplayPropertiesKHR { |
| VkDisplayKHR display; |
| const char* displayName; |
| VkExtent2D physicalDimensions; |
| VkExtent2D physicalResolution; |
| VkSurfaceTransformFlagsKHR supportedTransforms; |
| VkBool32 planeReorderPossible; |
| VkBool32 persistentContent; |
| } VkDisplayPropertiesKHR; |
| |
| typedef struct VkDisplayModeParametersKHR { |
| VkExtent2D visibleRegion; |
| uint32_t refreshRate; |
| } VkDisplayModeParametersKHR; |
| |
| typedef struct VkDisplayModePropertiesKHR { |
| VkDisplayModeKHR displayMode; |
| VkDisplayModeParametersKHR parameters; |
| } VkDisplayModePropertiesKHR; |
| |
| typedef struct VkDisplayModeCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplayModeCreateFlagsKHR flags; |
| VkDisplayModeParametersKHR parameters; |
| } VkDisplayModeCreateInfoKHR; |
| |
| typedef struct VkDisplayPlaneCapabilitiesKHR { |
| VkDisplayPlaneAlphaFlagsKHR supportedAlpha; |
| VkOffset2D minSrcPosition; |
| VkOffset2D maxSrcPosition; |
| VkExtent2D minSrcExtent; |
| VkExtent2D maxSrcExtent; |
| VkOffset2D minDstPosition; |
| VkOffset2D maxDstPosition; |
| VkExtent2D minDstExtent; |
| VkExtent2D maxDstExtent; |
| } VkDisplayPlaneCapabilitiesKHR; |
| |
| typedef struct VkDisplayPlanePropertiesKHR { |
| VkDisplayKHR currentDisplay; |
| uint32_t currentStackIndex; |
| } VkDisplayPlanePropertiesKHR; |
| |
| typedef struct VkDisplaySurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkDisplaySurfaceCreateFlagsKHR flags; |
| VkDisplayModeKHR displayMode; |
| uint32_t planeIndex; |
| uint32_t planeStackIndex; |
| VkSurfaceTransformFlagBitsKHR transform; |
| float globalAlpha; |
| VkDisplayPlaneAlphaFlagBitsKHR alphaMode; |
| VkExtent2D imageExtent; |
| } VkDisplaySurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayPropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pPropertyCount, |
| VkDisplayPlanePropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t planeIndex, |
| uint32_t* pDisplayCount, |
| VkDisplayKHR* pDisplays); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display, |
| uint32_t* pPropertyCount, |
| VkDisplayModePropertiesKHR* pProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayKHR display, |
| const VkDisplayModeCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDisplayModeKHR* pMode); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( |
| VkPhysicalDevice physicalDevice, |
| VkDisplayModeKHR mode, |
| uint32_t planeIndex, |
| VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( |
| VkInstance instance, |
| const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| #endif |
| |
| #define VK_KHR_display_swapchain 1 |
| #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9 |
| #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" |
| |
| typedef struct VkDisplayPresentInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkRect2D srcRect; |
| VkRect2D dstRect; |
| VkBool32 persistent; |
| } VkDisplayPresentInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( |
| VkDevice device, |
| uint32_t swapchainCount, |
| const VkSwapchainCreateInfoKHR* pCreateInfos, |
| const VkAllocationCallbacks* pAllocator, |
| VkSwapchainKHR* pSwapchains); |
| #endif |
| |
| #ifdef VK_USE_PLATFORM_XLIB_KHR |
| #define VK_KHR_xlib_surface 1 |
| #include <X11/Xlib.h> |
| |
| #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 |
| #define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" |
| |
| typedef VkFlags VkXlibSurfaceCreateFlagsKHR; |
| |
| typedef struct VkXlibSurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkXlibSurfaceCreateFlagsKHR flags; |
| Display* dpy; |
| Window window; |
| } VkXlibSurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( |
| VkInstance instance, |
| const VkXlibSurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| Display* dpy, |
| VisualID visualID); |
| #endif |
| #endif /* VK_USE_PLATFORM_XLIB_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_XCB_KHR |
| #define VK_KHR_xcb_surface 1 |
| #include <xcb/xcb.h> |
| |
| #define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 |
| #define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface" |
| |
| typedef VkFlags VkXcbSurfaceCreateFlagsKHR; |
| |
| typedef struct VkXcbSurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkXcbSurfaceCreateFlagsKHR flags; |
| xcb_connection_t* connection; |
| xcb_window_t window; |
| } VkXcbSurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( |
| VkInstance instance, |
| const VkXcbSurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| xcb_connection_t* connection, |
| xcb_visualid_t visual_id); |
| #endif |
| #endif /* VK_USE_PLATFORM_XCB_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_WAYLAND_KHR |
| #define VK_KHR_wayland_surface 1 |
| #include <wayland-client.h> |
| |
| #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 5 |
| #define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface" |
| |
| typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; |
| |
| typedef struct VkWaylandSurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkWaylandSurfaceCreateFlagsKHR flags; |
| struct wl_display* display; |
| struct wl_surface* surface; |
| } VkWaylandSurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR( |
| VkInstance instance, |
| const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| struct wl_display* display); |
| #endif |
| #endif /* VK_USE_PLATFORM_WAYLAND_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_MIR_KHR |
| #define VK_KHR_mir_surface 1 |
| #include <mir_toolkit/client_types.h> |
| |
| #define VK_KHR_MIR_SURFACE_SPEC_VERSION 4 |
| #define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface" |
| |
| typedef VkFlags VkMirSurfaceCreateFlagsKHR; |
| |
| typedef struct VkMirSurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkMirSurfaceCreateFlagsKHR flags; |
| MirConnection* connection; |
| MirSurface* mirSurface; |
| } VkMirSurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR( |
| VkInstance instance, |
| const VkMirSurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| MirConnection* connection); |
| #endif |
| #endif /* VK_USE_PLATFORM_MIR_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_ANDROID_KHR |
| #define VK_KHR_android_surface 1 |
| |
| #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 |
| #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface" |
| |
| typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; |
| |
| typedef struct VkAndroidSurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkAndroidSurfaceCreateFlagsKHR flags; |
| struct ANativeWindow* window; |
| } VkAndroidSurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR( |
| VkInstance instance, |
| const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| #endif |
| #endif /* VK_USE_PLATFORM_ANDROID_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| #define VK_KHR_win32_surface 1 |
| #include <windows.h> |
| |
| #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 5 |
| #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" |
| |
| typedef VkFlags VkWin32SurfaceCreateFlagsKHR; |
| |
| typedef struct VkWin32SurfaceCreateInfoKHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkWin32SurfaceCreateFlagsKHR flags; |
| HINSTANCE hinstance; |
| HWND hwnd; |
| } VkWin32SurfaceCreateInfoKHR; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( |
| VkInstance instance, |
| const VkWin32SurfaceCreateInfoKHR* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex); |
| #endif |
| #endif /* VK_USE_PLATFORM_WIN32_KHR */ |
| |
| #define VK_KHR_sampler_mirror_clamp_to_edge 1 |
| #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1 |
| #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" |
| |
| |
| #define VK_KHR_get_physical_device_properties2 1 |
| #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1 |
| #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" |
| |
| typedef struct VkPhysicalDeviceFeatures2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceFeatures features; |
| } VkPhysicalDeviceFeatures2KHR; |
| |
| typedef struct VkPhysicalDeviceProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceProperties properties; |
| } VkPhysicalDeviceProperties2KHR; |
| |
| typedef struct VkFormatProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkFormatProperties formatProperties; |
| } VkFormatProperties2KHR; |
| |
| typedef struct VkImageFormatProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkImageFormatProperties imageFormatProperties; |
| } VkImageFormatProperties2KHR; |
| |
| typedef struct VkPhysicalDeviceImageFormatInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkFormat format; |
| VkImageType type; |
| VkImageTiling tiling; |
| VkImageUsageFlags usage; |
| VkImageCreateFlags flags; |
| } VkPhysicalDeviceImageFormatInfo2KHR; |
| |
| typedef struct VkQueueFamilyProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkQueueFamilyProperties queueFamilyProperties; |
| } VkQueueFamilyProperties2KHR; |
| |
| typedef struct VkPhysicalDeviceMemoryProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkPhysicalDeviceMemoryProperties memoryProperties; |
| } VkPhysicalDeviceMemoryProperties2KHR; |
| |
| typedef struct VkSparseImageFormatProperties2KHR { |
| VkStructureType sType; |
| void* pNext; |
| VkSparseImageFormatProperties properties; |
| } VkSparseImageFormatProperties2KHR; |
| |
| typedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR { |
| VkStructureType sType; |
| const void* pNext; |
| VkFormat format; |
| VkImageType type; |
| VkSampleCountFlagBits samples; |
| VkImageUsageFlags usage; |
| VkImageTiling tiling; |
| } VkPhysicalDeviceSparseImageFormatInfo2KHR; |
| |
| |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceFeatures2KHR* pFeatures); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceProperties2KHR* pProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkFormatProperties2KHR* pFormatProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, |
| VkImageFormatProperties2KHR* pImageFormatProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| uint32_t* pQueueFamilyPropertyCount, |
| VkQueueFamilyProperties2KHR* pQueueFamilyProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( |
| VkPhysicalDevice physicalDevice, |
| const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, |
| uint32_t* pPropertyCount, |
| VkSparseImageFormatProperties2KHR* pProperties); |
| #endif |
| |
| #define VK_KHR_incremental_present 1 |
| #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1 |
| #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" |
| |
| typedef struct VkRectLayerKHR { |
| VkOffset2D offset; |
| VkExtent2D extent; |
| uint32_t layer; |
| } VkRectLayerKHR; |
| |
| typedef struct VkPresentRegionKHR { |
| uint32_t rectangleCount; |
| const VkRectLayerKHR* pRectangles; |
| } VkPresentRegionKHR; |
| |
| typedef struct VkPresentRegionsKHR { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t swapchainCount; |
| const VkPresentRegionKHR* pRegions; |
| } VkPresentRegionsKHR; |
| |
| #define VK_KHR_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 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_EXT_debug_report 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) |
| |
| #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 4 |
| #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" |
| #define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT |
| |
| |
| typedef enum VkDebugReportObjectTypeEXT { |
| VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, |
| VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, |
| VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, |
| VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, |
| VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, |
| VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, |
| VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, |
| VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, |
| VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, |
| VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, |
| VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, |
| VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, |
| VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, |
| VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, |
| VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31, |
| VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32, |
| VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, |
| VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT, |
| VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1), |
| VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDebugReportObjectTypeEXT; |
| |
| typedef enum VkDebugReportErrorEXT { |
| VK_DEBUG_REPORT_ERROR_NONE_EXT = 0, |
| VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1, |
| VK_DEBUG_REPORT_ERROR_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_ERROR_NONE_EXT, |
| VK_DEBUG_REPORT_ERROR_END_RANGE_EXT = VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT, |
| VK_DEBUG_REPORT_ERROR_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT - VK_DEBUG_REPORT_ERROR_NONE_EXT + 1), |
| VK_DEBUG_REPORT_ERROR_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDebugReportErrorEXT; |
| |
| |
| typedef enum VkDebugReportFlagBitsEXT { |
| VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, |
| VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, |
| VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, |
| VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, |
| VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, |
| VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkDebugReportFlagBitsEXT; |
| typedef VkFlags VkDebugReportFlagsEXT; |
| |
| typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( |
| VkDebugReportFlagsEXT flags, |
| VkDebugReportObjectTypeEXT objectType, |
| uint64_t object, |
| size_t location, |
| int32_t messageCode, |
| const char* pLayerPrefix, |
| const char* pMessage, |
| void* pUserData); |
| |
| |
| typedef struct VkDebugReportCallbackCreateInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDebugReportFlagsEXT flags; |
| PFN_vkDebugReportCallbackEXT pfnCallback; |
| void* pUserData; |
| } VkDebugReportCallbackCreateInfoEXT; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); |
| typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); |
| typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( |
| VkInstance instance, |
| const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkDebugReportCallbackEXT* pCallback); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( |
| VkInstance instance, |
| VkDebugReportCallbackEXT callback, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( |
| VkInstance instance, |
| VkDebugReportFlagsEXT flags, |
| VkDebugReportObjectTypeEXT objectType, |
| uint64_t object, |
| size_t location, |
| int32_t messageCode, |
| const char* pLayerPrefix, |
| const char* pMessage); |
| #endif |
| |
| #define VK_NV_glsl_shader 1 |
| #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 |
| #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" |
| |
| |
| #define VK_IMG_filter_cubic 1 |
| #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 |
| #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" |
| |
| |
| #define VK_AMD_rasterization_order 1 |
| #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 |
| #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" |
| |
| |
| typedef enum VkRasterizationOrderAMD { |
| VK_RASTERIZATION_ORDER_STRICT_AMD = 0, |
| VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, |
| VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD, |
| VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD, |
| VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1), |
| VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF |
| } VkRasterizationOrderAMD; |
| |
| typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { |
| VkStructureType sType; |
| const void* pNext; |
| VkRasterizationOrderAMD rasterizationOrder; |
| } VkPipelineRasterizationStateRasterizationOrderAMD; |
| |
| |
| |
| #define VK_AMD_shader_trinary_minmax 1 |
| #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 |
| #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" |
| |
| |
| #define VK_AMD_shader_explicit_vertex_parameter 1 |
| #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 |
| #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" |
| |
| |
| #define VK_EXT_debug_marker 1 |
| #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 3 |
| #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" |
| |
| typedef struct VkDebugMarkerObjectNameInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDebugReportObjectTypeEXT objectType; |
| uint64_t object; |
| const char* pObjectName; |
| } VkDebugMarkerObjectNameInfoEXT; |
| |
| typedef struct VkDebugMarkerObjectTagInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkDebugReportObjectTypeEXT objectType; |
| uint64_t object; |
| uint64_t tagName; |
| size_t tagSize; |
| const void* pTag; |
| } VkDebugMarkerObjectTagInfoEXT; |
| |
| typedef struct VkDebugMarkerMarkerInfoEXT { |
| VkStructureType sType; |
| const void* pNext; |
| const char* pMarkerName; |
| float color[4]; |
| } VkDebugMarkerMarkerInfoEXT; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); |
| typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( |
| VkDevice device, |
| VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( |
| VkDevice device, |
| VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( |
| VkCommandBuffer commandBuffer, |
| VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( |
| VkCommandBuffer commandBuffer); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( |
| VkCommandBuffer commandBuffer, |
| VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
| #endif |
| |
| #define VK_AMD_gcn_shader 1 |
| #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 |
| #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" |
| |
| |
| #define VK_NV_dedicated_allocation 1 |
| #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 |
| #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" |
| |
| typedef struct VkDedicatedAllocationImageCreateInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 dedicatedAllocation; |
| } VkDedicatedAllocationImageCreateInfoNV; |
| |
| typedef struct VkDedicatedAllocationBufferCreateInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 dedicatedAllocation; |
| } VkDedicatedAllocationBufferCreateInfoNV; |
| |
| typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkImage image; |
| VkBuffer buffer; |
| } VkDedicatedAllocationMemoryAllocateInfoNV; |
| |
| |
| #define VK_AMD_draw_indirect_count 1 |
| #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 |
| #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
| typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkBuffer countBuffer, |
| VkDeviceSize countBufferOffset, |
| uint32_t maxDrawCount, |
| uint32_t stride); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( |
| VkCommandBuffer commandBuffer, |
| VkBuffer buffer, |
| VkDeviceSize offset, |
| VkBuffer countBuffer, |
| VkDeviceSize countBufferOffset, |
| uint32_t maxDrawCount, |
| uint32_t stride); |
| #endif |
| |
| #define VK_AMD_negative_viewport_height 1 |
| #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 |
| #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" |
| |
| |
| #define VK_AMD_gpu_shader_half_float 1 |
| #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1 |
| #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" |
| |
| |
| #define VK_AMD_shader_ballot 1 |
| #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 |
| #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" |
| |
| |
| #define VK_IMG_format_pvrtc 1 |
| #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 |
| #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" |
| |
| |
| #define VK_NV_external_memory_capabilities 1 |
| #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 |
| #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" |
| |
| |
| typedef enum VkExternalMemoryHandleTypeFlagBitsNV { |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
| } VkExternalMemoryHandleTypeFlagBitsNV; |
| typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; |
| |
| typedef enum VkExternalMemoryFeatureFlagBitsNV { |
| VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, |
| VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, |
| VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, |
| VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
| } VkExternalMemoryFeatureFlagBitsNV; |
| typedef VkFlags VkExternalMemoryFeatureFlagsNV; |
| |
| typedef struct VkExternalImageFormatPropertiesNV { |
| VkImageFormatProperties imageFormatProperties; |
| VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; |
| VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; |
| VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; |
| } VkExternalImageFormatPropertiesNV; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( |
| VkPhysicalDevice physicalDevice, |
| VkFormat format, |
| VkImageType type, |
| VkImageTiling tiling, |
| VkImageUsageFlags usage, |
| VkImageCreateFlags flags, |
| VkExternalMemoryHandleTypeFlagsNV externalHandleType, |
| VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
| #endif |
| |
| #define VK_NV_external_memory 1 |
| #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 |
| #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" |
| |
| typedef struct VkExternalMemoryImageCreateInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagsNV handleTypes; |
| } VkExternalMemoryImageCreateInfoNV; |
| |
| typedef struct VkExportMemoryAllocateInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagsNV handleTypes; |
| } VkExportMemoryAllocateInfoNV; |
| |
| |
| |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| #define VK_NV_external_memory_win32 1 |
| #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
| #define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" |
| |
| typedef struct VkImportMemoryWin32HandleInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| VkExternalMemoryHandleTypeFlagsNV handleType; |
| HANDLE handle; |
| } VkImportMemoryWin32HandleInfoNV; |
| |
| typedef struct VkExportMemoryWin32HandleInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| const SECURITY_ATTRIBUTES* pAttributes; |
| DWORD dwAccess; |
| } VkExportMemoryWin32HandleInfoNV; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( |
| VkDevice device, |
| VkDeviceMemory memory, |
| VkExternalMemoryHandleTypeFlagsNV handleType, |
| HANDLE* pHandle); |
| #endif |
| #endif /* VK_USE_PLATFORM_WIN32_KHR */ |
| |
| #ifdef VK_USE_PLATFORM_WIN32_KHR |
| #define VK_NV_win32_keyed_mutex 1 |
| #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
| #define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" |
| |
| typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t acquireCount; |
| const VkDeviceMemory* pAcquireSyncs; |
| const uint64_t* pAcquireKeys; |
| const uint32_t* pAcquireTimeoutMilliseconds; |
| uint32_t releaseCount; |
| const VkDeviceMemory* pReleaseSyncs; |
| const uint64_t* pReleaseKeys; |
| } VkWin32KeyedMutexAcquireReleaseInfoNV; |
| |
| |
| #endif /* VK_USE_PLATFORM_WIN32_KHR */ |
| |
| #define VK_EXT_validation_flags 1 |
| #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1 |
| #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" |
| |
| |
| typedef enum VkValidationCheckEXT { |
| VK_VALIDATION_CHECK_ALL_EXT = 0, |
| VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
| VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
| VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_ALL_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1), |
| VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF |
| } VkValidationCheckEXT; |
| |
| typedef struct VkValidationFlagsEXT { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t disabledValidationCheckCount; |
| VkValidationCheckEXT* pDisabledValidationChecks; |
| } VkValidationFlagsEXT; |
| |
| |
| |
| #define VK_NVX_device_generated_commands 1 |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX) |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) |
| |
| #define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 |
| #define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands" |
| |
| |
| typedef enum VkIndirectCommandsTokenTypeNVX { |
| VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX = 0, |
| VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX = 1, |
| VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX = 2, |
| VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX = 3, |
| VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX = 4, |
| VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX = 5, |
| VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX = 6, |
| VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX = 7, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX + 1), |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF |
| } VkIndirectCommandsTokenTypeNVX; |
| |
| typedef enum VkObjectEntryTypeNVX { |
| VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX = 0, |
| VK_OBJECT_ENTRY_PIPELINE_NVX = 1, |
| VK_OBJECT_ENTRY_INDEX_BUFFER_NVX = 2, |
| VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX = 3, |
| VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX = 4, |
| VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX, |
| VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX, |
| VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX + 1), |
| VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF |
| } VkObjectEntryTypeNVX; |
| |
| |
| typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX { |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF |
| } VkIndirectCommandsLayoutUsageFlagBitsNVX; |
| typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; |
| |
| typedef enum VkObjectEntryUsageFlagBitsNVX { |
| VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001, |
| VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002, |
| VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF |
| } VkObjectEntryUsageFlagBitsNVX; |
| typedef VkFlags VkObjectEntryUsageFlagsNVX; |
| |
| typedef struct VkDeviceGeneratedCommandsFeaturesNVX { |
| VkStructureType sType; |
| const void* pNext; |
| VkBool32 computeBindingPointSupport; |
| } VkDeviceGeneratedCommandsFeaturesNVX; |
| |
| typedef struct VkDeviceGeneratedCommandsLimitsNVX { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t maxIndirectCommandsLayoutTokenCount; |
| uint32_t maxObjectEntryCounts; |
| uint32_t minSequenceCountBufferOffsetAlignment; |
| uint32_t minSequenceIndexBufferOffsetAlignment; |
| uint32_t minCommandsTokenBufferOffsetAlignment; |
| } VkDeviceGeneratedCommandsLimitsNVX; |
| |
| typedef struct VkIndirectCommandsTokenNVX { |
| VkIndirectCommandsTokenTypeNVX tokenType; |
| VkBuffer buffer; |
| VkDeviceSize offset; |
| } VkIndirectCommandsTokenNVX; |
| |
| typedef struct VkIndirectCommandsLayoutTokenNVX { |
| VkIndirectCommandsTokenTypeNVX tokenType; |
| uint32_t bindingUnit; |
| uint32_t dynamicCount; |
| uint32_t divisor; |
| } VkIndirectCommandsLayoutTokenNVX; |
| |
| typedef struct VkIndirectCommandsLayoutCreateInfoNVX { |
| VkStructureType sType; |
| const void* pNext; |
| VkPipelineBindPoint pipelineBindPoint; |
| VkIndirectCommandsLayoutUsageFlagsNVX flags; |
| uint32_t tokenCount; |
| const VkIndirectCommandsLayoutTokenNVX* pTokens; |
| } VkIndirectCommandsLayoutCreateInfoNVX; |
| |
| typedef struct VkCmdProcessCommandsInfoNVX { |
| VkStructureType sType; |
| const void* pNext; |
| VkObjectTableNVX objectTable; |
| VkIndirectCommandsLayoutNVX indirectCommandsLayout; |
| uint32_t indirectCommandsTokenCount; |
| const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens; |
| uint32_t maxSequencesCount; |
| VkCommandBuffer targetCommandBuffer; |
| VkBuffer sequencesCountBuffer; |
| VkDeviceSize sequencesCountOffset; |
| VkBuffer sequencesIndexBuffer; |
| VkDeviceSize sequencesIndexOffset; |
| } VkCmdProcessCommandsInfoNVX; |
| |
| typedef struct VkCmdReserveSpaceForCommandsInfoNVX { |
| VkStructureType sType; |
| const void* pNext; |
| VkObjectTableNVX objectTable; |
| VkIndirectCommandsLayoutNVX indirectCommandsLayout; |
| uint32_t maxSequencesCount; |
| } VkCmdReserveSpaceForCommandsInfoNVX; |
| |
| typedef struct VkObjectTableCreateInfoNVX { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t objectCount; |
| const VkObjectEntryTypeNVX* pObjectEntryTypes; |
| const uint32_t* pObjectEntryCounts; |
| const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags; |
| uint32_t maxUniformBuffersPerDescriptor; |
| uint32_t maxStorageBuffersPerDescriptor; |
| uint32_t maxStorageImagesPerDescriptor; |
| uint32_t maxSampledImagesPerDescriptor; |
| uint32_t maxPipelineLayouts; |
| } VkObjectTableCreateInfoNVX; |
| |
| typedef struct VkObjectTableEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| } VkObjectTableEntryNVX; |
| |
| typedef struct VkObjectTablePipelineEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| VkPipeline pipeline; |
| } VkObjectTablePipelineEntryNVX; |
| |
| typedef struct VkObjectTableDescriptorSetEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| VkPipelineLayout pipelineLayout; |
| VkDescriptorSet descriptorSet; |
| } VkObjectTableDescriptorSetEntryNVX; |
| |
| typedef struct VkObjectTableVertexBufferEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| VkBuffer buffer; |
| } VkObjectTableVertexBufferEntryNVX; |
| |
| typedef struct VkObjectTableIndexBufferEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| VkBuffer buffer; |
| } VkObjectTableIndexBufferEntryNVX; |
| |
| typedef struct VkObjectTablePushConstantEntryNVX { |
| VkObjectEntryTypeNVX type; |
| VkObjectEntryUsageFlagsNVX flags; |
| VkPipelineLayout pipelineLayout; |
| VkShaderStageFlags stageFlags; |
| } VkObjectTablePushConstantEntryNVX; |
| |
| |
| typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); |
| typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); |
| typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable); |
| typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator); |
| typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices); |
| typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices); |
| typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX( |
| VkCommandBuffer commandBuffer, |
| const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); |
| |
| VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX( |
| VkCommandBuffer commandBuffer, |
| const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX( |
| VkDevice device, |
| const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX( |
| VkDevice device, |
| VkIndirectCommandsLayoutNVX indirectCommandsLayout, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX( |
| VkDevice device, |
| const VkObjectTableCreateInfoNVX* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkObjectTableNVX* pObjectTable); |
| |
| VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX( |
| VkDevice device, |
| VkObjectTableNVX objectTable, |
| const VkAllocationCallbacks* pAllocator); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX( |
| VkDevice device, |
| VkObjectTableNVX objectTable, |
| uint32_t objectCount, |
| const VkObjectTableEntryNVX* const* ppObjectTableEntries, |
| const uint32_t* pObjectIndices); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX( |
| VkDevice device, |
| VkObjectTableNVX objectTable, |
| uint32_t objectCount, |
| const VkObjectEntryTypeNVX* pObjectEntryTypes, |
| const uint32_t* pObjectIndices); |
| |
| VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( |
| VkPhysicalDevice physicalDevice, |
| VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, |
| VkDeviceGeneratedCommandsLimitsNVX* pLimits); |
| #endif |
| |
| #define VK_GOOGLE_display_timing 1 |
| #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 |
| #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" |
| |
| typedef struct VkRefreshCycleDurationGOOGLE { |
| uint64_t refreshDuration; |
| } VkRefreshCycleDurationGOOGLE; |
| |
| typedef struct VkPastPresentationTimingGOOGLE { |
| uint32_t presentID; |
| uint64_t desiredPresentTime; |
| uint64_t actualPresentTime; |
| uint64_t earliestPresentTime; |
| uint64_t presentMargin; |
| } VkPastPresentationTimingGOOGLE; |
| |
| typedef struct VkPresentTimeGOOGLE { |
| uint32_t presentID; |
| uint64_t desiredPresentTime; |
| } VkPresentTimeGOOGLE; |
| |
| typedef struct VkPresentTimesInfoGOOGLE { |
| VkStructureType sType; |
| const void* pNext; |
| uint32_t swapchainCount; |
| const VkPresentTimeGOOGLE* pTimes; |
| } VkPresentTimesInfoGOOGLE; |
| |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); |
| typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); |
| |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( |
| VkDevice device, |
| VkSwapchainKHR swapchain, |
| uint32_t* pPresentationTimingCount, |
| VkPastPresentationTimingGOOGLE* pPresentationTimings); |
| #endif |
| |
| #define VK_EXT_swapchain_colorspace 1 |
| #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 1 |
| #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 0 |
| #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" |
| |
| typedef struct VkXYColorEXT { |
| float x; |
| float y; |
| } VkXYColorEXT; |
| |
| typedef struct VkHdrMetadataEXT { |
| VkStructureType sType; |
| const void* pNext; |
| VkXYColorEXT displayPrimaryRed; |
| VkXYColorEXT displayPrimaryGreen; |
| VkXYColorEXT displayPrimaryBlue; |
| VkXYColorEXT whitePoint; |
| float maxLuminance; |
| float minLuminance; |
| float maxContentLightLevel; |
| float maxFrameAverageLightLevel; |
| } VkHdrMetadataEXT; |
| |
| |
| typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( |
| VkDevice device, |
| uint32_t swapchainCount, |
| const VkSwapchainKHR* pSwapchains, |
| const VkHdrMetadataEXT* pMetadata); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |