vulkan.h revision 03b6fe1b099764c6010c173c1416ea102cdfe5a4
189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#ifndef __vulkan_h_ 289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define __vulkan_h_ 1 389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#ifdef __cplusplus 589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projectextern "C" { 689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#endif 789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project/* 989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** Copyright (c) 2015 The Khronos Group Inc. 1089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** 1189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** Permission is hereby granted, free of charge, to any person obtaining a 1289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** copy of this software and/or associated documentation files (the 1389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** "Materials"), to deal in the Materials without restriction, including 1489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** without limitation the rights to use, copy, modify, merge, publish, 1589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** distribute, sublicense, and/or sell copies of the Materials, and to 1689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** permit persons to whom the Materials are furnished to do so, subject to 1789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** the following conditions: 1889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** 1989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** The above copyright notice and this permission notice shall be included 2089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** in all copies or substantial portions of the Materials. 217562408b2261d38415453378b6188f74fda99d88Mathias Agopian** 2289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 231ab85ec401801ef9a9184650d0f5a1639b45eeb9Glenn Kasten** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 2589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 2689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2764760240f931714858a59c1579f07264d7182ba2Dima Zavin** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent*/ 30c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 3189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project/* 3289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** This header is generated from the Khronos Vulkan XML API Registry. 3389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project** 3489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project*/ 3589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 3689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 3789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_VERSION_1_0 1 3889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#include "vk_platform.h" 39211eeaf17e5565b68447d29799dbf158a33cf4cfGlenn Kasten 40c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent#define VK_MAKE_VERSION(major, minor, patch) \ 41c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent ((major << 22) | (minor << 12) | patch) 42f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten 435446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten// Vulkan API version supported by this file 445446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten#define VK_API_VERSION VK_MAKE_VERSION(0, 188, 0) 455446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten 465446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten 4789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_NULL_HANDLE 0 4889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 4989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 5089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 5189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_DEFINE_HANDLE(obj) typedef struct obj##_T* obj; 5289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 537fc9a6fdf146ded90b51c52f4a05d797294dcb85Glenn Kasten 5489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 5589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project #define VK_DEFINE_NONDISP_HANDLE(obj) typedef struct obj##_T *obj; 5689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#else 5789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project #define VK_DEFINE_NONDISP_HANDLE(obj) typedef uint64_t obj; 5889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#endif 5989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 605ff1dd576bb93c45b44088a51544a18fc43ebf58Steve Block 6189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 62e53b9ead781c36e96d6b6f012ddffc93a3d80f0dGlenn Kastentypedef uint32_t VkBool32; 6389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef uint32_t VkFlags; 6489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef uint64_t VkDeviceSize; 6589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef uint32_t VkSampleMask; 6689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 6789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_HANDLE(VkInstance) 6889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_HANDLE(VkPhysicalDevice) 69e53b9ead781c36e96d6b6f012ddffc93a3d80f0dGlenn KastenVK_DEFINE_HANDLE(VkDevice) 7089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_HANDLE(VkQueue) 7189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkSemaphore) 7289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_HANDLE(VkCmdBuffer) 7389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkFence) 7429357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47Steve BlockVK_DEFINE_NONDISP_HANDLE(VkDeviceMemory) 7589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkBuffer) 76c2f1f07084818942352c6bbfb36af9b6b330eb4eEric LaurentVK_DEFINE_NONDISP_HANDLE(VkImage) 7789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkEvent) 7889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkQueryPool) 7946291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkBufferView) 8046291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkImageView) 8146291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkShaderModule) 8246291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkShader) 8346291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkPipelineCache) 8446291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkPipelineLayout) 8546291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkRenderPass) 8646291616486979986cba3ab83e894728ef53063fEric LaurentVK_DEFINE_NONDISP_HANDLE(VkPipeline) 874944acb7355b3aa25748fd25945a363a69d65444Glenn KastenVK_DEFINE_NONDISP_HANDLE(VkDescriptorSetLayout) 884944acb7355b3aa25748fd25945a363a69d65444Glenn KastenVK_DEFINE_NONDISP_HANDLE(VkSampler) 8989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkDescriptorPool) 9089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkDescriptorSet) 9189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkFramebuffer) 9289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source ProjectVK_DEFINE_NONDISP_HANDLE(VkCmdPool) 9389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 944944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten#define VK_LOD_CLAMP_NONE 1000.0f 954944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten#define VK_REMAINING_MIP_LEVELS (~0U) 9689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_REMAINING_ARRAY_LAYERS (~0U) 9789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_WHOLE_SIZE (~0ULL) 9889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_ATTACHMENT_UNUSED (~0U) 9989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_TRUE 1 10089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_FALSE 0 10189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_QUEUE_FAMILY_IGNORED (~0U) 10289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_SUBPASS_EXTERNAL (~0U) 10389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_MAX_PHYSICAL_DEVICE_NAME 256 10489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_UUID_LENGTH 16 10589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_MAX_MEMORY_TYPES 32 10689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_MAX_MEMORY_HEAPS 16 10789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_MAX_EXTENSION_NAME 256 10889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project#define VK_MAX_DESCRIPTION 256 10989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 11089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 11189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 11289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_SUCCESS = 0, 11389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_NOT_READY = 1, 11489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_TIMEOUT = 2, 11589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_EVENT_SET = 3, 11689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_EVENT_RESET = 4, 11789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_INCOMPLETE = 5, 11889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_OUT_OF_HOST_MEMORY = -1, 11989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 12089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_INITIALIZATION_FAILED = -3, 12189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_DEVICE_LOST = -4, 12289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_MEMORY_MAP_FAILED = -5, 12389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_LAYER_NOT_PRESENT = -6, 12489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_EXTENSION_NOT_PRESENT = -7, 12589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_FEATURE_NOT_PRESENT = -8, 12689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_ERROR_INCOMPATIBLE_DRIVER = -9, 12789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_RESULT_BEGIN_RANGE = VK_ERROR_INCOMPATIBLE_DRIVER, 12889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_RESULT_END_RANGE = VK_INCOMPLETE, 12989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_RESULT_NUM = (VK_INCOMPLETE - VK_ERROR_INCOMPATIBLE_DRIVER + 1), 13089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_RESULT_MAX_ENUM = 0x7FFFFFFF 13189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project} VkResult; 13289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 13389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 13472ef00de10fa95bfcb948ed88ab9b7a177ed0b48Glenn Kasten VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 13572ef00de10fa95bfcb948ed88ab9b7a177ed0b48Glenn Kasten VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 1, 13689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO = 2, 137fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 3, 13889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 4, 13989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SHADER_CREATE_INFO = 5, 140c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 6, 14189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 7, 14289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 8, 14389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_CMD_BUFFER_ALLOC_INFO = 9, 144fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 14589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 11, 146fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 12, 14789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 13, 14889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 14, 14989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 15, 15089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 16, 15189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 17, 15289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 18, 15372ef00de10fa95bfcb948ed88ab9b7a177ed0b48Glenn Kasten VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 19, 15472ef00de10fa95bfcb948ed88ab9b7a177ed0b48Glenn Kasten VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO = 20, 15589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 21, 156fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 22, 15789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 23, 15889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 24, 159c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 25, 16089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 26, 16189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 27, 16289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO = 28, 163fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 29, 16489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_MEMORY_BARRIER = 30, 165fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 31, 16689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 32, 16789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 16889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 34, 16989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 35, 17089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 36, 17189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 37, 172f78aee70d15daf4690de7e7b4983ee68b0d1381dGlenn Kasten VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 38, 17389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 39, 174930f4caa1e311ef7ff538c421a324396157eb24fGlenn Kasten VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION = 40, 17589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION = 41, 17689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY = 42, 17789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 17889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_CMD_POOL_CREATE_INFO = 44, 17989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 45, 1804944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 46, 1814944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO = 47, 18289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_SUBMIT_INFO = 48, 18389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_LAYER_INSTANCE_CREATE_INFO = 49, 184c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO = 50, 18589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, 18689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO, 1874944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_STRUCTURE_TYPE_NUM = (VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), 1884944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 18989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project} VkStructureType; 190c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 191c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 19289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_SYSTEM_ALLOC_SCOPE_FUNCTION = 0, 193c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_SYSTEM_ALLOC_SCOPE_OBJECT = 1, 194c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_SYSTEM_ALLOC_SCOPE_CACHE = 2, 19589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_SYSTEM_ALLOC_SCOPE_DEVICE = 3, 19689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_SYSTEM_ALLOC_SCOPE_INSTANCE = 4, 197c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_SYSTEM_ALLOC_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOC_SCOPE_FUNCTION, 198c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_SYSTEM_ALLOC_SCOPE_END_RANGE = VK_SYSTEM_ALLOC_SCOPE_INSTANCE, 199c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_SYSTEM_ALLOC_SCOPE_NUM = (VK_SYSTEM_ALLOC_SCOPE_INSTANCE - VK_SYSTEM_ALLOC_SCOPE_FUNCTION + 1), 200c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_SYSTEM_ALLOC_SCOPE_MAX_ENUM = 0x7FFFFFFF 201c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten} VkSystemAllocScope; 202c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten 203c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kastentypedef enum { 204c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_INTERNAL_ALLOC_TYPE_EXECUTABLE = 0, 205c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_INTERNAL_ALLOC_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOC_TYPE_EXECUTABLE, 206c23885ebb142b9da31543789ecc3f7cf7111bc67Glenn Kasten VK_INTERNAL_ALLOC_TYPE_END_RANGE = VK_INTERNAL_ALLOC_TYPE_EXECUTABLE, 20789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_INTERNAL_ALLOC_TYPE_NUM = (VK_INTERNAL_ALLOC_TYPE_EXECUTABLE - VK_INTERNAL_ALLOC_TYPE_EXECUTABLE + 1), 20889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_INTERNAL_ALLOC_TYPE_MAX_ENUM = 0x7FFFFFFF 20989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project} VkInternalAllocType; 21089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 21189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 21289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_UNDEFINED = 0, 21389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R4G4_UNORM = 1, 21489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R4G4_USCALED = 2, 21589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R4G4B4A4_UNORM = 3, 21689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R4G4B4A4_USCALED = 4, 21789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R5G6B5_UNORM = 5, 218b8a805261bf0282e992d3608035e47d05a898710Steve Block VK_FORMAT_R5G6B5_USCALED = 6, 21989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R5G5B5A1_UNORM = 7, 22089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R5G5B5A1_USCALED = 8, 22189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_UNORM = 9, 22289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_SNORM = 10, 22389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_USCALED = 11, 22489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_SSCALED = 12, 22589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_UINT = 13, 226b8a805261bf0282e992d3608035e47d05a898710Steve Block VK_FORMAT_R8_SINT = 14, 22789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8_SRGB = 15, 22889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8G8_UNORM = 16, 22989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8G8_SNORM = 17, 23089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8G8_USCALED = 18, 2313b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17Glenn Kasten VK_FORMAT_R8G8_SSCALED = 19, 23289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R8G8_UINT = 20, 233c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8_SINT = 21, 234c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8_SRGB = 22, 235fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_R8G8B8_UNORM = 23, 236fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_R8G8B8_SNORM = 24, 237c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8_USCALED = 25, 238c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8_SSCALED = 26, 239fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_FORMAT_R8G8B8_UINT = 27, 240c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8_SINT = 28, 241c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8_SRGB = 29, 242c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8A8_UNORM = 30, 243c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R8G8B8A8_SNORM = 31, 2441a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R8G8B8A8_USCALED = 32, 2451a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R8G8B8A8_SSCALED = 33, 2461a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R8G8B8A8_UINT = 34, 2471a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R8G8B8A8_SINT = 35, 2481a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R8G8B8A8_SRGB = 36, 2493b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17Glenn Kasten VK_FORMAT_R10G10B10A2_UNORM = 37, 2501a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R10G10B10A2_SNORM = 38, 2511a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R10G10B10A2_USCALED = 39, 2521a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R10G10B10A2_SSCALED = 40, 253c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R10G10B10A2_UINT = 41, 254c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R10G10B10A2_SINT = 42, 255a0d68338a88c2ddb4502f95017b546d603ef1ec7Glenn Kasten VK_FORMAT_R16_UNORM = 43, 2563856b090cd04ba5dd4a59a12430ed724d5995909Steve Block VK_FORMAT_R16_SNORM = 44, 257c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16_USCALED = 45, 258c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16_SSCALED = 46, 259c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16_UINT = 47, 260c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16_SINT = 48, 261c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16_SFLOAT = 49, 2623856b090cd04ba5dd4a59a12430ed724d5995909Steve Block VK_FORMAT_R16G16_UNORM = 50, 263c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16_SNORM = 51, 264c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16_USCALED = 52, 265c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16_SSCALED = 53, 266f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_R16G16_UINT = 54, 267f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_R16G16_SINT = 55, 268f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_R16G16_SFLOAT = 56, 269f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_R16G16B16_UNORM = 57, 270f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_R16G16B16_SNORM = 58, 271c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16B16_USCALED = 59, 2723b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17Glenn Kasten VK_FORMAT_R16G16B16_SSCALED = 60, 27385ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten VK_FORMAT_R16G16B16_UINT = 61, 27489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R16G16B16_SINT = 62, 27589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R16G16B16_SFLOAT = 63, 27689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R16G16B16A16_UNORM = 64, 27789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R16G16B16A16_SNORM = 65, 278e33054eb968cbf8ccaee1b0ff0301403902deed6Glenn Kasten VK_FORMAT_R16G16B16A16_USCALED = 66, 27989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R16G16B16A16_SSCALED = 67, 280c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16B16A16_UINT = 68, 281c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R16G16B16A16_SINT = 69, 282fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_R16G16B16A16_SFLOAT = 70, 283fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_R32_UINT = 71, 284c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R32_SINT = 72, 28589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_R32_SFLOAT = 73, 286fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_FORMAT_R32G32_UINT = 74, 287c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R32G32_SINT = 75, 288c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R32G32_SFLOAT = 76, 289c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R32G32B32_UINT = 77, 290c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R32G32B32_SINT = 78, 2911a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R32G32B32_SFLOAT = 79, 2921a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R32G32B32A32_UINT = 80, 2931a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R32G32B32A32_SINT = 81, 2941a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R32G32B32A32_SFLOAT = 82, 2951a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R64_SFLOAT = 83, 296e33054eb968cbf8ccaee1b0ff0301403902deed6Glenn Kasten VK_FORMAT_R64G64_SFLOAT = 84, 2971a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R64G64B64_SFLOAT = 85, 2981a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R64G64B64A64_SFLOAT = 86, 2991a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_R11G11B10_UFLOAT = 87, 300c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_R9G9B9E5_UFLOAT = 88, 301c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_D16_UNORM = 89, 302a0d68338a88c2ddb4502f95017b546d603ef1ec7Glenn Kasten VK_FORMAT_D24_UNORM_X8 = 90, 303c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_D32_SFLOAT = 91, 304c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_S8_UINT = 92, 305c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_D16_UNORM_S8_UINT = 93, 306c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_D24_UNORM_S8_UINT = 94, 307c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_D32_SFLOAT_S8_UINT = 95, 308c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_BC1_RGB_UNORM = 96, 309c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_BC1_RGB_SRGB = 97, 310c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_BC1_RGBA_UNORM = 98, 311f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_BC1_RGBA_SRGB = 99, 312f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_BC2_UNORM = 100, 313f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_BC2_SRGB = 101, 314f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_BC3_UNORM = 102, 315f94006ca0f30c27868c284e553f57bf467ae92bcGlenn Kasten VK_FORMAT_BC3_SRGB = 103, 31648f7f5e8359909ddfc6492a79a8b9c44759ca6c3Eric Laurent VK_FORMAT_BC4_UNORM = 104, 31785ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten VK_FORMAT_BC4_SNORM = 105, 31885ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten VK_FORMAT_BC5_UNORM = 106, 31989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_BC5_SNORM = 107, 32089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_BC6H_UFLOAT = 108, 32189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_BC6H_SFLOAT = 109, 32289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_BC7_UNORM = 110, 323fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_FORMAT_BC7_SRGB = 111, 32489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_ETC2_R8G8B8_UNORM = 112, 325c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ETC2_R8G8B8_SRGB = 113, 326c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ETC2_R8G8B8A1_UNORM = 114, 327fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_ETC2_R8G8B8A1_SRGB = 115, 328fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_FORMAT_ETC2_R8G8B8A8_UNORM = 116, 329c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ETC2_R8G8B8A8_SRGB = 117, 33089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_EAC_R11_UNORM = 118, 331fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_FORMAT_EAC_R11_SNORM = 119, 332c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_EAC_R11G11_UNORM = 120, 333c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_EAC_R11G11_SNORM = 121, 334c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_4x4_UNORM = 122, 335c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_4x4_SRGB = 123, 336241618f1b286f9e7e02fe61e96d9194e2e1e8a7aGlenn Kasten VK_FORMAT_ASTC_5x4_UNORM = 124, 3371a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_5x4_SRGB = 125, 3381a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_5x5_UNORM = 126, 3391a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_5x5_SRGB = 127, 3401a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_6x5_UNORM = 128, 3411a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_6x5_SRGB = 129, 3421a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_6x6_UNORM = 130, 3431a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_FORMAT_ASTC_6x6_SRGB = 131, 344c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_8x5_UNORM = 132, 345c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_8x5_SRGB = 133, 346a0d68338a88c2ddb4502f95017b546d603ef1ec7Glenn Kasten VK_FORMAT_ASTC_8x6_UNORM = 134, 347c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_8x6_SRGB = 135, 348c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_8x8_UNORM = 136, 349c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_8x8_SRGB = 137, 350c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_10x5_UNORM = 138, 351c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_10x5_SRGB = 139, 352c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_10x6_UNORM = 140, 353c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_10x6_SRGB = 141, 354c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_ASTC_10x8_UNORM = 142, 35548f7f5e8359909ddfc6492a79a8b9c44759ca6c3Eric Laurent VK_FORMAT_ASTC_10x8_SRGB = 143, 356241618f1b286f9e7e02fe61e96d9194e2e1e8a7aGlenn Kasten VK_FORMAT_ASTC_10x10_UNORM = 144, 35789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_ASTC_10x10_SRGB = 145, 35889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_ASTC_12x10_UNORM = 146, 35989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_ASTC_12x10_SRGB = 147, 36089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_ASTC_12x12_UNORM = 148, 361dd8104cc5367262f0e5f13df4e79f131e8d560bbGlenn Kasten VK_FORMAT_ASTC_12x12_SRGB = 149, 362dd8104cc5367262f0e5f13df4e79f131e8d560bbGlenn Kasten VK_FORMAT_B4G4R4A4_UNORM = 150, 36389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_B5G5R5A1_UNORM = 151, 364f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B5G6R5_UNORM = 152, 36589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_B5G6R5_USCALED = 153, 366f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_UNORM = 154, 367f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_SNORM = 155, 368dd8104cc5367262f0e5f13df4e79f131e8d560bbGlenn Kasten VK_FORMAT_B8G8R8_USCALED = 156, 369f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_SSCALED = 157, 370f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_UINT = 158, 371f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_SINT = 159, 372f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8_SRGB = 160, 373f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B8G8R8A8_UNORM = 161, 374dd8104cc5367262f0e5f13df4e79f131e8d560bbGlenn Kasten VK_FORMAT_B8G8R8A8_SNORM = 162, 3755446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten VK_FORMAT_B8G8R8A8_USCALED = 163, 376cac3daa6332bf6d1f7d26adc4a9915f3d7992dd9Glenn Kasten VK_FORMAT_B8G8R8A8_SSCALED = 164, 3775446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten VK_FORMAT_B8G8R8A8_UINT = 165, 3785446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten VK_FORMAT_B8G8R8A8_SINT = 166, 3795446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten VK_FORMAT_B8G8R8A8_SRGB = 167, 3805446e541367061b53f45f3fd4600f9060680bca3Glenn Kasten VK_FORMAT_B10G10R10A2_UNORM = 168, 381f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_B10G10R10A2_SNORM = 169, 38289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_B10G10R10A2_USCALED = 170, 38389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_B10G10R10A2_SSCALED = 171, 384c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_B10G10R10A2_UINT = 172, 385dd8104cc5367262f0e5f13df4e79f131e8d560bbGlenn Kasten VK_FORMAT_B10G10R10A2_SINT = 173, 38689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, 387f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_END_RANGE = VK_FORMAT_B10G10R10A2_SINT, 388c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FORMAT_NUM = (VK_FORMAT_B10G10R10A2_SINT - VK_FORMAT_UNDEFINED + 1), 389f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 390f8c1a6f7ef515810356816b50bfe18af95f3ec32Glenn Kasten} VkFormat; 391c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 39289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 39389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_TYPE_1D = 0, 39489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_TYPE_2D = 1, 395f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent VK_IMAGE_TYPE_3D = 2, 396f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D, 397f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D, 398f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent VK_IMAGE_TYPE_NUM = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1), 399f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 400f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent} VkImageType; 401f0ee6f4055e26fb35d9c526a596668a4dc9da5baEric Laurent 402377b2ec9a2885f9b6405b07ba900a9e3f4349c38Kévin PETITtypedef enum { 403377b2ec9a2885f9b6405b07ba900a9e3f4349c38Kévin PETIT VK_IMAGE_TILING_LINEAR = 0, 404342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_IMAGE_TILING_OPTIMAL = 1, 405342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_LINEAR, 406342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_OPTIMAL, 407342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_IMAGE_TILING_NUM = (VK_IMAGE_TILING_OPTIMAL - VK_IMAGE_TILING_LINEAR + 1), 408fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 409fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin} VkImageTiling; 410342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent 411342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurenttypedef enum { 412ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 413ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 414ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 415ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 416ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 417342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER, 418342e9cf388cceb807def720e40e8b0a217f4bcaaEric Laurent VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU, 4194944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_PHYSICAL_DEVICE_TYPE_NUM = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1), 4204944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 42105bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent} VkPhysicalDeviceType; 4225f972c031d4061f4f037c9fda1ea4bd9b6a756cdGlenn Kasten 42305bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurenttypedef enum { 424be55a2d66f03e80524a346500ffa9fd046410b28Eric Laurent VK_QUERY_TYPE_OCCLUSION = 0, 42505bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 42605bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent VK_QUERY_TYPE_TIMESTAMP = 2, 42705bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION, 42805bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP, 42905bca2fde53bfe3063d2a0a877f2b6bfdd6052cfEric Laurent VK_QUERY_TYPE_NUM = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1), 4304944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 4314944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten} VkQueryType; 432be916aa1267e2e6b1c148f51d11bcbbc79cb864cEric Laurent 433be916aa1267e2e6b1c148f51d11bcbbc79cb864cEric Laurenttypedef enum { 434be916aa1267e2e6b1c148f51d11bcbbc79cb864cEric Laurent VK_SHARING_MODE_EXCLUSIVE = 0, 435be916aa1267e2e6b1c148f51d11bcbbc79cb864cEric Laurent VK_SHARING_MODE_CONCURRENT = 1, 436be916aa1267e2e6b1c148f51d11bcbbc79cb864cEric Laurent VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE, 437d457c970c8d08519cd77280a90b61ae1e342cfe3Marco Nelissen VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT, 4384944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_SHARING_MODE_NUM = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1), 4393a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 4403a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen} VkSharingMode; 441d457c970c8d08519cd77280a90b61ae1e342cfe3Marco Nelissen 4423a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissentypedef enum { 4433a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_UNDEFINED = 0, 4443a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_GENERAL = 1, 445d457c970c8d08519cd77280a90b61ae1e342cfe3Marco Nelissen VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 4464944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 4473a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 4483a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 449d457c970c8d08519cd77280a90b61ae1e342cfe3Marco Nelissen VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL = 6, 4503a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL = 7, 4513a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 4523a34befc6fb04a4945a849e8bda8b84e4bf973feMarco Nelissen VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED, 45389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED, 45489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_LAYOUT_NUM = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1), 4554944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 4564944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten} VkImageLayout; 45789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 45889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 459c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_IMAGE_VIEW_TYPE_1D = 0, 4600ef583f785528ef2785e6149d5964004cd1016b0Eric Laurent VK_IMAGE_VIEW_TYPE_2D = 1, 4610ef583f785528ef2785e6149d5964004cd1016b0Eric Laurent VK_IMAGE_VIEW_TYPE_3D = 2, 46289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_CUBE = 3, 46389fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 46489fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 46589fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 4665ff1dd576bb93c45b44088a51544a18fc43ebf58Steve Block VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D, 46789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, 46889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_IMAGE_VIEW_TYPE_NUM = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1), 46972ef00de10fa95bfcb948ed88ab9b7a177ed0b48Glenn Kasten VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 470b81cc8c6f3eec9edb255ea99b6a6f243585b1e38Glenn Kasten} VkImageViewType; 4713856b090cd04ba5dd4a59a12430ed724d5995909Steve Block 472b81cc8c6f3eec9edb255ea99b6a6f243585b1e38Glenn Kastentypedef enum { 473211eeaf17e5565b68447d29799dbf158a33cf4cfGlenn Kasten VK_CHANNEL_SWIZZLE_ZERO = 0, 474c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CHANNEL_SWIZZLE_ONE = 1, 475fa2877b9ea48baed934b866d2ab3658b69c4c869Eric Laurent VK_CHANNEL_SWIZZLE_R = 2, 47689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_CHANNEL_SWIZZLE_G = 3, 47789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_CHANNEL_SWIZZLE_B = 4, 47889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_CHANNEL_SWIZZLE_A = 5, 479c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CHANNEL_SWIZZLE_BEGIN_RANGE = VK_CHANNEL_SWIZZLE_ZERO, 480c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CHANNEL_SWIZZLE_END_RANGE = VK_CHANNEL_SWIZZLE_A, 481c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CHANNEL_SWIZZLE_NUM = (VK_CHANNEL_SWIZZLE_A - VK_CHANNEL_SWIZZLE_ZERO + 1), 482c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CHANNEL_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 483c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkChannelSwizzle; 4843856b090cd04ba5dd4a59a12430ed724d5995909Steve Block 485c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 486c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_VERTEX_INPUT_STEP_RATE_VERTEX = 0, 487a0d68338a88c2ddb4502f95017b546d603ef1ec7Glenn Kasten VK_VERTEX_INPUT_STEP_RATE_INSTANCE = 1, 488b81cc8c6f3eec9edb255ea99b6a6f243585b1e38Glenn Kasten VK_VERTEX_INPUT_STEP_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_STEP_RATE_VERTEX, 489c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_VERTEX_INPUT_STEP_RATE_END_RANGE = VK_VERTEX_INPUT_STEP_RATE_INSTANCE, 490c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_VERTEX_INPUT_STEP_RATE_NUM = (VK_VERTEX_INPUT_STEP_RATE_INSTANCE - VK_VERTEX_INPUT_STEP_RATE_VERTEX + 1), 491c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_VERTEX_INPUT_STEP_RATE_MAX_ENUM = 0x7FFFFFFF 492cac3daa6332bf6d1f7d26adc4a9915f3d7992dd9Glenn Kasten} VkVertexInputStepRate; 49385ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten 494fad226abd12435dbcd232f7de396f1a097b2bd5fGlenn Kastentypedef enum { 49585ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 496c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 497c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 498c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 49985007a9bd3c310f96fed47208dfee566fd00351fGlenn Kasten VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 500c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 501c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_LINE_LIST_ADJ = 6, 5023856b090cd04ba5dd4a59a12430ed724d5995909Steve Block VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_ADJ = 7, 503c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_ADJ = 8, 504c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_ADJ = 9, 505c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_PATCH = 10, 506c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, 507c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH, 508c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_NUM = (VK_PRIMITIVE_TOPOLOGY_PATCH - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1), 509c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 51085007a9bd3c310f96fed47208dfee566fd00351fGlenn Kasten} VkPrimitiveTopology; 511c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 512c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 513a0d68338a88c2ddb4502f95017b546d603ef1ec7Glenn Kasten VK_FILL_MODE_POINTS = 0, 514b81cc8c6f3eec9edb255ea99b6a6f243585b1e38Glenn Kasten VK_FILL_MODE_WIREFRAME = 1, 515c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FILL_MODE_SOLID = 2, 516cac3daa6332bf6d1f7d26adc4a9915f3d7992dd9Glenn Kasten VK_FILL_MODE_BEGIN_RANGE = VK_FILL_MODE_POINTS, 51785ab62c4b433df3f1a9826bed1c9bec07a86c750Glenn Kasten VK_FILL_MODE_END_RANGE = VK_FILL_MODE_SOLID, 518c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FILL_MODE_NUM = (VK_FILL_MODE_SOLID - VK_FILL_MODE_POINTS + 1), 519fad226abd12435dbcd232f7de396f1a097b2bd5fGlenn Kasten VK_FILL_MODE_MAX_ENUM = 0x7FFFFFFF 520c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkFillMode; 521c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 522c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 523c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_NONE = 0, 524c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_FRONT = 1, 525c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_BACK = 2, 526c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_FRONT_AND_BACK = 3, 527c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_BEGIN_RANGE = VK_CULL_MODE_NONE, 528c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_CULL_MODE_END_RANGE = VK_CULL_MODE_FRONT_AND_BACK, 52948f7f5e8359909ddfc6492a79a8b9c44759ca6c3Eric Laurent VK_CULL_MODE_NUM = (VK_CULL_MODE_FRONT_AND_BACK - VK_CULL_MODE_NONE + 1), 53089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_CULL_MODE_MAX_ENUM = 0x7FFFFFFF 53189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project} VkCullMode; 53289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project 5334944acb7355b3aa25748fd25945a363a69d65444Glenn Kastentypedef enum { 5344944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_FRONT_FACE_CCW = 0, 535c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FRONT_FACE_CW = 1, 536c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_CCW, 537c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CW, 538c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_FRONT_FACE_NUM = (VK_FRONT_FACE_CW - VK_FRONT_FACE_CCW + 1), 5394944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 5404944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten} VkFrontFace; 541e53b9ead781c36e96d6b6f012ddffc93a3d80f0dGlenn Kasten 542fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavintypedef enum { 543fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_COMPARE_OP_NEVER = 0, 544fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_COMPARE_OP_LESS = 1, 545fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_COMPARE_OP_EQUAL = 2, 54689fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_LESS_EQUAL = 3, 54789fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_GREATER = 4, 54889fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_NOT_EQUAL = 5, 54989fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_GREATER_EQUAL = 6, 55089fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_ALWAYS = 7, 55189fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER, 55289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Project VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS, 553c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_COMPARE_OP_NUM = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1), 554c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 555c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkCompareOp; 556c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 557c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 55818a6d9029e18a93748d3d9c33f04c1b360aeb7aeGlenn Kasten VK_STENCIL_OP_KEEP = 0, 559c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_ZERO = 1, 560c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_REPLACE = 2, 561c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_INC_CLAMP = 3, 5627fc9a6fdf146ded90b51c52f4a05d797294dcb85Glenn Kasten VK_STENCIL_OP_DEC_CLAMP = 4, 563c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_INVERT = 5, 564c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_INC_WRAP = 6, 565c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_DEC_WRAP = 7, 566c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP, 567c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DEC_WRAP, 568c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_STENCIL_OP_NUM = (VK_STENCIL_OP_DEC_WRAP - VK_STENCIL_OP_KEEP + 1), 5695ff1dd576bb93c45b44088a51544a18fc43ebf58Steve Block VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 570c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkStencilOp; 571e53b9ead781c36e96d6b6f012ddffc93a3d80f0dGlenn Kasten 572c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 573c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_CLEAR = 0, 574c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_AND = 1, 575c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_AND_REVERSE = 2, 576c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_COPY = 3, 577c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_AND_INVERTED = 4, 578c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_NOOP = 5, 579c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_XOR = 6, 580c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_OR = 7, 581c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_NOR = 8, 582c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_EQUIV = 9, 583c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_INVERT = 10, 584fb1fdc9d6603aa228362e7349451f6455c9849c2Glenn Kasten VK_LOGIC_OP_OR_REVERSE = 11, 585fb1fdc9d6603aa228362e7349451f6455c9849c2Glenn Kasten VK_LOGIC_OP_COPY_INVERTED = 12, 586fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_LOGIC_OP_OR_INVERTED = 13, 587fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_LOGIC_OP_NAND = 14, 588fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_LOGIC_OP_SET = 15, 589c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR, 590c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET, 59171b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_LOGIC_OP_NUM = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1), 59271b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 593c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkLogicOp; 594c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 59571b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurenttypedef enum { 59671b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_BLEND_ZERO = 0, 59771b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_BLEND_ONE = 1, 59871b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_BLEND_SRC_COLOR = 2, 59971b63e3ef687c379368be6b02e70bd2feb0b6b8dEric Laurent VK_BLEND_ONE_MINUS_SRC_COLOR = 3, 600c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_DEST_COLOR = 4, 601c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_DEST_COLOR = 5, 602fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_BLEND_SRC_ALPHA = 6, 603c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_SRC_ALPHA = 7, 604c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_DEST_ALPHA = 8, 605c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_DEST_ALPHA = 9, 606fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_BLEND_CONSTANT_COLOR = 10, 607c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_CONSTANT_COLOR = 11, 608c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_CONSTANT_ALPHA = 12, 609c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_CONSTANT_ALPHA = 13, 610c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_SRC_ALPHA_SATURATE = 14, 611f78aee70d15daf4690de7e7b4983ee68b0d1381dGlenn Kasten VK_BLEND_SRC1_COLOR = 15, 612c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_SRC1_COLOR = 16, 613347966c827883711d1ec631f204e4a6ab74e9d99Glenn Kasten VK_BLEND_SRC1_ALPHA = 17, 614c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_ONE_MINUS_SRC1_ALPHA = 18, 615c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_BEGIN_RANGE = VK_BLEND_ZERO, 616c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_END_RANGE = VK_BLEND_ONE_MINUS_SRC1_ALPHA, 617c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_NUM = (VK_BLEND_ONE_MINUS_SRC1_ALPHA - VK_BLEND_ZERO + 1), 618c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_MAX_ENUM = 0x7FFFFFFF 619c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkBlend; 620fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin 621c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 622c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_ADD = 0, 623c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_SUBTRACT = 1, 624c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_REVERSE_SUBTRACT = 2, 625c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_MIN = 3, 626c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_MAX = 4, 627fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD, 628c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX, 629c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BLEND_OP_NUM = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1), 630fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 631c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkBlendOp; 632c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 633c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 634c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DYNAMIC_STATE_VIEWPORT = 0, 635fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_DYNAMIC_STATE_SCISSOR = 1, 636c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DYNAMIC_STATE_LINE_WIDTH = 2, 63758f30210ea540b6ce5aa6a46330cd3499483cb97Glenn Kasten VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 638254af180475346b6186b49c297f340c9c4817511Glenn Kasten VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 639ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 640ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 641c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 6421a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 6431a9ed11a472493cac7f6dfcbfac2064526a493edEric Laurent VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT, 644ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE, 645c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DYNAMIC_STATE_NUM = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1), 646c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 647de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkDynamicState; 648fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin 649de070137f11d346fba77605bd76a44c040a618fcEric Laurenttypedef enum { 650c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_FILTER_NEAREST = 0, 651c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_FILTER_LINEAR = 1, 652c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_FILTER_BEGIN_RANGE = VK_TEX_FILTER_NEAREST, 653de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_TEX_FILTER_END_RANGE = VK_TEX_FILTER_LINEAR, 654c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_FILTER_NUM = (VK_TEX_FILTER_LINEAR - VK_TEX_FILTER_NEAREST + 1), 655c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_FILTER_MAX_ENUM = 0x7FFFFFFF 656de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkTexFilter; 657fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin 658de070137f11d346fba77605bd76a44c040a618fcEric Laurenttypedef enum { 659c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_BASE = 0, 660c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_NEAREST = 1, 661c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_LINEAR = 2, 662de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_TEX_MIPMAP_MODE_BEGIN_RANGE = VK_TEX_MIPMAP_MODE_BASE, 663c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_END_RANGE = VK_TEX_MIPMAP_MODE_LINEAR, 664c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_NUM = (VK_TEX_MIPMAP_MODE_LINEAR - VK_TEX_MIPMAP_MODE_BASE + 1), 665c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 666c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkTexMipmapMode; 667c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 668c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 669c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_ADDRESS_MODE_WRAP = 0, 670c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_ADDRESS_MODE_MIRROR = 1, 671c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_ADDRESS_MODE_CLAMP = 2, 672eba51fb3a361f67a6a64d5a16eba6084fe27d60eGlenn Kasten VK_TEX_ADDRESS_MODE_MIRROR_ONCE = 3, 673c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_ADDRESS_MODE_CLAMP_BORDER = 4, 67458f30210ea540b6ce5aa6a46330cd3499483cb97Glenn Kasten VK_TEX_ADDRESS_MODE_BEGIN_RANGE = VK_TEX_ADDRESS_MODE_WRAP, 675254af180475346b6186b49c297f340c9c4817511Glenn Kasten VK_TEX_ADDRESS_MODE_END_RANGE = VK_TEX_ADDRESS_MODE_CLAMP_BORDER, 6767c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent VK_TEX_ADDRESS_MODE_NUM = (VK_TEX_ADDRESS_MODE_CLAMP_BORDER - VK_TEX_ADDRESS_MODE_WRAP + 1), 677c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_TEX_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 678c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkTexAddressMode; 679fa2877b9ea48baed934b866d2ab3658b69c4c869Eric Laurent 680254af180475346b6186b49c297f340c9c4817511Glenn Kastentypedef enum { 681c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 682c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 683c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 684c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 685c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 686c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 687c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, 688c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE, 689c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_NUM = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1), 690c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 691c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkBorderColor; 692c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 693c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 694c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_SAMPLER = 0, 695c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 696c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 697c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 698c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 699c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 700c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 701c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 702c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 703c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 704fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 705c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER, 706c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 707c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_NUM = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1), 708c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 709c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkDescriptorType; 710c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 711c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 712c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_LOAD_OP_LOAD = 0, 71383844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 71483844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 71583844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD, 716c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE, 717c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_LOAD_OP_NUM = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1), 718c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 71983844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent} VkAttachmentLoadOp; 720c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 721c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 72283844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_STORE_OP_STORE = 0, 72383844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 72483844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE, 725c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE, 726c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_STORE_OP_NUM = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1), 727c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 72883844cc2f95dc279015b47fd1e18c7cb4eabe9a1Eric Laurent} VkAttachmentStoreOp; 729c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 730c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef enum { 731fce7a473248381cc83a01855f92581077d3c9ee2Dima Zavin VK_PIPELINE_BIND_POINT_COMPUTE = 0, 732de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_PIPELINE_BIND_POINT_GRAPHICS = 1, 733de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE, 734de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS, 735de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_PIPELINE_BIND_POINT_NUM = (VK_PIPELINE_BIND_POINT_GRAPHICS - VK_PIPELINE_BIND_POINT_COMPUTE + 1), 736de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 737de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkPipelineBindPoint; 7386374252107fd6539397598195ea6defd5870fafbEric Laurent 7396b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3Glenn Kastentypedef enum { 7406b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3Glenn Kasten VK_CMD_BUFFER_LEVEL_PRIMARY = 0, 7416374252107fd6539397598195ea6defd5870fafbEric Laurent VK_CMD_BUFFER_LEVEL_SECONDARY = 1, 7426b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3Glenn Kasten VK_CMD_BUFFER_LEVEL_BEGIN_RANGE = VK_CMD_BUFFER_LEVEL_PRIMARY, 7436b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3Glenn Kasten VK_CMD_BUFFER_LEVEL_END_RANGE = VK_CMD_BUFFER_LEVEL_SECONDARY, 7446b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3Glenn Kasten VK_CMD_BUFFER_LEVEL_NUM = (VK_CMD_BUFFER_LEVEL_SECONDARY - VK_CMD_BUFFER_LEVEL_PRIMARY + 1), 74558e5aa34f01d663654d8bafad65db1dda42161ffGlenn Kasten VK_CMD_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 746de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkCmdBufferLevel; 747de070137f11d346fba77605bd76a44c040a618fcEric Laurent 748efa6ea97022780b68e595e5326e30dbe2a799202Glenn Kastentypedef enum { 749efa6ea97022780b68e595e5326e30dbe2a799202Glenn Kasten VK_INDEX_TYPE_UINT16 = 0, 750de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_INDEX_TYPE_UINT32 = 1, 751de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, 752de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, 75358e5aa34f01d663654d8bafad65db1dda42161ffGlenn Kasten VK_INDEX_TYPE_NUM = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), 7547c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 755de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkIndexType; 756de070137f11d346fba77605bd76a44c040a618fcEric Laurent 757de070137f11d346fba77605bd76a44c040a618fcEric Laurenttypedef enum { 758de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_RENDER_PASS_CONTENTS_INLINE = 0, 759de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_RENDER_PASS_CONTENTS_SECONDARY_CMD_BUFFERS = 1, 760de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_RENDER_PASS_CONTENTS_BEGIN_RANGE = VK_RENDER_PASS_CONTENTS_INLINE, 7617c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent VK_RENDER_PASS_CONTENTS_END_RANGE = VK_RENDER_PASS_CONTENTS_SECONDARY_CMD_BUFFERS, 762de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_RENDER_PASS_CONTENTS_NUM = (VK_RENDER_PASS_CONTENTS_SECONDARY_CMD_BUFFERS - VK_RENDER_PASS_CONTENTS_INLINE + 1), 763de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_RENDER_PASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 764de070137f11d346fba77605bd76a44c040a618fcEric Laurent} VkRenderPassContents; 765de070137f11d346fba77605bd76a44c040a618fcEric Laurent 766de070137f11d346fba77605bd76a44c040a618fcEric Laurent 767de070137f11d346fba77605bd76a44c040a618fcEric Laurenttypedef enum { 768de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 769de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 770de070137f11d346fba77605bd76a44c040a618fcEric Laurent VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 771db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 772db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 773db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 774db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 775db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 776db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 777db7c079f284f6e91266f6653ae0ec198b1c5006eEric Laurent VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 778fff6d715a8db0daf08a50634f242c40268de3d49Glenn Kasten VK_FORMAT_FEATURE_BLIT_SOURCE_BIT = 0x00000400, 7797c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent VK_FORMAT_FEATURE_BLIT_DESTINATION_BIT = 0x00000800, 780eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurent} VkFormatFeatureFlagBits; 781eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurenttypedef VkFlags VkFormatFeatureFlags; 7827c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745Eric Laurent 783eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurenttypedef enum { 784eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurent VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT = 0x00000001, 785eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurent VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT = 0x00000002, 786eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurent VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 787272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 788272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 789272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 790272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 791272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 792272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi} VkImageUsageFlagBits; 793272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivitypedef VkFlags VkImageUsageFlags; 794272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi 795272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivitypedef enum { 796272ab546940054ad7991bef4b3a36f15175721cdJean-Michel Trivi VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 797d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 798d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 799d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 800d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 801d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi} VkImageCreateFlagBits; 802d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivitypedef VkFlags VkImageCreateFlags; 803d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi 804d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivitypedef enum { 805d7086030fcf731e4bcef6c033cc6418cd04e6b91Jean-Michel Trivi VK_SAMPLE_COUNT_1_BIT = 0x00000001, 8063b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17Glenn Kasten VK_SAMPLE_COUNT_2_BIT = 0x00000002, 807cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_SAMPLE_COUNT_4_BIT = 0x00000004, 808cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_SAMPLE_COUNT_8_BIT = 0x00000008, 809cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_SAMPLE_COUNT_16_BIT = 0x00000010, 810cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_SAMPLE_COUNT_32_BIT = 0x00000020, 811cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_SAMPLE_COUNT_64_BIT = 0x00000040, 812cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten} VkSampleCountFlagBits; 813e33054eb968cbf8ccaee1b0ff0301403902deed6Glenn Kastentypedef VkFlags VkSampleCountFlags; 814cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten 815cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kastentypedef enum { 816cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_QUEUE_GRAPHICS_BIT = 0x00000001, 817cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_QUEUE_COMPUTE_BIT = 0x00000002, 818cc0f1cfb69ce8b8985fc2c0984847a06a13ad22dGlenn Kasten VK_QUEUE_DMA_BIT = 0x00000004, 819eda6c364c253ba97ee45a3adeb8c2b45db1f81dbEric Laurent VK_QUEUE_SPARSE_MEMMGR_BIT = 0x00000008, 8204182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kasten} VkQueueFlagBits; 8214182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kastentypedef VkFlags VkQueueFlags; 8224182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kasten 8234182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kastentypedef enum { 8244182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kasten VK_MEMORY_PROPERTY_DEVICE_ONLY = 0, 8254182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kasten VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000001, 8264182c4e2a07e2441fcd5c22eaff0ddfe7f826f61Glenn Kasten VK_MEMORY_PROPERTY_HOST_NON_COHERENT_BIT = 0x00000002, 8279f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurent VK_MEMORY_PROPERTY_HOST_UNCACHED_BIT = 0x00000004, 8289f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurent VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000008, 8299f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurent} VkMemoryPropertyFlagBits; 8303856b090cd04ba5dd4a59a12430ed724d5995909Steve Blocktypedef VkFlags VkMemoryPropertyFlags; 8319f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurent 8329f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurenttypedef enum { 8339f6530f53ae9eda43f4e7c1cb30d2379db00aa00Eric Laurent VK_MEMORY_HEAP_HOST_LOCAL_BIT = 0x00000001, 834ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald} VkMemoryHeapFlagBits; 835ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgeraldtypedef VkFlags VkMemoryHeapFlags; 836ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgeraldtypedef VkFlags VkMemoryMapFlags; 837ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald 838ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgeraldtypedef enum { 839ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 840ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 841ad3af3305f024bcbbd55c894a4995e449498e1baRichard Fitzgerald VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 842c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 843c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent} VkImageAspectFlagBits; 8444944acb7355b3aa25748fd25945a363a69d65444Glenn Kasten 8454944acb7355b3aa25748fd25945a363a69d65444Glenn Kastentypedef enum { 846c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_SPARSE_IMAGE_FMT_SINGLE_MIPTAIL_BIT = 0x00000001, 847c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_SPARSE_IMAGE_FMT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 848c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent VK_SPARSE_IMAGE_FMT_NONSTD_BLOCK_SIZE_BIT = 0x00000004, 8495ff1dd576bb93c45b44088a51544a18fc43ebf58Steve Block} VkSparseImageFormatFlagBits; 850c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurenttypedef VkFlags VkSparseImageFormatFlags; 851c2f1f07084818942352c6bbfb36af9b6b330eb4eEric Laurent 85289fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5The Android Open Source Projecttypedef enum { 853 VK_SPARSE_MEMORY_BIND_REPLICATE_BLOCK_BIT = 0x00000001, 854} VkSparseMemoryBindFlagBits; 855typedef VkFlags VkSparseMemoryBindFlags; 856 857typedef enum { 858 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 859} VkFenceCreateFlagBits; 860typedef VkFlags VkFenceCreateFlags; 861typedef VkFlags VkSemaphoreCreateFlags; 862typedef VkFlags VkEventCreateFlags; 863 864typedef enum { 865 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 866 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 867 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 868 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 869 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 870 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 871 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 872 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 873 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 874 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 875 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 876} VkQueryPipelineStatisticFlagBits; 877typedef VkFlags VkQueryPipelineStatisticFlags; 878 879typedef enum { 880 VK_QUERY_RESULT_DEFAULT = 0, 881 VK_QUERY_RESULT_64_BIT = 0x00000001, 882 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 883 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 884 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 885} VkQueryResultFlagBits; 886typedef VkFlags VkQueryResultFlags; 887 888typedef enum { 889 VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT = 0x00000001, 890 VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT = 0x00000002, 891 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 892 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 893 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 894 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 895 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 896 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 897 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 898} VkBufferUsageFlagBits; 899typedef VkFlags VkBufferUsageFlags; 900 901typedef enum { 902 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 903 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 904 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 905} VkBufferCreateFlagBits; 906typedef VkFlags VkBufferCreateFlags; 907typedef VkFlags VkImageAspectFlags; 908 909typedef enum { 910 VK_IMAGE_VIEW_CREATE_READ_ONLY_DEPTH_BIT = 0x00000001, 911 VK_IMAGE_VIEW_CREATE_READ_ONLY_STENCIL_BIT = 0x00000002, 912} VkImageViewCreateFlagBits; 913typedef VkFlags VkImageViewCreateFlags; 914typedef VkFlags VkShaderModuleCreateFlags; 915typedef VkFlags VkShaderCreateFlags; 916 917typedef enum { 918 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 919 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 920 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 921 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 922 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 923 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 924 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 925} VkShaderStageFlagBits; 926 927typedef enum { 928 VK_CHANNEL_R_BIT = 0x00000001, 929 VK_CHANNEL_G_BIT = 0x00000002, 930 VK_CHANNEL_B_BIT = 0x00000004, 931 VK_CHANNEL_A_BIT = 0x00000008, 932} VkChannelFlagBits; 933typedef VkFlags VkChannelFlags; 934 935typedef enum { 936 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 937 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 938 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 939} VkPipelineCreateFlagBits; 940typedef VkFlags VkPipelineCreateFlags; 941typedef VkFlags VkShaderStageFlags; 942 943typedef enum { 944 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 945} VkDescriptorPoolCreateFlagBits; 946typedef VkFlags VkDescriptorPoolCreateFlags; 947typedef VkFlags VkDescriptorPoolResetFlags; 948 949typedef enum { 950 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 951} VkAttachmentDescriptionFlagBits; 952typedef VkFlags VkAttachmentDescriptionFlags; 953typedef VkFlags VkSubpassDescriptionFlags; 954 955typedef enum { 956 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 957 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 958 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 959 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 960 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 961 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 962 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 963 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 964 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 965 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 966 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 967 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 968 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 969 VK_PIPELINE_STAGE_HOST_BIT = 0x00002000, 970 VK_PIPELINE_STAGE_ALL_GRAPHICS = 0x000007FF, 971 VK_PIPELINE_STAGE_ALL_GPU_COMMANDS = 0x00001FFF, 972} VkPipelineStageFlagBits; 973typedef VkFlags VkPipelineStageFlags; 974 975typedef enum { 976 VK_MEMORY_OUTPUT_HOST_WRITE_BIT = 0x00000001, 977 VK_MEMORY_OUTPUT_SHADER_WRITE_BIT = 0x00000002, 978 VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT = 0x00000004, 979 VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000008, 980 VK_MEMORY_OUTPUT_TRANSFER_BIT = 0x00000010, 981} VkMemoryOutputFlagBits; 982typedef VkFlags VkMemoryOutputFlags; 983 984typedef enum { 985 VK_MEMORY_INPUT_HOST_READ_BIT = 0x00000001, 986 VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT = 0x00000002, 987 VK_MEMORY_INPUT_INDEX_FETCH_BIT = 0x00000004, 988 VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT = 0x00000008, 989 VK_MEMORY_INPUT_UNIFORM_READ_BIT = 0x00000010, 990 VK_MEMORY_INPUT_SHADER_READ_BIT = 0x00000020, 991 VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT = 0x00000040, 992 VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000080, 993 VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT = 0x00000100, 994 VK_MEMORY_INPUT_TRANSFER_BIT = 0x00000200, 995} VkMemoryInputFlagBits; 996typedef VkFlags VkMemoryInputFlags; 997 998typedef enum { 999 VK_CMD_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 1000 VK_CMD_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 1001} VkCmdPoolCreateFlagBits; 1002typedef VkFlags VkCmdPoolCreateFlags; 1003 1004typedef enum { 1005 VK_CMD_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1006} VkCmdPoolResetFlagBits; 1007typedef VkFlags VkCmdPoolResetFlags; 1008 1009typedef enum { 1010 VK_CMD_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 1011 VK_CMD_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 1012 VK_CMD_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 1013} VkCmdBufferUsageFlagBits; 1014typedef VkFlags VkCmdBufferUsageFlags; 1015 1016typedef enum { 1017 VK_CMD_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1018} VkCmdBufferResetFlagBits; 1019typedef VkFlags VkCmdBufferResetFlags; 1020 1021typedef enum { 1022 VK_STENCIL_FACE_NONE = 0, 1023 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 1024 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 1025} VkStencilFaceFlagBits; 1026typedef VkFlags VkStencilFaceFlags; 1027 1028typedef enum { 1029 VK_QUERY_CONTROL_CONSERVATIVE_BIT = 0x00000001, 1030} VkQueryControlFlagBits; 1031typedef VkFlags VkQueryControlFlags; 1032 1033typedef void* (VKAPI *PFN_vkAllocFunction)( 1034 void* pUserData, 1035 size_t size, 1036 size_t alignment, 1037 VkSystemAllocScope allocScope); 1038 1039typedef void* (VKAPI *PFN_vkReallocFunction)( 1040 void* pUserData, 1041 void* pOriginal, 1042 size_t size, 1043 size_t alignment, 1044 VkSystemAllocScope allocScope); 1045 1046typedef void (VKAPI *PFN_vkFreeFunction)( 1047 void* pUserData, 1048 void* pMem); 1049 1050typedef void (VKAPI *PFN_vkInternalAllocNotification)( 1051 void* pUserData, 1052 size_t size, 1053 VkInternalAllocType allocType, 1054 VkSystemAllocScope allocScope); 1055 1056typedef void (VKAPI *PFN_vkInternalFreeNotification)( 1057 void* pUserData, 1058 size_t size, 1059 VkInternalAllocType allocType, 1060 VkSystemAllocScope allocScope); 1061 1062typedef void (VKAPI *PFN_vkVoidFunction)(void); 1063 1064typedef struct { 1065 VkStructureType sType; 1066 const void* pNext; 1067 const char* pAppName; 1068 uint32_t appVersion; 1069 const char* pEngineName; 1070 uint32_t engineVersion; 1071 uint32_t apiVersion; 1072} VkApplicationInfo; 1073 1074typedef struct { 1075 VkStructureType sType; 1076 const void* pNext; 1077 const VkApplicationInfo* pAppInfo; 1078 uint32_t enabledLayerNameCount; 1079 const char*const* ppEnabledLayerNames; 1080 uint32_t enabledExtensionNameCount; 1081 const char*const* ppEnabledExtensionNames; 1082} VkInstanceCreateInfo; 1083 1084typedef struct { 1085 void* pUserData; 1086 PFN_vkAllocFunction pfnAlloc; 1087 PFN_vkReallocFunction pfnRealloc; 1088 PFN_vkFreeFunction pfnFree; 1089 PFN_vkInternalAllocNotification pfnInternalAlloc; 1090 PFN_vkInternalFreeNotification pfnInternalFree; 1091} VkAllocCallbacks; 1092 1093typedef struct { 1094 VkBool32 robustBufferAccess; 1095 VkBool32 fullDrawIndexUint32; 1096 VkBool32 imageCubeArray; 1097 VkBool32 independentBlend; 1098 VkBool32 geometryShader; 1099 VkBool32 tessellationShader; 1100 VkBool32 sampleRateShading; 1101 VkBool32 dualSourceBlend; 1102 VkBool32 logicOp; 1103 VkBool32 multiDrawIndirect; 1104 VkBool32 depthClamp; 1105 VkBool32 depthBiasClamp; 1106 VkBool32 fillModeNonSolid; 1107 VkBool32 depthBounds; 1108 VkBool32 wideLines; 1109 VkBool32 largePoints; 1110 VkBool32 alphaToOne; 1111 VkBool32 multiViewport; 1112 VkBool32 samplerAnisotropy; 1113 VkBool32 textureCompressionETC2; 1114 VkBool32 textureCompressionASTC_LDR; 1115 VkBool32 textureCompressionBC; 1116 VkBool32 occlusionQueryNonConservative; 1117 VkBool32 pipelineStatisticsQuery; 1118 VkBool32 vertexSideEffects; 1119 VkBool32 tessellationSideEffects; 1120 VkBool32 geometrySideEffects; 1121 VkBool32 fragmentSideEffects; 1122 VkBool32 shaderTessellationPointSize; 1123 VkBool32 shaderGeometryPointSize; 1124 VkBool32 shaderImageGatherExtended; 1125 VkBool32 shaderStorageImageExtendedFormats; 1126 VkBool32 shaderStorageImageMultisample; 1127 VkBool32 shaderUniformBufferArrayDynamicIndexing; 1128 VkBool32 shaderSampledImageArrayDynamicIndexing; 1129 VkBool32 shaderStorageBufferArrayDynamicIndexing; 1130 VkBool32 shaderStorageImageArrayDynamicIndexing; 1131 VkBool32 shaderClipDistance; 1132 VkBool32 shaderCullDistance; 1133 VkBool32 shaderFloat64; 1134 VkBool32 shaderInt64; 1135 VkBool32 shaderInt16; 1136 VkBool32 shaderResourceResidency; 1137 VkBool32 shaderResourceMinLOD; 1138 VkBool32 sparseBinding; 1139 VkBool32 sparseResidencyBuffer; 1140 VkBool32 sparseResidencyImage2D; 1141 VkBool32 sparseResidencyImage3D; 1142 VkBool32 sparseResidency2Samples; 1143 VkBool32 sparseResidency4Samples; 1144 VkBool32 sparseResidency8Samples; 1145 VkBool32 sparseResidency16Samples; 1146 VkBool32 sparseResidencyAliased; 1147} VkPhysicalDeviceFeatures; 1148 1149typedef struct { 1150 VkFormatFeatureFlags linearTilingFeatures; 1151 VkFormatFeatureFlags optimalTilingFeatures; 1152 VkFormatFeatureFlags bufferFeatures; 1153} VkFormatProperties; 1154 1155typedef struct { 1156 int32_t width; 1157 int32_t height; 1158 int32_t depth; 1159} VkExtent3D; 1160 1161typedef struct { 1162 VkExtent3D maxExtent; 1163 uint32_t maxMipLevels; 1164 uint32_t maxArrayLayers; 1165 VkSampleCountFlags sampleCounts; 1166 VkDeviceSize maxResourceSize; 1167} VkImageFormatProperties; 1168 1169typedef struct { 1170 uint32_t maxImageDimension1D; 1171 uint32_t maxImageDimension2D; 1172 uint32_t maxImageDimension3D; 1173 uint32_t maxImageDimensionCube; 1174 uint32_t maxImageArrayLayers; 1175 VkSampleCountFlags sampleCounts; 1176 uint32_t maxTexelBufferSize; 1177 uint32_t maxUniformBufferRange; 1178 uint32_t maxStorageBufferRange; 1179 uint32_t maxPushConstantsSize; 1180 uint32_t maxMemoryAllocationCount; 1181 VkDeviceSize bufferImageGranularity; 1182 VkDeviceSize sparseAddressSpaceSize; 1183 uint32_t maxBoundDescriptorSets; 1184 uint32_t maxPerStageDescriptorSamplers; 1185 uint32_t maxPerStageDescriptorUniformBuffers; 1186 uint32_t maxPerStageDescriptorStorageBuffers; 1187 uint32_t maxPerStageDescriptorSampledImages; 1188 uint32_t maxPerStageDescriptorStorageImages; 1189 uint32_t maxDescriptorSetSamplers; 1190 uint32_t maxDescriptorSetUniformBuffers; 1191 uint32_t maxDescriptorSetUniformBuffersDynamic; 1192 uint32_t maxDescriptorSetStorageBuffers; 1193 uint32_t maxDescriptorSetStorageBuffersDynamic; 1194 uint32_t maxDescriptorSetSampledImages; 1195 uint32_t maxDescriptorSetStorageImages; 1196 uint32_t maxVertexInputAttributes; 1197 uint32_t maxVertexInputBindings; 1198 uint32_t maxVertexInputAttributeOffset; 1199 uint32_t maxVertexInputBindingStride; 1200 uint32_t maxVertexOutputComponents; 1201 uint32_t maxTessellationGenLevel; 1202 uint32_t maxTessellationPatchSize; 1203 uint32_t maxTessellationControlPerVertexInputComponents; 1204 uint32_t maxTessellationControlPerVertexOutputComponents; 1205 uint32_t maxTessellationControlPerPatchOutputComponents; 1206 uint32_t maxTessellationControlTotalOutputComponents; 1207 uint32_t maxTessellationEvaluationInputComponents; 1208 uint32_t maxTessellationEvaluationOutputComponents; 1209 uint32_t maxGeometryShaderInvocations; 1210 uint32_t maxGeometryInputComponents; 1211 uint32_t maxGeometryOutputComponents; 1212 uint32_t maxGeometryOutputVertices; 1213 uint32_t maxGeometryTotalOutputComponents; 1214 uint32_t maxFragmentInputComponents; 1215 uint32_t maxFragmentOutputAttachments; 1216 uint32_t maxFragmentDualSourceAttachments; 1217 uint32_t maxFragmentCombinedOutputResources; 1218 uint32_t maxComputeSharedMemorySize; 1219 uint32_t maxComputeWorkGroupCount[3]; 1220 uint32_t maxComputeWorkGroupInvocations; 1221 uint32_t maxComputeWorkGroupSize[3]; 1222 uint32_t subPixelPrecisionBits; 1223 uint32_t subTexelPrecisionBits; 1224 uint32_t mipmapPrecisionBits; 1225 uint32_t maxDrawIndexedIndexValue; 1226 uint32_t maxDrawIndirectInstanceCount; 1227 float maxSamplerLodBias; 1228 float maxSamplerAnisotropy; 1229 uint32_t maxViewports; 1230 uint32_t maxViewportDimensions[2]; 1231 float viewportBoundsRange[2]; 1232 uint32_t viewportSubPixelBits; 1233 uint32_t minMemoryMapAlignment; 1234 uint32_t minTexelBufferOffsetAlignment; 1235 uint32_t minUniformBufferOffsetAlignment; 1236 uint32_t minStorageBufferOffsetAlignment; 1237 int32_t minTexelOffset; 1238 uint32_t maxTexelOffset; 1239 int32_t minTexelGatherOffset; 1240 uint32_t maxTexelGatherOffset; 1241 float minInterpolationOffset; 1242 float maxInterpolationOffset; 1243 uint32_t subPixelInterpolationOffsetBits; 1244 uint32_t maxFramebufferWidth; 1245 uint32_t maxFramebufferHeight; 1246 uint32_t maxFramebufferLayers; 1247 uint32_t maxFramebufferColorSamples; 1248 uint32_t maxFramebufferDepthSamples; 1249 uint32_t maxFramebufferStencilSamples; 1250 uint32_t maxColorAttachments; 1251 uint32_t maxSampledImageColorSamples; 1252 uint32_t maxSampledImageDepthSamples; 1253 uint32_t maxSampledImageIntegerSamples; 1254 uint32_t maxStorageImageSamples; 1255 uint32_t maxSampleMaskWords; 1256 float timestampPeriod; 1257 uint32_t maxClipDistances; 1258 uint32_t maxCullDistances; 1259 uint32_t maxCombinedClipAndCullDistances; 1260 uint32_t discreteQueuePriorities; 1261 float pointSizeRange[2]; 1262 float lineWidthRange[2]; 1263 float pointSizeGranularity; 1264 float lineWidthGranularity; 1265 VkBool32 strictLines; 1266 uint32_t recommendedBufferCopyOffsetAlignment; 1267 uint32_t recommendedBufferCopyRowPitchAlignment; 1268} VkPhysicalDeviceLimits; 1269 1270typedef struct { 1271 VkBool32 residencyStandard2DBlockShape; 1272 VkBool32 residencyStandard2DMSBlockShape; 1273 VkBool32 residencyStandard3DBlockShape; 1274 VkBool32 residencyAlignedMipSize; 1275 VkBool32 residencyNonResident; 1276 VkBool32 residencyNonResidentStrict; 1277} VkPhysicalDeviceSparseProperties; 1278 1279typedef struct { 1280 uint32_t apiVersion; 1281 uint32_t driverVersion; 1282 uint32_t vendorId; 1283 uint32_t deviceId; 1284 VkPhysicalDeviceType deviceType; 1285 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME]; 1286 uint8_t pipelineCacheUUID[VK_UUID_LENGTH]; 1287 VkPhysicalDeviceLimits limits; 1288 VkPhysicalDeviceSparseProperties sparseProperties; 1289} VkPhysicalDeviceProperties; 1290 1291typedef struct { 1292 VkQueueFlags queueFlags; 1293 uint32_t queueCount; 1294 uint32_t timestampValidBits; 1295} VkQueueFamilyProperties; 1296 1297typedef struct { 1298 VkMemoryPropertyFlags propertyFlags; 1299 uint32_t heapIndex; 1300} VkMemoryType; 1301 1302typedef struct { 1303 VkDeviceSize size; 1304 VkMemoryHeapFlags flags; 1305} VkMemoryHeap; 1306 1307typedef struct { 1308 uint32_t memoryTypeCount; 1309 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 1310 uint32_t memoryHeapCount; 1311 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 1312} VkPhysicalDeviceMemoryProperties; 1313 1314typedef struct { 1315 VkStructureType sType; 1316 const void* pNext; 1317 uint32_t queueFamilyIndex; 1318 uint32_t queuePriorityCount; 1319 const float* pQueuePriorities; 1320} VkDeviceQueueCreateInfo; 1321 1322typedef struct { 1323 VkStructureType sType; 1324 const void* pNext; 1325 uint32_t requestedQueueCount; 1326 const VkDeviceQueueCreateInfo* pRequestedQueues; 1327 uint32_t enabledLayerNameCount; 1328 const char*const* ppEnabledLayerNames; 1329 uint32_t enabledExtensionNameCount; 1330 const char*const* ppEnabledExtensionNames; 1331 const VkPhysicalDeviceFeatures* pEnabledFeatures; 1332} VkDeviceCreateInfo; 1333 1334typedef struct { 1335 char extName[VK_MAX_EXTENSION_NAME]; 1336 uint32_t specVersion; 1337} VkExtensionProperties; 1338 1339typedef struct { 1340 char layerName[VK_MAX_EXTENSION_NAME]; 1341 uint32_t specVersion; 1342 uint32_t implVersion; 1343 char description[VK_MAX_DESCRIPTION]; 1344} VkLayerProperties; 1345 1346typedef struct { 1347 VkStructureType sType; 1348 const void* pNext; 1349 uint32_t waitSemaphoreCount; 1350 const VkSemaphore* pWaitSemaphores; 1351 uint32_t commandBufferCount; 1352 const VkCmdBuffer* pCommandBuffers; 1353 uint32_t signalSemaphoreCount; 1354 const VkSemaphore* pSignalSemaphores; 1355} VkSubmitInfo; 1356 1357typedef struct { 1358 VkStructureType sType; 1359 const void* pNext; 1360 VkDeviceSize allocationSize; 1361 uint32_t memoryTypeIndex; 1362} VkMemoryAllocInfo; 1363 1364typedef struct { 1365 VkStructureType sType; 1366 const void* pNext; 1367 VkDeviceMemory mem; 1368 VkDeviceSize offset; 1369 VkDeviceSize size; 1370} VkMappedMemoryRange; 1371 1372typedef struct { 1373 VkDeviceSize size; 1374 VkDeviceSize alignment; 1375 uint32_t memoryTypeBits; 1376} VkMemoryRequirements; 1377 1378typedef struct { 1379 VkImageAspectFlagBits aspect; 1380 VkExtent3D imageGranularity; 1381 VkSparseImageFormatFlags flags; 1382} VkSparseImageFormatProperties; 1383 1384typedef struct { 1385 VkSparseImageFormatProperties formatProps; 1386 uint32_t imageMipTailStartLOD; 1387 VkDeviceSize imageMipTailSize; 1388 VkDeviceSize imageMipTailOffset; 1389 VkDeviceSize imageMipTailStride; 1390} VkSparseImageMemoryRequirements; 1391 1392typedef struct { 1393 VkDeviceSize rangeOffset; 1394 VkDeviceSize rangeSize; 1395 VkDeviceSize memOffset; 1396 VkDeviceMemory mem; 1397 VkSparseMemoryBindFlags flags; 1398} VkSparseMemoryBindInfo; 1399 1400typedef struct { 1401 VkImageAspectFlagBits aspect; 1402 uint32_t mipLevel; 1403 uint32_t arrayLayer; 1404} VkImageSubresource; 1405 1406typedef struct { 1407 int32_t x; 1408 int32_t y; 1409 int32_t z; 1410} VkOffset3D; 1411 1412typedef struct { 1413 VkImageSubresource subresource; 1414 VkOffset3D offset; 1415 VkExtent3D extent; 1416 VkDeviceSize memOffset; 1417 VkDeviceMemory mem; 1418 VkSparseMemoryBindFlags flags; 1419} VkSparseImageMemoryBindInfo; 1420 1421typedef struct { 1422 VkStructureType sType; 1423 const void* pNext; 1424 VkFenceCreateFlags flags; 1425} VkFenceCreateInfo; 1426 1427typedef struct { 1428 VkStructureType sType; 1429 const void* pNext; 1430 VkSemaphoreCreateFlags flags; 1431} VkSemaphoreCreateInfo; 1432 1433typedef struct { 1434 VkStructureType sType; 1435 const void* pNext; 1436 VkEventCreateFlags flags; 1437} VkEventCreateInfo; 1438 1439typedef struct { 1440 VkStructureType sType; 1441 const void* pNext; 1442 VkQueryType queryType; 1443 uint32_t slots; 1444 VkQueryPipelineStatisticFlags pipelineStatistics; 1445} VkQueryPoolCreateInfo; 1446 1447typedef struct { 1448 VkStructureType sType; 1449 const void* pNext; 1450 VkDeviceSize size; 1451 VkBufferUsageFlags usage; 1452 VkBufferCreateFlags flags; 1453 VkSharingMode sharingMode; 1454 uint32_t queueFamilyIndexCount; 1455 const uint32_t* pQueueFamilyIndices; 1456} VkBufferCreateInfo; 1457 1458typedef struct { 1459 VkStructureType sType; 1460 const void* pNext; 1461 VkBuffer buffer; 1462 VkFormat format; 1463 VkDeviceSize offset; 1464 VkDeviceSize range; 1465} VkBufferViewCreateInfo; 1466 1467typedef struct { 1468 VkStructureType sType; 1469 const void* pNext; 1470 VkImageType imageType; 1471 VkFormat format; 1472 VkExtent3D extent; 1473 uint32_t mipLevels; 1474 uint32_t arrayLayers; 1475 uint32_t samples; 1476 VkImageTiling tiling; 1477 VkImageUsageFlags usage; 1478 VkImageCreateFlags flags; 1479 VkSharingMode sharingMode; 1480 uint32_t queueFamilyIndexCount; 1481 const uint32_t* pQueueFamilyIndices; 1482 VkImageLayout initialLayout; 1483} VkImageCreateInfo; 1484 1485typedef struct { 1486 VkDeviceSize offset; 1487 VkDeviceSize size; 1488 VkDeviceSize rowPitch; 1489 VkDeviceSize depthPitch; 1490} VkSubresourceLayout; 1491 1492typedef struct { 1493 VkChannelSwizzle r; 1494 VkChannelSwizzle g; 1495 VkChannelSwizzle b; 1496 VkChannelSwizzle a; 1497} VkChannelMapping; 1498 1499typedef struct { 1500 VkImageAspectFlags aspectMask; 1501 uint32_t baseMipLevel; 1502 uint32_t numLevels; 1503 uint32_t baseArrayLayer; 1504 uint32_t numLayers; 1505} VkImageSubresourceRange; 1506 1507typedef struct { 1508 VkStructureType sType; 1509 const void* pNext; 1510 VkImage image; 1511 VkImageViewType viewType; 1512 VkFormat format; 1513 VkChannelMapping channels; 1514 VkImageSubresourceRange subresourceRange; 1515 VkImageViewCreateFlags flags; 1516} VkImageViewCreateInfo; 1517 1518typedef struct { 1519 VkStructureType sType; 1520 const void* pNext; 1521 size_t codeSize; 1522 const uint32_t* pCode; 1523 VkShaderModuleCreateFlags flags; 1524} VkShaderModuleCreateInfo; 1525 1526typedef struct { 1527 VkStructureType sType; 1528 const void* pNext; 1529 VkShaderModule module; 1530 const char* pName; 1531 VkShaderCreateFlags flags; 1532 VkShaderStageFlagBits stage; 1533} VkShaderCreateInfo; 1534 1535typedef struct { 1536 VkStructureType sType; 1537 const void* pNext; 1538 size_t initialSize; 1539 const void* initialData; 1540 size_t maxSize; 1541} VkPipelineCacheCreateInfo; 1542 1543typedef struct { 1544 uint32_t constantId; 1545 size_t size; 1546 uint32_t offset; 1547} VkSpecializationMapEntry; 1548 1549typedef struct { 1550 uint32_t mapEntryCount; 1551 const VkSpecializationMapEntry* pMap; 1552 size_t dataSize; 1553 const void* pData; 1554} VkSpecializationInfo; 1555 1556typedef struct { 1557 VkStructureType sType; 1558 const void* pNext; 1559 VkShader shader; 1560 const VkSpecializationInfo* pSpecializationInfo; 1561} VkPipelineShaderStageCreateInfo; 1562 1563typedef struct { 1564 uint32_t binding; 1565 uint32_t strideInBytes; 1566 VkVertexInputStepRate stepRate; 1567} VkVertexInputBindingDescription; 1568 1569typedef struct { 1570 uint32_t location; 1571 uint32_t binding; 1572 VkFormat format; 1573 uint32_t offsetInBytes; 1574} VkVertexInputAttributeDescription; 1575 1576typedef struct { 1577 VkStructureType sType; 1578 const void* pNext; 1579 uint32_t vertexBindingDescriptionCount; 1580 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 1581 uint32_t vertexAttributeDescriptionCount; 1582 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 1583} VkPipelineVertexInputStateCreateInfo; 1584 1585typedef struct { 1586 VkStructureType sType; 1587 const void* pNext; 1588 VkPrimitiveTopology topology; 1589 VkBool32 primitiveRestartEnable; 1590} VkPipelineInputAssemblyStateCreateInfo; 1591 1592typedef struct { 1593 VkStructureType sType; 1594 const void* pNext; 1595 uint32_t patchControlPoints; 1596} VkPipelineTessellationStateCreateInfo; 1597 1598typedef struct { 1599 float originX; 1600 float originY; 1601 float width; 1602 float height; 1603 float minDepth; 1604 float maxDepth; 1605} VkViewport; 1606 1607typedef struct { 1608 int32_t x; 1609 int32_t y; 1610} VkOffset2D; 1611 1612typedef struct { 1613 int32_t width; 1614 int32_t height; 1615} VkExtent2D; 1616 1617typedef struct { 1618 VkOffset2D offset; 1619 VkExtent2D extent; 1620} VkRect2D; 1621 1622typedef struct { 1623 VkStructureType sType; 1624 const void* pNext; 1625 uint32_t viewportCount; 1626 const VkViewport* pViewports; 1627 uint32_t scissorCount; 1628 const VkRect2D* pScissors; 1629} VkPipelineViewportStateCreateInfo; 1630 1631typedef struct { 1632 VkStructureType sType; 1633 const void* pNext; 1634 VkBool32 depthClampEnable; 1635 VkBool32 rasterizerDiscardEnable; 1636 VkFillMode fillMode; 1637 VkCullMode cullMode; 1638 VkFrontFace frontFace; 1639 VkBool32 depthBiasEnable; 1640 float depthBiasConstantFactor; 1641 float depthBiasClamp; 1642 float depthBiasSlopeFactor; 1643 float lineWidth; 1644} VkPipelineRasterStateCreateInfo; 1645 1646typedef struct { 1647 VkStructureType sType; 1648 const void* pNext; 1649 uint32_t rasterSamples; 1650 VkBool32 sampleShadingEnable; 1651 float minSampleShading; 1652 const VkSampleMask* pSampleMask; 1653 VkBool32 alphaToCoverageEnable; 1654 VkBool32 alphaToOneEnable; 1655} VkPipelineMultisampleStateCreateInfo; 1656 1657typedef struct { 1658 VkStencilOp stencilFailOp; 1659 VkStencilOp stencilPassOp; 1660 VkStencilOp stencilDepthFailOp; 1661 VkCompareOp stencilCompareOp; 1662 uint32_t stencilCompareMask; 1663 uint32_t stencilWriteMask; 1664 uint32_t stencilReference; 1665} VkStencilOpState; 1666 1667typedef struct { 1668 VkStructureType sType; 1669 const void* pNext; 1670 VkBool32 depthTestEnable; 1671 VkBool32 depthWriteEnable; 1672 VkCompareOp depthCompareOp; 1673 VkBool32 depthBoundsTestEnable; 1674 VkBool32 stencilTestEnable; 1675 VkStencilOpState front; 1676 VkStencilOpState back; 1677 float minDepthBounds; 1678 float maxDepthBounds; 1679} VkPipelineDepthStencilStateCreateInfo; 1680 1681typedef struct { 1682 VkBool32 blendEnable; 1683 VkBlend srcBlendColor; 1684 VkBlend destBlendColor; 1685 VkBlendOp blendOpColor; 1686 VkBlend srcBlendAlpha; 1687 VkBlend destBlendAlpha; 1688 VkBlendOp blendOpAlpha; 1689 VkChannelFlags channelWriteMask; 1690} VkPipelineColorBlendAttachmentState; 1691 1692typedef struct { 1693 VkStructureType sType; 1694 const void* pNext; 1695 VkBool32 logicOpEnable; 1696 VkLogicOp logicOp; 1697 uint32_t attachmentCount; 1698 const VkPipelineColorBlendAttachmentState* pAttachments; 1699 float blendConst[4]; 1700} VkPipelineColorBlendStateCreateInfo; 1701 1702typedef struct { 1703 VkStructureType sType; 1704 const void* pNext; 1705 uint32_t dynamicStateCount; 1706 const VkDynamicState* pDynamicStates; 1707} VkPipelineDynamicStateCreateInfo; 1708 1709typedef struct { 1710 VkStructureType sType; 1711 const void* pNext; 1712 uint32_t stageCount; 1713 const VkPipelineShaderStageCreateInfo* pStages; 1714 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 1715 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 1716 const VkPipelineTessellationStateCreateInfo* pTessellationState; 1717 const VkPipelineViewportStateCreateInfo* pViewportState; 1718 const VkPipelineRasterStateCreateInfo* pRasterState; 1719 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 1720 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 1721 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 1722 const VkPipelineDynamicStateCreateInfo* pDynamicState; 1723 VkPipelineCreateFlags flags; 1724 VkPipelineLayout layout; 1725 VkRenderPass renderPass; 1726 uint32_t subpass; 1727 VkPipeline basePipelineHandle; 1728 int32_t basePipelineIndex; 1729} VkGraphicsPipelineCreateInfo; 1730 1731typedef struct { 1732 VkStructureType sType; 1733 const void* pNext; 1734 VkPipelineShaderStageCreateInfo stage; 1735 VkPipelineCreateFlags flags; 1736 VkPipelineLayout layout; 1737 VkPipeline basePipelineHandle; 1738 int32_t basePipelineIndex; 1739} VkComputePipelineCreateInfo; 1740 1741typedef struct { 1742 VkShaderStageFlags stageFlags; 1743 uint32_t offset; 1744 uint32_t size; 1745} VkPushConstantRange; 1746 1747typedef struct { 1748 VkStructureType sType; 1749 const void* pNext; 1750 uint32_t setLayoutCount; 1751 const VkDescriptorSetLayout* pSetLayouts; 1752 uint32_t pushConstantRangeCount; 1753 const VkPushConstantRange* pPushConstantRanges; 1754} VkPipelineLayoutCreateInfo; 1755 1756typedef struct { 1757 VkStructureType sType; 1758 const void* pNext; 1759 VkTexFilter magFilter; 1760 VkTexFilter minFilter; 1761 VkTexMipmapMode mipMode; 1762 VkTexAddressMode addressModeU; 1763 VkTexAddressMode addressModeV; 1764 VkTexAddressMode addressModeW; 1765 float mipLodBias; 1766 float maxAnisotropy; 1767 VkBool32 compareEnable; 1768 VkCompareOp compareOp; 1769 float minLod; 1770 float maxLod; 1771 VkBorderColor borderColor; 1772 VkBool32 unnormalizedCoordinates; 1773} VkSamplerCreateInfo; 1774 1775typedef struct { 1776 VkDescriptorType descriptorType; 1777 uint32_t arraySize; 1778 VkShaderStageFlags stageFlags; 1779 const VkSampler* pImmutableSamplers; 1780} VkDescriptorSetLayoutBinding; 1781 1782typedef struct { 1783 VkStructureType sType; 1784 const void* pNext; 1785 uint32_t bindingCount; 1786 const VkDescriptorSetLayoutBinding* pBindings; 1787} VkDescriptorSetLayoutCreateInfo; 1788 1789typedef struct { 1790 VkDescriptorType type; 1791 uint32_t descriptorCount; 1792} VkDescriptorTypeCount; 1793 1794typedef struct { 1795 VkStructureType sType; 1796 const void* pNext; 1797 VkDescriptorPoolCreateFlags flags; 1798 uint32_t maxSets; 1799 uint32_t typeCount; 1800 const VkDescriptorTypeCount* pTypeCounts; 1801} VkDescriptorPoolCreateInfo; 1802 1803typedef struct { 1804 VkStructureType sType; 1805 const void* pNext; 1806 VkDescriptorPool descriptorPool; 1807 uint32_t setLayoutCount; 1808 const VkDescriptorSetLayout* pSetLayouts; 1809} VkDescriptorSetAllocInfo; 1810 1811typedef struct { 1812 VkSampler sampler; 1813 VkImageView imageView; 1814 VkImageLayout imageLayout; 1815} VkDescriptorImageInfo; 1816 1817typedef struct { 1818 VkBuffer buffer; 1819 VkDeviceSize offset; 1820 VkDeviceSize range; 1821} VkDescriptorBufferInfo; 1822 1823typedef struct { 1824 VkStructureType sType; 1825 const void* pNext; 1826 VkDescriptorSet destSet; 1827 uint32_t destBinding; 1828 uint32_t destArrayElement; 1829 uint32_t descriptorCount; 1830 VkDescriptorType descriptorType; 1831 const VkDescriptorImageInfo* pImageInfo; 1832 const VkDescriptorBufferInfo* pBufferInfo; 1833 const VkBufferView* pTexelBufferView; 1834} VkWriteDescriptorSet; 1835 1836typedef struct { 1837 VkStructureType sType; 1838 const void* pNext; 1839 VkDescriptorSet srcSet; 1840 uint32_t srcBinding; 1841 uint32_t srcArrayElement; 1842 VkDescriptorSet destSet; 1843 uint32_t destBinding; 1844 uint32_t destArrayElement; 1845 uint32_t descriptorCount; 1846} VkCopyDescriptorSet; 1847 1848typedef struct { 1849 VkStructureType sType; 1850 const void* pNext; 1851 VkRenderPass renderPass; 1852 uint32_t attachmentCount; 1853 const VkImageView* pAttachments; 1854 uint32_t width; 1855 uint32_t height; 1856 uint32_t layers; 1857} VkFramebufferCreateInfo; 1858 1859typedef struct { 1860 VkStructureType sType; 1861 const void* pNext; 1862 VkFormat format; 1863 uint32_t samples; 1864 VkAttachmentLoadOp loadOp; 1865 VkAttachmentStoreOp storeOp; 1866 VkAttachmentLoadOp stencilLoadOp; 1867 VkAttachmentStoreOp stencilStoreOp; 1868 VkImageLayout initialLayout; 1869 VkImageLayout finalLayout; 1870 VkAttachmentDescriptionFlags flags; 1871} VkAttachmentDescription; 1872 1873typedef struct { 1874 uint32_t attachment; 1875 VkImageLayout layout; 1876} VkAttachmentReference; 1877 1878typedef struct { 1879 VkStructureType sType; 1880 const void* pNext; 1881 VkPipelineBindPoint pipelineBindPoint; 1882 VkSubpassDescriptionFlags flags; 1883 uint32_t inputAttachmentCount; 1884 const VkAttachmentReference* pInputAttachments; 1885 uint32_t colorAttachmentCount; 1886 const VkAttachmentReference* pColorAttachments; 1887 const VkAttachmentReference* pResolveAttachments; 1888 VkAttachmentReference depthStencilAttachment; 1889 uint32_t preserveAttachmentCount; 1890 const VkAttachmentReference* pPreserveAttachments; 1891} VkSubpassDescription; 1892 1893typedef struct { 1894 VkStructureType sType; 1895 const void* pNext; 1896 uint32_t srcSubpass; 1897 uint32_t destSubpass; 1898 VkPipelineStageFlags srcStageMask; 1899 VkPipelineStageFlags destStageMask; 1900 VkMemoryOutputFlags outputMask; 1901 VkMemoryInputFlags inputMask; 1902 VkBool32 byRegion; 1903} VkSubpassDependency; 1904 1905typedef struct { 1906 VkStructureType sType; 1907 const void* pNext; 1908 uint32_t attachmentCount; 1909 const VkAttachmentDescription* pAttachments; 1910 uint32_t subpassCount; 1911 const VkSubpassDescription* pSubpasses; 1912 uint32_t dependencyCount; 1913 const VkSubpassDependency* pDependencies; 1914} VkRenderPassCreateInfo; 1915 1916typedef struct { 1917 VkStructureType sType; 1918 const void* pNext; 1919 uint32_t queueFamilyIndex; 1920 VkCmdPoolCreateFlags flags; 1921} VkCmdPoolCreateInfo; 1922 1923typedef struct { 1924 VkStructureType sType; 1925 const void* pNext; 1926 VkCmdPool cmdPool; 1927 VkCmdBufferLevel level; 1928 uint32_t bufferCount; 1929} VkCmdBufferAllocInfo; 1930 1931typedef struct { 1932 VkStructureType sType; 1933 const void* pNext; 1934 VkCmdBufferUsageFlags flags; 1935 VkRenderPass renderPass; 1936 uint32_t subpass; 1937 VkFramebuffer framebuffer; 1938} VkCmdBufferBeginInfo; 1939 1940typedef struct { 1941 VkDeviceSize srcOffset; 1942 VkDeviceSize destOffset; 1943 VkDeviceSize copySize; 1944} VkBufferCopy; 1945 1946typedef struct { 1947 VkImageAspectFlags aspect; 1948 uint32_t mipLevel; 1949 uint32_t baseArrayLayer; 1950 uint32_t numLayers; 1951} VkImageSubresourceCopy; 1952 1953typedef struct { 1954 VkImageSubresourceCopy srcSubresource; 1955 VkOffset3D srcOffset; 1956 VkImageSubresourceCopy destSubresource; 1957 VkOffset3D destOffset; 1958 VkExtent3D extent; 1959} VkImageCopy; 1960 1961typedef struct { 1962 VkImageSubresourceCopy srcSubresource; 1963 VkOffset3D srcOffset; 1964 VkExtent3D srcExtent; 1965 VkImageSubresourceCopy destSubresource; 1966 VkOffset3D destOffset; 1967 VkExtent3D destExtent; 1968} VkImageBlit; 1969 1970typedef struct { 1971 VkDeviceSize bufferOffset; 1972 uint32_t bufferRowLength; 1973 uint32_t bufferImageHeight; 1974 VkImageSubresourceCopy imageSubresource; 1975 VkOffset3D imageOffset; 1976 VkExtent3D imageExtent; 1977} VkBufferImageCopy; 1978 1979typedef union { 1980 float float32[4]; 1981 int32_t int32[4]; 1982 uint32_t uint32[4]; 1983} VkClearColorValue; 1984 1985typedef struct { 1986 float depth; 1987 uint32_t stencil; 1988} VkClearDepthStencilValue; 1989 1990typedef union { 1991 VkClearColorValue color; 1992 VkClearDepthStencilValue depthStencil; 1993} VkClearValue; 1994 1995typedef struct { 1996 VkImageAspectFlags aspectMask; 1997 uint32_t colorAttachment; 1998 VkClearValue clearValue; 1999} VkClearAttachment; 2000 2001typedef struct { 2002 VkRect2D rect; 2003 uint32_t baseArrayLayer; 2004 uint32_t numLayers; 2005} VkClearRect; 2006 2007typedef struct { 2008 VkImageSubresourceCopy srcSubresource; 2009 VkOffset3D srcOffset; 2010 VkImageSubresourceCopy destSubresource; 2011 VkOffset3D destOffset; 2012 VkExtent3D extent; 2013} VkImageResolve; 2014 2015typedef struct { 2016 VkStructureType sType; 2017 const void* pNext; 2018 VkRenderPass renderPass; 2019 VkFramebuffer framebuffer; 2020 VkRect2D renderArea; 2021 uint32_t clearValueCount; 2022 const VkClearValue* pClearValues; 2023} VkRenderPassBeginInfo; 2024 2025typedef struct { 2026 VkStructureType sType; 2027 const void* pNext; 2028 VkMemoryOutputFlags outputMask; 2029 VkMemoryInputFlags inputMask; 2030 uint32_t srcQueueFamilyIndex; 2031 uint32_t destQueueFamilyIndex; 2032 VkBuffer buffer; 2033 VkDeviceSize offset; 2034 VkDeviceSize size; 2035} VkBufferMemoryBarrier; 2036 2037typedef struct { 2038 uint32_t x; 2039 uint32_t y; 2040 uint32_t z; 2041} VkDispatchIndirectCmd; 2042 2043typedef struct { 2044 uint32_t indexCount; 2045 uint32_t instanceCount; 2046 uint32_t firstIndex; 2047 int32_t vertexOffset; 2048 uint32_t firstInstance; 2049} VkDrawIndexedIndirectCmd; 2050 2051typedef struct { 2052 uint32_t vertexCount; 2053 uint32_t instanceCount; 2054 uint32_t firstVertex; 2055 uint32_t firstInstance; 2056} VkDrawIndirectCmd; 2057 2058typedef struct { 2059 VkStructureType sType; 2060 const void* pNext; 2061 VkMemoryOutputFlags outputMask; 2062 VkMemoryInputFlags inputMask; 2063 VkImageLayout oldLayout; 2064 VkImageLayout newLayout; 2065 uint32_t srcQueueFamilyIndex; 2066 uint32_t destQueueFamilyIndex; 2067 VkImage image; 2068 VkImageSubresourceRange subresourceRange; 2069} VkImageMemoryBarrier; 2070 2071typedef struct { 2072 VkStructureType sType; 2073 const void* pNext; 2074 VkMemoryOutputFlags outputMask; 2075 VkMemoryInputFlags inputMask; 2076} VkMemoryBarrier; 2077 2078 2079typedef VkResult (VKAPI *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkInstance* pInstance); 2080typedef void (VKAPI *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocCallbacks* pAllocator); 2081typedef VkResult (VKAPI *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 2082typedef void (VKAPI *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 2083typedef void (VKAPI *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 2084typedef void (VKAPI *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 2085typedef void (VKAPI *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 2086typedef void (VKAPI *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 2087typedef void (VKAPI *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2088typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 2089typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 2090typedef VkResult (VKAPI *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkDevice* pDevice); 2091typedef void (VKAPI *PFN_vkDestroyDevice)(VkDevice device, const VkAllocCallbacks* pAllocator); 2092typedef VkResult (VKAPI *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 2093typedef VkResult (VKAPI *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 2094typedef VkResult (VKAPI *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 2095typedef VkResult (VKAPI *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 2096typedef void (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 2097typedef VkResult (VKAPI *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence); 2098typedef VkResult (VKAPI *PFN_vkQueueWaitIdle)(VkQueue queue); 2099typedef VkResult (VKAPI *PFN_vkDeviceWaitIdle)(VkDevice device); 2100typedef VkResult (VKAPI *PFN_vkAllocMemory)(VkDevice device, const VkMemoryAllocInfo* pAllocInfo, const VkAllocCallbacks* pAllocator, VkDeviceMemory* pMem); 2101typedef void (VKAPI *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory mem, const VkAllocCallbacks* pAllocator); 2102typedef VkResult (VKAPI *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 2103typedef void (VKAPI *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory mem); 2104typedef VkResult (VKAPI *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges); 2105typedef VkResult (VKAPI *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges); 2106typedef void (VKAPI *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 2107typedef VkResult (VKAPI *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory mem, VkDeviceSize memOffset); 2108typedef VkResult (VKAPI *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory mem, VkDeviceSize memOffset); 2109typedef void (VKAPI *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 2110typedef void (VKAPI *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 2111typedef void (VKAPI *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 2112typedef void (VKAPI *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, uint32_t samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 2113typedef VkResult (VKAPI *PFN_vkQueueBindSparseBufferMemory)(VkQueue queue, VkBuffer buffer, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo); 2114typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageOpaqueMemory)(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo); 2115typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageMemory)(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseImageMemoryBindInfo* pBindInfo); 2116typedef VkResult (VKAPI *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkFence* pFence); 2117typedef void (VKAPI *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocCallbacks* pAllocator); 2118typedef VkResult (VKAPI *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 2119typedef VkResult (VKAPI *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 2120typedef VkResult (VKAPI *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 2121typedef VkResult (VKAPI *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkSemaphore* pSemaphore); 2122typedef void (VKAPI *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocCallbacks* pAllocator); 2123typedef VkResult (VKAPI *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkEvent* pEvent); 2124typedef void (VKAPI *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocCallbacks* pAllocator); 2125typedef VkResult (VKAPI *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 2126typedef VkResult (VKAPI *PFN_vkSetEvent)(VkDevice device, VkEvent event); 2127typedef VkResult (VKAPI *PFN_vkResetEvent)(VkDevice device, VkEvent event); 2128typedef VkResult (VKAPI *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkQueryPool* pQueryPool); 2129typedef void (VKAPI *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocCallbacks* pAllocator); 2130typedef VkResult (VKAPI *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 2131typedef VkResult (VKAPI *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkBuffer* pBuffer); 2132typedef void (VKAPI *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocCallbacks* pAllocator); 2133typedef VkResult (VKAPI *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkBufferView* pView); 2134typedef void (VKAPI *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocCallbacks* pAllocator); 2135typedef VkResult (VKAPI *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkImage* pImage); 2136typedef void (VKAPI *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocCallbacks* pAllocator); 2137typedef void (VKAPI *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 2138typedef VkResult (VKAPI *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkImageView* pView); 2139typedef void (VKAPI *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocCallbacks* pAllocator); 2140typedef VkResult (VKAPI *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkShaderModule* pShaderModule); 2141typedef void (VKAPI *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocCallbacks* pAllocator); 2142typedef VkResult (VKAPI *PFN_vkCreateShader)(VkDevice device, const VkShaderCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkShader* pShader); 2143typedef void (VKAPI *PFN_vkDestroyShader)(VkDevice device, VkShader shader, const VkAllocCallbacks* pAllocator); 2144typedef VkResult (VKAPI *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 2145typedef void (VKAPI *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocCallbacks* pAllocator); 2146typedef VkResult (VKAPI *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 2147typedef VkResult (VKAPI *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache destCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 2148typedef VkResult (VKAPI *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocCallbacks* pAllocator, VkPipeline* pPipelines); 2149typedef VkResult (VKAPI *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocCallbacks* pAllocator, VkPipeline* pPipelines); 2150typedef void (VKAPI *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocCallbacks* pAllocator); 2151typedef VkResult (VKAPI *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 2152typedef void (VKAPI *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocCallbacks* pAllocator); 2153typedef VkResult (VKAPI *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkSampler* pSampler); 2154typedef void (VKAPI *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocCallbacks* pAllocator); 2155typedef VkResult (VKAPI *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 2156typedef void (VKAPI *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocCallbacks* pAllocator); 2157typedef VkResult (VKAPI *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 2158typedef void (VKAPI *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocCallbacks* pAllocator); 2159typedef VkResult (VKAPI *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 2160typedef VkResult (VKAPI *PFN_vkAllocDescriptorSets)(VkDevice device, const VkDescriptorSetAllocInfo* pAllocInfo, VkDescriptorSet* pDescriptorSets); 2161typedef VkResult (VKAPI *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 2162typedef void (VKAPI *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t writeCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t copyCount, const VkCopyDescriptorSet* pDescriptorCopies); 2163typedef VkResult (VKAPI *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 2164typedef void (VKAPI *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocCallbacks* pAllocator); 2165typedef VkResult (VKAPI *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkRenderPass* pRenderPass); 2166typedef void (VKAPI *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocCallbacks* pAllocator); 2167typedef void (VKAPI *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 2168typedef VkResult (VKAPI *PFN_vkCreateCommandPool)(VkDevice device, const VkCmdPoolCreateInfo* pCreateInfo, const VkAllocCallbacks* pAllocator, VkCmdPool* pCmdPool); 2169typedef void (VKAPI *PFN_vkDestroyCommandPool)(VkDevice device, VkCmdPool cmdPool, const VkAllocCallbacks* pAllocator); 2170typedef VkResult (VKAPI *PFN_vkResetCommandPool)(VkDevice device, VkCmdPool cmdPool, VkCmdPoolResetFlags flags); 2171typedef VkResult (VKAPI *PFN_vkAllocCommandBuffers)(VkDevice device, const VkCmdBufferAllocInfo* pAllocInfo, VkCmdBuffer* pCmdBuffers); 2172typedef void (VKAPI *PFN_vkFreeCommandBuffers)(VkDevice device, VkCmdPool cmdPool, uint32_t commandBufferCount, const VkCmdBuffer* pCommandBuffers); 2173typedef VkResult (VKAPI *PFN_vkBeginCommandBuffer)(VkCmdBuffer cmdBuffer, const VkCmdBufferBeginInfo* pBeginInfo); 2174typedef VkResult (VKAPI *PFN_vkEndCommandBuffer)(VkCmdBuffer cmdBuffer); 2175typedef VkResult (VKAPI *PFN_vkResetCommandBuffer)(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags); 2176typedef void (VKAPI *PFN_vkCmdBindPipeline)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 2177typedef void (VKAPI *PFN_vkCmdSetViewport)(VkCmdBuffer cmdBuffer, uint32_t viewportCount, const VkViewport* pViewports); 2178typedef void (VKAPI *PFN_vkCmdSetScissor)(VkCmdBuffer cmdBuffer, uint32_t scissorCount, const VkRect2D* pScissors); 2179typedef void (VKAPI *PFN_vkCmdSetLineWidth)(VkCmdBuffer cmdBuffer, float lineWidth); 2180typedef void (VKAPI *PFN_vkCmdSetDepthBias)(VkCmdBuffer cmdBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 2181typedef void (VKAPI *PFN_vkCmdSetBlendConstants)(VkCmdBuffer cmdBuffer, const float blendConst[4]); 2182typedef void (VKAPI *PFN_vkCmdSetDepthBounds)(VkCmdBuffer cmdBuffer, float minDepthBounds, float maxDepthBounds); 2183typedef void (VKAPI *PFN_vkCmdSetStencilCompareMask)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilCompareMask); 2184typedef void (VKAPI *PFN_vkCmdSetStencilWriteMask)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilWriteMask); 2185typedef void (VKAPI *PFN_vkCmdSetStencilReference)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilReference); 2186typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); 2187typedef void (VKAPI *PFN_vkCmdBindIndexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 2188typedef void (VKAPI *PFN_vkCmdBindVertexBuffers)(VkCmdBuffer cmdBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 2189typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 2190typedef void (VKAPI *PFN_vkCmdDrawIndexed)(VkCmdBuffer cmdBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 2191typedef void (VKAPI *PFN_vkCmdDrawIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 2192typedef void (VKAPI *PFN_vkCmdDrawIndexedIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 2193typedef void (VKAPI *PFN_vkCmdDispatch)(VkCmdBuffer cmdBuffer, uint32_t x, uint32_t y, uint32_t z); 2194typedef void (VKAPI *PFN_vkCmdDispatchIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset); 2195typedef void (VKAPI *PFN_vkCmdCopyBuffer)(VkCmdBuffer cmdBuffer, VkBuffer srcBuffer, VkBuffer destBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 2196typedef void (VKAPI *PFN_vkCmdCopyImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 2197typedef void (VKAPI *PFN_vkCmdBlitImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkTexFilter filter); 2198typedef void (VKAPI *PFN_vkCmdCopyBufferToImage)(VkCmdBuffer cmdBuffer, VkBuffer srcBuffer, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 2199typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 2200typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData); 2201typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data); 2202typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 2203typedef void (VKAPI *PFN_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 2204typedef void (VKAPI *PFN_vkCmdClearAttachments)(VkCmdBuffer cmdBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 2205typedef void (VKAPI *PFN_vkCmdResolveImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 2206typedef void (VKAPI *PFN_vkCmdSetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2207typedef void (VKAPI *PFN_vkCmdResetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2208typedef void (VKAPI *PFN_vkCmdWaitEvents)(VkCmdBuffer cmdBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, uint32_t memBarrierCount, const void* const* ppMemBarriers); 2209typedef void (VKAPI *PFN_vkCmdPipelineBarrier)(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkBool32 byRegion, uint32_t memBarrierCount, const void* const* ppMemBarriers); 2210typedef void (VKAPI *PFN_vkCmdBeginQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot, VkQueryControlFlags flags); 2211typedef void (VKAPI *PFN_vkCmdEndQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot); 2212typedef void (VKAPI *PFN_vkCmdResetQueryPool)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount); 2213typedef void (VKAPI *PFN_vkCmdWriteTimestamp)(VkCmdBuffer cmdBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t slot); 2214typedef void (VKAPI *PFN_vkCmdCopyQueryPoolResults)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize stride, VkQueryResultFlags flags); 2215typedef void (VKAPI *PFN_vkCmdPushConstants)(VkCmdBuffer cmdBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* values); 2216typedef void (VKAPI *PFN_vkCmdBeginRenderPass)(VkCmdBuffer cmdBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkRenderPassContents contents); 2217typedef void (VKAPI *PFN_vkCmdNextSubpass)(VkCmdBuffer cmdBuffer, VkRenderPassContents contents); 2218typedef void (VKAPI *PFN_vkCmdEndRenderPass)(VkCmdBuffer cmdBuffer); 2219typedef void (VKAPI *PFN_vkCmdExecuteCommands)(VkCmdBuffer cmdBuffer, uint32_t cmdBuffersCount, const VkCmdBuffer* pCmdBuffers); 2220 2221#ifdef VK_PROTOTYPES 2222VkResult VKAPI vkCreateInstance( 2223 const VkInstanceCreateInfo* pCreateInfo, 2224 const VkAllocCallbacks* pAllocator, 2225 VkInstance* pInstance); 2226 2227void VKAPI vkDestroyInstance( 2228 VkInstance instance, 2229 const VkAllocCallbacks* pAllocator); 2230 2231VkResult VKAPI vkEnumeratePhysicalDevices( 2232 VkInstance instance, 2233 uint32_t* pPhysicalDeviceCount, 2234 VkPhysicalDevice* pPhysicalDevices); 2235 2236void VKAPI vkGetPhysicalDeviceFeatures( 2237 VkPhysicalDevice physicalDevice, 2238 VkPhysicalDeviceFeatures* pFeatures); 2239 2240void VKAPI vkGetPhysicalDeviceFormatProperties( 2241 VkPhysicalDevice physicalDevice, 2242 VkFormat format, 2243 VkFormatProperties* pFormatProperties); 2244 2245void VKAPI vkGetPhysicalDeviceImageFormatProperties( 2246 VkPhysicalDevice physicalDevice, 2247 VkFormat format, 2248 VkImageType type, 2249 VkImageTiling tiling, 2250 VkImageUsageFlags usage, 2251 VkImageCreateFlags flags, 2252 VkImageFormatProperties* pImageFormatProperties); 2253 2254void VKAPI vkGetPhysicalDeviceProperties( 2255 VkPhysicalDevice physicalDevice, 2256 VkPhysicalDeviceProperties* pProperties); 2257 2258void VKAPI vkGetPhysicalDeviceQueueFamilyProperties( 2259 VkPhysicalDevice physicalDevice, 2260 uint32_t* pQueueFamilyPropertyCount, 2261 VkQueueFamilyProperties* pQueueFamilyProperties); 2262 2263void VKAPI vkGetPhysicalDeviceMemoryProperties( 2264 VkPhysicalDevice physicalDevice, 2265 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2266 2267PFN_vkVoidFunction VKAPI vkGetInstanceProcAddr( 2268 VkInstance instance, 2269 const char* pName); 2270 2271PFN_vkVoidFunction VKAPI vkGetDeviceProcAddr( 2272 VkDevice device, 2273 const char* pName); 2274 2275VkResult VKAPI vkCreateDevice( 2276 VkPhysicalDevice physicalDevice, 2277 const VkDeviceCreateInfo* pCreateInfo, 2278 const VkAllocCallbacks* pAllocator, 2279 VkDevice* pDevice); 2280 2281void VKAPI vkDestroyDevice( 2282 VkDevice device, 2283 const VkAllocCallbacks* pAllocator); 2284 2285VkResult VKAPI vkEnumerateInstanceExtensionProperties( 2286 const char* pLayerName, 2287 uint32_t* pPropertyCount, 2288 VkExtensionProperties* pProperties); 2289 2290VkResult VKAPI vkEnumerateDeviceExtensionProperties( 2291 VkPhysicalDevice physicalDevice, 2292 const char* pLayerName, 2293 uint32_t* pPropertyCount, 2294 VkExtensionProperties* pProperties); 2295 2296VkResult VKAPI vkEnumerateInstanceLayerProperties( 2297 uint32_t* pPropertyCount, 2298 VkLayerProperties* pProperties); 2299 2300VkResult VKAPI vkEnumerateDeviceLayerProperties( 2301 VkPhysicalDevice physicalDevice, 2302 uint32_t* pPropertyCount, 2303 VkLayerProperties* pProperties); 2304 2305void VKAPI vkGetDeviceQueue( 2306 VkDevice device, 2307 uint32_t queueFamilyIndex, 2308 uint32_t queueIndex, 2309 VkQueue* pQueue); 2310 2311VkResult VKAPI vkQueueSubmit( 2312 VkQueue queue, 2313 uint32_t submitCount, 2314 const VkSubmitInfo* pSubmitInfo, 2315 VkFence fence); 2316 2317VkResult VKAPI vkQueueWaitIdle( 2318 VkQueue queue); 2319 2320VkResult VKAPI vkDeviceWaitIdle( 2321 VkDevice device); 2322 2323VkResult VKAPI vkAllocMemory( 2324 VkDevice device, 2325 const VkMemoryAllocInfo* pAllocInfo, 2326 const VkAllocCallbacks* pAllocator, 2327 VkDeviceMemory* pMem); 2328 2329void VKAPI vkFreeMemory( 2330 VkDevice device, 2331 VkDeviceMemory mem, 2332 const VkAllocCallbacks* pAllocator); 2333 2334VkResult VKAPI vkMapMemory( 2335 VkDevice device, 2336 VkDeviceMemory mem, 2337 VkDeviceSize offset, 2338 VkDeviceSize size, 2339 VkMemoryMapFlags flags, 2340 void** ppData); 2341 2342void VKAPI vkUnmapMemory( 2343 VkDevice device, 2344 VkDeviceMemory mem); 2345 2346VkResult VKAPI vkFlushMappedMemoryRanges( 2347 VkDevice device, 2348 uint32_t memRangeCount, 2349 const VkMappedMemoryRange* pMemRanges); 2350 2351VkResult VKAPI vkInvalidateMappedMemoryRanges( 2352 VkDevice device, 2353 uint32_t memRangeCount, 2354 const VkMappedMemoryRange* pMemRanges); 2355 2356void VKAPI vkGetDeviceMemoryCommitment( 2357 VkDevice device, 2358 VkDeviceMemory memory, 2359 VkDeviceSize* pCommittedMemoryInBytes); 2360 2361VkResult VKAPI vkBindBufferMemory( 2362 VkDevice device, 2363 VkBuffer buffer, 2364 VkDeviceMemory mem, 2365 VkDeviceSize memOffset); 2366 2367VkResult VKAPI vkBindImageMemory( 2368 VkDevice device, 2369 VkImage image, 2370 VkDeviceMemory mem, 2371 VkDeviceSize memOffset); 2372 2373void VKAPI vkGetBufferMemoryRequirements( 2374 VkDevice device, 2375 VkBuffer buffer, 2376 VkMemoryRequirements* pMemoryRequirements); 2377 2378void VKAPI vkGetImageMemoryRequirements( 2379 VkDevice device, 2380 VkImage image, 2381 VkMemoryRequirements* pMemoryRequirements); 2382 2383void VKAPI vkGetImageSparseMemoryRequirements( 2384 VkDevice device, 2385 VkImage image, 2386 uint32_t* pSparseMemoryRequirementCount, 2387 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 2388 2389void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties( 2390 VkPhysicalDevice physicalDevice, 2391 VkFormat format, 2392 VkImageType type, 2393 uint32_t samples, 2394 VkImageUsageFlags usage, 2395 VkImageTiling tiling, 2396 uint32_t* pPropertyCount, 2397 VkSparseImageFormatProperties* pProperties); 2398 2399VkResult VKAPI vkQueueBindSparseBufferMemory( 2400 VkQueue queue, 2401 VkBuffer buffer, 2402 uint32_t bindInfoCount, 2403 const VkSparseMemoryBindInfo* pBindInfo); 2404 2405VkResult VKAPI vkQueueBindSparseImageOpaqueMemory( 2406 VkQueue queue, 2407 VkImage image, 2408 uint32_t bindInfoCount, 2409 const VkSparseMemoryBindInfo* pBindInfo); 2410 2411VkResult VKAPI vkQueueBindSparseImageMemory( 2412 VkQueue queue, 2413 VkImage image, 2414 uint32_t bindInfoCount, 2415 const VkSparseImageMemoryBindInfo* pBindInfo); 2416 2417VkResult VKAPI vkCreateFence( 2418 VkDevice device, 2419 const VkFenceCreateInfo* pCreateInfo, 2420 const VkAllocCallbacks* pAllocator, 2421 VkFence* pFence); 2422 2423void VKAPI vkDestroyFence( 2424 VkDevice device, 2425 VkFence fence, 2426 const VkAllocCallbacks* pAllocator); 2427 2428VkResult VKAPI vkResetFences( 2429 VkDevice device, 2430 uint32_t fenceCount, 2431 const VkFence* pFences); 2432 2433VkResult VKAPI vkGetFenceStatus( 2434 VkDevice device, 2435 VkFence fence); 2436 2437VkResult VKAPI vkWaitForFences( 2438 VkDevice device, 2439 uint32_t fenceCount, 2440 const VkFence* pFences, 2441 VkBool32 waitAll, 2442 uint64_t timeout); 2443 2444VkResult VKAPI vkCreateSemaphore( 2445 VkDevice device, 2446 const VkSemaphoreCreateInfo* pCreateInfo, 2447 const VkAllocCallbacks* pAllocator, 2448 VkSemaphore* pSemaphore); 2449 2450void VKAPI vkDestroySemaphore( 2451 VkDevice device, 2452 VkSemaphore semaphore, 2453 const VkAllocCallbacks* pAllocator); 2454 2455VkResult VKAPI vkCreateEvent( 2456 VkDevice device, 2457 const VkEventCreateInfo* pCreateInfo, 2458 const VkAllocCallbacks* pAllocator, 2459 VkEvent* pEvent); 2460 2461void VKAPI vkDestroyEvent( 2462 VkDevice device, 2463 VkEvent event, 2464 const VkAllocCallbacks* pAllocator); 2465 2466VkResult VKAPI vkGetEventStatus( 2467 VkDevice device, 2468 VkEvent event); 2469 2470VkResult VKAPI vkSetEvent( 2471 VkDevice device, 2472 VkEvent event); 2473 2474VkResult VKAPI vkResetEvent( 2475 VkDevice device, 2476 VkEvent event); 2477 2478VkResult VKAPI vkCreateQueryPool( 2479 VkDevice device, 2480 const VkQueryPoolCreateInfo* pCreateInfo, 2481 const VkAllocCallbacks* pAllocator, 2482 VkQueryPool* pQueryPool); 2483 2484void VKAPI vkDestroyQueryPool( 2485 VkDevice device, 2486 VkQueryPool queryPool, 2487 const VkAllocCallbacks* pAllocator); 2488 2489VkResult VKAPI vkGetQueryPoolResults( 2490 VkDevice device, 2491 VkQueryPool queryPool, 2492 uint32_t startQuery, 2493 uint32_t queryCount, 2494 size_t dataSize, 2495 void* pData, 2496 VkDeviceSize stride, 2497 VkQueryResultFlags flags); 2498 2499VkResult VKAPI vkCreateBuffer( 2500 VkDevice device, 2501 const VkBufferCreateInfo* pCreateInfo, 2502 const VkAllocCallbacks* pAllocator, 2503 VkBuffer* pBuffer); 2504 2505void VKAPI vkDestroyBuffer( 2506 VkDevice device, 2507 VkBuffer buffer, 2508 const VkAllocCallbacks* pAllocator); 2509 2510VkResult VKAPI vkCreateBufferView( 2511 VkDevice device, 2512 const VkBufferViewCreateInfo* pCreateInfo, 2513 const VkAllocCallbacks* pAllocator, 2514 VkBufferView* pView); 2515 2516void VKAPI vkDestroyBufferView( 2517 VkDevice device, 2518 VkBufferView bufferView, 2519 const VkAllocCallbacks* pAllocator); 2520 2521VkResult VKAPI vkCreateImage( 2522 VkDevice device, 2523 const VkImageCreateInfo* pCreateInfo, 2524 const VkAllocCallbacks* pAllocator, 2525 VkImage* pImage); 2526 2527void VKAPI vkDestroyImage( 2528 VkDevice device, 2529 VkImage image, 2530 const VkAllocCallbacks* pAllocator); 2531 2532void VKAPI vkGetImageSubresourceLayout( 2533 VkDevice device, 2534 VkImage image, 2535 const VkImageSubresource* pSubresource, 2536 VkSubresourceLayout* pLayout); 2537 2538VkResult VKAPI vkCreateImageView( 2539 VkDevice device, 2540 const VkImageViewCreateInfo* pCreateInfo, 2541 const VkAllocCallbacks* pAllocator, 2542 VkImageView* pView); 2543 2544void VKAPI vkDestroyImageView( 2545 VkDevice device, 2546 VkImageView imageView, 2547 const VkAllocCallbacks* pAllocator); 2548 2549VkResult VKAPI vkCreateShaderModule( 2550 VkDevice device, 2551 const VkShaderModuleCreateInfo* pCreateInfo, 2552 const VkAllocCallbacks* pAllocator, 2553 VkShaderModule* pShaderModule); 2554 2555void VKAPI vkDestroyShaderModule( 2556 VkDevice device, 2557 VkShaderModule shaderModule, 2558 const VkAllocCallbacks* pAllocator); 2559 2560VkResult VKAPI vkCreateShader( 2561 VkDevice device, 2562 const VkShaderCreateInfo* pCreateInfo, 2563 const VkAllocCallbacks* pAllocator, 2564 VkShader* pShader); 2565 2566void VKAPI vkDestroyShader( 2567 VkDevice device, 2568 VkShader shader, 2569 const VkAllocCallbacks* pAllocator); 2570 2571VkResult VKAPI vkCreatePipelineCache( 2572 VkDevice device, 2573 const VkPipelineCacheCreateInfo* pCreateInfo, 2574 const VkAllocCallbacks* pAllocator, 2575 VkPipelineCache* pPipelineCache); 2576 2577void VKAPI vkDestroyPipelineCache( 2578 VkDevice device, 2579 VkPipelineCache pipelineCache, 2580 const VkAllocCallbacks* pAllocator); 2581 2582VkResult VKAPI vkGetPipelineCacheData( 2583 VkDevice device, 2584 VkPipelineCache pipelineCache, 2585 size_t* pDataSize, 2586 void* pData); 2587 2588VkResult VKAPI vkMergePipelineCaches( 2589 VkDevice device, 2590 VkPipelineCache destCache, 2591 uint32_t srcCacheCount, 2592 const VkPipelineCache* pSrcCaches); 2593 2594VkResult VKAPI vkCreateGraphicsPipelines( 2595 VkDevice device, 2596 VkPipelineCache pipelineCache, 2597 uint32_t createInfoCount, 2598 const VkGraphicsPipelineCreateInfo* pCreateInfos, 2599 const VkAllocCallbacks* pAllocator, 2600 VkPipeline* pPipelines); 2601 2602VkResult VKAPI vkCreateComputePipelines( 2603 VkDevice device, 2604 VkPipelineCache pipelineCache, 2605 uint32_t createInfoCount, 2606 const VkComputePipelineCreateInfo* pCreateInfos, 2607 const VkAllocCallbacks* pAllocator, 2608 VkPipeline* pPipelines); 2609 2610void VKAPI vkDestroyPipeline( 2611 VkDevice device, 2612 VkPipeline pipeline, 2613 const VkAllocCallbacks* pAllocator); 2614 2615VkResult VKAPI vkCreatePipelineLayout( 2616 VkDevice device, 2617 const VkPipelineLayoutCreateInfo* pCreateInfo, 2618 const VkAllocCallbacks* pAllocator, 2619 VkPipelineLayout* pPipelineLayout); 2620 2621void VKAPI vkDestroyPipelineLayout( 2622 VkDevice device, 2623 VkPipelineLayout pipelineLayout, 2624 const VkAllocCallbacks* pAllocator); 2625 2626VkResult VKAPI vkCreateSampler( 2627 VkDevice device, 2628 const VkSamplerCreateInfo* pCreateInfo, 2629 const VkAllocCallbacks* pAllocator, 2630 VkSampler* pSampler); 2631 2632void VKAPI vkDestroySampler( 2633 VkDevice device, 2634 VkSampler sampler, 2635 const VkAllocCallbacks* pAllocator); 2636 2637VkResult VKAPI vkCreateDescriptorSetLayout( 2638 VkDevice device, 2639 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 2640 const VkAllocCallbacks* pAllocator, 2641 VkDescriptorSetLayout* pSetLayout); 2642 2643void VKAPI vkDestroyDescriptorSetLayout( 2644 VkDevice device, 2645 VkDescriptorSetLayout descriptorSetLayout, 2646 const VkAllocCallbacks* pAllocator); 2647 2648VkResult VKAPI vkCreateDescriptorPool( 2649 VkDevice device, 2650 const VkDescriptorPoolCreateInfo* pCreateInfo, 2651 const VkAllocCallbacks* pAllocator, 2652 VkDescriptorPool* pDescriptorPool); 2653 2654void VKAPI vkDestroyDescriptorPool( 2655 VkDevice device, 2656 VkDescriptorPool descriptorPool, 2657 const VkAllocCallbacks* pAllocator); 2658 2659VkResult VKAPI vkResetDescriptorPool( 2660 VkDevice device, 2661 VkDescriptorPool descriptorPool, 2662 VkDescriptorPoolResetFlags flags); 2663 2664VkResult VKAPI vkAllocDescriptorSets( 2665 VkDevice device, 2666 const VkDescriptorSetAllocInfo* pAllocInfo, 2667 VkDescriptorSet* pDescriptorSets); 2668 2669VkResult VKAPI vkFreeDescriptorSets( 2670 VkDevice device, 2671 VkDescriptorPool descriptorPool, 2672 uint32_t descriptorSetCount, 2673 const VkDescriptorSet* pDescriptorSets); 2674 2675void VKAPI vkUpdateDescriptorSets( 2676 VkDevice device, 2677 uint32_t writeCount, 2678 const VkWriteDescriptorSet* pDescriptorWrites, 2679 uint32_t copyCount, 2680 const VkCopyDescriptorSet* pDescriptorCopies); 2681 2682VkResult VKAPI vkCreateFramebuffer( 2683 VkDevice device, 2684 const VkFramebufferCreateInfo* pCreateInfo, 2685 const VkAllocCallbacks* pAllocator, 2686 VkFramebuffer* pFramebuffer); 2687 2688void VKAPI vkDestroyFramebuffer( 2689 VkDevice device, 2690 VkFramebuffer framebuffer, 2691 const VkAllocCallbacks* pAllocator); 2692 2693VkResult VKAPI vkCreateRenderPass( 2694 VkDevice device, 2695 const VkRenderPassCreateInfo* pCreateInfo, 2696 const VkAllocCallbacks* pAllocator, 2697 VkRenderPass* pRenderPass); 2698 2699void VKAPI vkDestroyRenderPass( 2700 VkDevice device, 2701 VkRenderPass renderPass, 2702 const VkAllocCallbacks* pAllocator); 2703 2704void VKAPI vkGetRenderAreaGranularity( 2705 VkDevice device, 2706 VkRenderPass renderPass, 2707 VkExtent2D* pGranularity); 2708 2709VkResult VKAPI vkCreateCommandPool( 2710 VkDevice device, 2711 const VkCmdPoolCreateInfo* pCreateInfo, 2712 const VkAllocCallbacks* pAllocator, 2713 VkCmdPool* pCmdPool); 2714 2715void VKAPI vkDestroyCommandPool( 2716 VkDevice device, 2717 VkCmdPool cmdPool, 2718 const VkAllocCallbacks* pAllocator); 2719 2720VkResult VKAPI vkResetCommandPool( 2721 VkDevice device, 2722 VkCmdPool cmdPool, 2723 VkCmdPoolResetFlags flags); 2724 2725VkResult VKAPI vkAllocCommandBuffers( 2726 VkDevice device, 2727 const VkCmdBufferAllocInfo* pAllocInfo, 2728 VkCmdBuffer* pCmdBuffers); 2729 2730void VKAPI vkFreeCommandBuffers( 2731 VkDevice device, 2732 VkCmdPool cmdPool, 2733 uint32_t commandBufferCount, 2734 const VkCmdBuffer* pCommandBuffers); 2735 2736VkResult VKAPI vkBeginCommandBuffer( 2737 VkCmdBuffer cmdBuffer, 2738 const VkCmdBufferBeginInfo* pBeginInfo); 2739 2740VkResult VKAPI vkEndCommandBuffer( 2741 VkCmdBuffer cmdBuffer); 2742 2743VkResult VKAPI vkResetCommandBuffer( 2744 VkCmdBuffer cmdBuffer, 2745 VkCmdBufferResetFlags flags); 2746 2747void VKAPI vkCmdBindPipeline( 2748 VkCmdBuffer cmdBuffer, 2749 VkPipelineBindPoint pipelineBindPoint, 2750 VkPipeline pipeline); 2751 2752void VKAPI vkCmdSetViewport( 2753 VkCmdBuffer cmdBuffer, 2754 uint32_t viewportCount, 2755 const VkViewport* pViewports); 2756 2757void VKAPI vkCmdSetScissor( 2758 VkCmdBuffer cmdBuffer, 2759 uint32_t scissorCount, 2760 const VkRect2D* pScissors); 2761 2762void VKAPI vkCmdSetLineWidth( 2763 VkCmdBuffer cmdBuffer, 2764 float lineWidth); 2765 2766void VKAPI vkCmdSetDepthBias( 2767 VkCmdBuffer cmdBuffer, 2768 float depthBiasConstantFactor, 2769 float depthBiasClamp, 2770 float depthBiasSlopeFactor); 2771 2772void VKAPI vkCmdSetBlendConstants( 2773 VkCmdBuffer cmdBuffer, 2774 const float blendConst[4]); 2775 2776void VKAPI vkCmdSetDepthBounds( 2777 VkCmdBuffer cmdBuffer, 2778 float minDepthBounds, 2779 float maxDepthBounds); 2780 2781void VKAPI vkCmdSetStencilCompareMask( 2782 VkCmdBuffer cmdBuffer, 2783 VkStencilFaceFlags faceMask, 2784 uint32_t stencilCompareMask); 2785 2786void VKAPI vkCmdSetStencilWriteMask( 2787 VkCmdBuffer cmdBuffer, 2788 VkStencilFaceFlags faceMask, 2789 uint32_t stencilWriteMask); 2790 2791void VKAPI vkCmdSetStencilReference( 2792 VkCmdBuffer cmdBuffer, 2793 VkStencilFaceFlags faceMask, 2794 uint32_t stencilReference); 2795 2796void VKAPI vkCmdBindDescriptorSets( 2797 VkCmdBuffer cmdBuffer, 2798 VkPipelineBindPoint pipelineBindPoint, 2799 VkPipelineLayout layout, 2800 uint32_t firstSet, 2801 uint32_t descriptorSetCount, 2802 const VkDescriptorSet* pDescriptorSets, 2803 uint32_t dynamicOffsetCount, 2804 const uint32_t* pDynamicOffsets); 2805 2806void VKAPI vkCmdBindIndexBuffer( 2807 VkCmdBuffer cmdBuffer, 2808 VkBuffer buffer, 2809 VkDeviceSize offset, 2810 VkIndexType indexType); 2811 2812void VKAPI vkCmdBindVertexBuffers( 2813 VkCmdBuffer cmdBuffer, 2814 uint32_t startBinding, 2815 uint32_t bindingCount, 2816 const VkBuffer* pBuffers, 2817 const VkDeviceSize* pOffsets); 2818 2819void VKAPI vkCmdDraw( 2820 VkCmdBuffer cmdBuffer, 2821 uint32_t vertexCount, 2822 uint32_t instanceCount, 2823 uint32_t firstVertex, 2824 uint32_t firstInstance); 2825 2826void VKAPI vkCmdDrawIndexed( 2827 VkCmdBuffer cmdBuffer, 2828 uint32_t indexCount, 2829 uint32_t instanceCount, 2830 uint32_t firstIndex, 2831 int32_t vertexOffset, 2832 uint32_t firstInstance); 2833 2834void VKAPI vkCmdDrawIndirect( 2835 VkCmdBuffer cmdBuffer, 2836 VkBuffer buffer, 2837 VkDeviceSize offset, 2838 uint32_t drawCount, 2839 uint32_t stride); 2840 2841void VKAPI vkCmdDrawIndexedIndirect( 2842 VkCmdBuffer cmdBuffer, 2843 VkBuffer buffer, 2844 VkDeviceSize offset, 2845 uint32_t drawCount, 2846 uint32_t stride); 2847 2848void VKAPI vkCmdDispatch( 2849 VkCmdBuffer cmdBuffer, 2850 uint32_t x, 2851 uint32_t y, 2852 uint32_t z); 2853 2854void VKAPI vkCmdDispatchIndirect( 2855 VkCmdBuffer cmdBuffer, 2856 VkBuffer buffer, 2857 VkDeviceSize offset); 2858 2859void VKAPI vkCmdCopyBuffer( 2860 VkCmdBuffer cmdBuffer, 2861 VkBuffer srcBuffer, 2862 VkBuffer destBuffer, 2863 uint32_t regionCount, 2864 const VkBufferCopy* pRegions); 2865 2866void VKAPI vkCmdCopyImage( 2867 VkCmdBuffer cmdBuffer, 2868 VkImage srcImage, 2869 VkImageLayout srcImageLayout, 2870 VkImage destImage, 2871 VkImageLayout destImageLayout, 2872 uint32_t regionCount, 2873 const VkImageCopy* pRegions); 2874 2875void VKAPI vkCmdBlitImage( 2876 VkCmdBuffer cmdBuffer, 2877 VkImage srcImage, 2878 VkImageLayout srcImageLayout, 2879 VkImage destImage, 2880 VkImageLayout destImageLayout, 2881 uint32_t regionCount, 2882 const VkImageBlit* pRegions, 2883 VkTexFilter filter); 2884 2885void VKAPI vkCmdCopyBufferToImage( 2886 VkCmdBuffer cmdBuffer, 2887 VkBuffer srcBuffer, 2888 VkImage destImage, 2889 VkImageLayout destImageLayout, 2890 uint32_t regionCount, 2891 const VkBufferImageCopy* pRegions); 2892 2893void VKAPI vkCmdCopyImageToBuffer( 2894 VkCmdBuffer cmdBuffer, 2895 VkImage srcImage, 2896 VkImageLayout srcImageLayout, 2897 VkBuffer destBuffer, 2898 uint32_t regionCount, 2899 const VkBufferImageCopy* pRegions); 2900 2901void VKAPI vkCmdUpdateBuffer( 2902 VkCmdBuffer cmdBuffer, 2903 VkBuffer destBuffer, 2904 VkDeviceSize destOffset, 2905 VkDeviceSize dataSize, 2906 const uint32_t* pData); 2907 2908void VKAPI vkCmdFillBuffer( 2909 VkCmdBuffer cmdBuffer, 2910 VkBuffer destBuffer, 2911 VkDeviceSize destOffset, 2912 VkDeviceSize fillSize, 2913 uint32_t data); 2914 2915void VKAPI vkCmdClearColorImage( 2916 VkCmdBuffer cmdBuffer, 2917 VkImage image, 2918 VkImageLayout imageLayout, 2919 const VkClearColorValue* pColor, 2920 uint32_t rangeCount, 2921 const VkImageSubresourceRange* pRanges); 2922 2923void VKAPI vkCmdClearDepthStencilImage( 2924 VkCmdBuffer cmdBuffer, 2925 VkImage image, 2926 VkImageLayout imageLayout, 2927 const VkClearDepthStencilValue* pDepthStencil, 2928 uint32_t rangeCount, 2929 const VkImageSubresourceRange* pRanges); 2930 2931void VKAPI vkCmdClearAttachments( 2932 VkCmdBuffer cmdBuffer, 2933 uint32_t attachmentCount, 2934 const VkClearAttachment* pAttachments, 2935 uint32_t rectCount, 2936 const VkClearRect* pRects); 2937 2938void VKAPI vkCmdResolveImage( 2939 VkCmdBuffer cmdBuffer, 2940 VkImage srcImage, 2941 VkImageLayout srcImageLayout, 2942 VkImage destImage, 2943 VkImageLayout destImageLayout, 2944 uint32_t regionCount, 2945 const VkImageResolve* pRegions); 2946 2947void VKAPI vkCmdSetEvent( 2948 VkCmdBuffer cmdBuffer, 2949 VkEvent event, 2950 VkPipelineStageFlags stageMask); 2951 2952void VKAPI vkCmdResetEvent( 2953 VkCmdBuffer cmdBuffer, 2954 VkEvent event, 2955 VkPipelineStageFlags stageMask); 2956 2957void VKAPI vkCmdWaitEvents( 2958 VkCmdBuffer cmdBuffer, 2959 uint32_t eventCount, 2960 const VkEvent* pEvents, 2961 VkPipelineStageFlags srcStageMask, 2962 VkPipelineStageFlags destStageMask, 2963 uint32_t memBarrierCount, 2964 const void* const* ppMemBarriers); 2965 2966void VKAPI vkCmdPipelineBarrier( 2967 VkCmdBuffer cmdBuffer, 2968 VkPipelineStageFlags srcStageMask, 2969 VkPipelineStageFlags destStageMask, 2970 VkBool32 byRegion, 2971 uint32_t memBarrierCount, 2972 const void* const* ppMemBarriers); 2973 2974void VKAPI vkCmdBeginQuery( 2975 VkCmdBuffer cmdBuffer, 2976 VkQueryPool queryPool, 2977 uint32_t slot, 2978 VkQueryControlFlags flags); 2979 2980void VKAPI vkCmdEndQuery( 2981 VkCmdBuffer cmdBuffer, 2982 VkQueryPool queryPool, 2983 uint32_t slot); 2984 2985void VKAPI vkCmdResetQueryPool( 2986 VkCmdBuffer cmdBuffer, 2987 VkQueryPool queryPool, 2988 uint32_t startQuery, 2989 uint32_t queryCount); 2990 2991void VKAPI vkCmdWriteTimestamp( 2992 VkCmdBuffer cmdBuffer, 2993 VkPipelineStageFlagBits pipelineStage, 2994 VkQueryPool queryPool, 2995 uint32_t slot); 2996 2997void VKAPI vkCmdCopyQueryPoolResults( 2998 VkCmdBuffer cmdBuffer, 2999 VkQueryPool queryPool, 3000 uint32_t startQuery, 3001 uint32_t queryCount, 3002 VkBuffer destBuffer, 3003 VkDeviceSize destOffset, 3004 VkDeviceSize stride, 3005 VkQueryResultFlags flags); 3006 3007void VKAPI vkCmdPushConstants( 3008 VkCmdBuffer cmdBuffer, 3009 VkPipelineLayout layout, 3010 VkShaderStageFlags stageFlags, 3011 uint32_t offset, 3012 uint32_t size, 3013 const void* values); 3014 3015void VKAPI vkCmdBeginRenderPass( 3016 VkCmdBuffer cmdBuffer, 3017 const VkRenderPassBeginInfo* pRenderPassBegin, 3018 VkRenderPassContents contents); 3019 3020void VKAPI vkCmdNextSubpass( 3021 VkCmdBuffer cmdBuffer, 3022 VkRenderPassContents contents); 3023 3024void VKAPI vkCmdEndRenderPass( 3025 VkCmdBuffer cmdBuffer); 3026 3027void VKAPI vkCmdExecuteCommands( 3028 VkCmdBuffer cmdBuffer, 3029 uint32_t cmdBuffersCount, 3030 const VkCmdBuffer* pCmdBuffers); 3031#endif 3032 3033#define vk_ext_khr_surface 1 3034VK_DEFINE_NONDISP_HANDLE(VkSurfaceKHR) 3035 3036#define VK_EXT_KHR_SURFACE_REVISION 19 3037#define VK_EXT_KHR_SURFACE_EXTENSION_NUMBER 1 3038#define VK_EXT_KHR_SURFACE_EXTENSION_NAME "VK_EXT_KHR_surface" 3039 3040typedef void (VKAPI *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface); 3041typedef VkBool32 (VKAPI *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface); 3042 3043#ifdef VK_PROTOTYPES 3044void VKAPI vkDestroySurfaceKHR( 3045 VkInstance instance, 3046 VkSurfaceKHR surface); 3047 3048VkBool32 VKAPI vkGetPhysicalDeviceSurfaceSupportKHR( 3049 VkPhysicalDevice physicalDevice, 3050 uint32_t queueFamilyIndex, 3051 VkSurfaceKHR surface); 3052#endif 3053 3054#define vk_ext_khr_swapchain 1 3055VK_DEFINE_NONDISP_HANDLE(VkSwapchainKHR) 3056 3057#define VK_EXT_KHR_SWAPCHAIN_REVISION 59 3058#define VK_EXT_KHR_SWAPCHAIN_EXTENSION_NUMBER 2 3059#define VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME "VK_EXT_KHR_swapchain" 3060#define VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR ((VkStructureType)(int)0xc0000800) 3061#define VK_STRUCTURE_TYPE_PRESENT_INFO_KHR ((VkStructureType)(int)0xc0000801) 3062#define VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR ((VkImageLayout)(int)0xc0000802) 3063#define VK_SUBOPTIMAL_KHR ((VkResult)(int)0x40000403) 3064#define VK_ERROR_OUT_OF_DATE_KHR ((VkResult)(int)0xc0000804) 3065 3066 3067typedef enum { 3068 VK_SURFACE_TRANSFORM_NONE_KHR = 0, 3069 VK_SURFACE_TRANSFORM_ROT90_KHR = 1, 3070 VK_SURFACE_TRANSFORM_ROT180_KHR = 2, 3071 VK_SURFACE_TRANSFORM_ROT270_KHR = 3, 3072 VK_SURFACE_TRANSFORM_HMIRROR_KHR = 4, 3073 VK_SURFACE_TRANSFORM_HMIRROR_ROT90_KHR = 5, 3074 VK_SURFACE_TRANSFORM_HMIRROR_ROT180_KHR = 6, 3075 VK_SURFACE_TRANSFORM_HMIRROR_ROT270_KHR = 7, 3076 VK_SURFACE_TRANSFORM_INHERIT_KHR = 8, 3077 VK_SURFACE_TRANSFORM_BEGIN_RANGE = VK_SURFACE_TRANSFORM_NONE_KHR, 3078 VK_SURFACE_TRANSFORM_END_RANGE = VK_SURFACE_TRANSFORM_INHERIT_KHR, 3079 VK_SURFACE_TRANSFORM_NUM = (VK_SURFACE_TRANSFORM_INHERIT_KHR - VK_SURFACE_TRANSFORM_NONE_KHR + 1), 3080 VK_SURFACE_TRANSFORM_MAX_ENUM = 0x7FFFFFFF 3081} VkSurfaceTransformKHR; 3082 3083typedef enum { 3084 VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0, 3085 VK_COLORSPACE_BEGIN_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, 3086 VK_COLORSPACE_END_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, 3087 VK_COLORSPACE_NUM = (VK_COLORSPACE_SRGB_NONLINEAR_KHR - VK_COLORSPACE_SRGB_NONLINEAR_KHR + 1), 3088 VK_COLORSPACE_MAX_ENUM = 0x7FFFFFFF 3089} VkColorSpaceKHR; 3090 3091typedef enum { 3092 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 3093 VK_PRESENT_MODE_MAILBOX_KHR = 1, 3094 VK_PRESENT_MODE_FIFO_KHR = 2, 3095 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 3096 VK_PRESENT_MODE_BEGIN_RANGE = VK_PRESENT_MODE_IMMEDIATE_KHR, 3097 VK_PRESENT_MODE_END_RANGE = VK_PRESENT_MODE_FIFO_RELAXED_KHR, 3098 VK_PRESENT_MODE_NUM = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), 3099 VK_PRESENT_MODE_MAX_ENUM = 0x7FFFFFFF 3100} VkPresentModeKHR; 3101 3102 3103typedef enum { 3104 VK_SURFACE_TRANSFORM_NONE_BIT_KHR = 0x00000001, 3105 VK_SURFACE_TRANSFORM_ROT90_BIT_KHR = 0x00000002, 3106 VK_SURFACE_TRANSFORM_ROT180_BIT_KHR = 0x00000004, 3107 VK_SURFACE_TRANSFORM_ROT270_BIT_KHR = 0x00000008, 3108 VK_SURFACE_TRANSFORM_HMIRROR_BIT_KHR = 0x00000010, 3109 VK_SURFACE_TRANSFORM_HMIRROR_ROT90_BIT_KHR = 0x00000020, 3110 VK_SURFACE_TRANSFORM_HMIRROR_ROT180_BIT_KHR = 0x00000040, 3111 VK_SURFACE_TRANSFORM_HMIRROR_ROT270_BIT_KHR = 0x00000080, 3112 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 3113} VkSurfaceTransformFlagBitsKHR; 3114typedef VkFlags VkSurfaceTransformFlagsKHR; 3115 3116typedef struct { 3117 uint32_t minImageCount; 3118 uint32_t maxImageCount; 3119 VkExtent2D currentExtent; 3120 VkExtent2D minImageExtent; 3121 VkExtent2D maxImageExtent; 3122 VkSurfaceTransformFlagsKHR supportedTransforms; 3123 VkSurfaceTransformKHR currentTransform; 3124 uint32_t maxImageArraySize; 3125 VkImageUsageFlags supportedUsageFlags; 3126} VkSurfacePropertiesKHR; 3127 3128typedef struct { 3129 VkFormat format; 3130 VkColorSpaceKHR colorSpace; 3131} VkSurfaceFormatKHR; 3132 3133typedef struct { 3134 VkStructureType sType; 3135 const void* pNext; 3136 VkSurfaceKHR surface; 3137 uint32_t minImageCount; 3138 VkFormat imageFormat; 3139 VkColorSpaceKHR imageColorSpace; 3140 VkExtent2D imageExtent; 3141 VkImageUsageFlags imageUsageFlags; 3142 VkSurfaceTransformKHR preTransform; 3143 uint32_t imageArraySize; 3144 VkSharingMode sharingMode; 3145 uint32_t queueFamilyIndexCount; 3146 const uint32_t* pQueueFamilyIndices; 3147 VkPresentModeKHR presentMode; 3148 VkSwapchainKHR oldSwapchain; 3149 VkBool32 clipped; 3150} VkSwapchainCreateInfoKHR; 3151 3152typedef struct { 3153 VkStructureType sType; 3154 const void* pNext; 3155 uint32_t swapchainCount; 3156 const VkSwapchainKHR* pSwapchains; 3157 const uint32_t* imageIndices; 3158} VkPresentInfoKHR; 3159 3160 3161typedef VkResult (VKAPI *PFN_vkGetSurfacePropertiesKHR)(VkDevice device, VkSurfaceKHR surface, VkSurfacePropertiesKHR* pSurfaceProperties); 3162typedef VkResult (VKAPI *PFN_vkGetSurfaceFormatsKHR)(VkDevice device, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 3163typedef VkResult (VKAPI *PFN_vkGetSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 3164typedef VkResult (VKAPI *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, VkSwapchainKHR* pSwapchain); 3165typedef void (VKAPI *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain); 3166typedef VkResult (VKAPI *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 3167typedef VkResult (VKAPI *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 3168typedef VkResult (VKAPI *PFN_vkQueuePresentKHR)(VkQueue queue, VkPresentInfoKHR* pPresentInfo); 3169 3170#ifdef VK_PROTOTYPES 3171VkResult VKAPI vkGetSurfacePropertiesKHR( 3172 VkDevice device, 3173 VkSurfaceKHR surface, 3174 VkSurfacePropertiesKHR* pSurfaceProperties); 3175 3176VkResult VKAPI vkGetSurfaceFormatsKHR( 3177 VkDevice device, 3178 VkSurfaceKHR surface, 3179 uint32_t* pSurfaceFormatCount, 3180 VkSurfaceFormatKHR* pSurfaceFormats); 3181 3182VkResult VKAPI vkGetSurfacePresentModesKHR( 3183 VkDevice device, 3184 VkSurfaceKHR surface, 3185 uint32_t* pPresentModeCount, 3186 VkPresentModeKHR* pPresentModes); 3187 3188VkResult VKAPI vkCreateSwapchainKHR( 3189 VkDevice device, 3190 const VkSwapchainCreateInfoKHR* pCreateInfo, 3191 VkSwapchainKHR* pSwapchain); 3192 3193void VKAPI vkDestroySwapchainKHR( 3194 VkDevice device, 3195 VkSwapchainKHR swapchain); 3196 3197VkResult VKAPI vkGetSwapchainImagesKHR( 3198 VkDevice device, 3199 VkSwapchainKHR swapchain, 3200 uint32_t* pSwapchainImageCount, 3201 VkImage* pSwapchainImages); 3202 3203VkResult VKAPI vkAcquireNextImageKHR( 3204 VkDevice device, 3205 VkSwapchainKHR swapchain, 3206 uint64_t timeout, 3207 VkSemaphore semaphore, 3208 VkFence fence, 3209 uint32_t* pImageIndex); 3210 3211VkResult VKAPI vkQueuePresentKHR( 3212 VkQueue queue, 3213 VkPresentInfoKHR* pPresentInfo); 3214#endif 3215 3216#define vk_ext_khr_display 1 3217VK_DEFINE_NONDISP_HANDLE(VkDisplayKHR) 3218VK_DEFINE_NONDISP_HANDLE(VkDisplayModeKHR) 3219 3220#define VK_EXT_KHR_DISPLAY_REVISION 16 3221#define VK_EXT_KHR_DISPLAY_EXTENSION_NUMBER 3 3222#define VK_EXT_KHR_DISPLAY_EXTENSION_NAME "VK_EXT_KHR_display" 3223#define VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR ((VkStructureType)(int)0xc0000c00) 3224#define VK_STRUCTURE_TYPE_SURFACE_DESCRIPTION_DISPLAY_PLANE_KHR ((VkStructureType)(int)0xc0000c01) 3225 3226 3227typedef enum { 3228 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000001, 3229 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000002, 3230 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000004, 3231} VkDisplayPlaneAlphaFlagBitsKHR; 3232typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 3233 3234typedef struct { 3235 VkDisplayKHR display; 3236 const char* displayName; 3237 VkExtent2D physicalDimensions; 3238 VkExtent2D physicalResolution; 3239 VkSurfaceTransformFlagsKHR supportedTransforms; 3240 uint32_t planeCount; 3241 VkBool32 planeReorderPossible; 3242} VkDisplayPropertiesKHR; 3243 3244typedef struct { 3245 uint32_t pixelClock; 3246 VkExtent2D visibleRegion; 3247 VkExtent2D totalRegion; 3248 VkExtent2D physicalDimensions; 3249 uint32_t hSyncStart; 3250 uint32_t hSyncEnd; 3251 uint32_t vSyncStart; 3252 uint32_t vSyncEnd; 3253 VkBool32 interlaced; 3254 VkBool32 doublescan; 3255 VkBool32 hSyncPos; 3256 VkBool32 vSyncPos; 3257} VkDisplayTimingKHR; 3258 3259typedef struct { 3260 VkDisplayModeKHR displayMode; 3261 VkDisplayTimingKHR timing; 3262} VkDisplayModePropertiesKHR; 3263 3264typedef struct { 3265 VkStructureType sType; 3266 const void* pNext; 3267 VkDisplayTimingKHR timing; 3268} VkDisplayModeCreateInfoKHR; 3269 3270typedef struct { 3271 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 3272 VkOffset2D minSrcPosition; 3273 VkOffset2D maxSrcPosition; 3274 VkExtent2D minSrcExtent; 3275 VkExtent2D maxSrcExtent; 3276 VkOffset2D minDstPosition; 3277 VkOffset2D maxDstPosition; 3278 VkExtent2D minDstExtent; 3279 VkExtent2D maxDstExtent; 3280} VkDisplayPlanePropertiesKHR; 3281 3282typedef struct { 3283 VkStructureType sType; 3284 const void* pNext; 3285 VkDisplayModeKHR displayMode; 3286 uint32_t planeIndex; 3287 uint32_t planeStackIndex; 3288 VkSurfaceTransformKHR transform; 3289 float globalAlpha; 3290 VkDisplayPlaneAlphaFlagsKHR alphaMode; 3291 VkExtent2D imageSize; 3292} VkSurfaceDescriptionDisplayPlaneKHR; 3293 3294 3295typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 3296typedef VkResult (VKAPI *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 3297typedef VkResult (VKAPI *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR*pCreateInfo, VkDisplayModeKHR* pMode); 3298typedef VkResult (VKAPI *PFN_vkGetDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlanePropertiesKHR* pProperties); 3299 3300#ifdef VK_PROTOTYPES 3301VkResult VKAPI vkGetPhysicalDeviceDisplayPropertiesKHR( 3302 VkPhysicalDevice physicalDevice, 3303 uint32_t* pPropertyCount, 3304 VkDisplayPropertiesKHR* pProperties); 3305 3306VkResult VKAPI vkGetDisplayModePropertiesKHR( 3307 VkPhysicalDevice physicalDevice, 3308 VkDisplayKHR display, 3309 uint32_t* pPropertyCount, 3310 VkDisplayModePropertiesKHR* pProperties); 3311 3312VkResult VKAPI vkCreateDisplayModeKHR( 3313 VkPhysicalDevice physicalDevice, 3314 VkDisplayKHR display, 3315 const VkDisplayModeCreateInfoKHR* pCreateInfo, 3316 VkDisplayModeKHR* pMode); 3317 3318VkResult VKAPI vkGetDisplayPlanePropertiesKHR( 3319 VkPhysicalDevice physicalDevice, 3320 VkDisplayKHR display, 3321 VkDisplayModeKHR mode, 3322 uint32_t planeIndex, 3323 VkDisplayPlanePropertiesKHR* pProperties); 3324#endif 3325 3326#define vk_ext_khr_display_swapchain 1 3327#define VK_EXT_KHR_DISPLAY_SWAPCHAIN_REVISION 4 3328#define VK_EXT_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NUMBER 4 3329#define VK_EXT_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_EXT_KHR_display_swapchain" 3330#define VK_STRUCTURE_TYPE_DISPLAY_SWAPCHAIN_CREATE_INFO_KHR ((VkStructureType)(int)0xc0001000) 3331#define VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR ((VkStructureType)(int)0xc0001001) 3332#define VK_ERROR_INCOMPATIBLE_DISPLAY_KHR ((VkResult)(int)0xc0001002) 3333 3334typedef struct { 3335 VkStructureType sType; 3336 const void* pNext; 3337 const VkSwapchainCreateInfoKHR* pNextSwapchainCreateInfo; 3338} VkDisplaySwapchainCreateInfoKHR; 3339 3340typedef struct { 3341 VkStructureType sType; 3342 const void* pNext; 3343 VkRect2D srcRect; 3344 VkRect2D dstRect; 3345} VkDisplayPresentInfoKHR; 3346 3347 3348 3349#ifdef VK_USE_PLATFORM_X11_KHR 3350#define vk_ext_khr_x11_surface 1 3351#include <X11/Xlib.h> 3352 3353#define VK_EXT_KHR_X11_SURFACE_REVISION 1 3354#define VK_EXT_KHR_X11_SURFACE_EXTENSION_NUMBER 5 3355#define VK_EXT_KHR_X11_SURFACE_EXTENSION_NAME "VK_EXT_KHR_x11_surface" 3356 3357typedef VkResult (VKAPI *PFN_vkCreateX11SurfaceKHR)(VkInstance instance, Display* dpy, Window root, Window window, VkSurfaceKHR* pSurface); 3358 3359#ifdef VK_PROTOTYPES 3360VkResult VKAPI vkCreateX11SurfaceKHR( 3361 VkInstance instance, 3362 Display* dpy, 3363 Window root, 3364 Window window, 3365 VkSurfaceKHR* pSurface); 3366#endif 3367#endif /* VK_USE_PLATFORM_X11_KHR */ 3368 3369#ifdef VK_USE_PLATFORM_XCB_KHR 3370#define vk_ext_khr_xcb_surface 1 3371#include <xcb/xcb.h> 3372 3373#define VK_EXT_KHR_XCB_SURFACE_REVISION 1 3374#define VK_EXT_KHR_XCB_SURFACE_EXTENSION_NUMBER 6 3375#define VK_EXT_KHR_XCB_SURFACE_EXTENSION_NAME "VK_EXT_KHR_xcb_surface" 3376 3377typedef VkResult (VKAPI *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, xcb_connection_t* connection, xcb_window_t root, xcb_window_t window, VkSurfaceKHR* pSurface); 3378 3379#ifdef VK_PROTOTYPES 3380VkResult VKAPI vkCreateXcbSurfaceKHR( 3381 VkInstance instance, 3382 xcb_connection_t* connection, 3383 xcb_window_t root, 3384 xcb_window_t window, 3385 VkSurfaceKHR* pSurface); 3386#endif 3387#endif /* VK_USE_PLATFORM_XCB_KHR */ 3388 3389#ifdef VK_USE_PLATFORM_WAYLAND_KHR 3390#define vk_ext_khr_wayland_surface 1 3391#include <wayland-client.h> 3392 3393#define VK_EXT_KHR_WAYLAND_SURFACE_REVISION 1 3394#define VK_EXT_KHR_WAYLAND_SURFACE_EXTENSION_NUMBER 7 3395#define VK_EXT_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_EXT_KHR_wayland_surface" 3396 3397typedef VkResult (VKAPI *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, struct wl_display* display, struct wl_surface* surface, VkSurfaceKHR* pSurface); 3398 3399#ifdef VK_PROTOTYPES 3400VkResult VKAPI vkCreateWaylandSurfaceKHR( 3401 VkInstance instance, 3402 struct wl_display* display, 3403 struct wl_surface* surface, 3404 VkSurfaceKHR* pSurface); 3405#endif 3406#endif /* VK_USE_PLATFORM_WAYLAND_KHR */ 3407 3408#ifdef VK_USE_PLATFORM_MIR_KHR 3409#define vk_ext_khr_mir_surface 1 3410#include <mir_toolkit/client_types.h> 3411 3412#define VK_EXT_KHR_MIR_SURFACE_REVISION 1 3413#define VK_EXT_KHR_MIR_SURFACE_EXTENSION_NUMBER 8 3414#define VK_EXT_KHR_MIR_SURFACE_EXTENSION_NAME "VK_EXT_KHR_mir_surface" 3415 3416typedef VkResult (VKAPI *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, MirConnection* connection, MirSurface* mirSurface, VkSurfaceKHR* pSurface); 3417 3418#ifdef VK_PROTOTYPES 3419VkResult VKAPI vkCreateMirSurfaceKHR( 3420 VkInstance instance, 3421 MirConnection* connection, 3422 MirSurface* mirSurface, 3423 VkSurfaceKHR* pSurface); 3424#endif 3425#endif /* VK_USE_PLATFORM_MIR_KHR */ 3426 3427#ifdef VK_USE_PLATFORM_ANDROID_KHR 3428#define vk_ext_khr_android_surface 1 3429#include <android/native_window.h> 3430 3431#define VK_EXT_KHR_ANDROID_SURFACE_REVISION 1 3432#define VK_EXT_KHR_ANDROID_SURFACE_EXTENSION_NUMBER 9 3433#define VK_EXT_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_EXT_KHR_android_surface" 3434#define VK_ERROR_INVALID_ANDROID_WINDOW_KHR ((VkResult)(int)0xc0002400) 3435#define VK_ERROR_ANDROID_WINDOW_IN_USE_KHR ((VkResult)(int)0xc0002401) 3436 3437typedef VkResult (VKAPI *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, ANativeWindow* window, VkSurfaceKHR* pSurface); 3438 3439#ifdef VK_PROTOTYPES 3440VkResult VKAPI vkCreateAndroidSurfaceKHR( 3441 VkInstance instance, 3442 ANativeWindow* window, 3443 VkSurfaceKHR* pSurface); 3444#endif 3445#endif /* VK_USE_PLATFORM_ANDROID_KHR */ 3446 3447#ifdef VK_USE_PLATFORM_WIN32_KHR 3448#define vk_ext_khr_win32_surface 1 3449#include <windows.h> 3450 3451#define VK_EXT_KHR_WIN32_SURFACE_REVISION 1 3452#define VK_EXT_KHR_WIN32_SURFACE_EXTENSION_NUMBER 10 3453#define VK_EXT_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_EXT_KHR_win32_surface" 3454 3455typedef VkResult (VKAPI *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, HINSTANCE hinstance, HWND hwnd, VkSurfaceKHR* pSurface); 3456 3457#ifdef VK_PROTOTYPES 3458VkResult VKAPI vkCreateWin32SurfaceKHR( 3459 VkInstance instance, 3460 HINSTANCE hinstance, 3461 HWND hwnd, 3462 VkSurfaceKHR* pSurface); 3463#endif 3464#endif /* VK_USE_PLATFORM_WIN32_KHR */ 3465 3466#ifdef __cplusplus 3467} 3468#endif 3469 3470#endif 3471