|
|
|
@@ -8,24 +8,17 @@ extern "C" { |
|
|
|
/* |
|
|
|
** Copyright (c) 2015-2016 The Khronos Group Inc. |
|
|
|
** |
|
|
|
** Permission is hereby granted, free of charge, to any person obtaining a |
|
|
|
** copy of this software and/or associated documentation files (the |
|
|
|
** "Materials"), to deal in the Materials without restriction, including |
|
|
|
** without limitation the rights to use, copy, modify, merge, publish, |
|
|
|
** distribute, sublicense, and/or sell copies of the Materials, and to |
|
|
|
** permit persons to whom the Materials are furnished to do so, subject to |
|
|
|
** the following conditions: |
|
|
|
** Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
** you may not use this file except in compliance with the License. |
|
|
|
** You may obtain a copy of the License at |
|
|
|
** |
|
|
|
** The above copyright notice and this permission notice shall be included |
|
|
|
** in all copies or substantial portions of the Materials. |
|
|
|
** http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
** |
|
|
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
|
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
|
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|
|
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
|
|
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
|
|
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
|
|
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. |
|
|
|
** Unless required by applicable law or agreed to in writing, software |
|
|
|
** distributed under the License is distributed on an "AS IS" BASIS, |
|
|
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
|
** See the License for the specific language governing permissions and |
|
|
|
** limitations under the License. |
|
|
|
*/ |
|
|
|
|
|
|
|
/* |
|
|
|
@@ -50,7 +43,7 @@ extern "C" { |
|
|
|
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) |
|
|
|
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) |
|
|
|
// Version of this file |
|
|
|
#define VK_HEADER_VERSION 6 |
|
|
|
#define VK_HEADER_VERSION 32 |
|
|
|
|
|
|
|
|
|
|
|
#define VK_NULL_HANDLE 0 |
|
|
|
@@ -60,11 +53,13 @@ extern "C" { |
|
|
|
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; |
|
|
|
|
|
|
|
|
|
|
|
#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
|
|
|
#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) |
|
|
|
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) |
|
|
|
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; |
|
|
|
#else |
|
|
|
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -142,6 +137,7 @@ typedef enum VkResult { |
|
|
|
VK_ERROR_INCOMPATIBLE_DRIVER = -9, |
|
|
|
VK_ERROR_TOO_MANY_OBJECTS = -10, |
|
|
|
VK_ERROR_FORMAT_NOT_SUPPORTED = -11, |
|
|
|
VK_ERROR_FRAGMENTED_POOL = -12, |
|
|
|
VK_ERROR_SURFACE_LOST_KHR = -1000000000, |
|
|
|
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, |
|
|
|
VK_SUBOPTIMAL_KHR = 1000001003, |
|
|
|
@@ -149,9 +145,9 @@ typedef enum VkResult { |
|
|
|
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, |
|
|
|
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, |
|
|
|
VK_ERROR_INVALID_SHADER_NV = -1000012000, |
|
|
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED, |
|
|
|
VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL, |
|
|
|
VK_RESULT_END_RANGE = VK_INCOMPLETE, |
|
|
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1), |
|
|
|
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1), |
|
|
|
VK_RESULT_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkResult; |
|
|
|
|
|
|
|
@@ -217,6 +213,19 @@ typedef enum VkStructureType { |
|
|
|
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, |
|
|
|
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, |
|
|
|
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, |
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, |
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, |
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, |
|
|
|
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, |
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, |
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, |
|
|
|
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, |
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, |
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, |
|
|
|
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, |
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, |
|
|
|
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, |
|
|
|
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, |
|
|
|
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, |
|
|
|
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, |
|
|
|
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), |
|
|
|
@@ -429,6 +438,14 @@ typedef enum VkFormat { |
|
|
|
VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, |
|
|
|
VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, |
|
|
|
VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, |
|
|
|
VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, |
|
|
|
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, |
|
|
|
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, |
|
|
|
VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, |
|
|
|
VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, |
|
|
|
VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, |
|
|
|
VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, |
|
|
|
VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, |
|
|
|
VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED, |
|
|
|
VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK, |
|
|
|
VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1), |
|
|
|
@@ -817,6 +834,7 @@ typedef enum VkFormatFeatureFlagBits { |
|
|
|
VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, |
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, |
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, |
|
|
|
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkFormatFeatureFlagBits; |
|
|
|
typedef VkFlags VkFormatFeatureFlags; |
|
|
|
|
|
|
|
@@ -829,6 +847,7 @@ typedef enum VkImageUsageFlagBits { |
|
|
|
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, |
|
|
|
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, |
|
|
|
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, |
|
|
|
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkImageUsageFlagBits; |
|
|
|
typedef VkFlags VkImageUsageFlags; |
|
|
|
|
|
|
|
@@ -838,6 +857,7 @@ typedef enum VkImageCreateFlagBits { |
|
|
|
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
|
|
|
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, |
|
|
|
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, |
|
|
|
VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkImageCreateFlagBits; |
|
|
|
typedef VkFlags VkImageCreateFlags; |
|
|
|
|
|
|
|
@@ -849,6 +869,7 @@ typedef enum VkSampleCountFlagBits { |
|
|
|
VK_SAMPLE_COUNT_16_BIT = 0x00000010, |
|
|
|
VK_SAMPLE_COUNT_32_BIT = 0x00000020, |
|
|
|
VK_SAMPLE_COUNT_64_BIT = 0x00000040, |
|
|
|
VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkSampleCountFlagBits; |
|
|
|
typedef VkFlags VkSampleCountFlags; |
|
|
|
|
|
|
|
@@ -857,6 +878,7 @@ typedef enum VkQueueFlagBits { |
|
|
|
VK_QUEUE_COMPUTE_BIT = 0x00000002, |
|
|
|
VK_QUEUE_TRANSFER_BIT = 0x00000004, |
|
|
|
VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, |
|
|
|
VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkQueueFlagBits; |
|
|
|
typedef VkFlags VkQueueFlags; |
|
|
|
|
|
|
|
@@ -866,11 +888,13 @@ typedef enum VkMemoryPropertyFlagBits { |
|
|
|
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, |
|
|
|
VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, |
|
|
|
VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, |
|
|
|
VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkMemoryPropertyFlagBits; |
|
|
|
typedef VkFlags VkMemoryPropertyFlags; |
|
|
|
|
|
|
|
typedef enum VkMemoryHeapFlagBits { |
|
|
|
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, |
|
|
|
VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkMemoryHeapFlagBits; |
|
|
|
typedef VkFlags VkMemoryHeapFlags; |
|
|
|
typedef VkFlags VkDeviceCreateFlags; |
|
|
|
@@ -894,6 +918,7 @@ typedef enum VkPipelineStageFlagBits { |
|
|
|
VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, |
|
|
|
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, |
|
|
|
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, |
|
|
|
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkPipelineStageFlagBits; |
|
|
|
typedef VkFlags VkPipelineStageFlags; |
|
|
|
typedef VkFlags VkMemoryMapFlags; |
|
|
|
@@ -903,6 +928,7 @@ typedef enum VkImageAspectFlagBits { |
|
|
|
VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, |
|
|
|
VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, |
|
|
|
VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, |
|
|
|
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkImageAspectFlagBits; |
|
|
|
typedef VkFlags VkImageAspectFlags; |
|
|
|
|
|
|
|
@@ -910,16 +936,19 @@ typedef enum VkSparseImageFormatFlagBits { |
|
|
|
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, |
|
|
|
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, |
|
|
|
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, |
|
|
|
VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkSparseImageFormatFlagBits; |
|
|
|
typedef VkFlags VkSparseImageFormatFlags; |
|
|
|
|
|
|
|
typedef enum VkSparseMemoryBindFlagBits { |
|
|
|
VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, |
|
|
|
VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkSparseMemoryBindFlagBits; |
|
|
|
typedef VkFlags VkSparseMemoryBindFlags; |
|
|
|
|
|
|
|
typedef enum VkFenceCreateFlagBits { |
|
|
|
VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, |
|
|
|
VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkFenceCreateFlagBits; |
|
|
|
typedef VkFlags VkFenceCreateFlags; |
|
|
|
typedef VkFlags VkSemaphoreCreateFlags; |
|
|
|
@@ -938,6 +967,7 @@ typedef enum VkQueryPipelineStatisticFlagBits { |
|
|
|
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, |
|
|
|
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, |
|
|
|
VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, |
|
|
|
VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkQueryPipelineStatisticFlagBits; |
|
|
|
typedef VkFlags VkQueryPipelineStatisticFlags; |
|
|
|
|
|
|
|
@@ -946,6 +976,7 @@ typedef enum VkQueryResultFlagBits { |
|
|
|
VK_QUERY_RESULT_WAIT_BIT = 0x00000002, |
|
|
|
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, |
|
|
|
VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, |
|
|
|
VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkQueryResultFlagBits; |
|
|
|
typedef VkFlags VkQueryResultFlags; |
|
|
|
|
|
|
|
@@ -953,6 +984,7 @@ typedef enum VkBufferCreateFlagBits { |
|
|
|
VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, |
|
|
|
VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, |
|
|
|
VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, |
|
|
|
VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkBufferCreateFlagBits; |
|
|
|
typedef VkFlags VkBufferCreateFlags; |
|
|
|
|
|
|
|
@@ -966,6 +998,7 @@ typedef enum VkBufferUsageFlagBits { |
|
|
|
VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, |
|
|
|
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, |
|
|
|
VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, |
|
|
|
VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkBufferUsageFlagBits; |
|
|
|
typedef VkFlags VkBufferUsageFlags; |
|
|
|
typedef VkFlags VkBufferViewCreateFlags; |
|
|
|
@@ -977,6 +1010,7 @@ typedef enum VkPipelineCreateFlagBits { |
|
|
|
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, |
|
|
|
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, |
|
|
|
VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, |
|
|
|
VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkPipelineCreateFlagBits; |
|
|
|
typedef VkFlags VkPipelineCreateFlags; |
|
|
|
typedef VkFlags VkPipelineShaderStageCreateFlags; |
|
|
|
@@ -990,6 +1024,7 @@ typedef enum VkShaderStageFlagBits { |
|
|
|
VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, |
|
|
|
VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, |
|
|
|
VK_SHADER_STAGE_ALL = 0x7FFFFFFF, |
|
|
|
VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkShaderStageFlagBits; |
|
|
|
typedef VkFlags VkPipelineVertexInputStateCreateFlags; |
|
|
|
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; |
|
|
|
@@ -1002,6 +1037,7 @@ typedef enum VkCullModeFlagBits { |
|
|
|
VK_CULL_MODE_FRONT_BIT = 0x00000001, |
|
|
|
VK_CULL_MODE_BACK_BIT = 0x00000002, |
|
|
|
VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, |
|
|
|
VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkCullModeFlagBits; |
|
|
|
typedef VkFlags VkCullModeFlags; |
|
|
|
typedef VkFlags VkPipelineMultisampleStateCreateFlags; |
|
|
|
@@ -1013,6 +1049,7 @@ typedef enum VkColorComponentFlagBits { |
|
|
|
VK_COLOR_COMPONENT_G_BIT = 0x00000002, |
|
|
|
VK_COLOR_COMPONENT_B_BIT = 0x00000004, |
|
|
|
VK_COLOR_COMPONENT_A_BIT = 0x00000008, |
|
|
|
VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkColorComponentFlagBits; |
|
|
|
typedef VkFlags VkColorComponentFlags; |
|
|
|
typedef VkFlags VkPipelineDynamicStateCreateFlags; |
|
|
|
@@ -1023,6 +1060,7 @@ typedef VkFlags VkDescriptorSetLayoutCreateFlags; |
|
|
|
|
|
|
|
typedef enum VkDescriptorPoolCreateFlagBits { |
|
|
|
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, |
|
|
|
VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkDescriptorPoolCreateFlagBits; |
|
|
|
typedef VkFlags VkDescriptorPoolCreateFlags; |
|
|
|
typedef VkFlags VkDescriptorPoolResetFlags; |
|
|
|
@@ -1031,6 +1069,7 @@ typedef VkFlags VkRenderPassCreateFlags; |
|
|
|
|
|
|
|
typedef enum VkAttachmentDescriptionFlagBits { |
|
|
|
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, |
|
|
|
VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkAttachmentDescriptionFlagBits; |
|
|
|
typedef VkFlags VkAttachmentDescriptionFlags; |
|
|
|
typedef VkFlags VkSubpassDescriptionFlags; |
|
|
|
@@ -1053,22 +1092,26 @@ typedef enum VkAccessFlagBits { |
|
|
|
VK_ACCESS_HOST_WRITE_BIT = 0x00004000, |
|
|
|
VK_ACCESS_MEMORY_READ_BIT = 0x00008000, |
|
|
|
VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, |
|
|
|
VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkAccessFlagBits; |
|
|
|
typedef VkFlags VkAccessFlags; |
|
|
|
|
|
|
|
typedef enum VkDependencyFlagBits { |
|
|
|
VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, |
|
|
|
VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkDependencyFlagBits; |
|
|
|
typedef VkFlags VkDependencyFlags; |
|
|
|
|
|
|
|
typedef enum VkCommandPoolCreateFlagBits { |
|
|
|
VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, |
|
|
|
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, |
|
|
|
VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkCommandPoolCreateFlagBits; |
|
|
|
typedef VkFlags VkCommandPoolCreateFlags; |
|
|
|
|
|
|
|
typedef enum VkCommandPoolResetFlagBits { |
|
|
|
VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, |
|
|
|
VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkCommandPoolResetFlagBits; |
|
|
|
typedef VkFlags VkCommandPoolResetFlags; |
|
|
|
|
|
|
|
@@ -1076,16 +1119,19 @@ typedef enum VkCommandBufferUsageFlagBits { |
|
|
|
VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, |
|
|
|
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, |
|
|
|
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, |
|
|
|
VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkCommandBufferUsageFlagBits; |
|
|
|
typedef VkFlags VkCommandBufferUsageFlags; |
|
|
|
|
|
|
|
typedef enum VkQueryControlFlagBits { |
|
|
|
VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, |
|
|
|
VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkQueryControlFlagBits; |
|
|
|
typedef VkFlags VkQueryControlFlags; |
|
|
|
|
|
|
|
typedef enum VkCommandBufferResetFlagBits { |
|
|
|
VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, |
|
|
|
VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkCommandBufferResetFlagBits; |
|
|
|
typedef VkFlags VkCommandBufferResetFlags; |
|
|
|
|
|
|
|
@@ -1093,6 +1139,7 @@ typedef enum VkStencilFaceFlagBits { |
|
|
|
VK_STENCIL_FACE_FRONT_BIT = 0x00000001, |
|
|
|
VK_STENCIL_FACE_BACK_BIT = 0x00000002, |
|
|
|
VK_STENCIL_FRONT_AND_BACK = 0x00000003, |
|
|
|
VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF |
|
|
|
} VkStencilFaceFlagBits; |
|
|
|
typedef VkFlags VkStencilFaceFlags; |
|
|
|
|
|
|
|
@@ -2320,7 +2367,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkIm |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); |
|
|
|
@@ -3005,7 +3052,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( |
|
|
|
VkBuffer dstBuffer, |
|
|
|
VkDeviceSize dstOffset, |
|
|
|
VkDeviceSize dataSize, |
|
|
|
const uint32_t* pData); |
|
|
|
const void* pData); |
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( |
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
@@ -3145,14 +3192,15 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) |
|
|
|
|
|
|
|
#define VK_KHR_SURFACE_SPEC_VERSION 25 |
|
|
|
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" |
|
|
|
#define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR |
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkColorSpaceKHR { |
|
|
|
VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0, |
|
|
|
VK_COLORSPACE_BEGIN_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, |
|
|
|
VK_COLORSPACE_END_RANGE = VK_COLORSPACE_SRGB_NONLINEAR_KHR, |
|
|
|
VK_COLORSPACE_RANGE_SIZE = (VK_COLORSPACE_SRGB_NONLINEAR_KHR - VK_COLORSPACE_SRGB_NONLINEAR_KHR + 1), |
|
|
|
VK_COLORSPACE_MAX_ENUM = 0x7FFFFFFF |
|
|
|
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, |
|
|
|
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
|
|
|
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, |
|
|
|
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1), |
|
|
|
VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
} VkColorSpaceKHR; |
|
|
|
|
|
|
|
typedef enum VkPresentModeKHR { |
|
|
|
@@ -3160,10 +3208,10 @@ typedef enum VkPresentModeKHR { |
|
|
|
VK_PRESENT_MODE_MAILBOX_KHR = 1, |
|
|
|
VK_PRESENT_MODE_FIFO_KHR = 2, |
|
|
|
VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, |
|
|
|
VK_PRESENT_MODE_BEGIN_RANGE = VK_PRESENT_MODE_IMMEDIATE_KHR, |
|
|
|
VK_PRESENT_MODE_END_RANGE = VK_PRESENT_MODE_FIFO_RELAXED_KHR, |
|
|
|
VK_PRESENT_MODE_RANGE_SIZE = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), |
|
|
|
VK_PRESENT_MODE_MAX_ENUM = 0x7FFFFFFF |
|
|
|
VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR, |
|
|
|
VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR, |
|
|
|
VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1), |
|
|
|
VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
} VkPresentModeKHR; |
|
|
|
|
|
|
|
|
|
|
|
@@ -3177,6 +3225,7 @@ typedef enum VkSurfaceTransformFlagBitsKHR { |
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, |
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, |
|
|
|
VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, |
|
|
|
VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
} VkSurfaceTransformFlagBitsKHR; |
|
|
|
typedef VkFlags VkSurfaceTransformFlagsKHR; |
|
|
|
|
|
|
|
@@ -3185,6 +3234,7 @@ typedef enum VkCompositeAlphaFlagBitsKHR { |
|
|
|
VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, |
|
|
|
VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, |
|
|
|
VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, |
|
|
|
VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
} VkCompositeAlphaFlagBitsKHR; |
|
|
|
typedef VkFlags VkCompositeAlphaFlagsKHR; |
|
|
|
|
|
|
|
@@ -3246,7 +3296,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( |
|
|
|
#define VK_KHR_swapchain 1 |
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) |
|
|
|
|
|
|
|
#define VK_KHR_SWAPCHAIN_SPEC_VERSION 67 |
|
|
|
#define VK_KHR_SWAPCHAIN_SPEC_VERSION 68 |
|
|
|
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" |
|
|
|
|
|
|
|
typedef VkFlags VkSwapchainCreateFlagsKHR; |
|
|
|
@@ -3334,6 +3384,7 @@ typedef enum VkDisplayPlaneAlphaFlagBitsKHR { |
|
|
|
VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, |
|
|
|
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, |
|
|
|
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, |
|
|
|
VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF |
|
|
|
} VkDisplayPlaneAlphaFlagBitsKHR; |
|
|
|
typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; |
|
|
|
typedef VkFlags VkDisplayModeCreateFlagsKHR; |
|
|
|
@@ -3401,7 +3452,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhys |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR*pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
|
|
|
|
|
|
|
@@ -3684,7 +3735,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( |
|
|
|
#define VK_EXT_debug_report 1 |
|
|
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) |
|
|
|
|
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 2 |
|
|
|
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3 |
|
|
|
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" |
|
|
|
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT |
|
|
|
|
|
|
|
@@ -3719,11 +3770,19 @@ typedef enum VkDebugReportObjectTypeEXT { |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1), |
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
} VkDebugReportObjectTypeEXT; |
|
|
|
|
|
|
|
typedef enum VkDebugReportErrorEXT { |
|
|
|
VK_DEBUG_REPORT_ERROR_NONE_EXT = 0, |
|
|
|
VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1, |
|
|
|
VK_DEBUG_REPORT_ERROR_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_ERROR_NONE_EXT, |
|
|
|
VK_DEBUG_REPORT_ERROR_END_RANGE_EXT = VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT, |
|
|
|
VK_DEBUG_REPORT_ERROR_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT - VK_DEBUG_REPORT_ERROR_NONE_EXT + 1), |
|
|
|
VK_DEBUG_REPORT_ERROR_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
} VkDebugReportErrorEXT; |
|
|
|
|
|
|
|
|
|
|
|
@@ -3733,6 +3792,7 @@ typedef enum VkDebugReportFlagBitsEXT { |
|
|
|
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, |
|
|
|
VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, |
|
|
|
VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, |
|
|
|
VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
} VkDebugReportFlagBitsEXT; |
|
|
|
typedef VkFlags VkDebugReportFlagsEXT; |
|
|
|
|
|
|
|
@@ -3793,6 +3853,307 @@ VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( |
|
|
|
#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_rasterization_order 1 |
|
|
|
#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" |
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkRasterizationOrderAMD { |
|
|
|
VK_RASTERIZATION_ORDER_STRICT_AMD = 0, |
|
|
|
VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, |
|
|
|
VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD, |
|
|
|
VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD, |
|
|
|
VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1), |
|
|
|
VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF |
|
|
|
} VkRasterizationOrderAMD; |
|
|
|
|
|
|
|
typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkRasterizationOrderAMD rasterizationOrder; |
|
|
|
} VkPipelineRasterizationStateRasterizationOrderAMD; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_trinary_minmax 1 |
|
|
|
#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_explicit_vertex_parameter 1 |
|
|
|
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_EXT_debug_marker 1 |
|
|
|
#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 3 |
|
|
|
#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" |
|
|
|
|
|
|
|
typedef struct VkDebugMarkerObjectNameInfoEXT { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkDebugReportObjectTypeEXT objectType; |
|
|
|
uint64_t object; |
|
|
|
const char* pObjectName; |
|
|
|
} VkDebugMarkerObjectNameInfoEXT; |
|
|
|
|
|
|
|
typedef struct VkDebugMarkerObjectTagInfoEXT { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkDebugReportObjectTypeEXT objectType; |
|
|
|
uint64_t object; |
|
|
|
uint64_t tagName; |
|
|
|
size_t tagSize; |
|
|
|
const void* pTag; |
|
|
|
} VkDebugMarkerObjectTagInfoEXT; |
|
|
|
|
|
|
|
typedef struct VkDebugMarkerMarkerInfoEXT { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
const char* pMarkerName; |
|
|
|
float color[4]; |
|
|
|
} VkDebugMarkerMarkerInfoEXT; |
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( |
|
|
|
VkDevice device, |
|
|
|
VkDebugMarkerObjectTagInfoEXT* pTagInfo); |
|
|
|
|
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( |
|
|
|
VkDevice device, |
|
|
|
VkDebugMarkerObjectNameInfoEXT* pNameInfo); |
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( |
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( |
|
|
|
VkCommandBuffer commandBuffer); |
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( |
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
VkDebugMarkerMarkerInfoEXT* pMarkerInfo); |
|
|
|
#endif |
|
|
|
|
|
|
|
#define VK_AMD_gcn_shader 1 |
|
|
|
#define VK_AMD_GCN_SHADER_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_NV_dedicated_allocation 1 |
|
|
|
#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 |
|
|
|
#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" |
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationImageCreateInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkBool32 dedicatedAllocation; |
|
|
|
} VkDedicatedAllocationImageCreateInfoNV; |
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationBufferCreateInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkBool32 dedicatedAllocation; |
|
|
|
} VkDedicatedAllocationBufferCreateInfoNV; |
|
|
|
|
|
|
|
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkImage image; |
|
|
|
VkBuffer buffer; |
|
|
|
} VkDedicatedAllocationMemoryAllocateInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_draw_indirect_count 1 |
|
|
|
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" |
|
|
|
|
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
|
|
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); |
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( |
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
VkBuffer buffer, |
|
|
|
VkDeviceSize offset, |
|
|
|
VkBuffer countBuffer, |
|
|
|
VkDeviceSize countBufferOffset, |
|
|
|
uint32_t maxDrawCount, |
|
|
|
uint32_t stride); |
|
|
|
|
|
|
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( |
|
|
|
VkCommandBuffer commandBuffer, |
|
|
|
VkBuffer buffer, |
|
|
|
VkDeviceSize offset, |
|
|
|
VkBuffer countBuffer, |
|
|
|
VkDeviceSize countBufferOffset, |
|
|
|
uint32_t maxDrawCount, |
|
|
|
uint32_t stride); |
|
|
|
#endif |
|
|
|
|
|
|
|
#define VK_AMD_negative_viewport_height 1 |
|
|
|
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_gpu_shader_half_float 1 |
|
|
|
#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_AMD_shader_ballot 1 |
|
|
|
#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 |
|
|
|
#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_IMG_format_pvrtc 1 |
|
|
|
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 |
|
|
|
#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" |
|
|
|
|
|
|
|
|
|
|
|
#define VK_NV_external_memory_capabilities 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" |
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkExternalMemoryHandleTypeFlagBitsNV { |
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, |
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, |
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, |
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, |
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
|
|
|
} VkExternalMemoryHandleTypeFlagBitsNV; |
|
|
|
typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; |
|
|
|
|
|
|
|
typedef enum VkExternalMemoryFeatureFlagBitsNV { |
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, |
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, |
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, |
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF |
|
|
|
} VkExternalMemoryFeatureFlagBitsNV; |
|
|
|
typedef VkFlags VkExternalMemoryFeatureFlagsNV; |
|
|
|
|
|
|
|
typedef struct VkExternalImageFormatPropertiesNV { |
|
|
|
VkImageFormatProperties imageFormatProperties; |
|
|
|
VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; |
|
|
|
VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; |
|
|
|
VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; |
|
|
|
} VkExternalImageFormatPropertiesNV; |
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( |
|
|
|
VkPhysicalDevice physicalDevice, |
|
|
|
VkFormat format, |
|
|
|
VkImageType type, |
|
|
|
VkImageTiling tiling, |
|
|
|
VkImageUsageFlags usage, |
|
|
|
VkImageCreateFlags flags, |
|
|
|
VkExternalMemoryHandleTypeFlagsNV externalHandleType, |
|
|
|
VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); |
|
|
|
#endif |
|
|
|
|
|
|
|
#define VK_NV_external_memory 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" |
|
|
|
|
|
|
|
typedef struct VkExternalMemoryImageCreateInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleTypes; |
|
|
|
} VkExternalMemoryImageCreateInfoNV; |
|
|
|
|
|
|
|
typedef struct VkExportMemoryAllocateInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleTypes; |
|
|
|
} VkExportMemoryAllocateInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_WIN32_KHR |
|
|
|
#define VK_NV_external_memory_win32 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
|
|
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" |
|
|
|
|
|
|
|
typedef struct VkImportMemoryWin32HandleInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleType; |
|
|
|
HANDLE handle; |
|
|
|
} VkImportMemoryWin32HandleInfoNV; |
|
|
|
|
|
|
|
typedef struct VkExportMemoryWin32HandleInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
|
|
DWORD dwAccess; |
|
|
|
} VkExportMemoryWin32HandleInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); |
|
|
|
|
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( |
|
|
|
VkDevice device, |
|
|
|
VkDeviceMemory memory, |
|
|
|
VkExternalMemoryHandleTypeFlagsNV handleType, |
|
|
|
HANDLE* pHandle); |
|
|
|
#endif |
|
|
|
#endif /* VK_USE_PLATFORM_WIN32_KHR */ |
|
|
|
|
|
|
|
#ifdef VK_USE_PLATFORM_WIN32_KHR |
|
|
|
#define VK_NV_win32_keyed_mutex 1 |
|
|
|
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
|
|
|
#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" |
|
|
|
|
|
|
|
typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
uint32_t acquireCount; |
|
|
|
const VkDeviceMemory* pAcquireSyncs; |
|
|
|
const uint64_t* pAcquireKeys; |
|
|
|
const uint32_t* pAcquireTimeoutMilliseconds; |
|
|
|
uint32_t releaseCount; |
|
|
|
const VkDeviceMemory* pReleaseSyncs; |
|
|
|
const uint64_t* pReleaseKeys; |
|
|
|
} VkWin32KeyedMutexAcquireReleaseInfoNV; |
|
|
|
|
|
|
|
|
|
|
|
#endif /* VK_USE_PLATFORM_WIN32_KHR */ |
|
|
|
|
|
|
|
#define VK_EXT_validation_flags 1 |
|
|
|
#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1 |
|
|
|
#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" |
|
|
|
|
|
|
|
|
|
|
|
typedef enum VkValidationCheckEXT { |
|
|
|
VK_VALIDATION_CHECK_ALL_EXT = 0, |
|
|
|
VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
|
|
|
VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT, |
|
|
|
VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_ALL_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1), |
|
|
|
VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF |
|
|
|
} VkValidationCheckEXT; |
|
|
|
|
|
|
|
typedef struct VkValidationFlagsEXT { |
|
|
|
VkStructureType sType; |
|
|
|
const void* pNext; |
|
|
|
uint32_t disabledValidationCheckCount; |
|
|
|
VkValidationCheckEXT* pDisabledValidationChecks; |
|
|
|
} VkValidationFlagsEXT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
} |
|
|
|
#endif |