vulkan.h revision 11cd02dfb91661c65134cac258cf5924270e9d2
111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __vulkan_h_ 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __vulkan_h_ 1 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __cplusplus 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertextern "C" { 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** Copyright (c) 2015-2016 The Khronos Group Inc. 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** Permission is hereby granted, free of charge, to any person obtaining a 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** copy of this software and/or associated documentation files (the 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** "Materials"), to deal in the Materials without restriction, including 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** without limitation the rights to use, copy, modify, merge, publish, 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** distribute, sublicense, and/or sell copies of the Materials, and to 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** permit persons to whom the Materials are furnished to do so, subject to 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** the following conditions: 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** The above copyright notice and this permission notice shall be included 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** in all copies or substantial portions of the Materials. 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** This header is generated from the Khronos Vulkan XML API Registry. 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert** 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/ 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_VERSION_1_0 1 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include "vk_platform.h" 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAKE_VERSION(major, minor, patch) \ 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert (((major) << 22) | ((minor) << 12) | (patch)) 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Vulkan API version supported by this file 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 3) 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_NULL_HANDLE 0 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uint32_t VkFlags; 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uint32_t VkBool32; 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uint64_t VkDeviceSize; 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uint32_t VkSampleMask; 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_HANDLE(VkInstance) 7111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_HANDLE(VkPhysicalDevice) 7211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_HANDLE(VkDevice) 7311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_HANDLE(VkQueue) 7411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 7511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_HANDLE(VkCommandBuffer) 7611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 7711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 7811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 7911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 8011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 8111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 8211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 8311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 8411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 8511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 8611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 8711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 8811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 8911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 9011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 9111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 9211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 9311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 9411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_LOD_CLAMP_NONE 1000.0f 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_REMAINING_MIP_LEVELS (~0U) 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_REMAINING_ARRAY_LAYERS (~0U) 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_WHOLE_SIZE (~0ULL) 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_ATTACHMENT_UNUSED (~0U) 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_TRUE 1 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_FALSE 0 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_QUEUE_FAMILY_IGNORED (~0U) 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_SUBPASS_EXTERNAL (~0U) 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_UUID_SIZE 16 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAX_MEMORY_TYPES 32 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAX_MEMORY_HEAPS 16 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAX_EXTENSION_NAME_SIZE 256 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_MAX_DESCRIPTION_SIZE 256 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPipelineCacheHeaderVersion { 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1), 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineCacheHeaderVersion; 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkResult { 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUCCESS = 0, 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_NOT_READY = 1, 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_TIMEOUT = 2, 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_EVENT_SET = 3, 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_EVENT_RESET = 4, 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INCOMPLETE = 5, 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_OUT_OF_HOST_MEMORY = -1, 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_INITIALIZATION_FAILED = -3, 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_DEVICE_LOST = -4, 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_MEMORY_MAP_FAILED = -5, 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_LAYER_NOT_PRESENT = -6, 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_EXTENSION_NOT_PRESENT = -7, 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_FEATURE_NOT_PRESENT = -8, 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_INCOMPATIBLE_DRIVER = -9, 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_TOO_MANY_OBJECTS = -10, 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_SURFACE_LOST_KHR = -1000000000, 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBOPTIMAL_KHR = 1000001003, 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED, 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_RESULT_END_RANGE = VK_INCOMPLETE, 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1), 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_RESULT_MAX_ENUM = 0x7FFFFFFF 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkResult; 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkStructureType { 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000, 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000, 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkStructureType; 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSystemAllocationScope { 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE, 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1), 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSystemAllocationScope; 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkInternalAllocationType { 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1), 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkInternalAllocationType; 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkFormat { 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_UNDEFINED = 0, 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R4G4_UNORM_PACK8 = 1, 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_UNORM = 9, 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_SNORM = 10, 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_USCALED = 11, 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_SSCALED = 12, 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_UINT = 13, 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_SINT = 14, 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8_SRGB = 15, 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_UNORM = 16, 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_SNORM = 17, 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_USCALED = 18, 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_SSCALED = 19, 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_UINT = 20, 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_SINT = 21, 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8_SRGB = 22, 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_UNORM = 23, 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_SNORM = 24, 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_USCALED = 25, 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_SSCALED = 26, 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_UINT = 27, 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_SINT = 28, 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8_SRGB = 29, 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_UNORM = 30, 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_SNORM = 31, 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_USCALED = 32, 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_SSCALED = 33, 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_UINT = 34, 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_SINT = 35, 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8_SRGB = 36, 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_UNORM = 37, 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_SNORM = 38, 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_USCALED = 39, 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_SSCALED = 40, 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_UINT = 41, 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_SINT = 42, 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R8G8B8A8_SRGB = 43, 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_UNORM = 44, 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_SNORM = 45, 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_USCALED = 46, 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_SSCALED = 47, 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_UINT = 48, 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_SINT = 49, 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B8G8R8A8_SRGB = 50, 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_UNORM = 70, 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_SNORM = 71, 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_USCALED = 72, 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_SSCALED = 73, 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_UINT = 74, 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_SINT = 75, 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16_SFLOAT = 76, 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_UNORM = 77, 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_SNORM = 78, 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_USCALED = 79, 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_SSCALED = 80, 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_UINT = 81, 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_SINT = 82, 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16_SFLOAT = 83, 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_UNORM = 84, 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_SNORM = 85, 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_USCALED = 86, 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_SSCALED = 87, 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_UINT = 88, 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_SINT = 89, 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16_SFLOAT = 90, 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_UNORM = 91, 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_SNORM = 92, 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_USCALED = 93, 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_SSCALED = 94, 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_UINT = 95, 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_SINT = 96, 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R16G16B16A16_SFLOAT = 97, 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32_UINT = 98, 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32_SINT = 99, 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32_SFLOAT = 100, 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32_UINT = 101, 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32_SINT = 102, 34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32_SFLOAT = 103, 34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32_UINT = 104, 34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32_SINT = 105, 34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32_SFLOAT = 106, 34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32A32_UINT = 107, 34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32A32_SINT = 108, 34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R32G32B32A32_SFLOAT = 109, 35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64_UINT = 110, 35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64_SINT = 111, 35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64_SFLOAT = 112, 35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64_UINT = 113, 35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64_SINT = 114, 35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64_SFLOAT = 115, 35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64_UINT = 116, 35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64_SINT = 117, 35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64_SFLOAT = 118, 35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64A64_UINT = 119, 36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64A64_SINT = 120, 36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_R64G64B64A64_SFLOAT = 121, 36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_D16_UNORM = 124, 36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_D32_SFLOAT = 126, 36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_S8_UINT = 127, 36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_D16_UNORM_S8_UINT = 128, 36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_D24_UNORM_S8_UINT = 129, 37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC2_UNORM_BLOCK = 135, 37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC2_SRGB_BLOCK = 136, 37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC3_UNORM_BLOCK = 137, 37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC3_SRGB_BLOCK = 138, 37911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC4_UNORM_BLOCK = 139, 38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC4_SNORM_BLOCK = 140, 38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC5_UNORM_BLOCK = 141, 38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC5_SNORM_BLOCK = 142, 38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC7_UNORM_BLOCK = 145, 38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BC7_SRGB_BLOCK = 146, 38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 42111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, 42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, 42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1), 42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFormat; 43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 43111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageType { 43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_1D = 0, 43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_2D = 1, 43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_3D = 2, 43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D, 43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D, 43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1), 43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageType; 44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 44111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageTiling { 44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_OPTIMAL = 0, 44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_LINEAR = 1, 44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL, 44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR, 44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1), 44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageTiling; 44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 45011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPhysicalDeviceType { 45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER, 45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU, 45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1), 45911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceType; 46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 46211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkQueryType { 46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_OCCLUSION = 0, 46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_TIMESTAMP = 2, 46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION, 46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP, 46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1), 46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueryType; 47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 47211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSharingMode { 47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_EXCLUSIVE = 0, 47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_CONCURRENT = 1, 47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE, 47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT, 47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1), 47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSharingMode; 48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 48111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageLayout { 48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_UNDEFINED = 0, 48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_GENERAL = 1, 48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED, 49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED, 49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1), 49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageLayout; 49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageViewType { 49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_1D = 0, 50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_2D = 1, 50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_3D = 2, 50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_CUBE = 3, 50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D, 50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, 50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1), 50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageViewType; 51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 51211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkComponentSwizzle { 51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_IDENTITY = 0, 51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_ZERO = 1, 51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_ONE = 2, 51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_R = 3, 51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_G = 4, 51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_B = 5, 51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_A = 6, 52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY, 52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A, 52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1), 52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkComponentSwizzle; 52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 52611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkVertexInputRate { 52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_VERTEX = 0, 52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_INSTANCE = 1, 52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX, 53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE, 53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1), 53211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkVertexInputRate; 53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 53511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPrimitiveTopology { 53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 54311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 54411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 54511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 54611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 54711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, 54811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, 54911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1), 55011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 55111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPrimitiveTopology; 55211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 55311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPolygonMode { 55411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_FILL = 0, 55511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_LINE = 1, 55611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_POINT = 2, 55711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL, 55811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT, 55911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1), 56011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 56111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPolygonMode; 56211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 56311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkFrontFace { 56411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 56511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_CLOCKWISE = 1, 56611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE, 56711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE, 56811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1), 56911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 57011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFrontFace; 57111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 57211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCompareOp { 57311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_NEVER = 0, 57411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_LESS = 1, 57511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_EQUAL = 2, 57611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_LESS_OR_EQUAL = 3, 57711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_GREATER = 4, 57811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_NOT_EQUAL = 5, 57911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 58011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_ALWAYS = 7, 58111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER, 58211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS, 58311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1), 58411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 58511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCompareOp; 58611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 58711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkStencilOp { 58811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_KEEP = 0, 58911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_ZERO = 1, 59011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_REPLACE = 2, 59111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 59211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 59311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_INVERT = 5, 59411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 59511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 59611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP, 59711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP, 59811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1), 59911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 60011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkStencilOp; 60111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 60211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkLogicOp { 60311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_CLEAR = 0, 60411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_AND = 1, 60511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_AND_REVERSE = 2, 60611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_COPY = 3, 60711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_AND_INVERTED = 4, 60811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_NO_OP = 5, 60911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_XOR = 6, 61011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_OR = 7, 61111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_NOR = 8, 61211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_EQUIVALENT = 9, 61311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_INVERT = 10, 61411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_OR_REVERSE = 11, 61511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_COPY_INVERTED = 12, 61611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_OR_INVERTED = 13, 61711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_NAND = 14, 61811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_SET = 15, 61911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR, 62011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET, 62111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1), 62211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 62311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkLogicOp; 62411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 62511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkBlendFactor { 62611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ZERO = 0, 62711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE = 1, 62811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_SRC_COLOR = 2, 62911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 63011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_DST_COLOR = 4, 63111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 63211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_SRC_ALPHA = 6, 63311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 63411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_DST_ALPHA = 8, 63511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 63611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 63711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 63811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 63911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 64011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 64111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_SRC1_COLOR = 15, 64211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 64311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_SRC1_ALPHA = 17, 64411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 64511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO, 64611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA, 64711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1), 64811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 64911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBlendFactor; 65011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 65111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkBlendOp { 65211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_ADD = 0, 65311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_SUBTRACT = 1, 65411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_REVERSE_SUBTRACT = 2, 65511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_MIN = 3, 65611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_MAX = 4, 65711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD, 65811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX, 65911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1), 66011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 66111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBlendOp; 66211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 66311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDynamicState { 66411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_VIEWPORT = 0, 66511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_SCISSOR = 1, 66611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_LINE_WIDTH = 2, 66711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 66811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 66911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 67011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 67111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 67211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 67311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT, 67411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE, 67511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1), 67611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 67711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDynamicState; 67811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 67911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkFilter { 68011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_NEAREST = 0, 68111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_LINEAR = 1, 68211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST, 68311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_END_RANGE = VK_FILTER_LINEAR, 68411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1), 68511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FILTER_MAX_ENUM = 0x7FFFFFFF 68611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFilter; 68711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 68811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSamplerMipmapMode { 68911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 69011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 69111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST, 69211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR, 69311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1), 69411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 69511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSamplerMipmapMode; 69611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 69711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSamplerAddressMode { 69811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 69911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 70011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 70111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 70211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 70311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT, 70411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 70511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1), 70611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 70711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSamplerAddressMode; 70811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 70911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkBorderColor { 71011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 71111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 71211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 71311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 71411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 71511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 71611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, 71711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE, 71811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1), 71911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 72011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBorderColor; 72111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 72211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDescriptorType { 72311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_SAMPLER = 0, 72411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 72511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 72611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 72711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 72811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 72911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 73011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 73111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 73211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 73311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 73411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER, 73511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 73611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1), 73711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 73811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorType; 73911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 74011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkAttachmentLoadOp { 74111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_LOAD = 0, 74211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 74311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 74411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD, 74511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE, 74611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1), 74711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 74811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAttachmentLoadOp; 74911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 75011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkAttachmentStoreOp { 75111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_STORE = 0, 75211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 75311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE, 75411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE, 75511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1), 75611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 75711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAttachmentStoreOp; 75811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 75911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPipelineBindPoint { 76011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 76111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_COMPUTE = 1, 76211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS, 76311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE, 76411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1), 76511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 76611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineBindPoint; 76711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 76811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCommandBufferLevel { 76911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 77011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 77111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY, 77211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY, 77311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1), 77411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 77511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferLevel; 77611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 77711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkIndexType { 77811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_UINT16 = 0, 77911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_UINT32 = 1, 78011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, 78111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, 78211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), 78311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 78411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkIndexType; 78511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 78611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSubpassContents { 78711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_INLINE = 0, 78811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 78911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE, 79011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, 79111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1), 79211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 79311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSubpassContents; 79411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 79511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkInstanceCreateFlags; 79611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 79711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkFormatFeatureFlagBits { 79811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 79911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 80011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 80111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 80211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 80311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 80411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 80511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 80611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 80711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 80811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 80911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 81011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 81111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFormatFeatureFlagBits; 81211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkFormatFeatureFlags; 81311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 81411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageUsageFlagBits { 81511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 81611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 81711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 81811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 81911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 82011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 82111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 82211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 82311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageUsageFlagBits; 82411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkImageUsageFlags; 82511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 82611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageCreateFlagBits { 82711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 82811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 82911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 83011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 83111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 83211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageCreateFlagBits; 83311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkImageCreateFlags; 83411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 83511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSampleCountFlagBits { 83611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_1_BIT = 0x00000001, 83711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_2_BIT = 0x00000002, 83811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_4_BIT = 0x00000004, 83911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_8_BIT = 0x00000008, 84011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_16_BIT = 0x00000010, 84111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_32_BIT = 0x00000020, 84211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SAMPLE_COUNT_64_BIT = 0x00000040, 84311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSampleCountFlagBits; 84411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSampleCountFlags; 84511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 84611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkQueueFlagBits { 84711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUEUE_GRAPHICS_BIT = 0x00000001, 84811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUEUE_COMPUTE_BIT = 0x00000002, 84911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUEUE_TRANSFER_BIT = 0x00000004, 85011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 85111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueueFlagBits; 85211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkQueueFlags; 85311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 85411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkMemoryPropertyFlagBits { 85511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 85611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 85711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 85811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 85911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 86011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryPropertyFlagBits; 86111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkMemoryPropertyFlags; 86211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 86311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkMemoryHeapFlagBits { 86411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 86511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryHeapFlagBits; 86611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkMemoryHeapFlags; 86711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDeviceCreateFlags; 86811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDeviceQueueCreateFlags; 86911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 87011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPipelineStageFlagBits { 87111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 87211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 87311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 87411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 87511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 87611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 87711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 87811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 87911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 88011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 88111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 88211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 88311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 88411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 88511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 88611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 88711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 88811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineStageFlagBits; 88911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineStageFlags; 89011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkMemoryMapFlags; 89111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 89211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkImageAspectFlagBits { 89311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 89411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 89511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 89611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 89711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageAspectFlagBits; 89811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkImageAspectFlags; 89911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 90011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSparseImageFormatFlagBits { 90111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 90211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 90311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 90411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageFormatFlagBits; 90511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSparseImageFormatFlags; 90611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 90711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSparseMemoryBindFlagBits { 90811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 90911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseMemoryBindFlagBits; 91011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSparseMemoryBindFlags; 91111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 91211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkFenceCreateFlagBits { 91311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 91411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFenceCreateFlagBits; 91511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkFenceCreateFlags; 91611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSemaphoreCreateFlags; 91711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkEventCreateFlags; 91811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkQueryPoolCreateFlags; 91911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 92011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkQueryPipelineStatisticFlagBits { 92111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 92211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 92311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 92411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 92511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 92611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 92711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 92811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 92911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 93011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 93111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 93211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueryPipelineStatisticFlagBits; 93311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkQueryPipelineStatisticFlags; 93411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 93511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkQueryResultFlagBits { 93611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_RESULT_64_BIT = 0x00000001, 93711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 93811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 93911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 94011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueryResultFlagBits; 94111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkQueryResultFlags; 94211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 94311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkBufferCreateFlagBits { 94411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 94511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 94611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 94711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferCreateFlagBits; 94811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkBufferCreateFlags; 94911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 95011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkBufferUsageFlagBits { 95111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 95211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 95311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 95411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 95511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 95611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 95711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 95811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 95911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 96011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferUsageFlagBits; 96111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkBufferUsageFlags; 96211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkBufferViewCreateFlags; 96311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkImageViewCreateFlags; 96411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkShaderModuleCreateFlags; 96511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineCacheCreateFlags; 96611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 96711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPipelineCreateFlagBits { 96811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 96911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 97011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 97111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineCreateFlagBits; 97211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineCreateFlags; 97311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineShaderStageCreateFlags; 97411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 97511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkShaderStageFlagBits { 97611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 97711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 97811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 97911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 98011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 98111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 98211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_ALL_GRAPHICS = 0x1F, 98311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 98411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkShaderStageFlagBits; 98511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineVertexInputStateCreateFlags; 98611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 98711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineTessellationStateCreateFlags; 98811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineViewportStateCreateFlags; 98911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineRasterizationStateCreateFlags; 99011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 99111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCullModeFlagBits { 99211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_CULL_MODE_NONE = 0, 99311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_CULL_MODE_FRONT_BIT = 0x00000001, 99411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_CULL_MODE_BACK_BIT = 0x00000002, 99511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_CULL_MODE_FRONT_AND_BACK = 0x3, 99611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCullModeFlagBits; 99711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCullModeFlags; 99811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineMultisampleStateCreateFlags; 99911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineDepthStencilStateCreateFlags; 100011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineColorBlendStateCreateFlags; 100111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 100211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkColorComponentFlagBits { 100311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLOR_COMPONENT_R_BIT = 0x00000001, 100411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLOR_COMPONENT_G_BIT = 0x00000002, 100511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLOR_COMPONENT_B_BIT = 0x00000004, 100611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLOR_COMPONENT_A_BIT = 0x00000008, 100711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkColorComponentFlagBits; 100811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkColorComponentFlags; 100911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineDynamicStateCreateFlags; 101011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkPipelineLayoutCreateFlags; 101111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkShaderStageFlags; 101211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSamplerCreateFlags; 101311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDescriptorSetLayoutCreateFlags; 101411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 101511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDescriptorPoolCreateFlagBits { 101611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 101711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorPoolCreateFlagBits; 101811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDescriptorPoolCreateFlags; 101911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDescriptorPoolResetFlags; 102011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkFramebufferCreateFlags; 102111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkRenderPassCreateFlags; 102211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 102311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkAttachmentDescriptionFlagBits { 102411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 102511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAttachmentDescriptionFlagBits; 102611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkAttachmentDescriptionFlags; 102711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSubpassDescriptionFlags; 102811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 102911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkAccessFlagBits { 103011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 103111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_INDEX_READ_BIT = 0x00000002, 103211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 103311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 103411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 103511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_SHADER_READ_BIT = 0x00000020, 103611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 103711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 103811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 103911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 104011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 104111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 104211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 104311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_HOST_READ_BIT = 0x00002000, 104411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 104511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 104611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 104711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAccessFlagBits; 104811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkAccessFlags; 104911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 105011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDependencyFlagBits { 105111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 105211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDependencyFlagBits; 105311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDependencyFlags; 105411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 105511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCommandPoolCreateFlagBits { 105611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 105711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 105811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandPoolCreateFlagBits; 105911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCommandPoolCreateFlags; 106011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 106111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCommandPoolResetFlagBits { 106211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 106311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandPoolResetFlagBits; 106411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCommandPoolResetFlags; 106511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 106611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCommandBufferUsageFlagBits { 106711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 106811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 106911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 107011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferUsageFlagBits; 107111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCommandBufferUsageFlags; 107211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 107311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkQueryControlFlagBits { 107411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 107511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueryControlFlagBits; 107611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkQueryControlFlags; 107711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 107811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCommandBufferResetFlagBits { 107911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 108011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferResetFlagBits; 108111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCommandBufferResetFlags; 108211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 108311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkStencilFaceFlagBits { 108411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 108511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_FACE_BACK_BIT = 0x00000002, 108611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_STENCIL_FRONT_AND_BACK = 0x3, 108711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkStencilFaceFlagBits; 108811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkStencilFaceFlags; 108911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 109011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 109111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData, 109211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t size, 109311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t alignment, 109411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSystemAllocationScope allocationScope); 109511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 109611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 109711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData, 109811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pOriginal, 109911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t size, 110011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t alignment, 110111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSystemAllocationScope allocationScope); 110211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 110311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkFreeFunction)( 110411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData, 110511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pMemory); 110611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 110711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 110811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData, 110911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t size, 111011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInternalAllocationType allocationType, 111111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSystemAllocationScope allocationScope); 111211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 111311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 111411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData, 111511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t size, 111611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInternalAllocationType allocationType, 111711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSystemAllocationScope allocationScope); 111811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 111911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 112011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 112111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkApplicationInfo { 112211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 112311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 112411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pApplicationName; 112511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t applicationVersion; 112611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pEngineName; 112711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t engineVersion; 112811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t apiVersion; 112911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkApplicationInfo; 113011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 113111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkInstanceCreateInfo { 113211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 113311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 113411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstanceCreateFlags flags; 113511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkApplicationInfo* pApplicationInfo; 113611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t enabledLayerCount; 113711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* const* ppEnabledLayerNames; 113811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t enabledExtensionCount; 113911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* const* ppEnabledExtensionNames; 114011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkInstanceCreateInfo; 114111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 114211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkAllocationCallbacks { 114311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData; 114411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkAllocationFunction pfnAllocation; 114511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkReallocationFunction pfnReallocation; 114611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkFreeFunction pfnFree; 114711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkInternalAllocationNotification pfnInternalAllocation; 114811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkInternalFreeNotification pfnInternalFree; 114911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAllocationCallbacks; 115011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 115111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPhysicalDeviceFeatures { 115211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 robustBufferAccess; 115311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 fullDrawIndexUint32; 115411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 imageCubeArray; 115511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 independentBlend; 115611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 geometryShader; 115711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 tessellationShader; 115811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sampleRateShading; 115911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 dualSrcBlend; 116011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 logicOp; 116111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 multiDrawIndirect; 116211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 drawIndirectFirstInstance; 116311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthClamp; 116411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthBiasClamp; 116511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 fillModeNonSolid; 116611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthBounds; 116711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 wideLines; 116811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 largePoints; 116911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 alphaToOne; 117011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 multiViewport; 117111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 samplerAnisotropy; 117211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 textureCompressionETC2; 117311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 textureCompressionASTC_LDR; 117411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 textureCompressionBC; 117511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 occlusionQueryPrecise; 117611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 pipelineStatisticsQuery; 117711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 vertexPipelineStoresAndAtomics; 117811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 fragmentStoresAndAtomics; 117911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderTessellationAndGeometryPointSize; 118011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderImageGatherExtended; 118111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageImageExtendedFormats; 118211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageImageMultisample; 118311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageImageReadWithoutFormat; 118411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageImageWriteWithoutFormat; 118511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderUniformBufferArrayDynamicIndexing; 118611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderSampledImageArrayDynamicIndexing; 118711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageBufferArrayDynamicIndexing; 118811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderStorageImageArrayDynamicIndexing; 118911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderClipDistance; 119011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderCullDistance; 119111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderFloat64; 119211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderInt64; 119311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderInt16; 119411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderResourceResidency; 119511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 shaderResourceMinLod; 119611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseBinding; 119711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidencyBuffer; 119811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidencyImage2D; 119911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidencyImage3D; 120011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidency2Samples; 120111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidency4Samples; 120211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidency8Samples; 120311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidency16Samples; 120411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sparseResidencyAliased; 120511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 variableMultisampleRate; 120611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 inheritedQueries; 120711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceFeatures; 120811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 120911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkFormatProperties { 121011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormatFeatureFlags linearTilingFeatures; 121111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormatFeatureFlags optimalTilingFeatures; 121211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormatFeatureFlags bufferFeatures; 121311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFormatProperties; 121411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 121511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkExtent3D { 121611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t width; 121711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t height; 121811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t depth; 121911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkExtent3D; 122011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 122111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageFormatProperties { 122211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D maxExtent; 122311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxMipLevels; 122411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxArrayLayers; 122511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags sampleCounts; 122611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize maxResourceSize; 122711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageFormatProperties; 122811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 122911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPhysicalDeviceLimits { 123011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageDimension1D; 123111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageDimension2D; 123211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageDimension3D; 123311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageDimensionCube; 123411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageArrayLayers; 123511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTexelBufferElements; 123611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxUniformBufferRange; 123711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxStorageBufferRange; 123811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPushConstantsSize; 123911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxMemoryAllocationCount; 124011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxSamplerAllocationCount; 124111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize bufferImageGranularity; 124211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize sparseAddressSpaceSize; 124311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxBoundDescriptorSets; 124411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorSamplers; 124511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorUniformBuffers; 124611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorStorageBuffers; 124711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorSampledImages; 124811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorStorageImages; 124911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageDescriptorInputAttachments; 125011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxPerStageResources; 125111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetSamplers; 125211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetUniformBuffers; 125311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetUniformBuffersDynamic; 125411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetStorageBuffers; 125511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetStorageBuffersDynamic; 125611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetSampledImages; 125711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetStorageImages; 125811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDescriptorSetInputAttachments; 125911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxVertexInputAttributes; 126011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxVertexInputBindings; 126111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxVertexInputAttributeOffset; 126211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxVertexInputBindingStride; 126311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxVertexOutputComponents; 126411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationGenerationLevel; 126511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationPatchSize; 126611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationControlPerVertexInputComponents; 126711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationControlPerVertexOutputComponents; 126811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationControlPerPatchOutputComponents; 126911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationControlTotalOutputComponents; 127011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationEvaluationInputComponents; 127111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTessellationEvaluationOutputComponents; 127211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxGeometryShaderInvocations; 127311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxGeometryInputComponents; 127411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxGeometryOutputComponents; 127511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxGeometryOutputVertices; 127611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxGeometryTotalOutputComponents; 127711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFragmentInputComponents; 127811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFragmentOutputAttachments; 127911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFragmentDualSrcAttachments; 128011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFragmentCombinedOutputResources; 128111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxComputeSharedMemorySize; 128211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxComputeWorkGroupCount[3]; 128311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxComputeWorkGroupInvocations; 128411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxComputeWorkGroupSize[3]; 128511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subPixelPrecisionBits; 128611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subTexelPrecisionBits; 128711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t mipmapPrecisionBits; 128811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDrawIndexedIndexValue; 128911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxDrawIndirectCount; 129011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxSamplerLodBias; 129111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxSamplerAnisotropy; 129211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxViewports; 129311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxViewportDimensions[2]; 129411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float viewportBoundsRange[2]; 129511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t viewportSubPixelBits; 129611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t minMemoryMapAlignment; 129711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize minTexelBufferOffsetAlignment; 129811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize minUniformBufferOffsetAlignment; 129911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize minStorageBufferOffsetAlignment; 130011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t minTexelOffset; 130111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTexelOffset; 130211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t minTexelGatherOffset; 130311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxTexelGatherOffset; 130411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minInterpolationOffset; 130511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxInterpolationOffset; 130611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subPixelInterpolationOffsetBits; 130711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFramebufferWidth; 130811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFramebufferHeight; 130911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxFramebufferLayers; 131011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags framebufferColorSampleCounts; 131111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags framebufferDepthSampleCounts; 131211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags framebufferStencilSampleCounts; 131311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 131411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxColorAttachments; 131511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags sampledImageColorSampleCounts; 131611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags sampledImageIntegerSampleCounts; 131711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags sampledImageDepthSampleCounts; 131811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags sampledImageStencilSampleCounts; 131911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlags storageImageSampleCounts; 132011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxSampleMaskWords; 132111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 timestampComputeAndGraphics; 132211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float timestampPeriod; 132311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxClipDistances; 132411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxCullDistances; 132511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxCombinedClipAndCullDistances; 132611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t discreteQueuePriorities; 132711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float pointSizeRange[2]; 132811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float lineWidthRange[2]; 132911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float pointSizeGranularity; 133011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float lineWidthGranularity; 133111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 strictLines; 133211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 standardSampleLocations; 133311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize optimalBufferCopyOffsetAlignment; 133411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize optimalBufferCopyRowPitchAlignment; 133511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize nonCoherentAtomSize; 133611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceLimits; 133711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 133811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPhysicalDeviceSparseProperties { 133911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 residencyStandard2DBlockShape; 134011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 residencyStandard2DMultisampleBlockShape; 134111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 residencyStandard3DBlockShape; 134211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 residencyAlignedMipSize; 134311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 residencyNonResidentStrict; 134411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceSparseProperties; 134511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 134611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPhysicalDeviceProperties { 134711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t apiVersion; 134811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t driverVersion; 134911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t vendorID; 135011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t deviceID; 135111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceType deviceType; 135211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 135311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 135411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceLimits limits; 135511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceSparseProperties sparseProperties; 135611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceProperties; 135711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 135811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkQueueFamilyProperties { 135911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueueFlags queueFlags; 136011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueCount; 136111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t timestampValidBits; 136211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D minImageTransferGranularity; 136311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueueFamilyProperties; 136411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 136511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMemoryType { 136611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryPropertyFlags propertyFlags; 136711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t heapIndex; 136811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryType; 136911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 137011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMemoryHeap { 137111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 137211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryHeapFlags flags; 137311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryHeap; 137411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 137511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPhysicalDeviceMemoryProperties { 137611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryTypeCount; 137711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 137811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryHeapCount; 137911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 138011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPhysicalDeviceMemoryProperties; 138111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 138211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDeviceQueueCreateInfo { 138311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 138411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 138511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceQueueCreateFlags flags; 138611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex; 138711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueCount; 138811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const float* pQueuePriorities; 138911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDeviceQueueCreateInfo; 139011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 139111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDeviceCreateInfo { 139211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 139311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 139411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceCreateFlags flags; 139511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueCreateInfoCount; 139611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDeviceQueueCreateInfo* pQueueCreateInfos; 139711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t enabledLayerCount; 139811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* const* ppEnabledLayerNames; 139911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t enabledExtensionCount; 140011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* const* ppEnabledExtensionNames; 140111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPhysicalDeviceFeatures* pEnabledFeatures; 140211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDeviceCreateInfo; 140311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 140411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkExtensionProperties { 140511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 140611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t specVersion; 140711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkExtensionProperties; 140811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 140911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkLayerProperties { 141011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 141111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t specVersion; 141211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t implementationVersion; 141311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char description[VK_MAX_DESCRIPTION_SIZE]; 141411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkLayerProperties; 141511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 141611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSubmitInfo { 141711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 141811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 141911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t waitSemaphoreCount; 142011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphore* pWaitSemaphores; 142111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineStageFlags* pWaitDstStageMask; 142211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t commandBufferCount; 142311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBuffer* pCommandBuffers; 142411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t signalSemaphoreCount; 142511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphore* pSignalSemaphores; 142611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSubmitInfo; 142711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 142811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMemoryAllocateInfo { 142911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 143011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 143111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize allocationSize; 143211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryTypeIndex; 143311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryAllocateInfo; 143411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 143511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMappedMemoryRange { 143611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 143711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 143811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory; 143911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset; 144011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 144111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMappedMemoryRange; 144211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 144311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMemoryRequirements { 144411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 144511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize alignment; 144611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryTypeBits; 144711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryRequirements; 144811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 144911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseImageFormatProperties { 145011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageAspectFlags aspectMask; 145111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D imageGranularity; 145211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseImageFormatFlags flags; 145311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageFormatProperties; 145411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 145511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseImageMemoryRequirements { 145611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseImageFormatProperties formatProperties; 145711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageMipTailFirstLod; 145811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize imageMipTailSize; 145911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize imageMipTailOffset; 146011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize imageMipTailStride; 146111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageMemoryRequirements; 146211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 146311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseMemoryBind { 146411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize resourceOffset; 146511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 146611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory; 146711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize memoryOffset; 146811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseMemoryBindFlags flags; 146911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseMemoryBind; 147011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 147111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseBufferMemoryBindInfo { 147211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer; 147311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindCount; 147411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseMemoryBind* pBinds; 147511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseBufferMemoryBindInfo; 147611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 147711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseImageOpaqueMemoryBindInfo { 147811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image; 147911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindCount; 148011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseMemoryBind* pBinds; 148111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageOpaqueMemoryBindInfo; 148211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 148311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageSubresource { 148411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageAspectFlags aspectMask; 148511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t mipLevel; 148611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t arrayLayer; 148711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageSubresource; 148811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 148911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkOffset3D { 149011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t x; 149111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t y; 149211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t z; 149311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkOffset3D; 149411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 149511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseImageMemoryBind { 149611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresource subresource; 149711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D offset; 149811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D extent; 149911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory; 150011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize memoryOffset; 150111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseMemoryBindFlags flags; 150211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageMemoryBind; 150311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 150411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSparseImageMemoryBindInfo { 150511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image; 150611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindCount; 150711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseImageMemoryBind* pBinds; 150811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSparseImageMemoryBindInfo; 150911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 151011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBindSparseInfo { 151111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 151211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 151311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t waitSemaphoreCount; 151411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphore* pWaitSemaphores; 151511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bufferBindCount; 151611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseBufferMemoryBindInfo* pBufferBinds; 151711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageOpaqueBindCount; 151811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 151911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageBindCount; 152011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSparseImageMemoryBindInfo* pImageBinds; 152111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t signalSemaphoreCount; 152211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphore* pSignalSemaphores; 152311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBindSparseInfo; 152411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 152511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkFenceCreateInfo { 152611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 152711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 152811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFenceCreateFlags flags; 152911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFenceCreateInfo; 153011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 153111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSemaphoreCreateInfo { 153211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 153311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 153411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSemaphoreCreateFlags flags; 153511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSemaphoreCreateInfo; 153611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 153711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkEventCreateInfo { 153811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 153911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 154011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEventCreateFlags flags; 154111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkEventCreateInfo; 154211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 154311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkQueryPoolCreateInfo { 154411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 154511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 154611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPoolCreateFlags flags; 154711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryType queryType; 154811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queryCount; 154911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPipelineStatisticFlags pipelineStatistics; 155011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkQueryPoolCreateInfo; 155111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 155211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBufferCreateInfo { 155311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 155411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 155511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBufferCreateFlags flags; 155611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 155711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBufferUsageFlags usage; 155811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSharingMode sharingMode; 155911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndexCount; 156011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pQueueFamilyIndices; 156111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferCreateInfo; 156211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 156311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBufferViewCreateInfo { 156411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 156511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 156611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBufferViewCreateFlags flags; 156711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer; 156811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 156911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset; 157011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize range; 157111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferViewCreateInfo; 157211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 157311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageCreateInfo { 157411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 157511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 157611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageCreateFlags flags; 157711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageType imageType; 157811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 157911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D extent; 158011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t mipLevels; 158111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t arrayLayers; 158211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlagBits samples; 158311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageTiling tiling; 158411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageUsageFlags usage; 158511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSharingMode sharingMode; 158611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndexCount; 158711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pQueueFamilyIndices; 158811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout initialLayout; 158911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageCreateInfo; 159011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 159111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSubresourceLayout { 159211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset; 159311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 159411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize rowPitch; 159511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize arrayPitch; 159611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize depthPitch; 159711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSubresourceLayout; 159811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 159911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkComponentMapping { 160011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkComponentSwizzle r; 160111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkComponentSwizzle g; 160211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkComponentSwizzle b; 160311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkComponentSwizzle a; 160411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkComponentMapping; 160511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 160611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageSubresourceRange { 160711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageAspectFlags aspectMask; 160811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t baseMipLevel; 160911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t levelCount; 161011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t baseArrayLayer; 161111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t layerCount; 161211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageSubresourceRange; 161311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 161411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageViewCreateInfo { 161511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 161611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 161711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageViewCreateFlags flags; 161811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image; 161911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageViewType viewType; 162011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 162111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkComponentMapping components; 162211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceRange subresourceRange; 162311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageViewCreateInfo; 162411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 162511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkShaderModuleCreateInfo { 162611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 162711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 162811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderModuleCreateFlags flags; 162911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t codeSize; 163011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pCode; 163111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkShaderModuleCreateInfo; 163211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 163311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineCacheCreateInfo { 163411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 163511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 163611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCacheCreateFlags flags; 163711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t initialDataSize; 163811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pInitialData; 163911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineCacheCreateInfo; 164011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 164111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSpecializationMapEntry { 164211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t constantID; 164311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t offset; 164411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t size; 164511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSpecializationMapEntry; 164611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 164711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSpecializationInfo { 164811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t mapEntryCount; 164911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSpecializationMapEntry* pMapEntries; 165011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t dataSize; 165111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pData; 165211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSpecializationInfo; 165311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 165411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineShaderStageCreateInfo { 165511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 165611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 165711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineShaderStageCreateFlags flags; 165811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderStageFlagBits stage; 165911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderModule module; 166011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pName; 166111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSpecializationInfo* pSpecializationInfo; 166211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineShaderStageCreateInfo; 166311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 166411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkVertexInputBindingDescription { 166511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t binding; 166611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t stride; 166711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkVertexInputRate inputRate; 166811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkVertexInputBindingDescription; 166911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 167011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkVertexInputAttributeDescription { 167111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t location; 167211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t binding; 167311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 167411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t offset; 167511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkVertexInputAttributeDescription; 167611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 167711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineVertexInputStateCreateInfo { 167811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 167911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 168011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineVertexInputStateCreateFlags flags; 168111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t vertexBindingDescriptionCount; 168211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkVertexInputBindingDescription* pVertexBindingDescriptions; 168311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t vertexAttributeDescriptionCount; 168411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 168511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineVertexInputStateCreateInfo; 168611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 168711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineInputAssemblyStateCreateInfo { 168811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 168911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 169011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineInputAssemblyStateCreateFlags flags; 169111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPrimitiveTopology topology; 169211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 primitiveRestartEnable; 169311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineInputAssemblyStateCreateInfo; 169411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 169511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineTessellationStateCreateInfo { 169611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 169711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 169811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineTessellationStateCreateFlags flags; 169911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t patchControlPoints; 170011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineTessellationStateCreateInfo; 170111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 170211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkViewport { 170311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float x; 170411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float y; 170511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float width; 170611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float height; 170711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minDepth; 170811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxDepth; 170911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkViewport; 171011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 171111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkOffset2D { 171211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t x; 171311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t y; 171411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkOffset2D; 171511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 171611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkExtent2D { 171711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t width; 171811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t height; 171911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkExtent2D; 172011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 172111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkRect2D { 172211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset2D offset; 172311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D extent; 172411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkRect2D; 172511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 172611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineViewportStateCreateInfo { 172711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 172811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 172911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineViewportStateCreateFlags flags; 173011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t viewportCount; 173111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkViewport* pViewports; 173211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t scissorCount; 173311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkRect2D* pScissors; 173411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineViewportStateCreateInfo; 173511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 173611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineRasterizationStateCreateInfo { 173711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 173811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 173911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineRasterizationStateCreateFlags flags; 174011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthClampEnable; 174111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 rasterizerDiscardEnable; 174211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPolygonMode polygonMode; 174311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCullModeFlags cullMode; 174411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFrontFace frontFace; 174511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthBiasEnable; 174611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasConstantFactor; 174711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasClamp; 174811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasSlopeFactor; 174911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float lineWidth; 175011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineRasterizationStateCreateInfo; 175111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 175211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineMultisampleStateCreateInfo { 175311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 175411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 175511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineMultisampleStateCreateFlags flags; 175611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlagBits rasterizationSamples; 175711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 sampleShadingEnable; 175811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minSampleShading; 175911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSampleMask* pSampleMask; 176011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 alphaToCoverageEnable; 176111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 alphaToOneEnable; 176211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineMultisampleStateCreateInfo; 176311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 176411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkStencilOpState { 176511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilOp failOp; 176611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilOp passOp; 176711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilOp depthFailOp; 176811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCompareOp compareOp; 176911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t compareMask; 177011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t writeMask; 177111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t reference; 177211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkStencilOpState; 177311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 177411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineDepthStencilStateCreateInfo { 177511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 177611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 177711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineDepthStencilStateCreateFlags flags; 177811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthTestEnable; 177911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthWriteEnable; 178011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCompareOp depthCompareOp; 178111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 depthBoundsTestEnable; 178211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 stencilTestEnable; 178311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilOpState front; 178411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilOpState back; 178511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minDepthBounds; 178611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxDepthBounds; 178711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineDepthStencilStateCreateInfo; 178811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 178911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineColorBlendAttachmentState { 179011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 blendEnable; 179111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendFactor srcColorBlendFactor; 179211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendFactor dstColorBlendFactor; 179311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendOp colorBlendOp; 179411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendFactor srcAlphaBlendFactor; 179511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendFactor dstAlphaBlendFactor; 179611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBlendOp alphaBlendOp; 179711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkColorComponentFlags colorWriteMask; 179811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineColorBlendAttachmentState; 179911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 180011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineColorBlendStateCreateInfo { 180111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 180211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 180311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineColorBlendStateCreateFlags flags; 180411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 logicOpEnable; 180511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkLogicOp logicOp; 180611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t attachmentCount; 180711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineColorBlendAttachmentState* pAttachments; 180811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float blendConstants[4]; 180911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineColorBlendStateCreateInfo; 181011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 181111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineDynamicStateCreateInfo { 181211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 181311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 181411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineDynamicStateCreateFlags flags; 181511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dynamicStateCount; 181611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDynamicState* pDynamicStates; 181711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineDynamicStateCreateInfo; 181811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 181911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkGraphicsPipelineCreateInfo { 182011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 182111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 182211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCreateFlags flags; 182311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t stageCount; 182411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineShaderStageCreateInfo* pStages; 182511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 182611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 182711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineTessellationStateCreateInfo* pTessellationState; 182811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineViewportStateCreateInfo* pViewportState; 182911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 183011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 183111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 183211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 183311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineDynamicStateCreateInfo* pDynamicState; 183411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout layout; 183511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass; 183611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subpass; 183711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline basePipelineHandle; 183811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t basePipelineIndex; 183911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkGraphicsPipelineCreateInfo; 184011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 184111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkComputePipelineCreateInfo { 184211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 184311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 184411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCreateFlags flags; 184511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineShaderStageCreateInfo stage; 184611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout layout; 184711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline basePipelineHandle; 184811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t basePipelineIndex; 184911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkComputePipelineCreateInfo; 185011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 185111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPushConstantRange { 185211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderStageFlags stageFlags; 185311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t offset; 185411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t size; 185511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPushConstantRange; 185611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 185711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPipelineLayoutCreateInfo { 185811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 185911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 186011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayoutCreateFlags flags; 186111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t setLayoutCount; 186211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSetLayout* pSetLayouts; 186311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t pushConstantRangeCount; 186411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPushConstantRange* pPushConstantRanges; 186511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPipelineLayoutCreateInfo; 186611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 186711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSamplerCreateInfo { 186811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 186911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 187011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSamplerCreateFlags flags; 187111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFilter magFilter; 187211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFilter minFilter; 187311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSamplerMipmapMode mipmapMode; 187411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSamplerAddressMode addressModeU; 187511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSamplerAddressMode addressModeV; 187611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSamplerAddressMode addressModeW; 187711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float mipLodBias; 187811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 anisotropyEnable; 187911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxAnisotropy; 188011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 compareEnable; 188111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCompareOp compareOp; 188211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minLod; 188311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxLod; 188411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBorderColor borderColor; 188511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 unnormalizedCoordinates; 188611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSamplerCreateInfo; 188711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 188811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorSetLayoutBinding { 188911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t binding; 189011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorType descriptorType; 189111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorCount; 189211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderStageFlags stageFlags; 189311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSampler* pImmutableSamplers; 189411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorSetLayoutBinding; 189511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 189611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorSetLayoutCreateInfo { 189711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 189811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 189911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSetLayoutCreateFlags flags; 190011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindingCount; 190111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSetLayoutBinding* pBindings; 190211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorSetLayoutCreateInfo; 190311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 190411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorPoolSize { 190511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorType type; 190611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorCount; 190711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorPoolSize; 190811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 190911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorPoolCreateInfo { 191011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 191111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 191211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPoolCreateFlags flags; 191311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxSets; 191411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t poolSizeCount; 191511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorPoolSize* pPoolSizes; 191611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorPoolCreateInfo; 191711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 191811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorSetAllocateInfo { 191911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 192011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 192111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPool descriptorPool; 192211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorSetCount; 192311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSetLayout* pSetLayouts; 192411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorSetAllocateInfo; 192511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 192611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorImageInfo { 192711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampler sampler; 192811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageView imageView; 192911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout imageLayout; 193011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorImageInfo; 193111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 193211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDescriptorBufferInfo { 193311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer; 193411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset; 193511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize range; 193611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDescriptorBufferInfo; 193711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 193811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkWriteDescriptorSet { 193911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 194011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 194111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSet dstSet; 194211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstBinding; 194311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstArrayElement; 194411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorCount; 194511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorType descriptorType; 194611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorImageInfo* pImageInfo; 194711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorBufferInfo* pBufferInfo; 194811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferView* pTexelBufferView; 194911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkWriteDescriptorSet; 195011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 195111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkCopyDescriptorSet { 195211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 195311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 195411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSet srcSet; 195511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcBinding; 195611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcArrayElement; 195711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSet dstSet; 195811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstBinding; 195911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstArrayElement; 196011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorCount; 196111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCopyDescriptorSet; 196211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 196311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkFramebufferCreateInfo { 196411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 196511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 196611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFramebufferCreateFlags flags; 196711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass; 196811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t attachmentCount; 196911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageView* pAttachments; 197011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t width; 197111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t height; 197211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t layers; 197311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkFramebufferCreateInfo; 197411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 197511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkAttachmentDescription { 197611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAttachmentDescriptionFlags flags; 197711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 197811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlagBits samples; 197911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAttachmentLoadOp loadOp; 198011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAttachmentStoreOp storeOp; 198111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAttachmentLoadOp stencilLoadOp; 198211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAttachmentStoreOp stencilStoreOp; 198311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout initialLayout; 198411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout finalLayout; 198511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAttachmentDescription; 198611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 198711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkAttachmentReference { 198811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t attachment; 198911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout layout; 199011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAttachmentReference; 199111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 199211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSubpassDescription { 199311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSubpassDescriptionFlags flags; 199411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineBindPoint pipelineBindPoint; 199511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t inputAttachmentCount; 199611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAttachmentReference* pInputAttachments; 199711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t colorAttachmentCount; 199811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAttachmentReference* pColorAttachments; 199911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAttachmentReference* pResolveAttachments; 200011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAttachmentReference* pDepthStencilAttachment; 200111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t preserveAttachmentCount; 200211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pPreserveAttachments; 200311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSubpassDescription; 200411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 200511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSubpassDependency { 200611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcSubpass; 200711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstSubpass; 200811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags srcStageMask; 200911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags dstStageMask; 201011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags srcAccessMask; 201111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags dstAccessMask; 201211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDependencyFlags dependencyFlags; 201311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSubpassDependency; 201411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 201511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkRenderPassCreateInfo { 201611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 201711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 201811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPassCreateFlags flags; 201911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t attachmentCount; 202011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAttachmentDescription* pAttachments; 202111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subpassCount; 202211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSubpassDescription* pSubpasses; 202311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dependencyCount; 202411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSubpassDependency* pDependencies; 202511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkRenderPassCreateInfo; 202611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 202711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkCommandPoolCreateInfo { 202811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 202911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 203011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPoolCreateFlags flags; 203111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex; 203211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandPoolCreateInfo; 203311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 203411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkCommandBufferAllocateInfo { 203511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 203611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 203711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPool commandPool; 203811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBufferLevel level; 203911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t commandBufferCount; 204011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferAllocateInfo; 204111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 204211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkCommandBufferInheritanceInfo { 204311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 204411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 204511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass; 204611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t subpass; 204711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFramebuffer framebuffer; 204811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 occlusionQueryEnable; 204911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryControlFlags queryFlags; 205011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPipelineStatisticFlags pipelineStatistics; 205111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferInheritanceInfo; 205211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 205311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkCommandBufferBeginInfo { 205411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 205511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 205611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBufferUsageFlags flags; 205711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBufferInheritanceInfo* pInheritanceInfo; 205811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCommandBufferBeginInfo; 205911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 206011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBufferCopy { 206111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize srcOffset; 206211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize dstOffset; 206311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 206411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferCopy; 206511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 206611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageSubresourceLayers { 206711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageAspectFlags aspectMask; 206811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t mipLevel; 206911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t baseArrayLayer; 207011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t layerCount; 207111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageSubresourceLayers; 207211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 207311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageCopy { 207411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers srcSubresource; 207511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D srcOffset; 207611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers dstSubresource; 207711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D dstOffset; 207811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D extent; 207911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageCopy; 208011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 208111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageBlit { 208211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers srcSubresource; 208311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D srcOffsets[2]; 208411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers dstSubresource; 208511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D dstOffsets[2]; 208611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageBlit; 208711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 208811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBufferImageCopy { 208911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize bufferOffset; 209011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bufferRowLength; 209111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bufferImageHeight; 209211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers imageSubresource; 209311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D imageOffset; 209411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D imageExtent; 209511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferImageCopy; 209611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 209711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef union VkClearColorValue { 209811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float float32[4]; 209911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t int32[4]; 210011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t uint32[4]; 210111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkClearColorValue; 210211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 210311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkClearDepthStencilValue { 210411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depth; 210511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t stencil; 210611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkClearDepthStencilValue; 210711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 210811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef union VkClearValue { 210911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkClearColorValue color; 211011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkClearDepthStencilValue depthStencil; 211111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkClearValue; 211211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 211311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkClearAttachment { 211411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageAspectFlags aspectMask; 211511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t colorAttachment; 211611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkClearValue clearValue; 211711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkClearAttachment; 211811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 211911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkClearRect { 212011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRect2D rect; 212111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t baseArrayLayer; 212211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t layerCount; 212311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkClearRect; 212411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 212511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageResolve { 212611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers srcSubresource; 212711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D srcOffset; 212811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceLayers dstSubresource; 212911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset3D dstOffset; 213011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent3D extent; 213111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageResolve; 213211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 213311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMemoryBarrier { 213411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 213511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 213611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags srcAccessMask; 213711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags dstAccessMask; 213811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMemoryBarrier; 213911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 214011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkBufferMemoryBarrier { 214111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 214211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 214311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags srcAccessMask; 214411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags dstAccessMask; 214511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcQueueFamilyIndex; 214611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstQueueFamilyIndex; 214711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer; 214811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset; 214911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size; 215011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkBufferMemoryBarrier; 215111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 215211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkImageMemoryBarrier { 215311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 215411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 215511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags srcAccessMask; 215611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAccessFlags dstAccessMask; 215711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout oldLayout; 215811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout newLayout; 215911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcQueueFamilyIndex; 216011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dstQueueFamilyIndex; 216111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image; 216211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageSubresourceRange subresourceRange; 216311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkImageMemoryBarrier; 216411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 216511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkRenderPassBeginInfo { 216611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 216711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 216811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass; 216911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFramebuffer framebuffer; 217011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRect2D renderArea; 217111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t clearValueCount; 217211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkClearValue* pClearValues; 217311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkRenderPassBeginInfo; 217411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 217511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDispatchIndirectCommand { 217611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t x; 217711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t y; 217811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t z; 217911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDispatchIndirectCommand; 218011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 218111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDrawIndexedIndirectCommand { 218211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t indexCount; 218311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t instanceCount; 218411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstIndex; 218511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t vertexOffset; 218611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstInstance; 218711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDrawIndexedIndirectCommand; 218811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 218911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDrawIndirectCommand { 219011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t vertexCount; 219111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t instanceCount; 219211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstVertex; 219311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstInstance; 219411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDrawIndirectCommand; 219511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 219611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 219711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 219811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 219911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 220011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 220111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 220211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 220311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 220411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 220511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 220611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 220711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 220811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 220911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 221011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 221111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 221211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 221311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 221411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 221511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 221611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 221711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 221811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 221911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 222011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 222111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 222211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 222311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 222411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 222511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 222611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 222711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 222811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 222911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 223011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 223111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 223211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 223311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 223411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 223511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 223611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 223711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 223811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 223911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 224011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 224111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 224211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 224311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 224411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 224511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 224611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 224711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 224811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 224911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 225011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 225111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 225211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 225311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 225411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 225511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 225611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 225711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 225811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 225911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 226011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 226111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 226211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 226311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 226411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 226511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 226611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 226711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 226811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 226911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 227011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 227111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 227211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 227311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 227411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 227511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 227611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 227711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 227811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 227911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 228011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 228111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 228211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 228311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 228411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 228511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 228611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 228711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 228811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 228911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 229011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 229111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 229211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 229311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 229411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 229511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 229611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 229711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 229811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 229911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 230011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef 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); 230111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 230211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 230311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 230411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 230511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 230611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 230711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z); 230811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 230911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 231011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 231111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 231211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 231311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 231411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData); 231511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 231611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 231711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 231811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 231911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 232011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 232111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 232211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef 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); 232311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef 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); 232411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 232511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 232611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 232711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 232811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 232911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 233011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 233111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 233211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 233311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 233411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 233511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 233611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 233711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkInstanceCreateInfo* pCreateInfo, 233811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 233911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance* pInstance); 234011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 234111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 234211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 234311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 234411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 234511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 234611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 234711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPhysicalDeviceCount, 234811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice* pPhysicalDevices); 234911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 235011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 235111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 235211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceFeatures* pFeatures); 235311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 235411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 235511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 235611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format, 235711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormatProperties* pFormatProperties); 235811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 235911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 236011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 236111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format, 236211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageType type, 236311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageTiling tiling, 236411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageUsageFlags usage, 236511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageCreateFlags flags, 236611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageFormatProperties* pImageFormatProperties); 236711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 236811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 236911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 237011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceProperties* pProperties); 237111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 237211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 237311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 237411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pQueueFamilyPropertyCount, 237511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueueFamilyProperties* pQueueFamilyProperties); 237611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 237711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 237811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 237911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDeviceMemoryProperties* pMemoryProperties); 238011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 238111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 238211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 238311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pName); 238411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 238511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 238611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 238711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pName); 238811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 238911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 239011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 239111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDeviceCreateInfo* pCreateInfo, 239211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 239311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice* pDevice); 239411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 239511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 239611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 239711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 239811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 239911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 240011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pLayerName, 240111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 240211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtensionProperties* pProperties); 240311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 240411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 240511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 240611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pLayerName, 240711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 240811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtensionProperties* pProperties); 240911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 241011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 241111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 241211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkLayerProperties* pProperties); 241311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 241411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 241511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 241611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 241711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkLayerProperties* pProperties); 241811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 241911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 242011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 242111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 242211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueIndex, 242311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueue* pQueue); 242411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 242511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 242611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueue queue, 242711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t submitCount, 242811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSubmitInfo* pSubmits, 242911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence fence); 243011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 243111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 243211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueue queue); 243311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 243411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 243511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device); 243611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 243711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 243811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 243911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMemoryAllocateInfo* pAllocateInfo, 244011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 244111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory* pMemory); 244211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 244311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkFreeMemory( 244411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 244511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory, 244611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 244711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 244811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 244911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 245011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory, 245111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset, 245211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size, 245311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryMapFlags flags, 245411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void** ppData); 245511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 245611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 245711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 245811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory); 245911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 246011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 246111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 246211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryRangeCount, 246311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMappedMemoryRange* pMemoryRanges); 246411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 246511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 246611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 246711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryRangeCount, 246811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMappedMemoryRange* pMemoryRanges); 246911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 247011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 247111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 247211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory, 247311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize* pCommittedMemoryInBytes); 247411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 247511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 247611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 247711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 247811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory, 247911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize memoryOffset); 248011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 248111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 248211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 248311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 248411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceMemory memory, 248511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize memoryOffset); 248611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 248711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 248811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 248911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 249011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryRequirements* pMemoryRequirements); 249111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 249211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 249311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 249411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 249511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMemoryRequirements* pMemoryRequirements); 249611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 249711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 249811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 249911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 250011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pSparseMemoryRequirementCount, 250111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 250211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 250311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 250411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 250511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format, 250611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageType type, 250711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampleCountFlagBits samples, 250811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageUsageFlags usage, 250911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageTiling tiling, 251011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 251111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSparseImageFormatProperties* pProperties); 251211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 251311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 251411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueue queue, 251511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindInfoCount, 251611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBindSparseInfo* pBindInfo, 251711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence fence); 251811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 251911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 252011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 252111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkFenceCreateInfo* pCreateInfo, 252211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 252311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence* pFence); 252411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 252511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyFence( 252611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 252711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence fence, 252811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 252911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 253011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 253111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 253211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t fenceCount, 253311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkFence* pFences); 253411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 253511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 253611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 253711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence fence); 253811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 253911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 254011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 254111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t fenceCount, 254211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkFence* pFences, 254311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 waitAll, 254411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint64_t timeout); 254511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 254611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 254711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 254811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphoreCreateInfo* pCreateInfo, 254911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 255011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSemaphore* pSemaphore); 255111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 255211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 255311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 255411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSemaphore semaphore, 255511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 255611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 255711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 255811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 255911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkEventCreateInfo* pCreateInfo, 256011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 256111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent* pEvent); 256211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 256311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 256411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 256511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event, 256611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 256711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 256811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 256911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 257011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event); 257111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 257211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 257311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 257411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event); 257511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 257611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 257711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 257811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event); 257911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 258011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 258111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 258211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkQueryPoolCreateInfo* pCreateInfo, 258311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 258411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool* pQueryPool); 258511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 258611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 258711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 258811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 258911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 259011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 259111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 259211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 259311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 259411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstQuery, 259511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queryCount, 259611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t dataSize, 259711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pData, 259811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize stride, 259911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryResultFlags flags); 260011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 260111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 260211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 260311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferCreateInfo* pCreateInfo, 260411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 260511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer* pBuffer); 260611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 260711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 260811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 260911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 261011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 261111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 261211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 261311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 261411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferViewCreateInfo* pCreateInfo, 261511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 261611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBufferView* pView); 261711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 261811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 261911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 262011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBufferView bufferView, 262111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 262211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 262311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 262411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 262511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageCreateInfo* pCreateInfo, 262611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 262711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage* pImage); 262811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 262911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyImage( 263011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 263111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 263211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 263311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 263411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 263511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 263611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 263711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageSubresource* pSubresource, 263811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSubresourceLayout* pLayout); 263911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 264011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 264111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 264211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageViewCreateInfo* pCreateInfo, 264311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 264411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageView* pView); 264511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 264611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 264711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 264811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageView imageView, 264911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 265011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 265111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 265211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 265311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkShaderModuleCreateInfo* pCreateInfo, 265411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 265511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderModule* pShaderModule); 265611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 265711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 265811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 265911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderModule shaderModule, 266011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 266111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 266211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 266311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 266411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineCacheCreateInfo* pCreateInfo, 266511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 266611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache* pPipelineCache); 266711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 266811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 266911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 267011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache pipelineCache, 267111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 267211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 267311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 267411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 267511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache pipelineCache, 267611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t* pDataSize, 267711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pData); 267811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 267911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 268011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 268111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache dstCache, 268211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t srcCacheCount, 268311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineCache* pSrcCaches); 268411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 268511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 268611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 268711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache pipelineCache, 268811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t createInfoCount, 268911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkGraphicsPipelineCreateInfo* pCreateInfos, 269011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 269111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline* pPipelines); 269211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 269311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 269411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 269511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineCache pipelineCache, 269611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t createInfoCount, 269711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkComputePipelineCreateInfo* pCreateInfos, 269811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 269911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline* pPipelines); 270011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 270111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 270211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 270311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline pipeline, 270411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 270511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 270611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 270711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 270811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPipelineLayoutCreateInfo* pCreateInfo, 270911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 271011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout* pPipelineLayout); 271111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 271211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 271311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 271411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout pipelineLayout, 271511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 271611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 271711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 271811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 271911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSamplerCreateInfo* pCreateInfo, 272011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 272111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampler* pSampler); 272211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 272311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroySampler( 272411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 272511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSampler sampler, 272611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 272711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 272811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 272911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 273011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 273111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 273211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSetLayout* pSetLayout); 273311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 273411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 273511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 273611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSetLayout descriptorSetLayout, 273711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 273811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 273911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 274011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 274111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorPoolCreateInfo* pCreateInfo, 274211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 274311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPool* pDescriptorPool); 274411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 274511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 274611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 274711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPool descriptorPool, 274811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 274911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 275011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 275111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 275211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPool descriptorPool, 275311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPoolResetFlags flags); 275411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 275511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 275611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 275711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSetAllocateInfo* pAllocateInfo, 275811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorSet* pDescriptorSets); 275911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 276011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 276111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 276211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDescriptorPool descriptorPool, 276311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorSetCount, 276411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSet* pDescriptorSets); 276511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 276611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 276711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 276811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorWriteCount, 276911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkWriteDescriptorSet* pDescriptorWrites, 277011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorCopyCount, 277111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCopyDescriptorSet* pDescriptorCopies); 277211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 277311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 277411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 277511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkFramebufferCreateInfo* pCreateInfo, 277611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 277711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFramebuffer* pFramebuffer); 277811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 277911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 278011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 278111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFramebuffer framebuffer, 278211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 278311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 278411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 278511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 278611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkRenderPassCreateInfo* pCreateInfo, 278711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 278811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass* pRenderPass); 278911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 279011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 279111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 279211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass, 279311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 279411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 279511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 279611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 279711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRenderPass renderPass, 279811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D* pGranularity); 279911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 280011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 280111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 280211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandPoolCreateInfo* pCreateInfo, 280311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 280411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPool* pCommandPool); 280511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 280611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 280711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 280811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPool commandPool, 280911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 281011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 281111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 281211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 281311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPool commandPool, 281411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPoolResetFlags flags); 281511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 281611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 281711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 281811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBufferAllocateInfo* pAllocateInfo, 281911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer* pCommandBuffers); 282011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 282111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 282211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 282311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandPool commandPool, 282411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t commandBufferCount, 282511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBuffer* pCommandBuffers); 282611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 282711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 282811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 282911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBufferBeginInfo* pBeginInfo); 283011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 283111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 283211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer); 283311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 283411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 283511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 283611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBufferResetFlags flags); 283711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 283811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 283911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 284011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineBindPoint pipelineBindPoint, 284111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipeline pipeline); 284211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 284311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 284411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 284511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstViewport, 284611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t viewportCount, 284711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkViewport* pViewports); 284811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 284911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 285011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 285111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstScissor, 285211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t scissorCount, 285311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkRect2D* pScissors); 285411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 285511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 285611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 285711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float lineWidth); 285811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 285911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 286011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 286111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasConstantFactor, 286211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasClamp, 286311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float depthBiasSlopeFactor); 286411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 286511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 286611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 286711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const float blendConstants[4]); 286811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 286911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 287011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 287111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float minDepthBounds, 287211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float maxDepthBounds); 287311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 287411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 287511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 287611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilFaceFlags faceMask, 287711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t compareMask); 287811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 287911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 288011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 288111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilFaceFlags faceMask, 288211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t writeMask); 288311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 288411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 288511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 288611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStencilFaceFlags faceMask, 288711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t reference); 288811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 288911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 289011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 289111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineBindPoint pipelineBindPoint, 289211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout layout, 289311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstSet, 289411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t descriptorSetCount, 289511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDescriptorSet* pDescriptorSets, 289611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t dynamicOffsetCount, 289711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pDynamicOffsets); 289811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 289911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 290011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 290111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 290211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset, 290311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkIndexType indexType); 290411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 290511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 290611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 290711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstBinding, 290811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bindingCount, 290911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBuffer* pBuffers, 291011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDeviceSize* pOffsets); 291111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 291211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDraw( 291311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 291411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t vertexCount, 291511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t instanceCount, 291611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstVertex, 291711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstInstance); 291811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 291911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 292011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 292111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t indexCount, 292211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t instanceCount, 292311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstIndex, 292411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t vertexOffset, 292511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstInstance); 292611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 292711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 292811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 292911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 293011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset, 293111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t drawCount, 293211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t stride); 293311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 293411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 293511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 293611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 293711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset, 293811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t drawCount, 293911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t stride); 294011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 294111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 294211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 294311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t x, 294411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t y, 294511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t z); 294611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 294711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 294811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 294911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer buffer, 295011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize offset); 295111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 295211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 295311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 295411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer srcBuffer, 295511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer dstBuffer, 295611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 295711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferCopy* pRegions); 295811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 295911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 296011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 296111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage srcImage, 296211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout srcImageLayout, 296311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage dstImage, 296411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout dstImageLayout, 296511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 296611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageCopy* pRegions); 296711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 296811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 296911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 297011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage srcImage, 297111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout srcImageLayout, 297211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage dstImage, 297311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout dstImageLayout, 297411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 297511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageBlit* pRegions, 297611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFilter filter); 297711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 297811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 297911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 298011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer srcBuffer, 298111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage dstImage, 298211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout dstImageLayout, 298311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 298411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferImageCopy* pRegions); 298511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 298611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 298711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 298811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage srcImage, 298911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout srcImageLayout, 299011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer dstBuffer, 299111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 299211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferImageCopy* pRegions); 299311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 299411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 299511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 299611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer dstBuffer, 299711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize dstOffset, 299811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize dataSize, 299911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pData); 300011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 300111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 300211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 300311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer dstBuffer, 300411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize dstOffset, 300511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize size, 300611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t data); 300711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 300811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 300911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 301011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 301111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout imageLayout, 301211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkClearColorValue* pColor, 301311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t rangeCount, 301411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageSubresourceRange* pRanges); 301511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 301611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 301711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 301811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage image, 301911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout imageLayout, 302011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkClearDepthStencilValue* pDepthStencil, 302111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t rangeCount, 302211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageSubresourceRange* pRanges); 302311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 302411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 302511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 302611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t attachmentCount, 302711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkClearAttachment* pAttachments, 302811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t rectCount, 302911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkClearRect* pRects); 303011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 303111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 303211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 303311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage srcImage, 303411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout srcImageLayout, 303511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage dstImage, 303611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageLayout dstImageLayout, 303711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t regionCount, 303811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageResolve* pRegions); 303911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 304011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 304111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 304211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event, 304311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags stageMask); 304411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 304511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 304611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 304711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkEvent event, 304811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags stageMask); 304911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 305011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 305111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 305211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t eventCount, 305311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkEvent* pEvents, 305411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags srcStageMask, 305511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags dstStageMask, 305611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryBarrierCount, 305711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMemoryBarrier* pMemoryBarriers, 305811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bufferMemoryBarrierCount, 305911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferMemoryBarrier* pBufferMemoryBarriers, 306011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageMemoryBarrierCount, 306111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageMemoryBarrier* pImageMemoryBarriers); 306211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 306311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 306411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 306511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags srcStageMask, 306611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlags dstStageMask, 306711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDependencyFlags dependencyFlags, 306811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t memoryBarrierCount, 306911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMemoryBarrier* pMemoryBarriers, 307011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t bufferMemoryBarrierCount, 307111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkBufferMemoryBarrier* pBufferMemoryBarriers, 307211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageMemoryBarrierCount, 307311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkImageMemoryBarrier* pImageMemoryBarriers); 307411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 307511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 307611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 307711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 307811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t query, 307911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryControlFlags flags); 308011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 308111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 308211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 308311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 308411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t query); 308511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 308611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 308711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 308811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 308911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstQuery, 309011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queryCount); 309111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 309211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 309311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 309411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineStageFlagBits pipelineStage, 309511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 309611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t query); 309711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 309811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 309911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 310011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryPool queryPool, 310111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t firstQuery, 310211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queryCount, 310311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBuffer dstBuffer, 310411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize dstOffset, 310511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDeviceSize stride, 310611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueryResultFlags flags); 310711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 310811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 310911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 311011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPipelineLayout layout, 311111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkShaderStageFlags stageFlags, 311211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t offset, 311311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t size, 311411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pValues); 311511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 311611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 311711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 311811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkRenderPassBeginInfo* pRenderPassBegin, 311911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSubpassContents contents); 312011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 312111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 312211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 312311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSubpassContents contents); 312411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 312511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 312611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer); 312711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 312811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 312911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCommandBuffer commandBuffer, 313011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t commandBufferCount, 313111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkCommandBuffer* pCommandBuffers); 313211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 313311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 313411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_surface 1 313511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 313611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 313711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_SURFACE_SPEC_VERSION 25 313811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 313911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 314011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 314111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkColorSpaceKHR { 314211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0, 314311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLORSPACE_BEGIN_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, 314411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLORSPACE_END_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, 314511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLORSPACE_RANGE_SIZE = (VK_COLORSPACE_SRGB_NONLINEAR_KHR - VK_COLORSPACE_SRGB_NONLINEAR_KHR + 1), 314611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COLORSPACE_MAX_ENUM = 0x7FFFFFFF 314711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkColorSpaceKHR; 314811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 314911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkPresentModeKHR { 315011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 315111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_MAILBOX_KHR = 1, 315211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_FIFO_KHR = 2, 315311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 315411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_BEGIN_RANGE = VK_PRESENT_MODE_IMMEDIATE_KHR, 315511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_END_RANGE = VK_PRESENT_MODE_FIFO_RELAXED_KHR, 315611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_RANGE_SIZE = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), 315711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_PRESENT_MODE_MAX_ENUM = 0x7FFFFFFF 315811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPresentModeKHR; 315911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 316011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 316111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkSurfaceTransformFlagBitsKHR { 316211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 316311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 316411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 316511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 316611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 316711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 316811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 316911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 317011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 317111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSurfaceTransformFlagBitsKHR; 317211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSurfaceTransformFlagsKHR; 317311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 317411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkCompositeAlphaFlagBitsKHR { 317511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 317611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 317711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 317811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 317911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkCompositeAlphaFlagBitsKHR; 318011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkCompositeAlphaFlagsKHR; 318111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 318211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSurfaceCapabilitiesKHR { 318311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t minImageCount; 318411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageCount; 318511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D currentExtent; 318611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D minImageExtent; 318711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D maxImageExtent; 318811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t maxImageArrayLayers; 318911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceTransformFlagsKHR supportedTransforms; 319011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceTransformFlagBitsKHR currentTransform; 319111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 319211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageUsageFlags supportedUsageFlags; 319311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSurfaceCapabilitiesKHR; 319411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 319511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSurfaceFormatKHR { 319611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat format; 319711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkColorSpaceKHR colorSpace; 319811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSurfaceFormatKHR; 319911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 320011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 320111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 320211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 320311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 320411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 320511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 320611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 320711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 320811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 320911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 321011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface, 321111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 321211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 321311cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 321411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 321511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 321611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface, 321711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32* pSupported); 321811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 321911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 322011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 322111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface, 322211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 322311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 322411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 322511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 322611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface, 322711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pSurfaceFormatCount, 322811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceFormatKHR* pSurfaceFormats); 322911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 323011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 323111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 323211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface, 323311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPresentModeCount, 323411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPresentModeKHR* pPresentModes); 323511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 323611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 323711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_swapchain 1 323811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 323911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 324011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_SWAPCHAIN_SPEC_VERSION 67 324111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 324211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 324311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkSwapchainCreateFlagsKHR; 324411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 324511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkSwapchainCreateInfoKHR { 324611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 324711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 324811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainCreateFlagsKHR flags; 324911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR surface; 325011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t minImageCount; 325111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFormat imageFormat; 325211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkColorSpaceKHR imageColorSpace; 325311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D imageExtent; 325411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t imageArrayLayers; 325511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImageUsageFlags imageUsage; 325611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSharingMode imageSharingMode; 325711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndexCount; 325811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pQueueFamilyIndices; 325911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceTransformFlagBitsKHR preTransform; 326011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkCompositeAlphaFlagBitsKHR compositeAlpha; 326111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPresentModeKHR presentMode; 326211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 clipped; 326311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR oldSwapchain; 326411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkSwapchainCreateInfoKHR; 326511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 326611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkPresentInfoKHR { 326711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 326811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 326911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t waitSemaphoreCount; 327011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSemaphore* pWaitSemaphores; 327111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t swapchainCount; 327211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSwapchainKHR* pSwapchains; 327311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const uint32_t* pImageIndices; 327411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkResult* pResults; 327511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkPresentInfoKHR; 327611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 327711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 327811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 327911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 328011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 328111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 328211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 328311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 328411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 328511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 328611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 328711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSwapchainCreateInfoKHR* pCreateInfo, 328811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 328911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR* pSwapchain); 329011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 329111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 329211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 329311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR swapchain, 329411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 329511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 329611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 329711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 329811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR swapchain, 329911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pSwapchainImageCount, 330011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkImage* pSwapchainImages); 330111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 330211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 330311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 330411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR swapchain, 330511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint64_t timeout, 330611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSemaphore semaphore, 330711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkFence fence, 330811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pImageIndex); 330911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 331011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 331111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkQueue queue, 331211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkPresentInfoKHR* pPresentInfo); 331311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 331411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 331511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_display 1 331611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 331711cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 331811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 331911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_DISPLAY_SPEC_VERSION 21 332011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 332111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 332211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 332311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDisplayPlaneAlphaFlagBitsKHR { 332411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 332511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 332611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 332711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 332811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayPlaneAlphaFlagBitsKHR; 332911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDisplayModeCreateFlagsKHR; 333011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 333111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 333211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 333311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayPropertiesKHR { 333411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayKHR display; 333511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* displayName; 333611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D physicalDimensions; 333711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D physicalResolution; 333811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceTransformFlagsKHR supportedTransforms; 333911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 planeReorderPossible; 334011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 persistentContent; 334111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayPropertiesKHR; 334211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 334311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayModeParametersKHR { 334411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D visibleRegion; 334511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t refreshRate; 334611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayModeParametersKHR; 334711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 334811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayModePropertiesKHR { 334911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeKHR displayMode; 335011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeParametersKHR parameters; 335111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayModePropertiesKHR; 335211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 335311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayModeCreateInfoKHR { 335411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 335511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 335611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeCreateFlagsKHR flags; 335711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeParametersKHR parameters; 335811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayModeCreateInfoKHR; 335911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 336011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayPlaneCapabilitiesKHR { 336111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 336211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset2D minSrcPosition; 336311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset2D maxSrcPosition; 336411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D minSrcExtent; 336511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D maxSrcExtent; 336611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset2D minDstPosition; 336711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkOffset2D maxDstPosition; 336811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D minDstExtent; 336911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D maxDstExtent; 337011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayPlaneCapabilitiesKHR; 337111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 337211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayPlanePropertiesKHR { 337311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayKHR currentDisplay; 337411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t currentStackIndex; 337511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayPlanePropertiesKHR; 337611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 337711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplaySurfaceCreateInfoKHR { 337811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 337911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 338011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplaySurfaceCreateFlagsKHR flags; 338111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeKHR displayMode; 338211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t planeIndex; 338311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t planeStackIndex; 338411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceTransformFlagBitsKHR transform; 338511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert float globalAlpha; 338611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 338711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkExtent2D imageExtent; 338811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplaySurfaceCreateInfoKHR; 338911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 339011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 339111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 339211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 339311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 339411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 339511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR*pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 339611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 339711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 339811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 339911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 340011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 340111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 340211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 340311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayPropertiesKHR* pProperties); 340411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 340511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 340611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 340711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 340811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayPlanePropertiesKHR* pProperties); 340911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 341011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 341111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 341211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t planeIndex, 341311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pDisplayCount, 341411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayKHR* pDisplays); 341511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 341611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 341711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 341811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayKHR display, 341911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t* pPropertyCount, 342011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModePropertiesKHR* pProperties); 342111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 342211cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 342311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 342411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayKHR display, 342511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDisplayModeCreateInfoKHR* pCreateInfo, 342611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 342711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeKHR* pMode); 342811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 342911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 343011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 343111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayModeKHR mode, 343211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t planeIndex, 343311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDisplayPlaneCapabilitiesKHR* pCapabilities); 343411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 343511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 343611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 343711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 343811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 343911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 344011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 344111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 344211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_display_swapchain 1 344311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9 344411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 344511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 344611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDisplayPresentInfoKHR { 344711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 344811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 344911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRect2D srcRect; 345011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkRect2D dstRect; 345111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkBool32 persistent; 345211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDisplayPresentInfoKHR; 345311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 345411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 345511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 345611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 345711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 345811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 345911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDevice device, 346011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t swapchainCount, 346111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkSwapchainCreateInfoKHR* pCreateInfos, 346211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 346311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSwapchainKHR* pSwapchains); 346411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 346511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 346611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_XLIB_KHR 346711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_xlib_surface 1 346811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <X11/Xlib.h> 346911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 347011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 347111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" 347211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 347311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkXlibSurfaceCreateFlagsKHR; 347411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 347511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkXlibSurfaceCreateInfoKHR { 347611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 347711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 347811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkXlibSurfaceCreateFlagsKHR flags; 347911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Display* dpy; 348011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Window window; 348111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkXlibSurfaceCreateInfoKHR; 348211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 348311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 348411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 348511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID); 348611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 348711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 348811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( 348911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 349011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 349111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 349211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 349311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 349411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( 349511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 349611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 349711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Display* dpy, 349811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VisualID visualID); 349911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 350011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_XLIB_KHR */ 350111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 350211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_XCB_KHR 350311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_xcb_surface 1 350411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <xcb/xcb.h> 350511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 350611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 350711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface" 350811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 350911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkXcbSurfaceCreateFlagsKHR; 351011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 351111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkXcbSurfaceCreateInfoKHR { 351211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 351311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 351411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkXcbSurfaceCreateFlagsKHR flags; 351511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xcb_connection_t* connection; 351611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xcb_window_t window; 351711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkXcbSurfaceCreateInfoKHR; 351811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 351911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 352011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 352111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id); 352211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 352311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 352411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( 352511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 352611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 352711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 352811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 352911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 353011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR( 353111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 353211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 353311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xcb_connection_t* connection, 353411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert xcb_visualid_t visual_id); 353511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 353611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_XCB_KHR */ 353711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 353811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_WAYLAND_KHR 353911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_wayland_surface 1 354011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <wayland-client.h> 354111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 354211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 5 354311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface" 354411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 354511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkWaylandSurfaceCreateFlagsKHR; 354611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 354711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkWaylandSurfaceCreateInfoKHR { 354811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 354911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 355011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkWaylandSurfaceCreateFlagsKHR flags; 355111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct wl_display* display; 355211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct wl_surface* surface; 355311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkWaylandSurfaceCreateInfoKHR; 355411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 355511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 355611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 355711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display); 355811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 355911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 356011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR( 356111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 356211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 356311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 356411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 356511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 356611cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR( 356711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 356811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 356911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct wl_display* display); 357011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 357111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_WAYLAND_KHR */ 357211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 357311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_MIR_KHR 357411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_mir_surface 1 357511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <mir_toolkit/client_types.h> 357611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 357711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_MIR_SURFACE_SPEC_VERSION 4 357811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface" 357911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 358011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkMirSurfaceCreateFlagsKHR; 358111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 358211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkMirSurfaceCreateInfoKHR { 358311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 358411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 358511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkMirSurfaceCreateFlagsKHR flags; 358611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MirConnection* connection; 358711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MirSurface* mirSurface; 358811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkMirSurfaceCreateInfoKHR; 358911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 359011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 359111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 359211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection); 359311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 359411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 359511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR( 359611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 359711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkMirSurfaceCreateInfoKHR* pCreateInfo, 359811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 359911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 360011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 360111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR( 360211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 360311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex, 360411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MirConnection* connection); 360511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 360611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_MIR_KHR */ 360711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 360811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_ANDROID_KHR 360911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_android_surface 1 361011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <android/native_window.h> 361111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 361211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 361311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface" 361411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 361511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkAndroidSurfaceCreateFlagsKHR; 361611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 361711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkAndroidSurfaceCreateInfoKHR { 361811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 361911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 362011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkAndroidSurfaceCreateFlagsKHR flags; 362111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ANativeWindow* window; 362211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkAndroidSurfaceCreateInfoKHR; 362311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 362411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 362511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 362611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 362711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 362811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR( 362911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 363011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, 363111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 363211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 363311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 363411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_ANDROID_KHR */ 363511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 363611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef VK_USE_PLATFORM_WIN32_KHR 363711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_win32_surface 1 363811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <windows.h> 363911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 364011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 5 364111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" 364211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 364311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkWin32SurfaceCreateFlagsKHR; 364411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 364511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkWin32SurfaceCreateInfoKHR { 364611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 364711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 364811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkWin32SurfaceCreateFlagsKHR flags; 364911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert HINSTANCE hinstance; 365011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert HWND hwnd; 365111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkWin32SurfaceCreateInfoKHR; 365211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 365311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 365411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 365511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); 365611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 365711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 365811cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( 365911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 366011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 366111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 366211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkSurfaceKHR* pSurface); 366311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 366411cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( 366511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkPhysicalDevice physicalDevice, 366611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t queueFamilyIndex); 366711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 366811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* VK_USE_PLATFORM_WIN32_KHR */ 366911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 367011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_EXT_debug_report 1 367111cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 367211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 367311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 1 367411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 367511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 367611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 367711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDebugReportObjectTypeEXT { 367811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 367911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 368011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 368111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 368211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 368311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 368411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 368511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 368611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 368711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 368811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 368911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 369011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 369111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 369211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 369311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 369411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 369511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 369611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 369711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 369811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 369911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 370011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 370111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 370211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 370311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 370411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 370511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 370611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, 370711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDebugReportObjectTypeEXT; 370811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 370911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDebugReportErrorEXT { 371011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_ERROR_NONE_EXT = 0, 371111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1, 371211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDebugReportErrorEXT; 371311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 371411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 371511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef enum VkDebugReportFlagBitsEXT { 371611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 371711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 371811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 371911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 372011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 372111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDebugReportFlagBitsEXT; 372211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkFlags VkDebugReportFlagsEXT; 372311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 372411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 372511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportFlagsEXT flags, 372611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportObjectTypeEXT objectType, 372711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint64_t object, 372811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t location, 372911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t messageCode, 373011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pLayerPrefix, 373111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pMessage, 373211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData); 373311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 373411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 373511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct VkDebugReportCallbackCreateInfoEXT { 373611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkStructureType sType; 373711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const void* pNext; 373811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportFlagsEXT flags; 373911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert PFN_vkDebugReportCallbackEXT pfnCallback; 374011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* pUserData; 374111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} VkDebugReportCallbackCreateInfoEXT; 374211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 374311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 374411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 374511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 374611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef 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); 374711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 374811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef VK_NO_PROTOTYPES 374911cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 375011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 375111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 375211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator, 375311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportCallbackEXT* pCallback); 375411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 375511cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 375611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 375711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportCallbackEXT callback, 375811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const VkAllocationCallbacks* pAllocator); 375911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 376011cd02dfb91661c65134cac258cf5924270e9d2Dan AlbertVKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 376111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkInstance instance, 376211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportFlagsEXT flags, 376311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert VkDebugReportObjectTypeEXT objectType, 376411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint64_t object, 376511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert size_t location, 376611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int32_t messageCode, 376711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pLayerPrefix, 376811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char* pMessage); 376911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 377011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 377111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __cplusplus 377211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} 377311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 377411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 377511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 3776