[Mesa-dev] [PATCH] vulkan: import latest public vulkan headers + and fix drivers.
Jordan Justen
jordan.l.justen at intel.com
Fri Nov 11 03:26:03 UTC 2016
On 2016-11-10 17:45:10, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> I just noticed the new vulkan headers changed a prototype,
> so I've decided to import them and fix the drivers to use the
> new API.
>
The new header is Apache licensed. I know that the FSF says Apache is
not compatible with GPLv2 code.
https://www.gnu.org/licenses/license-list.en.html#apache2
I think GPLv2 code can include "system library headers" under
non-GPLv2 compatible libraries, so this should be okay for GPLv2
licensed code. For example, GPLv2 code can include stdio.h, even if on
some systems the stdio.h may have a non-GPLv2 compatible license.
Is that correct?
-Jordan
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> include/vulkan/vk_platform.h | 39 ++--
> include/vulkan/vulkan.h | 429 +++++++++++++++++++++++++++++++++++---
> src/amd/vulkan/radv_meta_buffer.c | 2 +-
> src/intel/vulkan/anv_blorp.c | 2 +-
> 4 files changed, 413 insertions(+), 59 deletions(-)
>
> diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h
> index f5a5243..0fa62ee 100644
> --- a/include/vulkan/vk_platform.h
> +++ b/include/vulkan/vk_platform.h
> @@ -4,24 +4,17 @@
> /*
> ** Copyright (c) 2014-2015 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.
> */
>
>
> @@ -58,13 +51,13 @@ extern "C"
> #define VKAPI_ATTR
> #define VKAPI_CALL __stdcall
> #define VKAPI_PTR VKAPI_CALL
> -#elif defined(__ANDROID__) && defined(__ARM_EABI__) && !defined(__ARM_ARCH_7A__)
> - // Android does not support Vulkan in native code using the "armeabi" ABI.
> - #error "Vulkan requires the 'armeabi-v7a' or 'armeabi-v7a-hard' ABI on 32-bit ARM CPUs"
> -#elif defined(__ANDROID__) && defined(__ARM_ARCH_7A__)
> - // On Android/ARMv7a, Vulkan functions use the armeabi-v7a-hard calling
> - // convention, even if the application's native code is compiled with the
> - // armeabi-v7a calling convention.
> +#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
> + #error "Vulkan isn't supported for the 'armeabi' NDK ABI"
> +#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
> + // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
> + // calling convention, i.e. float parameters are passed in registers. This
> + // is true even if the rest of the application passes floats on the stack,
> + // as it does by default when compiling for the armeabi-v7a NDK ABI.
> #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
> #define VKAPI_CALL
> #define VKAPI_PTR VKAPI_ATTR
> diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
> index 567671a..694527c 100644
> --- a/include/vulkan/vulkan.h
> +++ b/include/vulkan/vulkan.h
> @@ -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
> diff --git a/src/amd/vulkan/radv_meta_buffer.c b/src/amd/vulkan/radv_meta_buffer.c
> index 05c4971..42297b9 100644
> --- a/src/amd/vulkan/radv_meta_buffer.c
> +++ b/src/amd/vulkan/radv_meta_buffer.c
> @@ -511,7 +511,7 @@ void radv_CmdUpdateBuffer(
> VkBuffer dstBuffer,
> VkDeviceSize dstOffset,
> VkDeviceSize dataSize,
> - const uint32_t* pData)
> + const void* pData)
> {
> RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer);
> RADV_FROM_HANDLE(radv_buffer, dst_buffer, dstBuffer);
> diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
> index 0feb5d5..b78c21d 100644
> --- a/src/intel/vulkan/anv_blorp.c
> +++ b/src/intel/vulkan/anv_blorp.c
> @@ -645,7 +645,7 @@ void anv_CmdUpdateBuffer(
> VkBuffer dstBuffer,
> VkDeviceSize dstOffset,
> VkDeviceSize dataSize,
> - const uint32_t* pData)
> + const void* pData)
> {
> ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
> ANV_FROM_HANDLE(anv_buffer, dst_buffer, dstBuffer);
> --
> 2.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list