1c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VULKAN_H_ 2c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VULKAN_H_ 1 3c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifdef __cplusplus 5c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danielextern "C" { 6c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 7c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 8c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel/* 9c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** Copyright (c) 2015-2017 The Khronos Group Inc. 10c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** 11c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** Licensed under the Apache License, Version 2.0 (the "License"); 12c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** you may not use this file except in compliance with the License. 13c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** You may obtain a copy of the License at 14c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** 15c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** http://www.apache.org/licenses/LICENSE-2.0 16c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** 17c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** Unless required by applicable law or agreed to in writing, software 18c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** distributed under the License is distributed on an "AS IS" BASIS, 19c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** See the License for the specific language governing permissions and 21c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** limitations under the License. 22c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel*/ 23c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 24c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel/* 25c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** This header is generated from the Khronos Vulkan XML API Registry. 26c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel** 27c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel*/ 28c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 29ec6ae52168ae4803c2312c362280f7f79e0d380eGreg Daniel/* 30ec6ae52168ae4803c2312c362280f7f79e0d380eGreg Daniel * Below this point is based on the original Khronos vulkan.h header, but simplified for use in Skia 31ec6ae52168ae4803c2312c362280f7f79e0d380eGreg Daniel * when we are not building with a Vulkan backend, but still need the type declarations for compiling. 32ec6ae52168ae4803c2312c362280f7f79e0d380eGreg Daniel */ 33c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 34c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_VERSION_1_0 1 35c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#include "vk_platform.h" 36c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 37c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAKE_VERSION(major, minor, patch) \ 38c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel (((major) << 22) | ((minor) << 12) | (patch)) 39c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 40c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 41c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) 42c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 43c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel// Vulkan 1.0 version number 44c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) 45c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 46c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) 47c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) 48c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) 49c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel// Version of this file 50c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_HEADER_VERSION 46 51c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 52c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 53c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NULL_HANDLE 0 54c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 55c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 56c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 57c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 58c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 59c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 60c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) 61c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 62c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 63c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#else 64c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; 65c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 66c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 67c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 68c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 69c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 70c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef uint32_t VkFlags; 71c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef uint32_t VkBool32; 72c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef uint64_t VkDeviceSize; 73c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef uint32_t VkSampleMask; 74c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 75c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_HANDLE(VkInstance) 76c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_HANDLE(VkPhysicalDevice) 77c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_HANDLE(VkDevice) 78c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_HANDLE(VkQueue) 79c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 80c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_HANDLE(VkCommandBuffer) 81c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 82c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 83c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 84c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 85c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 86c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 87c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 88c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 89c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 90c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 91c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 92c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 93c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 94c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 95c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 96c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 97c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 98c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 99c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_LOD_CLAMP_NONE 1000.0f 102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_REMAINING_MIP_LEVELS (~0U) 103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_REMAINING_ARRAY_LAYERS (~0U) 104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_WHOLE_SIZE (~0ULL) 105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_ATTACHMENT_UNUSED (~0U) 106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_TRUE 1 107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_FALSE 0 108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_QUEUE_FAMILY_IGNORED (~0U) 109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_SUBPASS_EXTERNAL (~0U) 110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_UUID_SIZE 16 112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_MEMORY_TYPES 32 113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_MEMORY_HEAPS 16 114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_EXTENSION_NAME_SIZE 256 115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_DESCRIPTION_SIZE 256 116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPipelineCacheHeaderVersion { 119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, 121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE, 122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1), 123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineCacheHeaderVersion; 125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkResult { 127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUCCESS = 0, 128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_NOT_READY = 1, 129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_TIMEOUT = 2, 130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EVENT_SET = 3, 131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EVENT_RESET = 4, 132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INCOMPLETE = 5, 133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_OUT_OF_HOST_MEMORY = -1, 134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_INITIALIZATION_FAILED = -3, 136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_DEVICE_LOST = -4, 137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_MEMORY_MAP_FAILED = -5, 138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_LAYER_NOT_PRESENT = -6, 139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_EXTENSION_NOT_PRESENT = -7, 140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_FEATURE_NOT_PRESENT = -8, 141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_INCOMPATIBLE_DRIVER = -9, 142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_TOO_MANY_OBJECTS = -10, 143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_FRAGMENTED_POOL = -12, 145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_SURFACE_LOST_KHR = -1000000000, 146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBOPTIMAL_KHR = 1000001003, 148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_INVALID_SHADER_NV = -1000012000, 152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000, 153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ERROR_INVALID_EXTERNAL_HANDLE_KHX = -1000072003, 154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL, 155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RESULT_END_RANGE = VK_INCOMPLETE, 156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1), 157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RESULT_MAX_ENUM = 0x7FFFFFFF 158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkResult; 159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkStructureType { 161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000, 219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX = 1000053000, 230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX = 1000053001, 231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX = 1000053002, 232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000, 238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001, 239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002, 240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003, 241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004, 242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005, 243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006, 244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007, 245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008, 246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX = 1000060000, 247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHX = 1000060001, 248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX = 1000060002, 249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX = 1000060003, 250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX = 1000060004, 251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX = 1000060005, 252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX = 1000060006, 253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX = 1000060007, 254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX = 1000060008, 255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX = 1000060009, 256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX = 1000060010, 257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX = 1000060011, 258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX = 1000060012, 259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = 1000070000, 262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = 1000070001, 263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHX = 1000071000, 264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHX = 1000071001, 265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHX = 1000071002, 266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHX = 1000071003, 267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHX = 1000071004, 268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHX = 1000071005, 269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHX = 1000071006, 270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHX = 1000071007, 271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHX = 1000072000, 272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHX = 1000072001, 273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHX = 1000072002, 274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHX = 1000073000, 275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHX = 1000073001, 276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHX = 1000073002, 277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHX = 1000074000, 278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHX = 1000074001, 279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHX = 1000075000, 280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHX = 1000076000, 281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHX = 1000076001, 282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHX = 1000077000, 283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHX = 1000078000, 284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHX = 1000078001, 285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHX = 1000078002, 286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHX = 1000079000, 287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000, 290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000, 291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001, 292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002, 293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, 294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, 295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, 296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = 1000090000, 298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, 311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, 312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), 313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkStructureType; 315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSystemAllocationScope { 317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, 323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE, 324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1), 325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSystemAllocationScope; 327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkInternalAllocationType { 329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, 331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE, 332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1), 333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkInternalAllocationType; 335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkFormat { 337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_UNDEFINED = 0, 338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R4G4_UNORM_PACK8 = 1, 339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_UNORM = 9, 347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_SNORM = 10, 348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_USCALED = 11, 349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_SSCALED = 12, 350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_UINT = 13, 351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_SINT = 14, 352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8_SRGB = 15, 353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_UNORM = 16, 354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_SNORM = 17, 355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_USCALED = 18, 356c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_SSCALED = 19, 357c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_UINT = 20, 358c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_SINT = 21, 359c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8_SRGB = 22, 360c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_UNORM = 23, 361c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_SNORM = 24, 362c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_USCALED = 25, 363c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_SSCALED = 26, 364c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_UINT = 27, 365c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_SINT = 28, 366c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8_SRGB = 29, 367c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_UNORM = 30, 368c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_SNORM = 31, 369c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_USCALED = 32, 370c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_SSCALED = 33, 371c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_UINT = 34, 372c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_SINT = 35, 373c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8_SRGB = 36, 374c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_UNORM = 37, 375c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_SNORM = 38, 376c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_USCALED = 39, 377c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_SSCALED = 40, 378c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_UINT = 41, 379c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_SINT = 42, 380c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R8G8B8A8_SRGB = 43, 381c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_UNORM = 44, 382c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_SNORM = 45, 383c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_USCALED = 46, 384c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_SSCALED = 47, 385c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_UINT = 48, 386c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_SINT = 49, 387c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B8G8R8A8_SRGB = 50, 388c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 389c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 390c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 391c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 392c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 393c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 394c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 395c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 396c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 397c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 398c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 399c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 400c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 401c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 402c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 403c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 404c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 405c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 406c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 407c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_UNORM = 70, 408c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_SNORM = 71, 409c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_USCALED = 72, 410c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_SSCALED = 73, 411c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_UINT = 74, 412c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_SINT = 75, 413c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16_SFLOAT = 76, 414c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_UNORM = 77, 415c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_SNORM = 78, 416c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_USCALED = 79, 417c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_SSCALED = 80, 418c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_UINT = 81, 419c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_SINT = 82, 420c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16_SFLOAT = 83, 421c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_UNORM = 84, 422c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_SNORM = 85, 423c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_USCALED = 86, 424c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_SSCALED = 87, 425c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_UINT = 88, 426c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_SINT = 89, 427c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16_SFLOAT = 90, 428c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_UNORM = 91, 429c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_SNORM = 92, 430c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_USCALED = 93, 431c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_SSCALED = 94, 432c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_UINT = 95, 433c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_SINT = 96, 434c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R16G16B16A16_SFLOAT = 97, 435c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32_UINT = 98, 436c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32_SINT = 99, 437c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32_SFLOAT = 100, 438c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32_UINT = 101, 439c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32_SINT = 102, 440c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32_SFLOAT = 103, 441c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32_UINT = 104, 442c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32_SINT = 105, 443c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32_SFLOAT = 106, 444c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32A32_UINT = 107, 445c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32A32_SINT = 108, 446c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R32G32B32A32_SFLOAT = 109, 447c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64_UINT = 110, 448c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64_SINT = 111, 449c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64_SFLOAT = 112, 450c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64_UINT = 113, 451c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64_SINT = 114, 452c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64_SFLOAT = 115, 453c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64_UINT = 116, 454c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64_SINT = 117, 455c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64_SFLOAT = 118, 456c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64A64_UINT = 119, 457c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64A64_SINT = 120, 458c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_R64G64B64A64_SFLOAT = 121, 459c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 460c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 461c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_D16_UNORM = 124, 462c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 463c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_D32_SFLOAT = 126, 464c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_S8_UINT = 127, 465c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_D16_UNORM_S8_UINT = 128, 466c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_D24_UNORM_S8_UINT = 129, 467c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 468c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 469c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 470c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 471c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 472c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC2_UNORM_BLOCK = 135, 473c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC2_SRGB_BLOCK = 136, 474c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC3_UNORM_BLOCK = 137, 475c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC3_SRGB_BLOCK = 138, 476c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC4_UNORM_BLOCK = 139, 477c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC4_SNORM_BLOCK = 140, 478c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC5_UNORM_BLOCK = 141, 479c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC5_SNORM_BLOCK = 142, 480c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 481c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 482c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC7_UNORM_BLOCK = 145, 483c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BC7_SRGB_BLOCK = 146, 484c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 485c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 486c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 487c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 488c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 489c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 490c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 491c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 492c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 493c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 494c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 495c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 496c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 497c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 498c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 499c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 500c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 501c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 502c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 503c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 504c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 505c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 506c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 507c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 508c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 509c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 510c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 511c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 512c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 513c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 514c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 515c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 516c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 517c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 518c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 519c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 520c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 521c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 522c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 523c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 524c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 525c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 526c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 527c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 528c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 529c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 530c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, 531c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, 532c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1), 533c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 534c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFormat; 535c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 536c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageType { 537c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_1D = 0, 538c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_2D = 1, 539c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_3D = 2, 540c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D, 541c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D, 542c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1), 543c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 544c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageType; 545c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 546c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageTiling { 547c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_OPTIMAL = 0, 548c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_LINEAR = 1, 549c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL, 550c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR, 551c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1), 552c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 553c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageTiling; 554c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 555c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPhysicalDeviceType { 556c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 557c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 558c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 559c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 560c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 561c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER, 562c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU, 563c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1), 564c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 565c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceType; 566c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 567c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkQueryType { 568c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_OCCLUSION = 0, 569c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 570c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_TIMESTAMP = 2, 571c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION, 572c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP, 573c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1), 574c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 575c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueryType; 576c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 577c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSharingMode { 578c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_EXCLUSIVE = 0, 579c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_CONCURRENT = 1, 580c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE, 581c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT, 582c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1), 583c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 584c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSharingMode; 585c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 586c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageLayout { 587c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_UNDEFINED = 0, 588c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_GENERAL = 1, 589c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 590c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 591c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 592c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 593c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 594c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 595c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 596c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 597c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED, 598c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED, 599c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1), 600c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 601c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageLayout; 602c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 603c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageViewType { 604c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_1D = 0, 605c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_2D = 1, 606c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_3D = 2, 607c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_CUBE = 3, 608c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 609c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 610c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 611c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D, 612c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, 613c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1), 614c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 615c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageViewType; 616c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 617c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkComponentSwizzle { 618c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_IDENTITY = 0, 619c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_ZERO = 1, 620c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_ONE = 2, 621c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_R = 3, 622c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_G = 4, 623c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_B = 5, 624c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_A = 6, 625c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY, 626c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A, 627c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1), 628c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 629c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkComponentSwizzle; 630c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 631c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkVertexInputRate { 632c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_VERTEX = 0, 633c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_INSTANCE = 1, 634c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX, 635c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE, 636c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1), 637c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 638c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkVertexInputRate; 639c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 640c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPrimitiveTopology { 641c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 642c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 643c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 644c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 645c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 646c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 647c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 648c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 649c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 650c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 651c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 652c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, 653c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, 654c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1), 655c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 656c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPrimitiveTopology; 657c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 658c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPolygonMode { 659c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_FILL = 0, 660c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_LINE = 1, 661c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_POINT = 2, 662c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL, 663c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT, 664c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1), 665c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 666c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPolygonMode; 667c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 668c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkFrontFace { 669c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 670c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_CLOCKWISE = 1, 671c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE, 672c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE, 673c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1), 674c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 675c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFrontFace; 676c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 677c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCompareOp { 678c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_NEVER = 0, 679c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_LESS = 1, 680c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_EQUAL = 2, 681c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_LESS_OR_EQUAL = 3, 682c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_GREATER = 4, 683c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_NOT_EQUAL = 5, 684c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 685c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_ALWAYS = 7, 686c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER, 687c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS, 688c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1), 689c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 690c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCompareOp; 691c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 692c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkStencilOp { 693c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_KEEP = 0, 694c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_ZERO = 1, 695c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_REPLACE = 2, 696c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 697c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 698c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_INVERT = 5, 699c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 700c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 701c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP, 702c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP, 703c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1), 704c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 705c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkStencilOp; 706c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 707c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkLogicOp { 708c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_CLEAR = 0, 709c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_AND = 1, 710c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_AND_REVERSE = 2, 711c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_COPY = 3, 712c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_AND_INVERTED = 4, 713c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_NO_OP = 5, 714c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_XOR = 6, 715c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_OR = 7, 716c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_NOR = 8, 717c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_EQUIVALENT = 9, 718c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_INVERT = 10, 719c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_OR_REVERSE = 11, 720c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_COPY_INVERTED = 12, 721c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_OR_INVERTED = 13, 722c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_NAND = 14, 723c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_SET = 15, 724c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR, 725c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET, 726c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1), 727c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 728c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkLogicOp; 729c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 730c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkBlendFactor { 731c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ZERO = 0, 732c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE = 1, 733c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_SRC_COLOR = 2, 734c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 735c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_DST_COLOR = 4, 736c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 737c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_SRC_ALPHA = 6, 738c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 739c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_DST_ALPHA = 8, 740c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 741c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 742c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 743c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 744c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 745c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 746c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_SRC1_COLOR = 15, 747c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 748c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_SRC1_ALPHA = 17, 749c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 750c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO, 751c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA, 752c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1), 753c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 754c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBlendFactor; 755c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 756c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkBlendOp { 757c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_ADD = 0, 758c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_SUBTRACT = 1, 759c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_REVERSE_SUBTRACT = 2, 760c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_MIN = 3, 761c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_MAX = 4, 762c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD, 763c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX, 764c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1), 765c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 766c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBlendOp; 767c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 768c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDynamicState { 769c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_VIEWPORT = 0, 770c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_SCISSOR = 1, 771c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_LINE_WIDTH = 2, 772c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 773c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 774c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 775c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 776c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 777c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 778c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 779c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 780c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT, 781c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE, 782c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1), 783c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 784c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDynamicState; 785c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 786c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkFilter { 787c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_NEAREST = 0, 788c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_LINEAR = 1, 789c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_CUBIC_IMG = 1000015000, 790c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST, 791c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_END_RANGE = VK_FILTER_LINEAR, 792c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1), 793c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FILTER_MAX_ENUM = 0x7FFFFFFF 794c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFilter; 795c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 796c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSamplerMipmapMode { 797c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 798c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 799c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST, 800c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR, 801c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1), 802c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 803c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSamplerMipmapMode; 804c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 805c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSamplerAddressMode { 806c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 807c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 808c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 809c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 810c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 811c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT, 812c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, 813c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1), 814c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 815c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSamplerAddressMode; 816c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 817c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkBorderColor { 818c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 819c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 820c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 821c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 822c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 823c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 824c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, 825c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE, 826c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1), 827c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 828c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBorderColor; 829c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 830c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDescriptorType { 831c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_SAMPLER = 0, 832c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 833c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 834c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 835c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 836c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 837c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 838c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 839c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 840c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 841c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 842c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER, 843c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 844c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1), 845c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 846c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorType; 847c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 848c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkAttachmentLoadOp { 849c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_LOAD = 0, 850c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 851c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 852c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD, 853c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE, 854c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1), 855c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 856c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAttachmentLoadOp; 857c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 858c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkAttachmentStoreOp { 859c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_STORE = 0, 860c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 861c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE, 862c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE, 863c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1), 864c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 865c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAttachmentStoreOp; 866c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 867c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPipelineBindPoint { 868c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 869c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_COMPUTE = 1, 870c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS, 871c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE, 872c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1), 873c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 874c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineBindPoint; 875c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 876c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCommandBufferLevel { 877c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 878c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 879c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY, 880c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY, 881c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1), 882c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 883c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferLevel; 884c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 885c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkIndexType { 886c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_UINT16 = 0, 887c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_UINT32 = 1, 888c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16, 889c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32, 890c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1), 891c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 892c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndexType; 893c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 894c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSubpassContents { 895c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_INLINE = 0, 896c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 897c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE, 898c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, 899c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1), 900c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 901c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubpassContents; 902c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 903c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkInstanceCreateFlags; 904c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 905c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkFormatFeatureFlagBits { 906c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 907c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 908c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 909c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 910c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 911c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 912c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 913c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 914c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 915c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 916c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 917c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 918c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 919c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, 920c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000, 921c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000, 922c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 923c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFormatFeatureFlagBits; 924c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkFormatFeatureFlags; 925c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 926c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageUsageFlagBits { 927c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 928c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 929c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 930c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 931c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 932c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 933c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 934c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 935c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 936c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageUsageFlagBits; 937c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkImageUsageFlags; 938c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 939c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageCreateFlagBits { 940c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 941c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 942c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 943c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 944c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 945c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = 0x00000040, 946c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020, 947c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 948c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageCreateFlagBits; 949c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkImageCreateFlags; 950c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 951c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSampleCountFlagBits { 952c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_1_BIT = 0x00000001, 953c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_2_BIT = 0x00000002, 954c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_4_BIT = 0x00000004, 955c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_8_BIT = 0x00000008, 956c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_16_BIT = 0x00000010, 957c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_32_BIT = 0x00000020, 958c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_64_BIT = 0x00000040, 959c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 960c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSampleCountFlagBits; 961c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSampleCountFlags; 962c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 963c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkQueueFlagBits { 964c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUEUE_GRAPHICS_BIT = 0x00000001, 965c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUEUE_COMPUTE_BIT = 0x00000002, 966c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUEUE_TRANSFER_BIT = 0x00000004, 967c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 968c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 969c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueueFlagBits; 970c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkQueueFlags; 971c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 972c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkMemoryPropertyFlagBits { 973c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 974c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 975c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 976c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 977c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 978c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 979c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryPropertyFlagBits; 980c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkMemoryPropertyFlags; 981c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 982c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkMemoryHeapFlagBits { 983c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 984c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = 0x00000002, 985c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 986c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryHeapFlagBits; 987c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkMemoryHeapFlags; 988c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDeviceCreateFlags; 989c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDeviceQueueCreateFlags; 990c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 991c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPipelineStageFlagBits { 992c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 993c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 994c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 995c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 996c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 997c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 998c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 999c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 1000c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 1001c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 1002c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 1003c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 1004c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 1005c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 1006c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 1007c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 1008c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 1009c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000, 1010c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1011c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineStageFlagBits; 1012c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineStageFlags; 1013c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkMemoryMapFlags; 1014c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1015c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkImageAspectFlagBits { 1016c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 1017c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 1018c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 1019c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 1020c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1021c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageAspectFlagBits; 1022c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkImageAspectFlags; 1023c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1024c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSparseImageFormatFlagBits { 1025c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 1026c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 1027c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 1028c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1029c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageFormatFlagBits; 1030c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSparseImageFormatFlags; 1031c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1032c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSparseMemoryBindFlagBits { 1033c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 1034c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1035c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseMemoryBindFlagBits; 1036c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSparseMemoryBindFlags; 1037c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1038c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkFenceCreateFlagBits { 1039c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 1040c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1041c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFenceCreateFlagBits; 1042c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkFenceCreateFlags; 1043c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSemaphoreCreateFlags; 1044c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkEventCreateFlags; 1045c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkQueryPoolCreateFlags; 1046c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1047c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkQueryPipelineStatisticFlagBits { 1048c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 1049c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 1050c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 1051c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 1052c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 1053c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 1054c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 1055c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 1056c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 1057c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 1058c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 1059c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1060c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueryPipelineStatisticFlagBits; 1061c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkQueryPipelineStatisticFlags; 1062c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1063c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkQueryResultFlagBits { 1064c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_RESULT_64_BIT = 0x00000001, 1065c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 1066c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 1067c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 1068c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1069c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueryResultFlagBits; 1070c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkQueryResultFlags; 1071c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1072c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkBufferCreateFlagBits { 1073c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 1074c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 1075c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 1076c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1077c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferCreateFlagBits; 1078c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkBufferCreateFlags; 1079c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1080c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkBufferUsageFlagBits { 1081c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 1082c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 1083c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 1084c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 1085c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 1086c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 1087c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 1088c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 1089c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 1090c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1091c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferUsageFlagBits; 1092c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkBufferUsageFlags; 1093c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkBufferViewCreateFlags; 1094c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkImageViewCreateFlags; 1095c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkShaderModuleCreateFlags; 1096c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineCacheCreateFlags; 1097c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1098c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPipelineCreateFlagBits { 1099c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 1100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 1101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 1102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = 0x00000008, 1103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = 0x00000010, 1104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineCreateFlagBits; 1106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineCreateFlags; 1107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineShaderStageCreateFlags; 1108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkShaderStageFlagBits { 1110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 1111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 1112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 1113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 1114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 1115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 1116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 1117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 1118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkShaderStageFlagBits; 1120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineVertexInputStateCreateFlags; 1121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 1122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineTessellationStateCreateFlags; 1123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineViewportStateCreateFlags; 1124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineRasterizationStateCreateFlags; 1125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCullModeFlagBits { 1127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_CULL_MODE_NONE = 0, 1128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_CULL_MODE_FRONT_BIT = 0x00000001, 1129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_CULL_MODE_BACK_BIT = 0x00000002, 1130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 1131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCullModeFlagBits; 1133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCullModeFlags; 1134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineMultisampleStateCreateFlags; 1135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineDepthStencilStateCreateFlags; 1136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineColorBlendStateCreateFlags; 1137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkColorComponentFlagBits { 1139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_COMPONENT_R_BIT = 0x00000001, 1140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_COMPONENT_G_BIT = 0x00000002, 1141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_COMPONENT_B_BIT = 0x00000004, 1142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_COMPONENT_A_BIT = 0x00000008, 1143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkColorComponentFlagBits; 1145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkColorComponentFlags; 1146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineDynamicStateCreateFlags; 1147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineLayoutCreateFlags; 1148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkShaderStageFlags; 1149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSamplerCreateFlags; 1150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDescriptorSetLayoutCreateFlagBits { 1152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 1153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorSetLayoutCreateFlagBits; 1155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDescriptorSetLayoutCreateFlags; 1156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDescriptorPoolCreateFlagBits { 1158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 1159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorPoolCreateFlagBits; 1161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDescriptorPoolCreateFlags; 1162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDescriptorPoolResetFlags; 1163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkFramebufferCreateFlags; 1164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkRenderPassCreateFlags; 1165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkAttachmentDescriptionFlagBits { 1167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 1168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAttachmentDescriptionFlagBits; 1170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkAttachmentDescriptionFlags; 1171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSubpassDescriptionFlagBits { 1173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 1174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 1175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubpassDescriptionFlagBits; 1177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSubpassDescriptionFlags; 1178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkAccessFlagBits { 1180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 1181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_INDEX_READ_BIT = 0x00000002, 1182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 1183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 1184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 1185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_SHADER_READ_BIT = 0x00000020, 1186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 1187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 1188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 1189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 1190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 1191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 1192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 1193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_HOST_READ_BIT = 0x00002000, 1194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 1195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 1196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 1197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000, 1198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000, 1199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAccessFlagBits; 1201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkAccessFlags; 1202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDependencyFlagBits { 1204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 1205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = 0x00000002, 1206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = 0x00000004, 1207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDependencyFlagBits; 1209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDependencyFlags; 1210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCommandPoolCreateFlagBits { 1212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 1213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 1214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandPoolCreateFlagBits; 1216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCommandPoolCreateFlags; 1217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCommandPoolResetFlagBits { 1219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandPoolResetFlagBits; 1222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCommandPoolResetFlags; 1223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCommandBufferUsageFlagBits { 1225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 1226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 1227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 1228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferUsageFlagBits; 1230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCommandBufferUsageFlags; 1231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkQueryControlFlagBits { 1233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 1234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueryControlFlagBits; 1236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkQueryControlFlags; 1237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCommandBufferResetFlagBits { 1239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 1240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferResetFlagBits; 1242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCommandBufferResetFlags; 1243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkStencilFaceFlagBits { 1245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 1246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_FACE_BACK_BIT = 0x00000002, 1247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_FRONT_AND_BACK = 0x00000003, 1248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 1249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkStencilFaceFlagBits; 1250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkStencilFaceFlags; 1251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 1253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData, 1254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t size, 1255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t alignment, 1256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSystemAllocationScope allocationScope); 1257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 1259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData, 1260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pOriginal, 1261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t size, 1262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t alignment, 1263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSystemAllocationScope allocationScope); 1264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkFreeFunction)( 1266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData, 1267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pMemory); 1268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 1270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData, 1271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t size, 1272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInternalAllocationType allocationType, 1273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSystemAllocationScope allocationScope); 1274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 1276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData, 1277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t size, 1278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInternalAllocationType allocationType, 1279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSystemAllocationScope allocationScope); 1280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 1282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkApplicationInfo { 1284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pApplicationName; 1287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t applicationVersion; 1288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pEngineName; 1289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t engineVersion; 1290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t apiVersion; 1291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkApplicationInfo; 1292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkInstanceCreateInfo { 1294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstanceCreateFlags flags; 1297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkApplicationInfo* pApplicationInfo; 1298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t enabledLayerCount; 1299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* const* ppEnabledLayerNames; 1300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t enabledExtensionCount; 1301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* const* ppEnabledExtensionNames; 1302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkInstanceCreateInfo; 1303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkAllocationCallbacks { 1305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData; 1306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkAllocationFunction pfnAllocation; 1307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkReallocationFunction pfnReallocation; 1308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkFreeFunction pfnFree; 1309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkInternalAllocationNotification pfnInternalAllocation; 1310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkInternalFreeNotification pfnInternalFree; 1311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAllocationCallbacks; 1312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceFeatures { 1314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 robustBufferAccess; 1315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 fullDrawIndexUint32; 1316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 imageCubeArray; 1317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 independentBlend; 1318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 geometryShader; 1319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 tessellationShader; 1320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sampleRateShading; 1321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 dualSrcBlend; 1322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 logicOp; 1323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 multiDrawIndirect; 1324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 drawIndirectFirstInstance; 1325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthClamp; 1326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthBiasClamp; 1327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 fillModeNonSolid; 1328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthBounds; 1329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 wideLines; 1330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 largePoints; 1331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 alphaToOne; 1332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 multiViewport; 1333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 samplerAnisotropy; 1334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 textureCompressionETC2; 1335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 textureCompressionASTC_LDR; 1336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 textureCompressionBC; 1337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 occlusionQueryPrecise; 1338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 pipelineStatisticsQuery; 1339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 vertexPipelineStoresAndAtomics; 1340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 fragmentStoresAndAtomics; 1341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderTessellationAndGeometryPointSize; 1342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderImageGatherExtended; 1343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageImageExtendedFormats; 1344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageImageMultisample; 1345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageImageReadWithoutFormat; 1346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageImageWriteWithoutFormat; 1347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderUniformBufferArrayDynamicIndexing; 1348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderSampledImageArrayDynamicIndexing; 1349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageBufferArrayDynamicIndexing; 1350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderStorageImageArrayDynamicIndexing; 1351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderClipDistance; 1352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderCullDistance; 1353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderFloat64; 1354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderInt64; 1355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderInt16; 1356c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderResourceResidency; 1357c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 shaderResourceMinLod; 1358c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseBinding; 1359c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidencyBuffer; 1360c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidencyImage2D; 1361c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidencyImage3D; 1362c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidency2Samples; 1363c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidency4Samples; 1364c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidency8Samples; 1365c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidency16Samples; 1366c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sparseResidencyAliased; 1367c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 variableMultisampleRate; 1368c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 inheritedQueries; 1369c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceFeatures; 1370c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1371c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkFormatProperties { 1372c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatFeatureFlags linearTilingFeatures; 1373c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatFeatureFlags optimalTilingFeatures; 1374c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatFeatureFlags bufferFeatures; 1375c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFormatProperties; 1376c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1377c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExtent3D { 1378c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t width; 1379c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t height; 1380c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t depth; 1381c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExtent3D; 1382c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1383c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageFormatProperties { 1384c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D maxExtent; 1385c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxMipLevels; 1386c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxArrayLayers; 1387c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags sampleCounts; 1388c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize maxResourceSize; 1389c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageFormatProperties; 1390c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1391c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceLimits { 1392c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageDimension1D; 1393c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageDimension2D; 1394c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageDimension3D; 1395c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageDimensionCube; 1396c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageArrayLayers; 1397c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTexelBufferElements; 1398c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxUniformBufferRange; 1399c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxStorageBufferRange; 1400c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPushConstantsSize; 1401c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxMemoryAllocationCount; 1402c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSamplerAllocationCount; 1403c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize bufferImageGranularity; 1404c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize sparseAddressSpaceSize; 1405c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxBoundDescriptorSets; 1406c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorSamplers; 1407c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorUniformBuffers; 1408c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorStorageBuffers; 1409c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorSampledImages; 1410c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorStorageImages; 1411c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageDescriptorInputAttachments; 1412c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPerStageResources; 1413c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetSamplers; 1414c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetUniformBuffers; 1415c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetUniformBuffersDynamic; 1416c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetStorageBuffers; 1417c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetStorageBuffersDynamic; 1418c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetSampledImages; 1419c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetStorageImages; 1420c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDescriptorSetInputAttachments; 1421c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxVertexInputAttributes; 1422c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxVertexInputBindings; 1423c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxVertexInputAttributeOffset; 1424c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxVertexInputBindingStride; 1425c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxVertexOutputComponents; 1426c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationGenerationLevel; 1427c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationPatchSize; 1428c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationControlPerVertexInputComponents; 1429c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationControlPerVertexOutputComponents; 1430c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationControlPerPatchOutputComponents; 1431c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationControlTotalOutputComponents; 1432c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationEvaluationInputComponents; 1433c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTessellationEvaluationOutputComponents; 1434c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxGeometryShaderInvocations; 1435c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxGeometryInputComponents; 1436c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxGeometryOutputComponents; 1437c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxGeometryOutputVertices; 1438c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxGeometryTotalOutputComponents; 1439c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFragmentInputComponents; 1440c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFragmentOutputAttachments; 1441c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFragmentDualSrcAttachments; 1442c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFragmentCombinedOutputResources; 1443c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxComputeSharedMemorySize; 1444c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxComputeWorkGroupCount[3]; 1445c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxComputeWorkGroupInvocations; 1446c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxComputeWorkGroupSize[3]; 1447c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subPixelPrecisionBits; 1448c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subTexelPrecisionBits; 1449c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t mipmapPrecisionBits; 1450c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDrawIndexedIndexValue; 1451c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDrawIndirectCount; 1452c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxSamplerLodBias; 1453c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxSamplerAnisotropy; 1454c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxViewports; 1455c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxViewportDimensions[2]; 1456c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float viewportBoundsRange[2]; 1457c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportSubPixelBits; 1458c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t minMemoryMapAlignment; 1459c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize minTexelBufferOffsetAlignment; 1460c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize minUniformBufferOffsetAlignment; 1461c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize minStorageBufferOffsetAlignment; 1462c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t minTexelOffset; 1463c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTexelOffset; 1464c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t minTexelGatherOffset; 1465c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxTexelGatherOffset; 1466c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minInterpolationOffset; 1467c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxInterpolationOffset; 1468c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subPixelInterpolationOffsetBits; 1469c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFramebufferWidth; 1470c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFramebufferHeight; 1471c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxFramebufferLayers; 1472c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags framebufferColorSampleCounts; 1473c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags framebufferDepthSampleCounts; 1474c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags framebufferStencilSampleCounts; 1475c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 1476c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxColorAttachments; 1477c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags sampledImageColorSampleCounts; 1478c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags sampledImageIntegerSampleCounts; 1479c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags sampledImageDepthSampleCounts; 1480c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags sampledImageStencilSampleCounts; 1481c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlags storageImageSampleCounts; 1482c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSampleMaskWords; 1483c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 timestampComputeAndGraphics; 1484c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float timestampPeriod; 1485c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxClipDistances; 1486c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxCullDistances; 1487c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxCombinedClipAndCullDistances; 1488c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t discreteQueuePriorities; 1489c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float pointSizeRange[2]; 1490c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float lineWidthRange[2]; 1491c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float pointSizeGranularity; 1492c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float lineWidthGranularity; 1493c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 strictLines; 1494c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 standardSampleLocations; 1495c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize optimalBufferCopyOffsetAlignment; 1496c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize optimalBufferCopyRowPitchAlignment; 1497c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize nonCoherentAtomSize; 1498c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceLimits; 1499c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1500c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceSparseProperties { 1501c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 residencyStandard2DBlockShape; 1502c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 residencyStandard2DMultisampleBlockShape; 1503c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 residencyStandard3DBlockShape; 1504c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 residencyAlignedMipSize; 1505c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 residencyNonResidentStrict; 1506c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceSparseProperties; 1507c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1508c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceProperties { 1509c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t apiVersion; 1510c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t driverVersion; 1511c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t vendorID; 1512c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceID; 1513c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceType deviceType; 1514c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 1515c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 1516c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceLimits limits; 1517c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceSparseProperties sparseProperties; 1518c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceProperties; 1519c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1520c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkQueueFamilyProperties { 1521c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueueFlags queueFlags; 1522c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueCount; 1523c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t timestampValidBits; 1524c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D minImageTransferGranularity; 1525c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueueFamilyProperties; 1526c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1527c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryType { 1528c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryPropertyFlags propertyFlags; 1529c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t heapIndex; 1530c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryType; 1531c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1532c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryHeap { 1533c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1534c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryHeapFlags flags; 1535c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryHeap; 1536c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1537c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceMemoryProperties { 1538c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryTypeCount; 1539c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 1540c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryHeapCount; 1541c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 1542c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceMemoryProperties; 1543c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1544c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceQueueCreateInfo { 1545c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1546c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1547c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceQueueCreateFlags flags; 1548c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndex; 1549c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueCount; 1550c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const float* pQueuePriorities; 1551c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceQueueCreateInfo; 1552c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1553c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceCreateInfo { 1554c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1555c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1556c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceCreateFlags flags; 1557c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueCreateInfoCount; 1558c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDeviceQueueCreateInfo* pQueueCreateInfos; 1559c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t enabledLayerCount; 1560c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* const* ppEnabledLayerNames; 1561c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t enabledExtensionCount; 1562c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* const* ppEnabledExtensionNames; 1563c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDeviceFeatures* pEnabledFeatures; 1564c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceCreateInfo; 1565c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1566c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExtensionProperties { 1567c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 1568c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t specVersion; 1569c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExtensionProperties; 1570c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1571c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkLayerProperties { 1572c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 1573c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t specVersion; 1574c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t implementationVersion; 1575c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel char description[VK_MAX_DESCRIPTION_SIZE]; 1576c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkLayerProperties; 1577c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1578c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSubmitInfo { 1579c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1580c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1581c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t waitSemaphoreCount; 1582c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphore* pWaitSemaphores; 1583c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineStageFlags* pWaitDstStageMask; 1584c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t commandBufferCount; 1585c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBuffer* pCommandBuffers; 1586c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t signalSemaphoreCount; 1587c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphore* pSignalSemaphores; 1588c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubmitInfo; 1589c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1590c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryAllocateInfo { 1591c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1592c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1593c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize allocationSize; 1594c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryTypeIndex; 1595c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryAllocateInfo; 1596c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1597c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMappedMemoryRange { 1598c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1599c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1600c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory; 1601c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 1602c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1603c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMappedMemoryRange; 1604c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1605c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryRequirements { 1606c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1607c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize alignment; 1608c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryTypeBits; 1609c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryRequirements; 1610c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1611c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageFormatProperties { 1612c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageAspectFlags aspectMask; 1613c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D imageGranularity; 1614c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageFormatFlags flags; 1615c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageFormatProperties; 1616c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1617c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageMemoryRequirements { 1618c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageFormatProperties formatProperties; 1619c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageMipTailFirstLod; 1620c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize imageMipTailSize; 1621c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize imageMipTailOffset; 1622c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize imageMipTailStride; 1623c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageMemoryRequirements; 1624c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1625c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseMemoryBind { 1626c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize resourceOffset; 1627c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1628c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory; 1629c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset; 1630c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseMemoryBindFlags flags; 1631c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseMemoryBind; 1632c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1633c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseBufferMemoryBindInfo { 1634c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 1635c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindCount; 1636c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseMemoryBind* pBinds; 1637c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseBufferMemoryBindInfo; 1638c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1639c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageOpaqueMemoryBindInfo { 1640c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 1641c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindCount; 1642c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseMemoryBind* pBinds; 1643c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageOpaqueMemoryBindInfo; 1644c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1645c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageSubresource { 1646c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageAspectFlags aspectMask; 1647c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t mipLevel; 1648c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t arrayLayer; 1649c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageSubresource; 1650c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1651c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkOffset3D { 1652c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t x; 1653c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t y; 1654c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t z; 1655c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkOffset3D; 1656c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1657c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageMemoryBind { 1658c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresource subresource; 1659c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D offset; 1660c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D extent; 1661c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory; 1662c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset; 1663c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseMemoryBindFlags flags; 1664c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageMemoryBind; 1665c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1666c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageMemoryBindInfo { 1667c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 1668c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindCount; 1669c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseImageMemoryBind* pBinds; 1670c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageMemoryBindInfo; 1671c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1672c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBindSparseInfo { 1673c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1674c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1675c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t waitSemaphoreCount; 1676c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphore* pWaitSemaphores; 1677c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bufferBindCount; 1678c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseBufferMemoryBindInfo* pBufferBinds; 1679c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageOpaqueBindCount; 1680c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 1681c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageBindCount; 1682c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSparseImageMemoryBindInfo* pImageBinds; 1683c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t signalSemaphoreCount; 1684c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphore* pSignalSemaphores; 1685c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBindSparseInfo; 1686c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1687c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkFenceCreateInfo { 1688c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1689c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1690c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFenceCreateFlags flags; 1691c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFenceCreateInfo; 1692c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1693c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSemaphoreCreateInfo { 1694c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1695c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1696c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphoreCreateFlags flags; 1697c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSemaphoreCreateInfo; 1698c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1699c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkEventCreateInfo { 1700c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1701c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1702c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEventCreateFlags flags; 1703c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkEventCreateInfo; 1704c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1705c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkQueryPoolCreateInfo { 1706c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1707c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1708c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPoolCreateFlags flags; 1709c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryType queryType; 1710c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queryCount; 1711c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPipelineStatisticFlags pipelineStatistics; 1712c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueryPoolCreateInfo; 1713c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1714c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBufferCreateInfo { 1715c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1716c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1717c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferCreateFlags flags; 1718c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1719c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferUsageFlags usage; 1720c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSharingMode sharingMode; 1721c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndexCount; 1722c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pQueueFamilyIndices; 1723c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferCreateInfo; 1724c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1725c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBufferViewCreateInfo { 1726c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1727c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1728c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferViewCreateFlags flags; 1729c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 1730c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 1731c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 1732c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize range; 1733c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferViewCreateInfo; 1734c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1735c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageCreateInfo { 1736c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1737c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1738c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageCreateFlags flags; 1739c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType imageType; 1740c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 1741c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D extent; 1742c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t mipLevels; 1743c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t arrayLayers; 1744c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlagBits samples; 1745c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling; 1746c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage; 1747c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSharingMode sharingMode; 1748c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndexCount; 1749c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pQueueFamilyIndices; 1750c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout initialLayout; 1751c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageCreateInfo; 1752c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1753c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSubresourceLayout { 1754c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 1755c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 1756c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize rowPitch; 1757c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize arrayPitch; 1758c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize depthPitch; 1759c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubresourceLayout; 1760c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1761c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkComponentMapping { 1762c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkComponentSwizzle r; 1763c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkComponentSwizzle g; 1764c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkComponentSwizzle b; 1765c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkComponentSwizzle a; 1766c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkComponentMapping; 1767c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1768c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageSubresourceRange { 1769c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageAspectFlags aspectMask; 1770c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseMipLevel; 1771c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t levelCount; 1772c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseArrayLayer; 1773c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t layerCount; 1774c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageSubresourceRange; 1775c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1776c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageViewCreateInfo { 1777c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1778c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1779c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageViewCreateFlags flags; 1780c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 1781c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageViewType viewType; 1782c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 1783c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkComponentMapping components; 1784c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceRange subresourceRange; 1785c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageViewCreateInfo; 1786c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1787c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkShaderModuleCreateInfo { 1788c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1789c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1790c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderModuleCreateFlags flags; 1791c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t codeSize; 1792c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pCode; 1793c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkShaderModuleCreateInfo; 1794c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1795c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineCacheCreateInfo { 1796c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1797c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1798c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCacheCreateFlags flags; 1799c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t initialDataSize; 1800c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pInitialData; 1801c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineCacheCreateInfo; 1802c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1803c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSpecializationMapEntry { 1804c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t constantID; 1805c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t offset; 1806c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t size; 1807c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSpecializationMapEntry; 1808c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1809c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSpecializationInfo { 1810c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t mapEntryCount; 1811c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSpecializationMapEntry* pMapEntries; 1812c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t dataSize; 1813c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pData; 1814c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSpecializationInfo; 1815c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1816c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineShaderStageCreateInfo { 1817c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1818c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1819c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineShaderStageCreateFlags flags; 1820c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderStageFlagBits stage; 1821c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderModule module; 1822c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pName; 1823c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSpecializationInfo* pSpecializationInfo; 1824c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineShaderStageCreateInfo; 1825c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1826c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkVertexInputBindingDescription { 1827c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t binding; 1828c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stride; 1829c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkVertexInputRate inputRate; 1830c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkVertexInputBindingDescription; 1831c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1832c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkVertexInputAttributeDescription { 1833c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t location; 1834c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t binding; 1835c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 1836c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t offset; 1837c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkVertexInputAttributeDescription; 1838c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1839c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineVertexInputStateCreateInfo { 1840c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1841c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1842c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineVertexInputStateCreateFlags flags; 1843c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t vertexBindingDescriptionCount; 1844c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkVertexInputBindingDescription* pVertexBindingDescriptions; 1845c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t vertexAttributeDescriptionCount; 1846c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 1847c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineVertexInputStateCreateInfo; 1848c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1849c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineInputAssemblyStateCreateInfo { 1850c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1851c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1852c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineInputAssemblyStateCreateFlags flags; 1853c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPrimitiveTopology topology; 1854c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 primitiveRestartEnable; 1855c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineInputAssemblyStateCreateInfo; 1856c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1857c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineTessellationStateCreateInfo { 1858c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1859c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1860c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineTessellationStateCreateFlags flags; 1861c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t patchControlPoints; 1862c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineTessellationStateCreateInfo; 1863c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1864c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkViewport { 1865c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float x; 1866c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float y; 1867c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float width; 1868c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float height; 1869c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minDepth; 1870c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxDepth; 1871c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkViewport; 1872c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1873c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkOffset2D { 1874c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t x; 1875c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t y; 1876c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkOffset2D; 1877c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1878c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExtent2D { 1879c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t width; 1880c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t height; 1881c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExtent2D; 1882c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1883c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRect2D { 1884c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D offset; 1885c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D extent; 1886c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRect2D; 1887c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1888c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineViewportStateCreateInfo { 1889c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1890c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1891c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineViewportStateCreateFlags flags; 1892c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportCount; 1893c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkViewport* pViewports; 1894c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t scissorCount; 1895c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pScissors; 1896c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineViewportStateCreateInfo; 1897c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1898c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineRasterizationStateCreateInfo { 1899c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1900c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1901c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineRasterizationStateCreateFlags flags; 1902c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthClampEnable; 1903c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 rasterizerDiscardEnable; 1904c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPolygonMode polygonMode; 1905c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCullModeFlags cullMode; 1906c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFrontFace frontFace; 1907c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthBiasEnable; 1908c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasConstantFactor; 1909c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasClamp; 1910c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasSlopeFactor; 1911c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float lineWidth; 1912c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineRasterizationStateCreateInfo; 1913c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1914c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineMultisampleStateCreateInfo { 1915c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1916c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1917c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineMultisampleStateCreateFlags flags; 1918c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlagBits rasterizationSamples; 1919c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 sampleShadingEnable; 1920c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minSampleShading; 1921c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSampleMask* pSampleMask; 1922c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 alphaToCoverageEnable; 1923c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 alphaToOneEnable; 1924c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineMultisampleStateCreateInfo; 1925c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1926c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkStencilOpState { 1927c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilOp failOp; 1928c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilOp passOp; 1929c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilOp depthFailOp; 1930c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompareOp compareOp; 1931c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t compareMask; 1932c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t writeMask; 1933c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t reference; 1934c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkStencilOpState; 1935c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1936c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineDepthStencilStateCreateInfo { 1937c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1938c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1939c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineDepthStencilStateCreateFlags flags; 1940c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthTestEnable; 1941c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthWriteEnable; 1942c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompareOp depthCompareOp; 1943c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 depthBoundsTestEnable; 1944c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 stencilTestEnable; 1945c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilOpState front; 1946c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilOpState back; 1947c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minDepthBounds; 1948c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxDepthBounds; 1949c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineDepthStencilStateCreateInfo; 1950c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1951c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineColorBlendAttachmentState { 1952c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 blendEnable; 1953c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendFactor srcColorBlendFactor; 1954c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendFactor dstColorBlendFactor; 1955c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendOp colorBlendOp; 1956c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendFactor srcAlphaBlendFactor; 1957c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendFactor dstAlphaBlendFactor; 1958c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBlendOp alphaBlendOp; 1959c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkColorComponentFlags colorWriteMask; 1960c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineColorBlendAttachmentState; 1961c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1962c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineColorBlendStateCreateInfo { 1963c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1964c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1965c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineColorBlendStateCreateFlags flags; 1966c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 logicOpEnable; 1967c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkLogicOp logicOp; 1968c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t attachmentCount; 1969c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineColorBlendAttachmentState* pAttachments; 1970c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float blendConstants[4]; 1971c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineColorBlendStateCreateInfo; 1972c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1973c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineDynamicStateCreateInfo { 1974c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1975c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1976c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineDynamicStateCreateFlags flags; 1977c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dynamicStateCount; 1978c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDynamicState* pDynamicStates; 1979c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineDynamicStateCreateInfo; 1980c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 1981c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkGraphicsPipelineCreateInfo { 1982c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 1983c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 1984c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCreateFlags flags; 1985c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stageCount; 1986c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineShaderStageCreateInfo* pStages; 1987c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 1988c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 1989c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineTessellationStateCreateInfo* pTessellationState; 1990c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineViewportStateCreateInfo* pViewportState; 1991c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 1992c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 1993c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 1994c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 1995c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineDynamicStateCreateInfo* pDynamicState; 1996c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout; 1997c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass; 1998c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subpass; 1999c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline basePipelineHandle; 2000c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t basePipelineIndex; 2001c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkGraphicsPipelineCreateInfo; 2002c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2003c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkComputePipelineCreateInfo { 2004c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2005c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2006c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCreateFlags flags; 2007c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineShaderStageCreateInfo stage; 2008c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout; 2009c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline basePipelineHandle; 2010c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t basePipelineIndex; 2011c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkComputePipelineCreateInfo; 2012c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2013c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPushConstantRange { 2014c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderStageFlags stageFlags; 2015c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t offset; 2016c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t size; 2017c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPushConstantRange; 2018c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2019c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineLayoutCreateInfo { 2020c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2021c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2022c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayoutCreateFlags flags; 2023c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t setLayoutCount; 2024c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSetLayout* pSetLayouts; 2025c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t pushConstantRangeCount; 2026c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPushConstantRange* pPushConstantRanges; 2027c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineLayoutCreateInfo; 2028c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2029c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSamplerCreateInfo { 2030c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2031c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2032c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSamplerCreateFlags flags; 2033c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFilter magFilter; 2034c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFilter minFilter; 2035c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSamplerMipmapMode mipmapMode; 2036c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSamplerAddressMode addressModeU; 2037c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSamplerAddressMode addressModeV; 2038c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSamplerAddressMode addressModeW; 2039c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float mipLodBias; 2040c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 anisotropyEnable; 2041c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxAnisotropy; 2042c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 compareEnable; 2043c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompareOp compareOp; 2044c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minLod; 2045c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxLod; 2046c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBorderColor borderColor; 2047c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 unnormalizedCoordinates; 2048c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSamplerCreateInfo; 2049c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2050c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorSetLayoutBinding { 2051c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t binding; 2052c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorType descriptorType; 2053c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCount; 2054c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderStageFlags stageFlags; 2055c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSampler* pImmutableSamplers; 2056c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorSetLayoutBinding; 2057c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2058c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorSetLayoutCreateInfo { 2059c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2060c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2061c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSetLayoutCreateFlags flags; 2062c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindingCount; 2063c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSetLayoutBinding* pBindings; 2064c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorSetLayoutCreateInfo; 2065c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2066c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorPoolSize { 2067c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorType type; 2068c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCount; 2069c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorPoolSize; 2070c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2071c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorPoolCreateInfo { 2072c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2073c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2074c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPoolCreateFlags flags; 2075c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSets; 2076c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t poolSizeCount; 2077c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorPoolSize* pPoolSizes; 2078c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorPoolCreateInfo; 2079c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2080c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorSetAllocateInfo { 2081c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2082c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2083c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPool descriptorPool; 2084c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorSetCount; 2085c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSetLayout* pSetLayouts; 2086c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorSetAllocateInfo; 2087c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2088c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorImageInfo { 2089c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampler sampler; 2090c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageView imageView; 2091c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout imageLayout; 2092c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorImageInfo; 2093c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2094c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorBufferInfo { 2095c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 2096c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 2097c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize range; 2098c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorBufferInfo; 2099c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkWriteDescriptorSet { 2101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet dstSet; 2104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstBinding; 2105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstArrayElement; 2106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCount; 2107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorType descriptorType; 2108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorImageInfo* pImageInfo; 2109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorBufferInfo* pBufferInfo; 2110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferView* pTexelBufferView; 2111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkWriteDescriptorSet; 2112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCopyDescriptorSet { 2114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet srcSet; 2117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcBinding; 2118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcArrayElement; 2119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet dstSet; 2120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstBinding; 2121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstArrayElement; 2122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCount; 2123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCopyDescriptorSet; 2124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkFramebufferCreateInfo { 2126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFramebufferCreateFlags flags; 2129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass; 2130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t attachmentCount; 2131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageView* pAttachments; 2132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t width; 2133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t height; 2134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t layers; 2135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFramebufferCreateInfo; 2136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkAttachmentDescription { 2138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAttachmentDescriptionFlags flags; 2139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 2140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlagBits samples; 2141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAttachmentLoadOp loadOp; 2142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAttachmentStoreOp storeOp; 2143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAttachmentLoadOp stencilLoadOp; 2144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAttachmentStoreOp stencilStoreOp; 2145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout initialLayout; 2146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout finalLayout; 2147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAttachmentDescription; 2148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkAttachmentReference { 2150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t attachment; 2151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout layout; 2152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAttachmentReference; 2153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSubpassDescription { 2155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSubpassDescriptionFlags flags; 2156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint; 2157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t inputAttachmentCount; 2158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAttachmentReference* pInputAttachments; 2159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t colorAttachmentCount; 2160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAttachmentReference* pColorAttachments; 2161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAttachmentReference* pResolveAttachments; 2162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAttachmentReference* pDepthStencilAttachment; 2163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t preserveAttachmentCount; 2164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pPreserveAttachments; 2165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubpassDescription; 2166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSubpassDependency { 2168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcSubpass; 2169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstSubpass; 2170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags srcStageMask; 2171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags dstStageMask; 2172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags srcAccessMask; 2173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags dstAccessMask; 2174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDependencyFlags dependencyFlags; 2175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSubpassDependency; 2176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRenderPassCreateInfo { 2178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPassCreateFlags flags; 2181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t attachmentCount; 2182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAttachmentDescription* pAttachments; 2183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subpassCount; 2184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSubpassDescription* pSubpasses; 2185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dependencyCount; 2186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSubpassDependency* pDependencies; 2187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRenderPassCreateInfo; 2188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCommandPoolCreateInfo { 2190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPoolCreateFlags flags; 2193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndex; 2194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandPoolCreateInfo; 2195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCommandBufferAllocateInfo { 2197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool commandPool; 2200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBufferLevel level; 2201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t commandBufferCount; 2202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferAllocateInfo; 2203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCommandBufferInheritanceInfo { 2205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass; 2208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subpass; 2209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFramebuffer framebuffer; 2210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 occlusionQueryEnable; 2211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryControlFlags queryFlags; 2212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPipelineStatisticFlags pipelineStatistics; 2213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferInheritanceInfo; 2214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCommandBufferBeginInfo { 2216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBufferUsageFlags flags; 2219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBufferInheritanceInfo* pInheritanceInfo; 2220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCommandBufferBeginInfo; 2221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBufferCopy { 2223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize srcOffset; 2224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize dstOffset; 2225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 2226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferCopy; 2227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageSubresourceLayers { 2229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageAspectFlags aspectMask; 2230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t mipLevel; 2231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseArrayLayer; 2232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t layerCount; 2233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageSubresourceLayers; 2234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageCopy { 2236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers srcSubresource; 2237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D srcOffset; 2238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers dstSubresource; 2239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D dstOffset; 2240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D extent; 2241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageCopy; 2242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageBlit { 2244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers srcSubresource; 2245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D srcOffsets[2]; 2246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers dstSubresource; 2247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D dstOffsets[2]; 2248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageBlit; 2249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBufferImageCopy { 2251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize bufferOffset; 2252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bufferRowLength; 2253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bufferImageHeight; 2254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers imageSubresource; 2255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D imageOffset; 2256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D imageExtent; 2257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferImageCopy; 2258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef union VkClearColorValue { 2260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float float32[4]; 2261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t int32[4]; 2262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t uint32[4]; 2263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkClearColorValue; 2264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkClearDepthStencilValue { 2266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depth; 2267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stencil; 2268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkClearDepthStencilValue; 2269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef union VkClearValue { 2271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkClearColorValue color; 2272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkClearDepthStencilValue depthStencil; 2273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkClearValue; 2274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkClearAttachment { 2276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageAspectFlags aspectMask; 2277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t colorAttachment; 2278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkClearValue clearValue; 2279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkClearAttachment; 2280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkClearRect { 2282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRect2D rect; 2283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseArrayLayer; 2284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t layerCount; 2285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkClearRect; 2286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageResolve { 2288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers srcSubresource; 2289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D srcOffset; 2290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceLayers dstSubresource; 2291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset3D dstOffset; 2292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent3D extent; 2293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageResolve; 2294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryBarrier { 2296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags srcAccessMask; 2299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags dstAccessMask; 2300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryBarrier; 2301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBufferMemoryBarrier { 2303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags srcAccessMask; 2306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags dstAccessMask; 2307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcQueueFamilyIndex; 2308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstQueueFamilyIndex; 2309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 2310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 2311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size; 2312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBufferMemoryBarrier; 2313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageMemoryBarrier { 2315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags srcAccessMask; 2318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkAccessFlags dstAccessMask; 2319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout oldLayout; 2320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout newLayout; 2321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcQueueFamilyIndex; 2322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstQueueFamilyIndex; 2323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 2324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageSubresourceRange subresourceRange; 2325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageMemoryBarrier; 2326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRenderPassBeginInfo { 2328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 2329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 2330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass; 2331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFramebuffer framebuffer; 2332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRect2D renderArea; 2333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t clearValueCount; 2334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkClearValue* pClearValues; 2335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRenderPassBeginInfo; 2336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDispatchIndirectCommand { 2338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t x; 2339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t y; 2340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t z; 2341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDispatchIndirectCommand; 2342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDrawIndexedIndirectCommand { 2344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t indexCount; 2345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t instanceCount; 2346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstIndex; 2347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t vertexOffset; 2348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstInstance; 2349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDrawIndexedIndirectCommand; 2350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDrawIndirectCommand { 2352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t vertexCount; 2353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t instanceCount; 2354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstVertex; 2355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstInstance; 2356c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDrawIndirectCommand; 2357c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2358c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2359c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 2360c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 2361c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 2362c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 2363c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 2364c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 2365c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 2366c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 2367c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2368c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 2369c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 2370c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 2371c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 2372c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 2373c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); 2374c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties); 2375c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); 2376c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); 2377c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 2378c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 2379c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 2380c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 2381c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 2382c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 2383c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 2384c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 2385c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 2386c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 2387c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 2388c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 2389c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 2390c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 2391c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 2392c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); 2393c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 2394c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 2395c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 2396c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences); 2397c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 2398c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); 2399c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 2400c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 2401c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 2402c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 2403c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 2404c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 2405c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 2406c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 2407c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 2408c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 2409c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 2410c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 2411c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 2412c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 2413c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 2414c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 2415c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 2416c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 2417c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 2418c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 2419c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 2420c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 2421c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 2422c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); 2423c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); 2424c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 2425c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 2426c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 2427c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 2428c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 2429c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 2430c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 2431c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 2432c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 2433c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 2434c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 2435c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 2436c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 2437c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 2438c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 2439c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 2440c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 2441c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 2442c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 2443c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 2444c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 2445c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 2446c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 2447c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 2448c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 2449c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 2450c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 2451c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 2452c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 2453c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); 2454c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); 2455c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 2456c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 2457c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 2458c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 2459c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); 2460c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); 2461c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); 2462c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); 2463c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 2464c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 2465c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); 2466c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); 2467c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 2468c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); 2469c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 2470c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 2471c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); 2472c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); 2473c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); 2474c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); 2475c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); 2476c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 2477c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); 2478c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 2479c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 2480c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); 2481c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); 2482c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2483c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 2484c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 2485c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 2486c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); 2487c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); 2488c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); 2489c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); 2490c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 2491c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); 2492c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 2493c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 2494c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 2495c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); 2496c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2497c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 2498c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 2499c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkInstanceCreateInfo* pCreateInfo, 2500c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2501c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance* pInstance); 2502c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2503c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 2504c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 2505c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2506c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2507c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 2508c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 2509c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPhysicalDeviceCount, 2510c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice* pPhysicalDevices); 2511c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2512c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 2513c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2514c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceFeatures* pFeatures); 2515c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2516c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 2517c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2518c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format, 2519c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatProperties* pFormatProperties); 2520c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2521c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 2522c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2523c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format, 2524c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType type, 2525c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling, 2526c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage, 2527c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageCreateFlags flags, 2528c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageFormatProperties* pImageFormatProperties); 2529c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2530c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 2531c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2532c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceProperties* pProperties); 2533c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2534c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 2535c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2536c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pQueueFamilyPropertyCount, 2537c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueueFamilyProperties* pQueueFamilyProperties); 2538c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2539c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 2540c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2541c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceMemoryProperties* pMemoryProperties); 2542c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2543c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 2544c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 2545c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pName); 2546c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2547c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 2548c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2549c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pName); 2550c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2551c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 2552c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2553c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDeviceCreateInfo* pCreateInfo, 2554c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2555c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice* pDevice); 2556c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2557c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 2558c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2559c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2560c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2561c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 2562c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pLayerName, 2563c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 2564c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtensionProperties* pProperties); 2565c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2566c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 2567c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2568c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pLayerName, 2569c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 2570c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtensionProperties* pProperties); 2571c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2572c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 2573c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 2574c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkLayerProperties* pProperties); 2575c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2576c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 2577c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2578c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 2579c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkLayerProperties* pProperties); 2580c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2581c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 2582c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2583c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndex, 2584c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueIndex, 2585c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueue* pQueue); 2586c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2587c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 2588c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueue queue, 2589c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t submitCount, 2590c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSubmitInfo* pSubmits, 2591c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence); 2592c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2593c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 2594c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueue queue); 2595c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2596c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 2597c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device); 2598c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2599c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 2600c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2601c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkMemoryAllocateInfo* pAllocateInfo, 2602c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2603c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory* pMemory); 2604c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2605c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkFreeMemory( 2606c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2607c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 2608c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2609c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2610c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 2611c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2612c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 2613c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 2614c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size, 2615c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryMapFlags flags, 2616c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void** ppData); 2617c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2618c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 2619c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2620c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory); 2621c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2622c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 2623c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2624c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryRangeCount, 2625c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkMappedMemoryRange* pMemoryRanges); 2626c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2627c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 2628c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2629c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryRangeCount, 2630c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkMappedMemoryRange* pMemoryRanges); 2631c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2632c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 2633c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2634c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 2635c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize* pCommittedMemoryInBytes); 2636c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2637c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 2638c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2639c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 2640c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 2641c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset); 2642c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2643c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 2644c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2645c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 2646c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 2647c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset); 2648c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2649c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 2650c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2651c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 2652c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryRequirements* pMemoryRequirements); 2653c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2654c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 2655c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2656c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 2657c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryRequirements* pMemoryRequirements); 2658c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2659c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 2660c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2661c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 2662c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pSparseMemoryRequirementCount, 2663c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 2664c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2665c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 2666c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 2667c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format, 2668c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType type, 2669c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlagBits samples, 2670c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage, 2671c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling, 2672c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 2673c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageFormatProperties* pProperties); 2674c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2675c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 2676c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueue queue, 2677c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindInfoCount, 2678c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBindSparseInfo* pBindInfo, 2679c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence); 2680c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2681c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 2682c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2683c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkFenceCreateInfo* pCreateInfo, 2684c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2685c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence* pFence); 2686c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2687c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyFence( 2688c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2689c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence, 2690c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2691c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2692c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 2693c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2694c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t fenceCount, 2695c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkFence* pFences); 2696c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2697c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 2698c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2699c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence); 2700c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2701c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 2702c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2703c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t fenceCount, 2704c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkFence* pFences, 2705c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 waitAll, 2706c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t timeout); 2707c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2708c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 2709c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2710c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphoreCreateInfo* pCreateInfo, 2711c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2712c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore* pSemaphore); 2713c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2714c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 2715c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2716c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore semaphore, 2717c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2718c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2719c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 2720c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2721c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkEventCreateInfo* pCreateInfo, 2722c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2723c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent* pEvent); 2724c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2725c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 2726c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2727c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event, 2728c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2729c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2730c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 2731c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2732c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event); 2733c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2734c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 2735c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2736c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event); 2737c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2738c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 2739c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2740c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event); 2741c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2742c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 2743c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2744c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkQueryPoolCreateInfo* pCreateInfo, 2745c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2746c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool* pQueryPool); 2747c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2748c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 2749c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2750c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 2751c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2752c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2753c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 2754c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2755c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 2756c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstQuery, 2757c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queryCount, 2758c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t dataSize, 2759c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pData, 2760c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize stride, 2761c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryResultFlags flags); 2762c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2763c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 2764c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2765c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferCreateInfo* pCreateInfo, 2766c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2767c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer* pBuffer); 2768c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2769c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 2770c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2771c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 2772c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2773c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2774c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 2775c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2776c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferViewCreateInfo* pCreateInfo, 2777c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2778c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferView* pView); 2779c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2780c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 2781c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2782c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferView bufferView, 2783c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2784c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2785c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 2786c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2787c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageCreateInfo* pCreateInfo, 2788c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2789c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage* pImage); 2790c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2791c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyImage( 2792c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2793c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 2794c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2795c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2796c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 2797c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2798c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 2799c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageSubresource* pSubresource, 2800c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSubresourceLayout* pLayout); 2801c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2802c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 2803c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2804c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageViewCreateInfo* pCreateInfo, 2805c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2806c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageView* pView); 2807c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2808c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 2809c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2810c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageView imageView, 2811c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2812c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2813c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 2814c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2815c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkShaderModuleCreateInfo* pCreateInfo, 2816c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2817c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderModule* pShaderModule); 2818c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2819c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 2820c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2821c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderModule shaderModule, 2822c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2823c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2824c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 2825c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2826c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineCacheCreateInfo* pCreateInfo, 2827c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2828c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache* pPipelineCache); 2829c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2830c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 2831c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2832c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache pipelineCache, 2833c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2834c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2835c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 2836c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2837c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache pipelineCache, 2838c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t* pDataSize, 2839c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pData); 2840c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2841c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 2842c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2843c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache dstCache, 2844c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t srcCacheCount, 2845c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineCache* pSrcCaches); 2846c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2847c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 2848c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2849c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache pipelineCache, 2850c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t createInfoCount, 2851c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkGraphicsPipelineCreateInfo* pCreateInfos, 2852c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2853c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline* pPipelines); 2854c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2855c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 2856c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2857c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineCache pipelineCache, 2858c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t createInfoCount, 2859c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkComputePipelineCreateInfo* pCreateInfos, 2860c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2861c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline* pPipelines); 2862c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2863c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 2864c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2865c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline pipeline, 2866c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2867c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2868c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 2869c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2870c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPipelineLayoutCreateInfo* pCreateInfo, 2871c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2872c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout* pPipelineLayout); 2873c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2874c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 2875c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2876c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout pipelineLayout, 2877c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2878c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2879c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 2880c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2881c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSamplerCreateInfo* pCreateInfo, 2882c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2883c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampler* pSampler); 2884c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2885c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroySampler( 2886c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2887c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampler sampler, 2888c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2889c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2890c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 2891c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2892c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 2893c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2894c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSetLayout* pSetLayout); 2895c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2896c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 2897c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2898c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSetLayout descriptorSetLayout, 2899c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2900c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2901c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 2902c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2903c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorPoolCreateInfo* pCreateInfo, 2904c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2905c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPool* pDescriptorPool); 2906c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2907c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 2908c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2909c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPool descriptorPool, 2910c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2911c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2912c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 2913c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2914c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPool descriptorPool, 2915c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPoolResetFlags flags); 2916c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2917c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 2918c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2919c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSetAllocateInfo* pAllocateInfo, 2920c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet* pDescriptorSets); 2921c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2922c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 2923c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2924c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorPool descriptorPool, 2925c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorSetCount, 2926c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSet* pDescriptorSets); 2927c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2928c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 2929c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2930c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorWriteCount, 2931c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkWriteDescriptorSet* pDescriptorWrites, 2932c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCopyCount, 2933c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCopyDescriptorSet* pDescriptorCopies); 2934c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2935c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 2936c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2937c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkFramebufferCreateInfo* pCreateInfo, 2938c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2939c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFramebuffer* pFramebuffer); 2940c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2941c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 2942c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2943c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFramebuffer framebuffer, 2944c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2945c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2946c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 2947c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2948c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRenderPassCreateInfo* pCreateInfo, 2949c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2950c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass* pRenderPass); 2951c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2952c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 2953c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2954c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass, 2955c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2956c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2957c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 2958c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2959c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRenderPass renderPass, 2960c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D* pGranularity); 2961c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2962c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 2963c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2964c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandPoolCreateInfo* pCreateInfo, 2965c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 2966c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool* pCommandPool); 2967c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2968c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 2969c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2970c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool commandPool, 2971c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 2972c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2973c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 2974c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2975c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool commandPool, 2976c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPoolResetFlags flags); 2977c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2978c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 2979c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2980c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBufferAllocateInfo* pAllocateInfo, 2981c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer* pCommandBuffers); 2982c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2983c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 2984c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 2985c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool commandPool, 2986c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t commandBufferCount, 2987c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBuffer* pCommandBuffers); 2988c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2989c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 2990c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 2991c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBufferBeginInfo* pBeginInfo); 2992c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2993c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 2994c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer); 2995c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 2996c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 2997c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 2998c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBufferResetFlags flags); 2999c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3000c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 3001c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3002c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint, 3003c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline pipeline); 3004c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3005c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 3006c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3007c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstViewport, 3008c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportCount, 3009c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkViewport* pViewports); 3010c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3011c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 3012c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3013c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstScissor, 3014c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t scissorCount, 3015c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pScissors); 3016c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3017c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 3018c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3019c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float lineWidth); 3020c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3021c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 3022c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3023c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasConstantFactor, 3024c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasClamp, 3025c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float depthBiasSlopeFactor); 3026c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3027c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 3028c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3029c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const float blendConstants[4]); 3030c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3031c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 3032c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3033c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minDepthBounds, 3034c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxDepthBounds); 3035c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3036c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 3037c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3038c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilFaceFlags faceMask, 3039c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t compareMask); 3040c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3041c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 3042c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3043c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilFaceFlags faceMask, 3044c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t writeMask); 3045c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3046c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 3047c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3048c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStencilFaceFlags faceMask, 3049c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t reference); 3050c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3051c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 3052c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3053c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint, 3054c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout, 3055c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstSet, 3056c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorSetCount, 3057c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorSet* pDescriptorSets, 3058c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dynamicOffsetCount, 3059c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pDynamicOffsets); 3060c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3061c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 3062c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3063c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 3064c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 3065c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndexType indexType); 3066c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3067c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 3068c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3069c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstBinding, 3070c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindingCount, 3071c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBuffer* pBuffers, 3072c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDeviceSize* pOffsets); 3073c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3074c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDraw( 3075c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3076c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t vertexCount, 3077c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t instanceCount, 3078c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstVertex, 3079c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstInstance); 3080c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3081c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 3082c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3083c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t indexCount, 3084c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t instanceCount, 3085c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstIndex, 3086c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t vertexOffset, 3087c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstInstance); 3088c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3089c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 3090c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3091c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 3092c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 3093c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t drawCount, 3094c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stride); 3095c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3096c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 3097c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3098c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 3099c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 3100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t drawCount, 3101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stride); 3102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 3104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountX, 3106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountY, 3107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountZ); 3108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 3110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 3112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset); 3113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 3115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer srcBuffer, 3117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer dstBuffer, 3118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferCopy* pRegions); 3120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 3122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage srcImage, 3124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout srcImageLayout, 3125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage dstImage, 3126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout dstImageLayout, 3127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageCopy* pRegions); 3129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 3131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage srcImage, 3133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout srcImageLayout, 3134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage dstImage, 3135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout dstImageLayout, 3136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageBlit* pRegions, 3138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFilter filter); 3139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 3141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer srcBuffer, 3143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage dstImage, 3144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout dstImageLayout, 3145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferImageCopy* pRegions); 3147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 3149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage srcImage, 3151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout srcImageLayout, 3152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer dstBuffer, 3153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferImageCopy* pRegions); 3155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 3157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer dstBuffer, 3159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize dstOffset, 3160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize dataSize, 3161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pData); 3162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 3164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer dstBuffer, 3166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize dstOffset, 3167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize size, 3168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t data); 3169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 3171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 3173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout imageLayout, 3174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkClearColorValue* pColor, 3175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t rangeCount, 3176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageSubresourceRange* pRanges); 3177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 3179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image, 3181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout imageLayout, 3182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkClearDepthStencilValue* pDepthStencil, 3183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t rangeCount, 3184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageSubresourceRange* pRanges); 3185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 3187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t attachmentCount, 3189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkClearAttachment* pAttachments, 3190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t rectCount, 3191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkClearRect* pRects); 3192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 3194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage srcImage, 3196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout srcImageLayout, 3197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage dstImage, 3198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageLayout dstImageLayout, 3199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t regionCount, 3200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageResolve* pRegions); 3201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 3203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event, 3205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags stageMask); 3206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 3208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkEvent event, 3210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags stageMask); 3211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 3213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t eventCount, 3215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkEvent* pEvents, 3216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags srcStageMask, 3217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags dstStageMask, 3218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryBarrierCount, 3219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkMemoryBarrier* pMemoryBarriers, 3220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bufferMemoryBarrierCount, 3221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageMemoryBarrierCount, 3223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageMemoryBarrier* pImageMemoryBarriers); 3224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 3226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags srcStageMask, 3228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlags dstStageMask, 3229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDependencyFlags dependencyFlags, 3230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryBarrierCount, 3231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkMemoryBarrier* pMemoryBarriers, 3232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bufferMemoryBarrierCount, 3233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBufferMemoryBarrier* pBufferMemoryBarriers, 3234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageMemoryBarrierCount, 3235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImageMemoryBarrier* pImageMemoryBarriers); 3236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 3238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 3240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t query, 3241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryControlFlags flags); 3242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 3244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 3246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t query); 3247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 3249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 3251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstQuery, 3252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queryCount); 3253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 3255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineStageFlagBits pipelineStage, 3257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 3258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t query); 3259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 3261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryPool queryPool, 3263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstQuery, 3264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queryCount, 3265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer dstBuffer, 3266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize dstOffset, 3267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize stride, 3268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueryResultFlags flags); 3269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 3271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout, 3273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderStageFlags stageFlags, 3274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t offset, 3275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t size, 3276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pValues); 3277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 3279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRenderPassBeginInfo* pRenderPassBegin, 3281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSubpassContents contents); 3282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 3284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSubpassContents contents); 3286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 3288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer); 3289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 3291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t commandBufferCount, 3293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCommandBuffer* pCommandBuffers); 3294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_surface 1 3297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 3298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SURFACE_SPEC_VERSION 25 3300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 3301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR 3302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkColorSpaceKHR { 3305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 3306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 3307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 3308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003, 3309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 3310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 3311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 3312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 3313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 3314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 3315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 3316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 3317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 3318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 3319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 3320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 3321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1), 3322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 3323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkColorSpaceKHR; 3324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPresentModeKHR { 3326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 3327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_MAILBOX_KHR = 1, 3328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_FIFO_KHR = 2, 3329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 3330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR, 3331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR, 3332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), 3333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 3334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentModeKHR; 3335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSurfaceTransformFlagBitsKHR { 3338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 3339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 3340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 3341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 3342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 3343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 3344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 3345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 3346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 3347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 3348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSurfaceTransformFlagBitsKHR; 3349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSurfaceTransformFlagsKHR; 3350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkCompositeAlphaFlagBitsKHR { 3352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 3353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 3354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 3355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 3356c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 3357c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCompositeAlphaFlagBitsKHR; 3358c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCompositeAlphaFlagsKHR; 3359c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3360c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSurfaceCapabilitiesKHR { 3361c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minImageCount; 3362c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageCount; 3363c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D currentExtent; 3364c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D minImageExtent; 3365c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D maxImageExtent; 3366c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageArrayLayers; 3367c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagsKHR supportedTransforms; 3368c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagBitsKHR currentTransform; 3369c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 3370c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags supportedUsageFlags; 3371c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSurfaceCapabilitiesKHR; 3372c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3373c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSurfaceFormatKHR { 3374c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 3375c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkColorSpaceKHR colorSpace; 3376c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSurfaceFormatKHR; 3377c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3378c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3379c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 3380c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 3381c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 3382c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 3383c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 3384c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3385c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3386c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 3387c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 3388c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 3389c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 3390c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3391c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 3392c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3393c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndex, 3394c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 3395c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32* pSupported); 3396c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3397c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 3398c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3399c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 3400c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 3401c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3402c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 3403c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3404c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 3405c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pSurfaceFormatCount, 3406c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceFormatKHR* pSurfaceFormats); 3407c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3408c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 3409c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3410c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 3411c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPresentModeCount, 3412c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPresentModeKHR* pPresentModes); 3413c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3414c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3415c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_swapchain 1 3416c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 3417c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3418c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SWAPCHAIN_SPEC_VERSION 68 3419c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 3420c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3421c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3422c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSwapchainCreateFlagBitsKHR { 3423c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = 0x00000001, 3424c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 3425c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSwapchainCreateFlagBitsKHR; 3426c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSwapchainCreateFlagsKHR; 3427c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3428c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSwapchainCreateInfoKHR { 3429c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3430c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3431c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainCreateFlagsKHR flags; 3432c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface; 3433c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minImageCount; 3434c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat imageFormat; 3435c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkColorSpaceKHR imageColorSpace; 3436c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D imageExtent; 3437c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageArrayLayers; 3438c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags imageUsage; 3439c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSharingMode imageSharingMode; 3440c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t queueFamilyIndexCount; 3441c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pQueueFamilyIndices; 3442c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagBitsKHR preTransform; 3443c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompositeAlphaFlagBitsKHR compositeAlpha; 3444c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPresentModeKHR presentMode; 3445c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 clipped; 3446c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR oldSwapchain; 3447c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSwapchainCreateInfoKHR; 3448c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3449c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPresentInfoKHR { 3450c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3451c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3452c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t waitSemaphoreCount; 3453c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSemaphore* pWaitSemaphores; 3454c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount; 3455c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSwapchainKHR* pSwapchains; 3456c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pImageIndices; 3457c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkResult* pResults; 3458c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentInfoKHR; 3459c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3460c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3461c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 3462c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 3463c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); 3464c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); 3465c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 3466c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3467c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3468c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 3469c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3470c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSwapchainCreateInfoKHR* pCreateInfo, 3471c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 3472c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR* pSwapchain); 3473c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3474c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 3475c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3476c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 3477c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 3478c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3479c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 3480c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3481c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 3482c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pSwapchainImageCount, 3483c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage* pSwapchainImages); 3484c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3485c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 3486c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3487c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 3488c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t timeout, 3489c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore semaphore, 3490c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence, 3491c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pImageIndex); 3492c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3493c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 3494c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueue queue, 3495c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPresentInfoKHR* pPresentInfo); 3496c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3497c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3498c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_display 1 3499c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 3500c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 3501c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3502c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DISPLAY_SPEC_VERSION 21 3503c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 3504c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3505c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3506c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDisplayPlaneAlphaFlagBitsKHR { 3507c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 3508c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 3509c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 3510c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 3511c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 3512c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPlaneAlphaFlagBitsKHR; 3513c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 3514c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDisplayModeCreateFlagsKHR; 3515c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 3516c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3517c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayPropertiesKHR { 3518c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display; 3519c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* displayName; 3520c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D physicalDimensions; 3521c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D physicalResolution; 3522c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagsKHR supportedTransforms; 3523c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 planeReorderPossible; 3524c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 persistentContent; 3525c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPropertiesKHR; 3526c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3527c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayModeParametersKHR { 3528c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D visibleRegion; 3529c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t refreshRate; 3530c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayModeParametersKHR; 3531c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3532c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayModePropertiesKHR { 3533c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeKHR displayMode; 3534c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeParametersKHR parameters; 3535c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayModePropertiesKHR; 3536c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3537c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayModeCreateInfoKHR { 3538c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3539c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3540c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeCreateFlagsKHR flags; 3541c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeParametersKHR parameters; 3542c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayModeCreateInfoKHR; 3543c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3544c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayPlaneCapabilitiesKHR { 3545c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 3546c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D minSrcPosition; 3547c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D maxSrcPosition; 3548c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D minSrcExtent; 3549c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D maxSrcExtent; 3550c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D minDstPosition; 3551c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D maxDstPosition; 3552c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D minDstExtent; 3553c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D maxDstExtent; 3554c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPlaneCapabilitiesKHR; 3555c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3556c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayPlanePropertiesKHR { 3557c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR currentDisplay; 3558c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t currentStackIndex; 3559c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPlanePropertiesKHR; 3560c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3561c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplaySurfaceCreateInfoKHR { 3562c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3563c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3564c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplaySurfaceCreateFlagsKHR flags; 3565c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeKHR displayMode; 3566c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t planeIndex; 3567c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t planeStackIndex; 3568c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagBitsKHR transform; 3569c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float globalAlpha; 3570c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 3571c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D imageExtent; 3572c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplaySurfaceCreateInfoKHR; 3573c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3574c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3575c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 3576c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 3577c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); 3578c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 3579c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 3580c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 3581c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 3582c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3583c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3584c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 3585c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3586c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 3587c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPropertiesKHR* pProperties); 3588c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3589c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 3590c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3591c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 3592c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPlanePropertiesKHR* pProperties); 3593c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3594c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 3595c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3596c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t planeIndex, 3597c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pDisplayCount, 3598c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR* pDisplays); 3599c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3600c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 3601c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3602c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display, 3603c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 3604c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModePropertiesKHR* pProperties); 3605c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3606c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 3607c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3608c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display, 3609c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDisplayModeCreateInfoKHR* pCreateInfo, 3610c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 3611c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeKHR* pMode); 3612c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3613c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 3614c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3615c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayModeKHR mode, 3616c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t planeIndex, 3617c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPlaneCapabilitiesKHR* pCapabilities); 3618c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3619c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 3620c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 3621c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 3622c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 3623c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR* pSurface); 3624c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3625c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3626c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_display_swapchain 1 3627c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9 3628c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 3629c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3630c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayPresentInfoKHR { 3631c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3632c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3633c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRect2D srcRect; 3634c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRect2D dstRect; 3635c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 persistent; 3636c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPresentInfoKHR; 3637c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3638c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3639c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 3640c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3641c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3642c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 3643c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3644c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount, 3645c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSwapchainCreateInfoKHR* pCreateInfos, 3646c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 3647c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR* pSwapchains); 3648c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3649c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3650c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_sampler_mirror_clamp_to_edge 1 3651c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1 3652c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 3653c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3654c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3655c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_get_physical_device_properties2 1 3656c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1 3657c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 3658c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3659c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceFeatures2KHR { 3660c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3661c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3662c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceFeatures features; 3663c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceFeatures2KHR; 3664c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3665c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceProperties2KHR { 3666c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3667c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3668c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceProperties properties; 3669c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceProperties2KHR; 3670c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3671c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkFormatProperties2KHR { 3672c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3673c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3674c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatProperties formatProperties; 3675c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkFormatProperties2KHR; 3676c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3677c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageFormatProperties2KHR { 3678c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3679c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3680c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageFormatProperties imageFormatProperties; 3681c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageFormatProperties2KHR; 3682c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3683c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceImageFormatInfo2KHR { 3684c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3685c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3686c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 3687c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType type; 3688c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling; 3689c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage; 3690c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageCreateFlags flags; 3691c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceImageFormatInfo2KHR; 3692c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3693c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkQueueFamilyProperties2KHR { 3694c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3695c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3696c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueueFamilyProperties queueFamilyProperties; 3697c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkQueueFamilyProperties2KHR; 3698c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3699c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceMemoryProperties2KHR { 3700c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3701c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3702c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceMemoryProperties memoryProperties; 3703c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceMemoryProperties2KHR; 3704c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3705c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSparseImageFormatProperties2KHR { 3706c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3707c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3708c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageFormatProperties properties; 3709c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSparseImageFormatProperties2KHR; 3710c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3711c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR { 3712c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3713c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3714c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format; 3715c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType type; 3716c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSampleCountFlagBits samples; 3717c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage; 3718c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling; 3719c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceSparseImageFormatInfo2KHR; 3720c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3721c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3722c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures); 3723c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties); 3724c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties); 3725c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties); 3726c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties); 3727c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); 3728c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties); 3729c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3730c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3731c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 3732c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3733c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceFeatures2KHR* pFeatures); 3734c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3735c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 3736c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3737c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceProperties2KHR* pProperties); 3738c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3739c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 3740c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3741c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format, 3742c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormatProperties2KHR* pFormatProperties); 3743c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3744c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 3745c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3746c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, 3747c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageFormatProperties2KHR* pImageFormatProperties); 3748c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3749c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 3750c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3751c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pQueueFamilyPropertyCount, 3752c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkQueueFamilyProperties2KHR* pQueueFamilyProperties); 3753c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3754c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 3755c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3756c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties); 3757c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3758c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 3759c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 3760c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, 3761c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPropertyCount, 3762c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSparseImageFormatProperties2KHR* pProperties); 3763c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3764c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3765c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_shader_draw_parameters 1 3766c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 3767c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 3768c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3769c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3770c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_maintenance1 1 3771c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_MAINTENANCE1_SPEC_VERSION 1 3772c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" 3773c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3774c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkCommandPoolTrimFlagsKHR; 3775c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3776c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags); 3777c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3778c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3779c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 3780c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3781c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPool commandPool, 3782c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandPoolTrimFlagsKHR flags); 3783c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3784c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3785c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_push_descriptor 1 3786c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 1 3787c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 3788c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3789c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 3790c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3791c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3792c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPushDescriptors; 3793c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDevicePushDescriptorPropertiesKHR; 3794c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3795c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3796c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 3797c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3798c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3799c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 3800c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3801c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint, 3802c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout, 3803c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t set, 3804c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorWriteCount, 3805c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkWriteDescriptorSet* pDescriptorWrites); 3806c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3807c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3808c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_incremental_present 1 3809c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1 3810c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 3811c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3812c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRectLayerKHR { 3813c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkOffset2D offset; 3814c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D extent; 3815c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t layer; 3816c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRectLayerKHR; 3817c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3818c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPresentRegionKHR { 3819c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t rectangleCount; 3820c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRectLayerKHR* pRectangles; 3821c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentRegionKHR; 3822c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3823c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPresentRegionsKHR { 3824c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3825c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3826c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount; 3827c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPresentRegionKHR* pRegions; 3828c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentRegionsKHR; 3829c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3830c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3831c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3832c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_descriptor_update_template 1 3833c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR) 3834c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3835c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 3836c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 3837c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3838c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3839c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDescriptorUpdateTemplateTypeKHR { 3840c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0, 3841c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 3842c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR, 3843c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR, 3844c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR + 1), 3845c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 3846c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorUpdateTemplateTypeKHR; 3847c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3848c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 3849c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3850c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorUpdateTemplateEntryKHR { 3851c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstBinding; 3852c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dstArrayElement; 3853c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorCount; 3854c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorType descriptorType; 3855c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t offset; 3856c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t stride; 3857c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorUpdateTemplateEntryKHR; 3858c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3859c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDescriptorUpdateTemplateCreateInfoKHR { 3860c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3861c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 3862c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateCreateFlagsKHR flags; 3863c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t descriptorUpdateEntryCount; 3864c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorUpdateTemplateEntryKHR* pDescriptorUpdateEntries; 3865c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateTypeKHR templateType; 3866c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSetLayout descriptorSetLayout; 3867c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint; 3868c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout pipelineLayout; 3869c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t set; 3870c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDescriptorUpdateTemplateCreateInfoKHR; 3871c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3872c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3873c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate); 3874c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 3875c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData); 3876c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); 3877c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3878c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3879c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 3880c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3881c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, 3882c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 3883c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate); 3884c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3885c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 3886c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3887c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, 3888c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 3889c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3890c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 3891c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 3892c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet descriptorSet, 3893c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, 3894c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pData); 3895c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3896c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 3897c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 3898c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, 3899c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout layout, 3900c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t set, 3901c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pData); 3902c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 3903c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3904c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_debug_report 1 3905c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 3906c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3907c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 6 3908c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 3909c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT 3910c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3911c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3912c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDebugReportObjectTypeEXT { 3913c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 3914c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 3915c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 3916c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 3917c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 3918c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 3919c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 3920c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 3921c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 3922c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 3923c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 3924c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 3925c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 3926c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 3927c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 3928c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 3929c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 3930c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 3931c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 3932c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 3933c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 3934c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 3935c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 3936c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 3937c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 3938c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 3939c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 3940c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 3941c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, 3942c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 3943c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 3944c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31, 3945c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32, 3946c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000, 3947c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 3948c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT, 3949c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1), 3950c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 3951c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugReportObjectTypeEXT; 3952c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3953c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDebugReportErrorEXT { 3954c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_NONE_EXT = 0, 3955c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1, 3956c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_ERROR_NONE_EXT, 3957c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_END_RANGE_EXT = VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT, 3958c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT - VK_DEBUG_REPORT_ERROR_NONE_EXT + 1), 3959c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_MAX_ENUM_EXT = 0x7FFFFFFF 3960c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugReportErrorEXT; 3961c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3962c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3963c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDebugReportFlagBitsEXT { 3964c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 3965c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 3966c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 3967c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 3968c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 3969c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 3970c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugReportFlagBitsEXT; 3971c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDebugReportFlagsEXT; 3972c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3973c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 3974c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportFlagsEXT flags, 3975c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportObjectTypeEXT objectType, 3976c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t object, 3977c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t location, 3978c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t messageCode, 3979c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pLayerPrefix, 3980c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pMessage, 3981c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData); 3982c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3983c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3984c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDebugReportCallbackCreateInfoEXT { 3985c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 3986c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 3987c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportFlagsEXT flags; 3988c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel PFN_vkDebugReportCallbackEXT pfnCallback; 3989c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pUserData; 3990c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugReportCallbackCreateInfoEXT; 3991c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3992c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3993c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 3994c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 3995c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); 3996c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 3997c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 3998c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 3999c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 4000c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 4001c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 4002c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportCallbackEXT* pCallback); 4003c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4004c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 4005c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 4006c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportCallbackEXT callback, 4007c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 4008c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4009c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 4010c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 4011c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportFlagsEXT flags, 4012c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportObjectTypeEXT objectType, 4013c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t object, 4014c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t location, 4015c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int32_t messageCode, 4016c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pLayerPrefix, 4017c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pMessage); 4018c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4019c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4020c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_glsl_shader 1 4021c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_GLSL_SHADER_SPEC_VERSION 1 4022c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 4023c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4024c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4025c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_filter_cubic 1 4026c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 4027c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 4028c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4029c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4030c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_rasterization_order 1 4031c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 4032c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 4033c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4034c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4035c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkRasterizationOrderAMD { 4036c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 4037c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 4038c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD, 4039c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD, 4040c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1), 4041c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 4042c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRasterizationOrderAMD; 4043c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4044c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 4045c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4046c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4047c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRasterizationOrderAMD rasterizationOrder; 4048c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineRasterizationStateRasterizationOrderAMD; 4049c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4050c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4051c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4052c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_shader_trinary_minmax 1 4053c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 4054c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 4055c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4056c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4057c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_shader_explicit_vertex_parameter 1 4058c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 4059c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 4060c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4061c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4062c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_debug_marker 1 4063c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 4064c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 4065c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4066c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDebugMarkerObjectNameInfoEXT { 4067c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4068c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4069c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportObjectTypeEXT objectType; 4070c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t object; 4071c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pObjectName; 4072c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugMarkerObjectNameInfoEXT; 4073c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4074c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDebugMarkerObjectTagInfoEXT { 4075c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4076c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4077c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugReportObjectTypeEXT objectType; 4078c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t object; 4079c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t tagName; 4080c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel size_t tagSize; 4081c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pTag; 4082c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugMarkerObjectTagInfoEXT; 4083c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4084c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDebugMarkerMarkerInfoEXT { 4085c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4086c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4087c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const char* pMarkerName; 4088c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float color[4]; 4089c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDebugMarkerMarkerInfoEXT; 4090c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4091c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4092c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, VkDebugMarkerObjectTagInfoEXT* pTagInfo); 4093c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, VkDebugMarkerObjectNameInfoEXT* pNameInfo); 4094c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 4095c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 4096c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 4097c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4098c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4099c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 4100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugMarkerObjectTagInfoEXT* pTagInfo); 4102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 4104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugMarkerObjectNameInfoEXT* pNameInfo); 4106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 4108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 4110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 4112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer); 4113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 4115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 4117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_gcn_shader 1 4120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_GCN_SHADER_SPEC_VERSION 1 4121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 4122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_dedicated_allocation 1 4125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 4126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 4127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDedicatedAllocationImageCreateInfoNV { 4129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 dedicatedAllocation; 4132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDedicatedAllocationImageCreateInfoNV; 4133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDedicatedAllocationBufferCreateInfoNV { 4135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 dedicatedAllocation; 4138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDedicatedAllocationBufferCreateInfoNV; 4139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 4141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 4144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 4145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDedicatedAllocationMemoryAllocateInfoNV; 4146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_draw_indirect_count 1 4150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 4151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 4152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 4154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); 4155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 4158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 4160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 4161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer countBuffer, 4162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize countBufferOffset, 4163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDrawCount, 4164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stride); 4165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 4167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer, 4169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset, 4170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer countBuffer, 4171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize countBufferOffset, 4172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDrawCount, 4173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t stride); 4174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_negative_viewport_height 1 4177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 4178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 4179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_gpu_shader_half_float 1 4182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1 4183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 4184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_shader_ballot 1 4187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 4188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 4189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_multiview 1 4192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_MULTIVIEW_SPEC_VERSION 1 4193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_MULTIVIEW_EXTENSION_NAME "VK_KHX_multiview" 4194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRenderPassMultiviewCreateInfoKHX { 4196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t subpassCount; 4199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pViewMasks; 4200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dependencyCount; 4201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const int32_t* pViewOffsets; 4202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t correlationMaskCount; 4203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pCorrelationMasks; 4204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRenderPassMultiviewCreateInfoKHX; 4205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceMultiviewFeaturesKHX { 4207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 multiview; 4210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 multiviewGeometryShader; 4211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 multiviewTessellationShader; 4212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceMultiviewFeaturesKHX; 4213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceMultiviewPropertiesKHX { 4215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxMultiviewViewCount; 4218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxMultiviewInstanceIndex; 4219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceMultiviewPropertiesKHX; 4220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_format_pvrtc 1 4224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 4225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 4226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_external_memory_capabilities 1 4229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 4230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 4231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalMemoryHandleTypeFlagBitsNV { 4234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 4235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 4236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 4237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 4238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 4239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryHandleTypeFlagBitsNV; 4240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 4241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalMemoryFeatureFlagBitsNV { 4243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 4244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 4245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 4246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 4247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryFeatureFlagBitsNV; 4248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalMemoryFeatureFlagsNV; 4249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalImageFormatPropertiesNV { 4251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageFormatProperties imageFormatProperties; 4252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 4253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 4254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 4255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalImageFormatPropertiesNV; 4256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 4259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 4262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 4263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFormat format, 4264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageType type, 4265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageTiling tiling, 4266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags usage, 4267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageCreateFlags flags, 4268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsNV externalHandleType, 4269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 4270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_external_memory 1 4273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 4274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 4275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalMemoryImageCreateInfoNV { 4277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsNV handleTypes; 4280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryImageCreateInfoNV; 4281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExportMemoryAllocateInfoNV { 4283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsNV handleTypes; 4286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExportMemoryAllocateInfoNV; 4287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_device_group 1 4291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_MAX_DEVICE_GROUP_SIZE_KHX 32 4292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_DEVICE_GROUP_SPEC_VERSION 1 4293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_DEVICE_GROUP_EXTENSION_NAME "VK_KHX_device_group" 4294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkPeerMemoryFeatureFlagBitsKHX { 4297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = 0x00000001, 4298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = 0x00000002, 4299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = 0x00000004, 4300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = 0x00000008, 4301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPeerMemoryFeatureFlagBitsKHX; 4303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPeerMemoryFeatureFlagsKHX; 4304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkMemoryAllocateFlagBitsKHX { 4306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = 0x00000001, 4307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryAllocateFlagBitsKHX; 4309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkMemoryAllocateFlagsKHX; 4310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDeviceGroupPresentModeFlagBitsKHX { 4312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = 0x00000001, 4313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = 0x00000002, 4314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = 0x00000004, 4315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = 0x00000008, 4316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupPresentModeFlagBitsKHX; 4318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkDeviceGroupPresentModeFlagsKHX; 4319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryAllocateFlagsInfoKHX { 4321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryAllocateFlagsKHX flags; 4324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceMask; 4325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryAllocateFlagsInfoKHX; 4326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBindBufferMemoryInfoKHX { 4328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 4331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory; 4332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset; 4333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceIndexCount; 4334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pDeviceIndices; 4335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBindBufferMemoryInfoKHX; 4336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBindImageMemoryInfoKHX { 4338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImage image; 4341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory; 4342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize memoryOffset; 4343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceIndexCount; 4344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pDeviceIndices; 4345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t SFRRectCount; 4346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pSFRRects; 4347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBindImageMemoryInfoKHX; 4348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupRenderPassBeginInfoKHX { 4350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceMask; 4353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceRenderAreaCount; 4354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pDeviceRenderAreas; 4355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupRenderPassBeginInfoKHX; 4356c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4357c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupCommandBufferBeginInfoKHX { 4358c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4359c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4360c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceMask; 4361c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupCommandBufferBeginInfoKHX; 4362c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4363c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupSubmitInfoKHX { 4364c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4365c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4366c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t waitSemaphoreCount; 4367c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pWaitSemaphoreDeviceIndices; 4368c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t commandBufferCount; 4369c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pCommandBufferDeviceMasks; 4370c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t signalSemaphoreCount; 4371c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pSignalSemaphoreDeviceIndices; 4372c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupSubmitInfoKHX; 4373c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4374c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupBindSparseInfoKHX { 4375c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4376c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4377c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t resourceDeviceIndex; 4378c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryDeviceIndex; 4379c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupBindSparseInfoKHX; 4380c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4381c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupPresentCapabilitiesKHX { 4382c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4383c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4384c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE_KHX]; 4385c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGroupPresentModeFlagsKHX modes; 4386c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupPresentCapabilitiesKHX; 4387c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4388c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImageSwapchainCreateInfoKHX { 4389c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4390c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4391c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain; 4392c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImageSwapchainCreateInfoKHX; 4393c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4394c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkBindImageMemorySwapchainInfoKHX { 4395c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4396c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4397c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain; 4398c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t imageIndex; 4399c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkBindImageMemorySwapchainInfoKHX; 4400c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4401c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkAcquireNextImageInfoKHX { 4402c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4403c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4404c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain; 4405c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t timeout; 4406c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore semaphore; 4407c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence fence; 4408c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceMask; 4409c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkAcquireNextImageInfoKHX; 4410c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4411c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupPresentInfoKHX { 4412c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4413c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4414c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount; 4415c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pDeviceMasks; 4416c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGroupPresentModeFlagBitsKHX mode; 4417c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupPresentInfoKHX; 4418c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4419c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupSwapchainCreateInfoKHX { 4420c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4421c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4422c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGroupPresentModeFlagsKHX modes; 4423c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupSwapchainCreateInfoKHX; 4424c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4425c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4426c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHX)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlagsKHX* pPeerMemoryFeatures); 4427c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHX)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHX* pBindInfos); 4428c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHX)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHX* pBindInfos); 4429c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHX)(VkCommandBuffer commandBuffer, uint32_t deviceMask); 4430c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHX)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHX* pDeviceGroupPresentCapabilities); 4431c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHX)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHX* pModes); 4432c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHX)(VkDevice device, const VkAcquireNextImageInfoKHX* pAcquireInfo, uint32_t* pImageIndex); 4433c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHX)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 4434c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHX)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); 4435c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4436c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4437c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHX( 4438c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4439c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t heapIndex, 4440c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t localDeviceIndex, 4441c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t remoteDeviceIndex, 4442c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPeerMemoryFeatureFlagsKHX* pPeerMemoryFeatures); 4443c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4444c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHX( 4445c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4446c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindInfoCount, 4447c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBindBufferMemoryInfoKHX* pBindInfos); 4448c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4449c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHX( 4450c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4451c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindInfoCount, 4452c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkBindImageMemoryInfoKHX* pBindInfos); 4453c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4454c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHX( 4455c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4456c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t deviceMask); 4457c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4458c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHX( 4459c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4460c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGroupPresentCapabilitiesKHX* pDeviceGroupPresentCapabilities); 4461c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4462c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHX( 4463c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4464c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 4465c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGroupPresentModeFlagsKHX* pModes); 4466c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4467c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHX( 4468c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4469c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAcquireNextImageInfoKHX* pAcquireInfo, 4470c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pImageIndex); 4471c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4472c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHX( 4473c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4474c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseGroupX, 4475c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseGroupY, 4476c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t baseGroupZ, 4477c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountX, 4478c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountY, 4479c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t groupCountZ); 4480c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4481c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHX( 4482c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 4483c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 4484c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pRectCount, 4485c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRect2D* pRects); 4486c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4487c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4488c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_validation_flags 1 4489c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1 4490c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 4491c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4492c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4493c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkValidationCheckEXT { 4494c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VALIDATION_CHECK_ALL_EXT = 0, 4495c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, 4496c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, 4497c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_ALL_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1), 4498c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 4499c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkValidationCheckEXT; 4500c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4501c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkValidationFlagsEXT { 4502c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4503c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4504c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t disabledValidationCheckCount; 4505c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkValidationCheckEXT* pDisabledValidationChecks; 4506c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkValidationFlagsEXT; 4507c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4508c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4509c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_shader_subgroup_ballot 1 4510c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 4511c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 4512c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4513c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4514c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_shader_subgroup_vote 1 4515c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 4516c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 4517c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4518c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4519c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_device_group_creation 1 4520c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION 1 4521c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHX_device_group_creation" 4522c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4523c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceGroupPropertiesKHX { 4524c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4525c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4526c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t physicalDeviceCount; 4527c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE_KHX]; 4528c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 subsetAllocation; 4529c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceGroupPropertiesKHX; 4530c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4531c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGroupDeviceCreateInfoKHX { 4532c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4533c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4534c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t physicalDeviceCount; 4535c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDevice* pPhysicalDevices; 4536c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGroupDeviceCreateInfoKHX; 4537c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4538c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4539c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHX)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupPropertiesKHX* pPhysicalDeviceGroupProperties); 4540c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4541c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4542c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHX( 4543c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkInstance instance, 4544c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPhysicalDeviceGroupCount, 4545c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDeviceGroupPropertiesKHX* pPhysicalDeviceGroupProperties); 4546c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4547c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4548c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_memory_capabilities 1 4549c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_LUID_SIZE_KHX 8 4550c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 4551c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHX_external_memory_capabilities" 4552c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4553c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4554c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalMemoryHandleTypeFlagBitsKHX { 4555c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHX = 0x00000001, 4556c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHX = 0x00000002, 4557c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHX = 0x00000004, 4558c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHX = 0x00000008, 4559c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHX = 0x00000010, 4560c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHX = 0x00000020, 4561c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHX = 0x00000040, 4562c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4563c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryHandleTypeFlagBitsKHX; 4564c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalMemoryHandleTypeFlagsKHX; 4565c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4566c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalMemoryFeatureFlagBitsKHX { 4567c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHX = 0x00000001, 4568c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHX = 0x00000002, 4569c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHX = 0x00000004, 4570c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4571c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryFeatureFlagBitsKHX; 4572c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalMemoryFeatureFlagsKHX; 4573c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4574c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalMemoryPropertiesKHX { 4575c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryFeatureFlagsKHX externalMemoryFeatures; 4576c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsKHX exportFromImportedHandleTypes; 4577c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsKHX compatibleHandleTypes; 4578c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryPropertiesKHX; 4579c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4580c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceExternalImageFormatInfoKHX { 4581c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4582c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4583c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagBitsKHX handleType; 4584c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceExternalImageFormatInfoKHX; 4585c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4586c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalImageFormatPropertiesKHX { 4587c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4588c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4589c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryPropertiesKHX externalMemoryProperties; 4590c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalImageFormatPropertiesKHX; 4591c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4592c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceExternalBufferInfoKHX { 4593c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4594c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4595c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferCreateFlags flags; 4596c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBufferUsageFlags usage; 4597c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagBitsKHX handleType; 4598c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceExternalBufferInfoKHX; 4599c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4600c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalBufferPropertiesKHX { 4601c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4602c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4603c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryPropertiesKHX externalMemoryProperties; 4604c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalBufferPropertiesKHX; 4605c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4606c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceIDPropertiesKHX { 4607c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4608c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4609c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint8_t deviceUUID[VK_UUID_SIZE]; 4610c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint8_t driverUUID[VK_UUID_SIZE]; 4611c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint8_t deviceLUID[VK_LUID_SIZE_KHX]; 4612c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 deviceLUIDValid; 4613c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceIDPropertiesKHX; 4614c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4615c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4616c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHX)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHX* pExternalBufferInfo, VkExternalBufferPropertiesKHX* pExternalBufferProperties); 4617c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4618c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4619c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHX( 4620c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 4621c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDeviceExternalBufferInfoKHX* pExternalBufferInfo, 4622c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalBufferPropertiesKHX* pExternalBufferProperties); 4623c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4624c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4625c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_memory 1 4626c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_SPEC_VERSION 1 4627c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHX_external_memory" 4628c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_QUEUE_FAMILY_EXTERNAL_KHX (~0U-1) 4629c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4630c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalMemoryImageCreateInfoKHX { 4631c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4632c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4633c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsKHX handleTypes; 4634c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryImageCreateInfoKHX; 4635c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4636c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalMemoryBufferCreateInfoKHX { 4637c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4638c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4639c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsKHX handleTypes; 4640c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalMemoryBufferCreateInfoKHX; 4641c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4642c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExportMemoryAllocateInfoKHX { 4643c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4644c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4645c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagsKHX handleTypes; 4646c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExportMemoryAllocateInfoKHX; 4647c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4648c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4649c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_memory_fd 1 4650c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 4651c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHX_external_memory_fd" 4652c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4653c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImportMemoryFdInfoKHX { 4654c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4655c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4656c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagBitsKHX handleType; 4657c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int fd; 4658c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImportMemoryFdInfoKHX; 4659c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4660c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkMemoryFdPropertiesKHX { 4661c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4662c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4663c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t memoryTypeBits; 4664c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkMemoryFdPropertiesKHX; 4665c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4666c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4667c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHX)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagBitsKHX handleType, int* pFd); 4668c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHX)(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHX handleType, int fd, VkMemoryFdPropertiesKHX* pMemoryFdProperties); 4669c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4670c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4671c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHX( 4672c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4673c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceMemory memory, 4674c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagBitsKHX handleType, 4675c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int* pFd); 4676c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4677c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHX( 4678c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4679c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalMemoryHandleTypeFlagBitsKHX handleType, 4680c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int fd, 4681c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkMemoryFdPropertiesKHX* pMemoryFdProperties); 4682c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4683c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4684c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_semaphore_capabilities 1 4685c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 4686c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHX_external_semaphore_capabilities" 4687c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4688c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4689c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalSemaphoreHandleTypeFlagBitsKHX { 4690c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX = 0x00000001, 4691c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHX = 0x00000002, 4692c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHX = 0x00000004, 4693c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHX = 0x00000008, 4694c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHX = 0x00000010, 4695c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4696c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalSemaphoreHandleTypeFlagBitsKHX; 4697c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalSemaphoreHandleTypeFlagsKHX; 4698c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4699c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkExternalSemaphoreFeatureFlagBitsKHX { 4700c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHX = 0x00000001, 4701c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHX = 0x00000002, 4702c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF 4703c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalSemaphoreFeatureFlagBitsKHX; 4704c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkExternalSemaphoreFeatureFlagsKHX; 4705c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4706c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceExternalSemaphoreInfoKHX { 4707c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4708c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4709c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagBitsKHX handleType; 4710c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceExternalSemaphoreInfoKHX; 4711c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4712c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExternalSemaphorePropertiesKHX { 4713c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4714c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 4715c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagsKHX exportFromImportedHandleTypes; 4716c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagsKHX compatibleHandleTypes; 4717c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreFeatureFlagsKHX externalSemaphoreFeatures; 4718c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExternalSemaphorePropertiesKHX; 4719c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4720c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4721c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHX)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHX* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHX* pExternalSemaphoreProperties); 4722c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4723c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4724c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHX( 4725c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 4726c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPhysicalDeviceExternalSemaphoreInfoKHX* pExternalSemaphoreInfo, 4727c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphorePropertiesKHX* pExternalSemaphoreProperties); 4728c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4729c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4730c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_semaphore 1 4731c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 4732c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHX_external_semaphore" 4733c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4734c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkExportSemaphoreCreateInfoKHX { 4735c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4736c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4737c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagsKHX handleTypes; 4738c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkExportSemaphoreCreateInfoKHX; 4739c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4740c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4741c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_external_semaphore_fd 1 4742c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 4743c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_KHX_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHX_external_semaphore_fd" 4744c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4745c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkImportSemaphoreFdInfoKHX { 4746c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4747c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4748c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore semaphore; 4749c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagBitsKHX handleType; 4750c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int fd; 4751c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkImportSemaphoreFdInfoKHX; 4752c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4753c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4754c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHX)(VkDevice device, const VkImportSemaphoreFdInfoKHX* pImportSemaphoreFdInfo); 4755c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHX)(VkDevice device, VkSemaphore semaphore, VkExternalSemaphoreHandleTypeFlagBitsKHX handleType, int* pFd); 4756c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4757c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4758c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHX( 4759c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4760c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkImportSemaphoreFdInfoKHX* pImportSemaphoreFdInfo); 4761c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4762c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHX( 4763c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4764c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSemaphore semaphore, 4765c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExternalSemaphoreHandleTypeFlagBitsKHX handleType, 4766c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel int* pFd); 4767c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4768c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4769c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_device_generated_commands 1 4770c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX) 4771c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) 4772c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4773c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 4774c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands" 4775c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4776c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4777c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkIndirectCommandsTokenTypeNVX { 4778c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX = 0, 4779c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX = 1, 4780c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX = 2, 4781c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX = 3, 4782c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX = 4, 4783c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX = 5, 4784c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX = 6, 4785c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX = 7, 4786c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX, 4787c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX, 4788c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX + 1), 4789c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF 4790c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndirectCommandsTokenTypeNVX; 4791c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4792c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkObjectEntryTypeNVX { 4793c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX = 0, 4794c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_PIPELINE_NVX = 1, 4795c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_INDEX_BUFFER_NVX = 2, 4796c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX = 3, 4797c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX = 4, 4798c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX, 4799c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX, 4800c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX + 1), 4801c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF 4802c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectEntryTypeNVX; 4803c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4804c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4805c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX { 4806c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001, 4807c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002, 4808c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004, 4809c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008, 4810c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF 4811c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndirectCommandsLayoutUsageFlagBitsNVX; 4812c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; 4813c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4814c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkObjectEntryUsageFlagBitsNVX { 4815c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001, 4816c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002, 4817c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF 4818c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectEntryUsageFlagBitsNVX; 4819c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkObjectEntryUsageFlagsNVX; 4820c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4821c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGeneratedCommandsFeaturesNVX { 4822c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4823c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4824c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 computeBindingPointSupport; 4825c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGeneratedCommandsFeaturesNVX; 4826c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4827c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceGeneratedCommandsLimitsNVX { 4828c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4829c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4830c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxIndirectCommandsLayoutTokenCount; 4831c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxObjectEntryCounts; 4832c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minSequenceCountBufferOffsetAlignment; 4833c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minSequenceIndexBufferOffsetAlignment; 4834c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minCommandsTokenBufferOffsetAlignment; 4835c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceGeneratedCommandsLimitsNVX; 4836c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4837c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkIndirectCommandsTokenNVX { 4838c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsTokenTypeNVX tokenType; 4839c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 4840c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize offset; 4841c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndirectCommandsTokenNVX; 4842c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4843c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkIndirectCommandsLayoutTokenNVX { 4844c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsTokenTypeNVX tokenType; 4845c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t bindingUnit; 4846c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t dynamicCount; 4847c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t divisor; 4848c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndirectCommandsLayoutTokenNVX; 4849c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4850c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkIndirectCommandsLayoutCreateInfoNVX { 4851c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4852c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4853c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineBindPoint pipelineBindPoint; 4854c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsLayoutUsageFlagsNVX flags; 4855c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t tokenCount; 4856c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkIndirectCommandsLayoutTokenNVX* pTokens; 4857c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkIndirectCommandsLayoutCreateInfoNVX; 4858c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4859c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCmdProcessCommandsInfoNVX { 4860c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4861c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4862c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX objectTable; 4863c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsLayoutNVX indirectCommandsLayout; 4864c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t indirectCommandsTokenCount; 4865c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens; 4866c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSequencesCount; 4867c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer targetCommandBuffer; 4868c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer sequencesCountBuffer; 4869c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize sequencesCountOffset; 4870c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer sequencesIndexBuffer; 4871c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceSize sequencesIndexOffset; 4872c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCmdProcessCommandsInfoNVX; 4873c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4874c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkCmdReserveSpaceForCommandsInfoNVX { 4875c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4876c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4877c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX objectTable; 4878c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsLayoutNVX indirectCommandsLayout; 4879c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSequencesCount; 4880c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkCmdReserveSpaceForCommandsInfoNVX; 4881c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4882c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTableCreateInfoNVX { 4883c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 4884c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 4885c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t objectCount; 4886c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkObjectEntryTypeNVX* pObjectEntryTypes; 4887c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pObjectEntryCounts; 4888c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags; 4889c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxUniformBuffersPerDescriptor; 4890c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxStorageBuffersPerDescriptor; 4891c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxStorageImagesPerDescriptor; 4892c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxSampledImagesPerDescriptor; 4893c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxPipelineLayouts; 4894c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTableCreateInfoNVX; 4895c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4896c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTableEntryNVX { 4897c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4898c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4899c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTableEntryNVX; 4900c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4901c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTablePipelineEntryNVX { 4902c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4903c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4904c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipeline pipeline; 4905c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTablePipelineEntryNVX; 4906c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4907c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTableDescriptorSetEntryNVX { 4908c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4909c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4910c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout pipelineLayout; 4911c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDescriptorSet descriptorSet; 4912c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTableDescriptorSetEntryNVX; 4913c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4914c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTableVertexBufferEntryNVX { 4915c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4916c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4917c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 4918c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTableVertexBufferEntryNVX; 4919c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4920c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTableIndexBufferEntryNVX { 4921c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4922c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4923c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBuffer buffer; 4924c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndexType indexType; 4925c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTableIndexBufferEntryNVX; 4926c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4927c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkObjectTablePushConstantEntryNVX { 4928c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryTypeNVX type; 4929c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectEntryUsageFlagsNVX flags; 4930c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineLayout pipelineLayout; 4931c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkShaderStageFlags stageFlags; 4932c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkObjectTablePushConstantEntryNVX; 4933c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4934c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4935c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); 4936c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); 4937c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); 4938c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 4939c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable); 4940c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator); 4941c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices); 4942c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices); 4943c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits); 4944c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4945c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 4946c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX( 4947c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4948c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); 4949c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4950c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX( 4951c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 4952c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); 4953c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4954c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX( 4955c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4956c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, 4957c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 4958c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); 4959c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4960c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX( 4961c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4962c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkIndirectCommandsLayoutNVX indirectCommandsLayout, 4963c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 4964c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4965c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX( 4966c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4967c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkObjectTableCreateInfoNVX* pCreateInfo, 4968c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 4969c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX* pObjectTable); 4970c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4971c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX( 4972c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4973c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX objectTable, 4974c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator); 4975c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4976c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX( 4977c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4978c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX objectTable, 4979c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t objectCount, 4980c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkObjectTableEntryNVX* const* ppObjectTableEntries, 4981c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pObjectIndices); 4982c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4983c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX( 4984c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 4985c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkObjectTableNVX objectTable, 4986c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t objectCount, 4987c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkObjectEntryTypeNVX* pObjectEntryTypes, 4988c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const uint32_t* pObjectIndices); 4989c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4990c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( 4991c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 4992c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, 4993c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceGeneratedCommandsLimitsNVX* pLimits); 4994c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 4995c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 4996c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_clip_space_w_scaling 1 4997c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 4998c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 4999c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5000c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkViewportWScalingNV { 5001c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float xcoeff; 5002c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float ycoeff; 5003c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkViewportWScalingNV; 5004c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5005c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineViewportWScalingStateCreateInfoNV { 5006c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5007c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5008c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 viewportWScalingEnable; 5009c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportCount; 5010c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkViewportWScalingNV* pViewportWScalings; 5011c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineViewportWScalingStateCreateInfoNV; 5012c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5013c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5014c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); 5015c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5016c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5017c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 5018c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 5019c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstViewport, 5020c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportCount, 5021c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkViewportWScalingNV* pViewportWScalings); 5022c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5023c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5024c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_direct_mode_display 1 5025c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 5026c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 5027c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5028c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 5029c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5030c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5031c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 5032c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 5033c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display); 5034c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5035c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5036c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_display_surface_counter 1 5037c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 5038c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 5039c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5040c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5041c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkSurfaceCounterFlagBitsEXT { 5042c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001, 5043c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 5044c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSurfaceCounterFlagBitsEXT; 5045c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkSurfaceCounterFlagsEXT; 5046c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5047c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSurfaceCapabilities2EXT { 5048c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5049c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 5050c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t minImageCount; 5051c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageCount; 5052c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D currentExtent; 5053c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D minImageExtent; 5054c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkExtent2D maxImageExtent; 5055c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxImageArrayLayers; 5056c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagsKHR supportedTransforms; 5057c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceTransformFlagBitsKHR currentTransform; 5058c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 5059c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkImageUsageFlags supportedUsageFlags; 5060c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 5061c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSurfaceCapabilities2EXT; 5062c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5063c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5064c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 5065c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5066c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5067c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 5068c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPhysicalDevice physicalDevice, 5069c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceKHR surface, 5070c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 5071c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5072c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5073c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_display_control 1 5074c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 5075c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 5076c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5077c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5078c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDisplayPowerStateEXT { 5079c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 5080c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 5081c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_ON_EXT = 2, 5082c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT, 5083c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT, 5084c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1), 5085c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 5086c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPowerStateEXT; 5087c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5088c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDeviceEventTypeEXT { 5089c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 5090c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT, 5091c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT, 5092c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1), 5093c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 5094c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceEventTypeEXT; 5095c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5096c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDisplayEventTypeEXT { 5097c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 5098c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT, 5099c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT, 5100c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1), 5101c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 5102c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayEventTypeEXT; 5103c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5104c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayPowerInfoEXT { 5105c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5106c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5107c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayPowerStateEXT powerState; 5108c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayPowerInfoEXT; 5109c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5110c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDeviceEventInfoEXT { 5111c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5112c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5113c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDeviceEventTypeEXT deviceEvent; 5114c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDeviceEventInfoEXT; 5115c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5116c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkDisplayEventInfoEXT { 5117c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5118c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5119c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayEventTypeEXT displayEvent; 5120c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDisplayEventInfoEXT; 5121c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5122c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkSwapchainCounterCreateInfoEXT { 5123c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5124c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5125c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceCounterFlagsEXT surfaceCounters; 5126c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkSwapchainCounterCreateInfoEXT; 5127c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5128c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5129c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 5130c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 5131c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 5132c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); 5133c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5134c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5135c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 5136c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5137c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display, 5138c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 5139c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5140c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 5141c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5142c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDeviceEventInfoEXT* pDeviceEventInfo, 5143c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 5144c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence* pFence); 5145c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5146c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 5147c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5148c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDisplayKHR display, 5149c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkDisplayEventInfoEXT* pDisplayEventInfo, 5150c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkAllocationCallbacks* pAllocator, 5151c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkFence* pFence); 5152c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5153c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 5154c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5155c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 5156c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSurfaceCounterFlagBitsEXT counter, 5157c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t* pCounterValue); 5158c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5159c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5160c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_GOOGLE_display_timing 1 5161c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 5162c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 5163c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5164c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkRefreshCycleDurationGOOGLE { 5165c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t refreshDuration; 5166c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkRefreshCycleDurationGOOGLE; 5167c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5168c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPastPresentationTimingGOOGLE { 5169c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t presentID; 5170c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t desiredPresentTime; 5171c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t actualPresentTime; 5172c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t earliestPresentTime; 5173c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t presentMargin; 5174c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPastPresentationTimingGOOGLE; 5175c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5176c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPresentTimeGOOGLE { 5177c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t presentID; 5178c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint64_t desiredPresentTime; 5179c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentTimeGOOGLE; 5180c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5181c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPresentTimesInfoGOOGLE { 5182c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5183c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5184c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount; 5185c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkPresentTimeGOOGLE* pTimes; 5186c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPresentTimesInfoGOOGLE; 5187c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5188c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5189c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 5190c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 5191c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5192c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5193c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 5194c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5195c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 5196c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 5197c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5198c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 5199c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5200c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkSwapchainKHR swapchain, 5201c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t* pPresentationTimingCount, 5202c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPastPresentationTimingGOOGLE* pPresentationTimings); 5203c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5204c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5205c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_sample_mask_override_coverage 1 5206c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 5207c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 5208c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5209c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5210c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_geometry_shader_passthrough 1 5211c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 5212c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 5213c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5214c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5215c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_viewport_array2 1 5216c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1 5217c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2" 5218c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5219c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5220c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_multiview_per_view_attributes 1 5221c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 5222c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 5223c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5224c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 5225c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5226c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 5227c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkBool32 perViewPositionAllComponents; 5228c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 5229c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5230c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5231c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5232c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_viewport_swizzle 1 5233c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 5234c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 5235c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5236c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5237c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkViewportCoordinateSwizzleNV { 5238c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 5239c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 5240c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 5241c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 5242c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 5243c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 5244c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 5245c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 5246c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV, 5247c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV, 5248c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1), 5249c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 5250c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkViewportCoordinateSwizzleNV; 5251c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5252c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 5253c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5254c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkViewportSwizzleNV { 5255c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkViewportCoordinateSwizzleNV x; 5256c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkViewportCoordinateSwizzleNV y; 5257c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkViewportCoordinateSwizzleNV z; 5258c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkViewportCoordinateSwizzleNV w; 5259c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkViewportSwizzleNV; 5260c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5261c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 5262c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5263c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5264c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineViewportSwizzleStateCreateFlagsNV flags; 5265c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t viewportCount; 5266c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkViewportSwizzleNV* pViewportSwizzles; 5267c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineViewportSwizzleStateCreateInfoNV; 5268c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5269c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5270c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5271c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_discard_rectangles 1 5272c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 5273c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 5274c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5275c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5276c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef enum VkDiscardRectangleModeEXT { 5277c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 5278c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 5279c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT, 5280c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT, 5281c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1), 5282c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 5283c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkDiscardRectangleModeEXT; 5284c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5285c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 5286c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5287c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 5288c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5289c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel void* pNext; 5290c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t maxDiscardRectangles; 5291c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPhysicalDeviceDiscardRectanglePropertiesEXT; 5292c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5293c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 5294c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5295c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5296c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 5297c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDiscardRectangleModeEXT discardRectangleMode; 5298c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t discardRectangleCount; 5299c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pDiscardRectangles; 5300c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkPipelineDiscardRectangleStateCreateInfoEXT; 5301c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5302c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5303c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 5304c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5305c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5306c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 5307c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkCommandBuffer commandBuffer, 5308c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t firstDiscardRectangle, 5309c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t discardRectangleCount, 5310c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkRect2D* pDiscardRectangles); 5311c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5312c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5313c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_swapchain_colorspace 1 5314c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 2 5315c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 5316c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5317c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5318c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_hdr_metadata 1 5319c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_HDR_METADATA_SPEC_VERSION 1 5320c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 5321c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5322c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkXYColorEXT { 5323c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float x; 5324c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float y; 5325c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkXYColorEXT; 5326c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5327c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef struct VkHdrMetadataEXT { 5328c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkStructureType sType; 5329c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const void* pNext; 5330c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkXYColorEXT displayPrimaryRed; 5331c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkXYColorEXT displayPrimaryGreen; 5332c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkXYColorEXT displayPrimaryBlue; 5333c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkXYColorEXT whitePoint; 5334c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxLuminance; 5335c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float minLuminance; 5336c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxContentLightLevel; 5337c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel float maxFrameAverageLightLevel; 5338c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} VkHdrMetadataEXT; 5339c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5340c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5341c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Danieltypedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 5342c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5343c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifndef VK_NO_PROTOTYPES 5344c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg DanielVKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 5345c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel VkDevice device, 5346c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel uint32_t swapchainCount, 5347c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkSwapchainKHR* pSwapchains, 5348c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel const VkHdrMetadataEXT* pMetadata); 5349c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5350c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5351c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#ifdef __cplusplus 5352c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel} 5353c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5354c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel 5355c819e66993f1d66dbbd6c64e70ed897e889e4d32Greg Daniel#endif 5356