diff options
author | Jon Leech <[email protected]> | 2023-02-16 05:30:42 -0800 |
---|---|---|
committer | Jon Leech <[email protected]> | 2023-02-16 06:09:12 -0800 |
commit | bd6443d28f2ebecedfb839b52d612011ba623d14 (patch) | |
tree | 5475e194059da9a2fbb0e0393d905bd2f0cb854c | |
parent | e8b8e06d092ab406b097907ecaae1a8aae9c7d53 (diff) | |
download | Vulkan-Headers-bd6443d28f2ebecedfb839b52d612011ba623d14.tar.gz Vulkan-Headers-bd6443d28f2ebecedfb839b52d612011ba623d14.zip |
Update for Vulkan-Docs 1.3.241v1.3.241
47 files changed, 3645 insertions, 975 deletions
diff --git a/include/vk_video/vulkan_video_codec_h264std.h b/include/vk_video/vulkan_video_codec_h264std.h index d3ebec6..21c7b66 100644 --- a/include/vk_video/vulkan_video_codec_h264std.h +++ b/include/vk_video/vulkan_video_codec_h264std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h264std_decode.h b/include/vk_video/vulkan_video_codec_h264std_decode.h index b1e7942..f7eb8ed 100644 --- a/include/vk_video/vulkan_video_codec_h264std_decode.h +++ b/include/vk_video/vulkan_video_codec_h264std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h264std_encode.h b/include/vk_video/vulkan_video_codec_h264std_encode.h index 7bd96aa..a5fa50c 100644 --- a/include/vk_video/vulkan_video_codec_h264std_encode.h +++ b/include/vk_video/vulkan_video_codec_h264std_encode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std.h b/include/vk_video/vulkan_video_codec_h265std.h index 862f881..4233bdc 100644 --- a/include/vk_video/vulkan_video_codec_h265std.h +++ b/include/vk_video/vulkan_video_codec_h265std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std_decode.h b/include/vk_video/vulkan_video_codec_h265std_decode.h index d8660d1..7eee9b3 100644 --- a/include/vk_video/vulkan_video_codec_h265std_decode.h +++ b/include/vk_video/vulkan_video_codec_h265std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std_encode.h b/include/vk_video/vulkan_video_codec_h265std_encode.h index 5a419b1..b7fb7e8 100644 --- a/include/vk_video/vulkan_video_codec_h265std_encode.h +++ b/include/vk_video/vulkan_video_codec_h265std_encode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codecs_common.h b/include/vk_video/vulkan_video_codecs_common.h index 1e49826..f486d3c 100644 --- a/include/vk_video/vulkan_video_codecs_common.h +++ b/include/vk_video/vulkan_video_codecs_common.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODECS_COMMON_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h index 3ff8c5d..ed67a60 100644 --- a/include/vulkan/vk_platform.h +++ b/include/vulkan/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2022 The Khronos Group Inc. +** Copyright 2014-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 3510ac9..426cff5 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -2,7 +2,7 @@ #define VULKAN_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -84,6 +84,14 @@ #include "vulkan_screen.h" #endif + +#ifdef VK_USE_PLATFORM_SCI +#include <nvscisync.h> +#include <nvscibuf.h> +#include "vulkan_sci.h" +#endif + + #ifdef VK_ENABLE_BETA_EXTENSIONS #include "vulkan_beta.h" #endif diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 85a6fe4..d94edc5 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -114,7 +114,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include <span> #endif -static_assert( VK_HEADER_VERSION == 240, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 241, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -3658,6 +3658,16 @@ namespace VULKAN_HPP_NAMESPACE return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles ); } + void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable ); + } + + void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode ); + } + //=== VK_EXT_hdr_metadata === void vkSetHdrMetadataEXT( VkDevice device, @@ -4401,6 +4411,14 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_scissor_exclusive === + void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer commandBuffer, + uint32_t firstExclusiveScissor, + uint32_t exclusiveScissorCount, + const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables ); + } + void vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, @@ -11809,6 +11827,42 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_ARM_shader_core_properties === + template <> + struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2> + { + enum + { + value = true + }; + }; + + //=== VK_EXT_image_sliced_view_of_3d === + template <> + struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo> + { + enum + { + value = true + }; + }; + //=== VK_VALVE_descriptor_set_host_mapping === template <> struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2> @@ -12409,6 +12463,40 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_QCOM_multiview_per_view_render_areas === + template <> + struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo> + { + enum + { + value = true + }; + }; + #endif // VULKAN_HPP_DISABLE_ENHANCED_MODE #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL @@ -12992,7 +13080,9 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0; //=== VK_EXT_discard_rectangles === - PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; + PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; + PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0; + PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT = 0; //=== VK_EXT_hdr_metadata === PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0; @@ -13160,7 +13250,8 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0; //=== VK_NV_scissor_exclusive === - PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; + PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0; + PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; //=== VK_NV_device_diagnostic_checkpoints === PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0; @@ -14120,7 +14211,9 @@ namespace VULKAN_HPP_NAMESPACE vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) ); //=== VK_EXT_discard_rectangles === - vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) ); + vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) ); //=== VK_EXT_hdr_metadata === vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) ); @@ -14336,7 +14429,8 @@ namespace VULKAN_HPP_NAMESPACE vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) ); //=== VK_NV_scissor_exclusive === - vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) ); + vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) ); + vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) ); //=== VK_NV_device_diagnostic_checkpoints === vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) ); @@ -15170,7 +15264,9 @@ namespace VULKAN_HPP_NAMESPACE vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) ); //=== VK_EXT_discard_rectangles === - vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) ); + vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) ); //=== VK_EXT_hdr_metadata === vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) ); @@ -15344,7 +15440,8 @@ namespace VULKAN_HPP_NAMESPACE vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) ); //=== VK_NV_scissor_exclusive === - vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); + vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) ); + vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); //=== VK_NV_device_diagnostic_checkpoints === vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) ); diff --git a/include/vulkan/vulkan_android.h b/include/vulkan/vulkan_android.h index 11f5397..2e1dfa9 100644 --- a/include/vulkan/vulkan_android.h +++ b/include/vulkan/vulkan_android.h @@ -2,7 +2,7 @@ #define VULKAN_ANDROID_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index cfeda0e..a872040 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -2,7 +2,7 @@ #define VULKAN_BETA_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index e8fe548..86e1546 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -2,7 +2,7 @@ #define VULKAN_CORE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -22,7 +22,7 @@ extern "C" { #define VK_VERSION_1_0 1 #include "vk_platform.h" -#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); #ifndef VK_USE_64_BIT_PTR_DEFINES @@ -52,43 +52,43 @@ extern "C" { #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); #else - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); #endif #endif -// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. -#define VK_MAKE_VERSION(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) +#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) // 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. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 - -#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) +//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 240 +#define VK_HEADER_VERSION 241 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) +// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. +#define VK_MAKE_VERSION(major, minor, patch) \ + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) -#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) -#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) -#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) +#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) typedef uint32_t VkBool32; typedef uint64_t VkDeviceAddress; @@ -951,6 +951,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, @@ -1002,6 +1005,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, @@ -1806,10 +1811,13 @@ typedef enum VkDynamicState { VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, @@ -11165,7 +11173,7 @@ typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { #define VK_EXT_discard_rectangles 1 -#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 +#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" typedef enum VkDiscardRectangleModeEXT { @@ -11190,6 +11198,8 @@ typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { } VkPipelineDiscardRectangleStateCreateInfoEXT; typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); #ifndef VK_NO_PROTOTYPES VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( @@ -11197,6 +11207,14 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); + +VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 discardRectangleEnable); + +VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( + VkCommandBuffer commandBuffer, + VkDiscardRectangleModeEXT discardRectangleMode); #endif @@ -12617,7 +12635,7 @@ typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { #define VK_NV_scissor_exclusive 1 -#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 +#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { VkStructureType sType; @@ -12632,9 +12650,16 @@ typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { VkBool32 exclusiveScissor; } VkPhysicalDeviceExclusiveScissorFeaturesNV; +typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); #ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( + VkCommandBuffer commandBuffer, + uint32_t firstExclusiveScissor, + uint32_t exclusiveScissorCount, + const VkBool32* pExclusiveScissorEnables); + VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, @@ -15496,6 +15521,38 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( #endif +#define VK_ARM_shader_core_properties 1 +#define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 +#define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" +typedef struct VkPhysicalDeviceShaderCorePropertiesARM { + VkStructureType sType; + void* pNext; + uint32_t pixelRate; + uint32_t texelRate; + uint32_t fmaRate; +} VkPhysicalDeviceShaderCorePropertiesARM; + + + +#define VK_EXT_image_sliced_view_of_3d 1 +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" +#define VK_REMAINING_3D_SLICES_EXT (~0U) +typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 imageSlicedViewOf3D; +} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + +typedef struct VkImageViewSlicedCreateInfoEXT { + VkStructureType sType; + const void* pNext; + uint32_t sliceOffset; + uint32_t sliceCount; +} VkImageViewSlicedCreateInfoEXT; + + + #define VK_VALVE_descriptor_set_host_mapping 1 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" @@ -16414,6 +16471,24 @@ typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { +#define VK_QCOM_multiview_per_view_render_areas 1 +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" +typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { + VkStructureType sType; + void* pNext; + VkBool32 multiviewPerViewRenderAreas; +} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + +typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { + VkStructureType sType; + const void* pNext; + uint32_t perViewRenderAreaCount; + const VkRect2D* pPerViewRenderAreas; +} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + + + #define VK_KHR_acceleration_structure 1 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" diff --git a/include/vulkan/vulkan_directfb.h b/include/vulkan/vulkan_directfb.h index ab3504e..81d22fa 100644 --- a/include/vulkan/vulkan_directfb.h +++ b/include/vulkan/vulkan_directfb.h @@ -2,7 +2,7 @@ #define VULKAN_DIRECTFB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 7ad77a3..671e8b9 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -831,6 +831,9 @@ namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT, ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, + ePhysicalDeviceShaderCorePropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM, + ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT, + eImageViewSlicedCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT, ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, eDescriptorSetBindingReferenceVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE, eDescriptorSetLayoutHostMappingInfoVALVE = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE, @@ -882,6 +885,8 @@ namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM, ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM, ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT, + ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM, + eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM, eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR, eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR, eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR, @@ -2366,10 +2371,13 @@ namespace VULKAN_HPP_NAMESPACE ePrimitiveRestartEnable = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, eViewportWScalingNV = VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV, eDiscardRectangleEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT, + eDiscardRectangleEnableEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT, + eDiscardRectangleModeEXT = VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT, eSampleLocationsEXT = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT, eRayTracingPipelineStackSizeKHR = VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR, eViewportShadingRatePaletteNV = VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV, eViewportCoarseSampleOrderNV = VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV, + eExclusiveScissorEnableNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV, eExclusiveScissorNV = VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV, eFragmentShadingRateKHR = VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR, eLineStippleEXT = VK_DYNAMIC_STATE_LINE_STIPPLE_EXT, diff --git a/include/vulkan/vulkan_format_traits.hpp b/include/vulkan/vulkan_format_traits.hpp index 700dee4..2d411bc 100644 --- a/include/vulkan/vulkan_format_traits.hpp +++ b/include/vulkan/vulkan_format_traits.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // diff --git a/include/vulkan/vulkan_fuchsia.h b/include/vulkan/vulkan_fuchsia.h index 61774ff..c11d9e6 100644 --- a/include/vulkan/vulkan_fuchsia.h +++ b/include/vulkan/vulkan_fuchsia.h @@ -2,7 +2,7 @@ #define VULKAN_FUCHSIA_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index 0478b08..588060d 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -12138,6 +12138,22 @@ namespace VULKAN_HPP_NAMESPACE } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + template <typename Dispatch> + VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdSetDiscardRectangleEnableEXT( m_commandBuffer, static_cast<VkBool32>( discardRectangleEnable ) ); + } + + template <typename Dispatch> + VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdSetDiscardRectangleModeEXT( m_commandBuffer, static_cast<VkDiscardRectangleModeEXT>( discardRectangleMode ) ); + } + //=== VK_EXT_hdr_metadata === template <typename Dispatch> @@ -15728,6 +15744,31 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_scissor_exclusive === template <typename Dispatch> + VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, + uint32_t exclusiveScissorCount, + const VULKAN_HPP_NAMESPACE::Bool32 * pExclusiveScissorEnables, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdSetExclusiveScissorEnableNV( + m_commandBuffer, firstExclusiveScissor, exclusiveScissorCount, reinterpret_cast<const VkBool32 *>( pExclusiveScissorEnables ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template <typename Dispatch> + VULKAN_HPP_INLINE void + CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, + VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + + d.vkCmdSetExclusiveScissorEnableNV( + m_commandBuffer, firstExclusiveScissor, exclusiveScissorEnables.size(), reinterpret_cast<const VkBool32 *>( exclusiveScissorEnables.data() ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + template <typename Dispatch> VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors, diff --git a/include/vulkan/vulkan_ggp.h b/include/vulkan/vulkan_ggp.h index 19dfd22..2c0d5ed 100644 --- a/include/vulkan/vulkan_ggp.h +++ b/include/vulkan/vulkan_ggp.h @@ -2,7 +2,7 @@ #define VULKAN_GGP_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index 0f9cc6f..bf19245 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -1453,6 +1453,13 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_pageable_device_local_memory === struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; + //=== VK_ARM_shader_core_properties === + struct PhysicalDeviceShaderCorePropertiesARM; + + //=== VK_EXT_image_sliced_view_of_3d === + struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + struct ImageViewSlicedCreateInfoEXT; + //=== VK_VALVE_descriptor_set_host_mapping === struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; struct DescriptorSetBindingReferenceVALVE; @@ -1564,6 +1571,438 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_pipeline_library_group_handles === struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + //=== VK_QCOM_multiview_per_view_render_areas === + struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + + //=================================== + //=== HANDLE forward declarations === + //=================================== + + //=== VK_VERSION_1_0 === + class Instance; + class PhysicalDevice; + class Device; + class Queue; + class DeviceMemory; + class Fence; + class Semaphore; + class Event; + class QueryPool; + class Buffer; + class BufferView; + class Image; + class ImageView; + class ShaderModule; + class PipelineCache; + class Pipeline; + class PipelineLayout; + class Sampler; + class DescriptorPool; + class DescriptorSet; + class DescriptorSetLayout; + class Framebuffer; + class RenderPass; + class CommandPool; + class CommandBuffer; + + //=== VK_VERSION_1_1 === + class SamplerYcbcrConversion; + class DescriptorUpdateTemplate; + + //=== VK_VERSION_1_3 === + class PrivateDataSlot; + + //=== VK_KHR_surface === + class SurfaceKHR; + + //=== VK_KHR_swapchain === + class SwapchainKHR; + + //=== VK_KHR_display === + class DisplayKHR; + class DisplayModeKHR; + + //=== VK_EXT_debug_report === + class DebugReportCallbackEXT; + + //=== VK_KHR_video_queue === + class VideoSessionKHR; + class VideoSessionParametersKHR; + + //=== VK_NVX_binary_import === + class CuModuleNVX; + class CuFunctionNVX; + + //=== VK_EXT_debug_utils === + class DebugUtilsMessengerEXT; + + //=== VK_KHR_acceleration_structure === + class AccelerationStructureKHR; + + //=== VK_EXT_validation_cache === + class ValidationCacheEXT; + + //=== VK_NV_ray_tracing === + class AccelerationStructureNV; + + //=== VK_INTEL_performance_query === + class PerformanceConfigurationINTEL; + + //=== VK_KHR_deferred_host_operations === + class DeferredOperationKHR; + + //=== VK_NV_device_generated_commands === + class IndirectCommandsLayoutNV; + +#if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_buffer_collection === + class BufferCollectionFUCHSIA; +#endif /*VK_USE_PLATFORM_FUCHSIA*/ + + //=== VK_EXT_opacity_micromap === + class MicromapEXT; + + //=== VK_NV_optical_flow === + class OpticalFlowSessionNV; + +#ifndef VULKAN_HPP_NO_SMART_HANDLE + //====================== + //=== UNIQUE HANDLEs === + //====================== + + //=== VK_VERSION_1_0 === + template <typename Dispatch> + class UniqueHandleTraits<Instance, Dispatch> + { + public: + using deleter = ObjectDestroy<NoParent, Dispatch>; + }; + using UniqueInstance = UniqueHandle<Instance, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Device, Dispatch> + { + public: + using deleter = ObjectDestroy<NoParent, Dispatch>; + }; + using UniqueDevice = UniqueHandle<Device, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<DeviceMemory, Dispatch> + { + public: + using deleter = ObjectFree<Device, Dispatch>; + }; + using UniqueDeviceMemory = UniqueHandle<DeviceMemory, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Fence, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueFence = UniqueHandle<Fence, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Semaphore, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueSemaphore = UniqueHandle<Semaphore, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Event, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueEvent = UniqueHandle<Event, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<QueryPool, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueQueryPool = UniqueHandle<QueryPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Buffer, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueBuffer = UniqueHandle<Buffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<BufferView, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueBufferView = UniqueHandle<BufferView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Image, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueImage = UniqueHandle<Image, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<ImageView, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueImageView = UniqueHandle<ImageView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<ShaderModule, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueShaderModule = UniqueHandle<ShaderModule, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<PipelineCache, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniquePipelineCache = UniqueHandle<PipelineCache, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Pipeline, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniquePipeline = UniqueHandle<Pipeline, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<PipelineLayout, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniquePipelineLayout = UniqueHandle<PipelineLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Sampler, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueSampler = UniqueHandle<Sampler, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<DescriptorPool, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueDescriptorPool = UniqueHandle<DescriptorPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<DescriptorSet, Dispatch> + { + public: + using deleter = PoolFree<Device, DescriptorPool, Dispatch>; + }; + using UniqueDescriptorSet = UniqueHandle<DescriptorSet, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<DescriptorSetLayout, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<Framebuffer, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueFramebuffer = UniqueHandle<Framebuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<RenderPass, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueRenderPass = UniqueHandle<RenderPass, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<CommandPool, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueCommandPool = UniqueHandle<CommandPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<CommandBuffer, Dispatch> + { + public: + using deleter = PoolFree<Device, CommandPool, Dispatch>; + }; + using UniqueCommandBuffer = UniqueHandle<CommandBuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_VERSION_1_1 === + template <typename Dispatch> + class UniqueHandleTraits<SamplerYcbcrConversion, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueSamplerYcbcrConversion = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + using UniqueSamplerYcbcrConversionKHR = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<DescriptorUpdateTemplate, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueDescriptorUpdateTemplate = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + using UniqueDescriptorUpdateTemplateKHR = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + //=== VK_VERSION_1_3 === + template <typename Dispatch> + class UniqueHandleTraits<PrivateDataSlot, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniquePrivateDataSlot = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + using UniquePrivateDataSlotEXT = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + //=== VK_KHR_surface === + template <typename Dispatch> + class UniqueHandleTraits<SurfaceKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Instance, Dispatch>; + }; + using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_KHR_swapchain === + template <typename Dispatch> + class UniqueHandleTraits<SwapchainKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_EXT_debug_report === + template <typename Dispatch> + class UniqueHandleTraits<DebugReportCallbackEXT, Dispatch> + { + public: + using deleter = ObjectDestroy<Instance, Dispatch>; + }; + using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_KHR_video_queue === + template <typename Dispatch> + class UniqueHandleTraits<VideoSessionKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueVideoSessionKHR = UniqueHandle<VideoSessionKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<VideoSessionParametersKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueVideoSessionParametersKHR = UniqueHandle<VideoSessionParametersKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_NVX_binary_import === + template <typename Dispatch> + class UniqueHandleTraits<CuModuleNVX, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueCuModuleNVX = UniqueHandle<CuModuleNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + template <typename Dispatch> + class UniqueHandleTraits<CuFunctionNVX, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueCuFunctionNVX = UniqueHandle<CuFunctionNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_EXT_debug_utils === + template <typename Dispatch> + class UniqueHandleTraits<DebugUtilsMessengerEXT, Dispatch> + { + public: + using deleter = ObjectDestroy<Instance, Dispatch>; + }; + using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_KHR_acceleration_structure === + template <typename Dispatch> + class UniqueHandleTraits<AccelerationStructureKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueAccelerationStructureKHR = UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_EXT_validation_cache === + template <typename Dispatch> + class UniqueHandleTraits<ValidationCacheEXT, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_NV_ray_tracing === + template <typename Dispatch> + class UniqueHandleTraits<AccelerationStructureNV, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueAccelerationStructureNV = UniqueHandle<AccelerationStructureNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_KHR_deferred_host_operations === + template <typename Dispatch> + class UniqueHandleTraits<DeferredOperationKHR, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueDeferredOperationKHR = UniqueHandle<DeferredOperationKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_NV_device_generated_commands === + template <typename Dispatch> + class UniqueHandleTraits<IndirectCommandsLayoutNV, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueIndirectCommandsLayoutNV = UniqueHandle<IndirectCommandsLayoutNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + +# if defined( VK_USE_PLATFORM_FUCHSIA ) + //=== VK_FUCHSIA_buffer_collection === + template <typename Dispatch> + class UniqueHandleTraits<BufferCollectionFUCHSIA, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueBufferCollectionFUCHSIA = UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; +# endif /*VK_USE_PLATFORM_FUCHSIA*/ + + //=== VK_EXT_opacity_micromap === + template <typename Dispatch> + class UniqueHandleTraits<MicromapEXT, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueMicromapEXT = UniqueHandle<MicromapEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; + + //=== VK_NV_optical_flow === + template <typename Dispatch> + class UniqueHandleTraits<OpticalFlowSessionNV, Dispatch> + { + public: + using deleter = ObjectDestroy<Device, Dispatch>; + }; + using UniqueOpticalFlowSessionNV = UniqueHandle<OpticalFlowSessionNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; +#endif /*VULKAN_HPP_NO_SMART_HANDLE*/ + //=============== //=== HANDLEs === //=============== @@ -4402,6 +4841,14 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_create_renderpass2 === template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> @@ -4694,6 +5141,18 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_scissor_exclusive === template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, + uint32_t exclusiveScissorCount, + const VULKAN_HPP_NAMESPACE::Bool32 * pExclusiveScissorEnables, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, + VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> void setExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors, @@ -7471,274 +7930,6 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; }; -#ifndef VULKAN_HPP_NO_SMART_HANDLE - class Device; - template <typename Dispatch> - class UniqueHandleTraits<AccelerationStructureKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueAccelerationStructureKHR = UniqueHandle<AccelerationStructureKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<AccelerationStructureNV, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueAccelerationStructureNV = UniqueHandle<AccelerationStructureNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Buffer, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueBuffer = UniqueHandle<Buffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -# if defined( VK_USE_PLATFORM_FUCHSIA ) - template <typename Dispatch> - class UniqueHandleTraits<BufferCollectionFUCHSIA, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueBufferCollectionFUCHSIA = UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -# endif /*VK_USE_PLATFORM_FUCHSIA*/ - template <typename Dispatch> - class UniqueHandleTraits<BufferView, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueBufferView = UniqueHandle<BufferView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<CommandBuffer, Dispatch> - { - public: - using deleter = PoolFree<Device, CommandPool, Dispatch>; - }; - using UniqueCommandBuffer = UniqueHandle<CommandBuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<CommandPool, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueCommandPool = UniqueHandle<CommandPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<CuFunctionNVX, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueCuFunctionNVX = UniqueHandle<CuFunctionNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<CuModuleNVX, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueCuModuleNVX = UniqueHandle<CuModuleNVX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DeferredOperationKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueDeferredOperationKHR = UniqueHandle<DeferredOperationKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DescriptorPool, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueDescriptorPool = UniqueHandle<DescriptorPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DescriptorSet, Dispatch> - { - public: - using deleter = PoolFree<Device, DescriptorPool, Dispatch>; - }; - using UniqueDescriptorSet = UniqueHandle<DescriptorSet, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DescriptorSetLayout, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueDescriptorSetLayout = UniqueHandle<DescriptorSetLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DescriptorUpdateTemplate, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueDescriptorUpdateTemplate = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - using UniqueDescriptorUpdateTemplateKHR = UniqueHandle<DescriptorUpdateTemplate, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DeviceMemory, Dispatch> - { - public: - using deleter = ObjectFree<Device, Dispatch>; - }; - using UniqueDeviceMemory = UniqueHandle<DeviceMemory, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Event, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueEvent = UniqueHandle<Event, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Fence, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueFence = UniqueHandle<Fence, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Framebuffer, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueFramebuffer = UniqueHandle<Framebuffer, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Image, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueImage = UniqueHandle<Image, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<ImageView, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueImageView = UniqueHandle<ImageView, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<IndirectCommandsLayoutNV, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueIndirectCommandsLayoutNV = UniqueHandle<IndirectCommandsLayoutNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<MicromapEXT, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueMicromapEXT = UniqueHandle<MicromapEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<OpticalFlowSessionNV, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueOpticalFlowSessionNV = UniqueHandle<OpticalFlowSessionNV, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Pipeline, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniquePipeline = UniqueHandle<Pipeline, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<PipelineCache, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniquePipelineCache = UniqueHandle<PipelineCache, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<PipelineLayout, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniquePipelineLayout = UniqueHandle<PipelineLayout, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<PrivateDataSlot, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniquePrivateDataSlot = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - using UniquePrivateDataSlotEXT = UniqueHandle<PrivateDataSlot, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<QueryPool, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueQueryPool = UniqueHandle<QueryPool, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<RenderPass, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueRenderPass = UniqueHandle<RenderPass, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Sampler, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueSampler = UniqueHandle<Sampler, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<SamplerYcbcrConversion, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueSamplerYcbcrConversion = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - using UniqueSamplerYcbcrConversionKHR = UniqueHandle<SamplerYcbcrConversion, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<Semaphore, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueSemaphore = UniqueHandle<Semaphore, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<ShaderModule, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueShaderModule = UniqueHandle<ShaderModule, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<SwapchainKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueSwapchainKHR = UniqueHandle<SwapchainKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<ValidationCacheEXT, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueValidationCacheEXT = UniqueHandle<ValidationCacheEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<VideoSessionKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueVideoSessionKHR = UniqueHandle<VideoSessionKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<VideoSessionParametersKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Device, Dispatch>; - }; - using UniqueVideoSessionParametersKHR = UniqueHandle<VideoSessionParametersKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -#endif /*VULKAN_HPP_NO_SMART_HANDLE*/ - class Device { public: @@ -12408,16 +12599,6 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; }; -#ifndef VULKAN_HPP_NO_SMART_HANDLE - template <typename Dispatch> - class UniqueHandleTraits<Device, Dispatch> - { - public: - using deleter = ObjectDestroy<NoParent, Dispatch>; - }; - using UniqueDevice = UniqueHandle<Device, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -#endif /*VULKAN_HPP_NO_SMART_HANDLE*/ - class PhysicalDevice { public: @@ -13772,31 +13953,6 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; }; -#ifndef VULKAN_HPP_NO_SMART_HANDLE - class Instance; - template <typename Dispatch> - class UniqueHandleTraits<DebugReportCallbackEXT, Dispatch> - { - public: - using deleter = ObjectDestroy<Instance, Dispatch>; - }; - using UniqueDebugReportCallbackEXT = UniqueHandle<DebugReportCallbackEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<DebugUtilsMessengerEXT, Dispatch> - { - public: - using deleter = ObjectDestroy<Instance, Dispatch>; - }; - using UniqueDebugUtilsMessengerEXT = UniqueHandle<DebugUtilsMessengerEXT, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; - template <typename Dispatch> - class UniqueHandleTraits<SurfaceKHR, Dispatch> - { - public: - using deleter = ObjectDestroy<Instance, Dispatch>; - }; - using UniqueSurfaceKHR = UniqueHandle<SurfaceKHR, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -#endif /*VULKAN_HPP_NO_SMART_HANDLE*/ - class Instance { public: @@ -14462,16 +14618,6 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === -#ifndef VULKAN_HPP_NO_SMART_HANDLE - template <typename Dispatch> - class UniqueHandleTraits<Instance, Dispatch> - { - public: - using deleter = ObjectDestroy<NoParent, Dispatch>; - }; - using UniqueInstance = UniqueHandle<Instance, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>; -#endif /*VULKAN_HPP_NO_SMART_HANDLE*/ - template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> VULKAN_HPP_NODISCARD Result createInstance( const VULKAN_HPP_NAMESPACE::InstanceCreateInfo * pCreateInfo, const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator, diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index 3c91783..7aac4d3 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -5523,6 +5523,20 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT> + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT const & imageViewSlicedCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageViewSlicedCreateInfoEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageViewSlicedCreateInfoEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageViewSlicedCreateInfoEXT.sliceOffset ); + VULKAN_HPP_HASH_COMBINE( seed, imageViewSlicedCreateInfoEXT.sliceCount ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo> { std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const & imageViewUsageCreateInfo ) const VULKAN_HPP_NOEXCEPT @@ -6366,6 +6380,22 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM> + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & multiviewPerViewRenderAreasRenderPassBeginInfoQCOM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewRenderAreasRenderPassBeginInfoQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewRenderAreasRenderPassBeginInfoQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewRenderAreasRenderPassBeginInfoQCOM.perViewRenderAreaCount ); + VULKAN_HPP_HASH_COMBINE( seed, multiviewPerViewRenderAreasRenderPassBeginInfoQCOM.pPerViewRenderAreas ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT> { std::size_t operator()( VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT const & mutableDescriptorTypeListEXT ) const VULKAN_HPP_NOEXCEPT @@ -8123,6 +8153,20 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT> + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & physicalDeviceImageSlicedViewOf3DFeaturesEXT ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageSlicedViewOf3DFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageSlicedViewOf3DFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageSlicedViewOf3DFeaturesEXT.imageSlicedViewOf3D ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT> { std::size_t @@ -8756,6 +8800,20 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM> + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & + physicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM.multiviewPerViewRenderAreas ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM> { std::size_t @@ -9748,6 +9806,22 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM> + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM const & physicalDeviceShaderCorePropertiesARM ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesARM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesARM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesARM.pixelRate ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesARM.texelRate ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCorePropertiesARM.fmaRate ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures> { std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures const & diff --git a/include/vulkan/vulkan_ios.h b/include/vulkan/vulkan_ios.h index 5792205..8c6d9e7 100644 --- a/include/vulkan/vulkan_ios.h +++ b/include/vulkan/vulkan_ios.h @@ -2,7 +2,7 @@ #define VULKAN_IOS_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_macos.h b/include/vulkan/vulkan_macos.h index 8e197c7..3310e11 100644 --- a/include/vulkan/vulkan_macos.h +++ b/include/vulkan/vulkan_macos.h @@ -2,7 +2,7 @@ #define VULKAN_MACOS_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_metal.h b/include/vulkan/vulkan_metal.h index 11b9640..7127651 100644 --- a/include/vulkan/vulkan_metal.h +++ b/include/vulkan/vulkan_metal.h @@ -2,7 +2,7 @@ #define VULKAN_METAL_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 401ec89..79e5191 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -918,7 +918,9 @@ namespace VULKAN_HPP_NAMESPACE vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) ); //=== VK_EXT_discard_rectangles === - vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) ); + vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) ); + vkCmdSetDiscardRectangleModeEXT = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) ); //=== VK_EXT_display_control === vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) ); @@ -1573,7 +1575,8 @@ namespace VULKAN_HPP_NAMESPACE vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) ); //=== VK_NV_scissor_exclusive === - vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); + vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) ); + vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) ); //=== VK_NV_shading_rate_image === vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) ); @@ -1856,7 +1859,9 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0; //=== VK_EXT_discard_rectangles === - PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; + PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0; + PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0; + PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT = 0; //=== VK_EXT_display_control === PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0; @@ -2359,7 +2364,8 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkCompileDeferredNV vkCompileDeferredNV = 0; //=== VK_NV_scissor_exclusive === - PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; + PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0; + PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0; //=== VK_NV_shading_rate_image === PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0; @@ -5360,6 +5366,10 @@ namespace VULKAN_HPP_NAMESPACE void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & discardRectangles ) const VULKAN_HPP_NOEXCEPT; + void setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT; + + void setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_create_renderpass2 === void beginRenderPass2KHR( const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo & renderPassBegin, @@ -5495,6 +5505,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_scissor_exclusive === + void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, + VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables ) const + VULKAN_HPP_NOEXCEPT; + void setExclusiveScissorNV( uint32_t firstExclusiveScissor, VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors ) const VULKAN_HPP_NOEXCEPT; @@ -14999,6 +15013,24 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkRect2D *>( discardRectangles.data() ) ); } + VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEnableEXT( VULKAN_HPP_NAMESPACE::Bool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDiscardRectangleEnableEXT && + "Function <vkCmdSetDiscardRectangleEnableEXT> needs extension <VK_EXT_discard_rectangles> enabled!" ); + + getDispatcher()->vkCmdSetDiscardRectangleEnableEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkBool32>( discardRectangleEnable ) ); + } + + VULKAN_HPP_INLINE void + CommandBuffer::setDiscardRectangleModeEXT( VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDiscardRectangleModeEXT && + "Function <vkCmdSetDiscardRectangleModeEXT> needs extension <VK_EXT_discard_rectangles> enabled!" ); + + getDispatcher()->vkCmdSetDiscardRectangleModeEXT( static_cast<VkCommandBuffer>( m_commandBuffer ), + static_cast<VkDiscardRectangleModeEXT>( discardRectangleMode ) ); + } + //=== VK_EXT_hdr_metadata === VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const & swapchains, @@ -16575,6 +16607,19 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_NV_scissor_exclusive === + VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( + uint32_t firstExclusiveScissor, + VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const & exclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetExclusiveScissorEnableNV && + "Function <vkCmdSetExclusiveScissorEnableNV> needs extension <VK_NV_scissor_exclusive> enabled!" ); + + getDispatcher()->vkCmdSetExclusiveScissorEnableNV( static_cast<VkCommandBuffer>( m_commandBuffer ), + firstExclusiveScissor, + exclusiveScissorEnables.size(), + reinterpret_cast<const VkBool32 *>( exclusiveScissorEnables.data() ) ); + } + VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors ) const VULKAN_HPP_NOEXCEPT { diff --git a/include/vulkan/vulkan_screen.h b/include/vulkan/vulkan_screen.h index f0ef40a..1067c04 100644 --- a/include/vulkan/vulkan_screen.h +++ b/include/vulkan/vulkan_screen.h @@ -2,7 +2,7 @@ #define VULKAN_SCREEN_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_static_assertions.hpp b/include/vulkan/vulkan_static_assertions.hpp index b8dc5a8..4863c65 100644 --- a/include/vulkan/vulkan_static_assertions.hpp +++ b/include/vulkan/vulkan_static_assertions.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -5906,6 +5906,31 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>::value, "PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT is not nothrow_move_constructible!" ); +//=== VK_ARM_shader_core_properties === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM ) == sizeof( VkPhysicalDeviceShaderCorePropertiesARM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM>::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM>::value, + "PhysicalDeviceShaderCorePropertiesARM is not nothrow_move_constructible!" ); + +//=== VK_EXT_image_sliced_view_of_3d === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT ) == + sizeof( VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT>::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT>::value, + "PhysicalDeviceImageSlicedViewOf3DFeaturesEXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT ) == sizeof( VkImageViewSlicedCreateInfoEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT>::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT>::value, + "ImageViewSlicedCreateInfoEXT is not nothrow_move_constructible!" ); + //=== VK_VALVE_descriptor_set_host_mapping === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE ) == @@ -6379,4 +6404,22 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT>::value, "PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT is not nothrow_move_constructible!" ); +//=== VK_QCOM_multiview_per_view_render_areas === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM ) == + sizeof( VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM>::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM>::value, + "PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM ) == + sizeof( VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM>::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM>::value, + "MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM is not nothrow_move_constructible!" ); + #endif diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 6ea195b..8dbb3bc 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -41469,6 +41469,111 @@ namespace VULKAN_HPP_NAMESPACE using Type = ImageViewSampleWeightCreateInfoQCOM; }; + struct ImageViewSlicedCreateInfoEXT + { + using NativeType = VkImageViewSlicedCreateInfoEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewSlicedCreateInfoEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR + ImageViewSlicedCreateInfoEXT( uint32_t sliceOffset_ = {}, uint32_t sliceCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , sliceOffset( sliceOffset_ ) + , sliceCount( sliceCount_ ) + { + } + + VULKAN_HPP_CONSTEXPR ImageViewSlicedCreateInfoEXT( ImageViewSlicedCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageViewSlicedCreateInfoEXT( VkImageViewSlicedCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageViewSlicedCreateInfoEXT( *reinterpret_cast<ImageViewSlicedCreateInfoEXT const *>( &rhs ) ) + { + } + + ImageViewSlicedCreateInfoEXT & operator=( ImageViewSlicedCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + ImageViewSlicedCreateInfoEXT & operator=( VkImageViewSlicedCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewSlicedCreateInfoEXT const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageViewSlicedCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageViewSlicedCreateInfoEXT & setSliceOffset( uint32_t sliceOffset_ ) VULKAN_HPP_NOEXCEPT + { + sliceOffset = sliceOffset_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageViewSlicedCreateInfoEXT & setSliceCount( uint32_t sliceCount_ ) VULKAN_HPP_NOEXCEPT + { + sliceCount = sliceCount_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkImageViewSlicedCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkImageViewSlicedCreateInfoEXT *>( this ); + } + + operator VkImageViewSlicedCreateInfoEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkImageViewSlicedCreateInfoEXT *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, uint32_t const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, sliceOffset, sliceCount ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageViewSlicedCreateInfoEXT const & ) const = default; +#else + bool operator==( ImageViewSlicedCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sliceOffset == rhs.sliceOffset ) && ( sliceCount == rhs.sliceCount ); +# endif + } + + bool operator!=( ImageViewSlicedCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewSlicedCreateInfoEXT; + const void * pNext = {}; + uint32_t sliceOffset = {}; + uint32_t sliceCount = {}; + }; + + template <> + struct CppType<StructureType, StructureType::eImageViewSlicedCreateInfoEXT> + { + using Type = ImageViewSlicedCreateInfoEXT; + }; + struct ImageViewUsageCreateInfo { using NativeType = VkImageViewUsageCreateInfo; @@ -47811,6 +47916,135 @@ namespace VULKAN_HPP_NAMESPACE using Type = MultiviewPerViewAttributesInfoNVX; }; + struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM + { + using NativeType = VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( uint32_t perViewRenderAreaCount_ = {}, + const VULKAN_HPP_NAMESPACE::Rect2D * pPerViewRenderAreas_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , perViewRenderAreaCount( perViewRenderAreaCount_ ) + , pPerViewRenderAreas( pPerViewRenderAreas_ ) + { + } + + VULKAN_HPP_CONSTEXPR + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( *reinterpret_cast<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const *>( &rhs ) ) + { + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & perViewRenderAreas_, const void * pNext_ = nullptr ) + : pNext( pNext_ ), perViewRenderAreaCount( static_cast<uint32_t>( perViewRenderAreas_.size() ) ), pPerViewRenderAreas( perViewRenderAreas_.data() ) + { + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & + operator=( MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & operator=( VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & + setPerViewRenderAreaCount( uint32_t perViewRenderAreaCount_ ) VULKAN_HPP_NOEXCEPT + { + perViewRenderAreaCount = perViewRenderAreaCount_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & + setPPerViewRenderAreas( const VULKAN_HPP_NAMESPACE::Rect2D * pPerViewRenderAreas_ ) VULKAN_HPP_NOEXCEPT + { + pPerViewRenderAreas = pPerViewRenderAreas_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM & + setPerViewRenderAreas( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & perViewRenderAreas_ ) VULKAN_HPP_NOEXCEPT + { + perViewRenderAreaCount = static_cast<uint32_t>( perViewRenderAreas_.size() ); + pPerViewRenderAreas = perViewRenderAreas_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM *>( this ); + } + + operator VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Rect2D * const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, perViewRenderAreaCount, pPerViewRenderAreas ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & ) const = default; +#else + bool operator==( MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( perViewRenderAreaCount == rhs.perViewRenderAreaCount ) && + ( pPerViewRenderAreas == rhs.pPerViewRenderAreas ); +# endif + } + + bool operator!=( MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + const void * pNext = {}; + uint32_t perViewRenderAreaCount = {}; + const VULKAN_HPP_NAMESPACE::Rect2D * pPerViewRenderAreas = {}; + }; + + template <> + struct CppType<StructureType, StructureType::eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM> + { + using Type = MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + }; + struct MutableDescriptorTypeListEXT { using NativeType = VkMutableDescriptorTypeListEXT; @@ -60362,6 +60596,104 @@ namespace VULKAN_HPP_NAMESPACE }; using PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures; + struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT + { + using NativeType = VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageSlicedViewOf3DFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 imageSlicedViewOf3D_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , imageSlicedViewOf3D( imageSlicedViewOf3D_ ) + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageSlicedViewOf3DFeaturesEXT( PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceImageSlicedViewOf3DFeaturesEXT( VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceImageSlicedViewOf3DFeaturesEXT( *reinterpret_cast<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const *>( &rhs ) ) + { + } + + PhysicalDeviceImageSlicedViewOf3DFeaturesEXT & operator=( PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceImageSlicedViewOf3DFeaturesEXT & operator=( VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageSlicedViewOf3DFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageSlicedViewOf3DFeaturesEXT & + setImageSlicedViewOf3D( VULKAN_HPP_NAMESPACE::Bool32 imageSlicedViewOf3D_ ) VULKAN_HPP_NOEXCEPT + { + imageSlicedViewOf3D = imageSlicedViewOf3D_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *>( this ); + } + + operator VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, imageSlicedViewOf3D ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageSlicedViewOf3D == rhs.imageSlicedViewOf3D ); +# endif + } + + bool operator!=( PhysicalDeviceImageSlicedViewOf3DFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 imageSlicedViewOf3D = {}; + }; + + template <> + struct CppType<StructureType, StructureType::ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT> + { + using Type = PhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + }; + struct PhysicalDeviceImageViewImageFormatInfoEXT { using NativeType = VkPhysicalDeviceImageViewImageFormatInfoEXT; @@ -64198,6 +64530,106 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; }; + struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM + { + using NativeType = VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewRenderAreas_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , multiviewPerViewRenderAreas( multiviewPerViewRenderAreas_ ) + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( *reinterpret_cast<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const *>( &rhs ) ) + { + } + + PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM & + operator=( PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM & operator=( VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM & + setMultiviewPerViewRenderAreas( VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewRenderAreas_ ) VULKAN_HPP_NOEXCEPT + { + multiviewPerViewRenderAreas = multiviewPerViewRenderAreas_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *>( this ); + } + + operator VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, multiviewPerViewRenderAreas ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & ) const = default; +#else + bool operator==( PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multiviewPerViewRenderAreas == rhs.multiviewPerViewRenderAreas ); +# endif + } + + bool operator!=( PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewRenderAreas = {}; + }; + + template <> + struct CppType<StructureType, StructureType::ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM> + { + using Type = PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + }; + struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { using NativeType = VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; @@ -71019,6 +71451,95 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceShaderCorePropertiesAMD; }; + struct PhysicalDeviceShaderCorePropertiesARM + { + using NativeType = VkPhysicalDeviceShaderCorePropertiesARM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCorePropertiesARM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesARM( uint32_t pixelRate_ = {}, + uint32_t texelRate_ = {}, + uint32_t fmaRate_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , pixelRate( pixelRate_ ) + , texelRate( texelRate_ ) + , fmaRate( fmaRate_ ) + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesARM( PhysicalDeviceShaderCorePropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderCorePropertiesARM( VkPhysicalDeviceShaderCorePropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderCorePropertiesARM( *reinterpret_cast<PhysicalDeviceShaderCorePropertiesARM const *>( &rhs ) ) + { + } + + PhysicalDeviceShaderCorePropertiesARM & operator=( PhysicalDeviceShaderCorePropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceShaderCorePropertiesARM & operator=( VkPhysicalDeviceShaderCorePropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM const *>( &rhs ); + return *this; + } + + operator VkPhysicalDeviceShaderCorePropertiesARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesARM *>( this ); + } + + operator VkPhysicalDeviceShaderCorePropertiesARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesARM *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, pixelRate, texelRate, fmaRate ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderCorePropertiesARM const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderCorePropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pixelRate == rhs.pixelRate ) && ( texelRate == rhs.texelRate ) && ( fmaRate == rhs.fmaRate ); +# endif + } + + bool operator!=( PhysicalDeviceShaderCorePropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCorePropertiesARM; + void * pNext = {}; + uint32_t pixelRate = {}; + uint32_t texelRate = {}; + uint32_t fmaRate = {}; + }; + + template <> + struct CppType<StructureType, StructureType::ePhysicalDeviceShaderCorePropertiesARM> + { + using Type = PhysicalDeviceShaderCorePropertiesARM; + }; + struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures { using NativeType = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp index 47f4638..e24143d 100644 --- a/include/vulkan/vulkan_to_string.hpp +++ b/include/vulkan/vulkan_to_string.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2022 The Khronos Group Inc. +// Copyright 2015-2023 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -4055,6 +4055,9 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceBorderColorSwizzleFeaturesEXT: return "PhysicalDeviceBorderColorSwizzleFeaturesEXT"; case StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT: return "SamplerBorderColorComponentMappingCreateInfoEXT"; case StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT: return "PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT"; + case StructureType::ePhysicalDeviceShaderCorePropertiesARM: return "PhysicalDeviceShaderCorePropertiesARM"; + case StructureType::ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT: return "PhysicalDeviceImageSlicedViewOf3DFeaturesEXT"; + case StructureType::eImageViewSlicedCreateInfoEXT: return "ImageViewSlicedCreateInfoEXT"; case StructureType::ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE: return "PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE"; case StructureType::eDescriptorSetBindingReferenceVALVE: return "DescriptorSetBindingReferenceVALVE"; case StructureType::eDescriptorSetLayoutHostMappingInfoVALVE: return "DescriptorSetLayoutHostMappingInfoVALVE"; @@ -4106,6 +4109,8 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM: return "PhysicalDeviceShaderCoreBuiltinsFeaturesARM"; case StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM: return "PhysicalDeviceShaderCoreBuiltinsPropertiesARM"; case StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT: return "PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT"; + case StructureType::ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM: return "PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM"; + case StructureType::eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM: return "MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; } } @@ -5151,10 +5156,13 @@ namespace VULKAN_HPP_NAMESPACE case DynamicState::ePrimitiveRestartEnable: return "PrimitiveRestartEnable"; case DynamicState::eViewportWScalingNV: return "ViewportWScalingNV"; case DynamicState::eDiscardRectangleEXT: return "DiscardRectangleEXT"; + case DynamicState::eDiscardRectangleEnableEXT: return "DiscardRectangleEnableEXT"; + case DynamicState::eDiscardRectangleModeEXT: return "DiscardRectangleModeEXT"; case DynamicState::eSampleLocationsEXT: return "SampleLocationsEXT"; case DynamicState::eRayTracingPipelineStackSizeKHR: return "RayTracingPipelineStackSizeKHR"; case DynamicState::eViewportShadingRatePaletteNV: return "ViewportShadingRatePaletteNV"; case DynamicState::eViewportCoarseSampleOrderNV: return "ViewportCoarseSampleOrderNV"; + case DynamicState::eExclusiveScissorEnableNV: return "ExclusiveScissorEnableNV"; case DynamicState::eExclusiveScissorNV: return "ExclusiveScissorNV"; case DynamicState::eFragmentShadingRateKHR: return "FragmentShadingRateKHR"; case DynamicState::eLineStippleEXT: return "LineStippleEXT"; diff --git a/include/vulkan/vulkan_vi.h b/include/vulkan/vulkan_vi.h index 0355e7a..6726470 100644 --- a/include/vulkan/vulkan_vi.h +++ b/include/vulkan/vulkan_vi.h @@ -2,7 +2,7 @@ #define VULKAN_VI_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_wayland.h b/include/vulkan/vulkan_wayland.h index 9afd0b7..42b2801 100644 --- a/include/vulkan/vulkan_wayland.h +++ b/include/vulkan/vulkan_wayland.h @@ -2,7 +2,7 @@ #define VULKAN_WAYLAND_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_win32.h b/include/vulkan/vulkan_win32.h index a8e46c8..5b65a36 100644 --- a/include/vulkan/vulkan_win32.h +++ b/include/vulkan/vulkan_win32.h @@ -2,7 +2,7 @@ #define VULKAN_WIN32_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xcb.h b/include/vulkan/vulkan_xcb.h index 68e61b8..b49aa4e 100644 --- a/include/vulkan/vulkan_xcb.h +++ b/include/vulkan/vulkan_xcb.h @@ -2,7 +2,7 @@ #define VULKAN_XCB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xlib.h b/include/vulkan/vulkan_xlib.h index ea5360a..186cdd5 100644 --- a/include/vulkan/vulkan_xlib.h +++ b/include/vulkan/vulkan_xlib.h @@ -2,7 +2,7 @@ #define VULKAN_XLIB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xlib_xrandr.h b/include/vulkan/vulkan_xlib_xrandr.h index 8fc35cf..9a3b629 100644 --- a/include/vulkan/vulkan_xlib_xrandr.h +++ b/include/vulkan/vulkan_xlib_xrandr.h @@ -2,7 +2,7 @@ #define VULKAN_XLIB_XRANDR_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/registry/apiconventions.py b/registry/apiconventions.py index 0b02f8f..5d9eee4 100644 --- a/registry/apiconventions.py +++ b/registry/apiconventions.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2021-2022 The Khronos Group Inc. +# Copyright 2021-2023 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 # Generic alias for working group-specific API conventions interface. diff --git a/registry/cgenerator.py b/registry/cgenerator.py index b8ac6f5..41a39f4 100644 --- a/registry/cgenerator.py +++ b/registry/cgenerator.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -346,6 +346,8 @@ class COutputGenerator(OutputGenerator): body += self.genOpts.apientry + noneStr(elem.tail) else: body += noneStr(elem.text) + noneStr(elem.tail) + if category == 'define' and self.misracppstyle(): + body = body.replace("(uint32_t)", "static_cast<uint32_t>") if body: # Add extra newline after multi-line entries. if '\n' in body[0:-1]: diff --git a/registry/generator.py b/registry/generator.py index 97c4d37..e5fc481 100644 --- a/registry/generator.py +++ b/registry/generator.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 """Base class for source/header/doc generators, as well as some utility functions.""" diff --git a/registry/genvk.py b/registry/genvk.py index 2cb5c0b..5242036 100755 --- a/registry/genvk.py +++ b/registry/genvk.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -9,6 +9,7 @@ import os import pdb import re import sys +import copy import time import xml.etree.ElementTree as etree @@ -119,7 +120,7 @@ def makeGenOpts(args): # The SPDX formatting below works around constraints of the 'reuse' tool prefixStrings = [ '/*', - '** Copyright 2015-2022 The Khronos Group Inc.', + '** Copyright 2015-2023 The Khronos Group Inc.', '**', '** SPDX-License-Identifier' + ': Apache-2.0', '*/', @@ -141,7 +142,10 @@ def makeGenOpts(args): # An API style conventions object conventions = APIConventions() - defaultAPIName = conventions.xml_api_name + if args.apiname is not None: + defaultAPIName = args.apiname + else: + defaultAPIName = conventions.xml_api_name # API include files for spec and ref pages # Overwrites include subdirectories in spec source tree @@ -699,6 +703,9 @@ def genTarget(args): if __name__ == '__main__': parser = argparse.ArgumentParser() + parser.add_argument('-apiname', action='store', + default=None, + help='Specify API to generate (defaults to repository-specific conventions object value)') parser.add_argument('-defaultExtensions', action='store', default=APIConventions().xml_api_name, help='Specify a single class of extensions to add to targets') diff --git a/registry/parse_dependency.py b/registry/parse_dependency.py new file mode 100755 index 0000000..c048c5f --- /dev/null +++ b/registry/parse_dependency.py @@ -0,0 +1,315 @@ +#!/usr/bin/python3 + +# Copyright 2022-2023 The Khronos Group Inc. +# Copyright 2003-2019 Paul McGuire +# SPDX-License-Identifier: MIT + +# apirequirements.py - parse 'depends' expressions in API XML +# Supported methods: +# dependency - the expression string +# +# evaluateDependency(dependency, isSupported) evaluates the expression, +# returning a boolean result. isSupported takes an extension or version name +# string and returns a boolean. +# +# dependencyLanguage(dependency) returns an English string equivalent +# to the expression, suitable for header file comments. +# +# dependencyNames(dependency) returns a set of the extension and +# version names in the expression. +# +# dependencyMarkup(dependency) returns a string containing asciidoctor +# markup for English equivalent to the expression, suitable for extension +# appendices. +# +# All may throw a ParseException if the expression cannot be parsed or is +# not completely consumed by parsing. + +# Supported expressions at present: +# - extension names +# - '+' as AND connector +# - ',' as OR connector +# - parenthesization for grouping + +# Based on https://github.com/pyparsing/pyparsing/blob/master/examples/fourFn.py + +from pyparsing import ( + Literal, + Word, + Group, + Forward, + alphas, + alphanums, + Regex, + ParseException, + CaselessKeyword, + Suppress, + delimitedList, + infixNotation, +) +import math +import operator +import pyparsing as pp +import re + +def nameMarkup(name): + """Returns asciidoc markup to generate a link to an API version or + extension anchor. + + - name - version or extension name""" + + # Could use ApiConventions.is_api_version_name, but that does not split + # out the major/minor version numbers. + match = re.search("[A-Z]+_VERSION_([0-9]+)_([0-9]+)", name) + if match is not None: + major = match.group(1) + minor = match.group(2) + version = major + '.' + minor + return f'<<versions-{major}.{minor}, Version {version}>>' + else: + return 'apiext:' + name + +exprStack = [] + +def push_first(toks): + """Push a token on the global stack + + - toks - first element is the token to push""" + + exprStack.append(toks[0]) + +# An identifier (version or extension name) +dependencyIdent = Word(alphanums + '_') + +# Infix expression for depends expressions +dependencyExpr = pp.infixNotation(dependencyIdent, + [ (pp.oneOf(', +'), 2, pp.opAssoc.LEFT), ]) + +# BNF grammar for depends expressions +_bnf = None +def dependencyBNF(): + """ + boolop :: '+' | ',' + extname :: Char(alphas) + atom :: extname | '(' expr ')' + expr :: atom [ boolop atom ]* + """ + global _bnf + if _bnf is None: + and_, or_ = map(Literal, '+,') + lpar, rpar = map(Suppress, '()') + boolop = and_ | or_ + + expr = Forward() + expr_list = delimitedList(Group(expr)) + atom = ( + boolop[...] + + ( + (dependencyIdent).setParseAction(push_first) + | Group(lpar + expr + rpar) + ) + ) + + expr <<= atom + (boolop + atom).setParseAction(push_first)[...] + _bnf = expr + return _bnf + + +# map operator symbols to corresponding arithmetic operations +_opn = { + '+': operator.and_, + ',': operator.or_, +} + +# map operator symbols to corresponding words +_opname = { + '+': 'and', + ',': 'or', +} + +def evaluateStack(stack, isSupported): + """Evaluate an expression stack, returning a boolean result. + + - stack - the stack + - isSupported - function taking a version or extension name string and + returning True or False if that name is supported or not.""" + + op, num_args = stack.pop(), 0 + if isinstance(op, tuple): + op, num_args = op + + if op in '+,': + # Note: operands are pushed onto the stack in reverse order + op2 = evaluateStack(stack, isSupported) + op1 = evaluateStack(stack, isSupported) + return _opn[op](op1, op2) + elif op[0].isalpha(): + return isSupported(op) + else: + raise Exception(f'invalid op: {op}') + +def evaluateDependency(dependency, isSupported): + """Evaluate a dependency expression, returning a boolean result. + + - dependency - the expression + - isSupported - function taking a version or extension name string and + returning True or False if that name is supported or not.""" + + global exprStack + exprStack = [] + results = dependencyBNF().parseString(dependency, parseAll=True) + val = evaluateStack(exprStack[:], isSupported) + return val + +def evalDependencyLanguage(stack, specmacros): + """Evaluate an expression stack, returning an English equivalent + + - stack - the stack + - specmacros - if True, prepare the language for spec inclusion""" + + op, num_args = stack.pop(), 0 + if isinstance(op, tuple): + op, num_args = op + if op in '+,': + # Could parenthesize, not needed yet + rhs = evalDependencyLanguage(stack, specmacros) + return evalDependencyLanguage(stack, specmacros) + f' {_opname[op]} ' + rhs + elif op[0].isalpha(): + # This is an extension or feature name + if specmacros: + return nameMarkup(op) + else: + return op + else: + raise Exception(f'invalid op: {op}') + +def dependencyLanguage(dependency, specmacros = False): + """Return an API dependency expression translated to a form suitable for + asciidoctor conditionals or header file comments. + + - dependency - the expression + - specmacros - if False, return a string that can be used as an + asciidoctor conditional. + If True, return a string suitable for spec inclusion with macros and + xrefs included.""" + + global exprStack + exprStack = [] + results = dependencyBNF().parseString(dependency, parseAll=True) + return evalDependencyLanguage(exprStack, specmacros) + +def evalDependencyNames(stack): + """Evaluate an expression stack, returning the set of extension and + feature names used in the expression. + + - stack - the stack""" + + op, num_args = stack.pop(), 0 + if isinstance(op, tuple): + op, num_args = op + if op in '+,': + # Do not evaluate the operation. We only care about the names. + return evalDependencyNames(stack) | evalDependencyNames(stack) + elif op[0].isalpha(): + return { op } + else: + raise Exception(f'invalid op: {op}') + +def dependencyNames(dependency): + """Return a set of the extension and version names in an API dependency + expression. Used when determining transitive dependencies for spec + generation with specific extensions included. + + - dependency - the expression""" + + global exprStack + exprStack = [] + results = dependencyBNF().parseString(dependency, parseAll=True) + # print(f'names(): stack = {exprStack}') + return evalDependencyNames(exprStack) + +def markupTraverse(expr, level = 0, root = True): + """Recursively process a dependency in infix form, transforming it into + asciidoctor markup with expression nesting indicated by indentation + level. + + - expr - expression to process + - level - indentation level to render expression at + - root - True only on initial call""" + + if level > 0: + prefix = '{nbsp}{nbsp}' * level * 2 + ' ' + else: + prefix = '' + str = '' + + for elem in expr: + if isinstance(elem, pp.ParseResults): + if not root: + nextlevel = level + 1 + else: + # Do not indent the outer expression + nextlevel = level + + str = str + markupTraverse(elem, level = nextlevel, root = False) + elif elem in ('+', ','): + str = str + f'{prefix}{_opname[elem]} +\n' + else: + str = str + f'{prefix}{nameMarkup(elem)} +\n' + + return str + +def dependencyMarkup(dependency): + """Return asciidoctor markup for a human-readable equivalent of an API + dependency expression, suitable for use in extension appendix + metadata. + + - dependency - the expression""" + + parsed = dependencyExpr.parseString(dependency) + return markupTraverse(parsed) + +if __name__ == "__main__": + + termdict = { + 'VK_VERSION_1_1' : True, + 'f' : False, + 't' : True, + 'false' : False, + 'true' : True, + } + termSupported = lambda name: name in termdict and termdict[name] + + for dependency in [ + 't', + #'t+t+f', + #'t+(t+f),(f,t))', + #'t+((t+f),(f,t)))', + 'VK_VERSION_1_1+(t,f)', + ]: + print(f'expr = {dependency}\n{dependencyMarkup(dependency)}') + print(f' language = {dependencyLanguage(dependency)}') + print(f' names = {dependencyNames(dependency)}') + print(f' value = {evaluateDependency(dependency, termSupported)}') + + def test(dependency, expected): + val = False + try: + val = evaluateDependency(dependency, termSupported) + except ParseException as pe: + print(dependency, f'failed parse: {dependency}') + except Exception as e: + print(dependency, f'failed eval: {dependency}') + + if val == expected: + print(f'{dependency} = {val} (as expected)') + else: + print(f'{dependency} ERROR: {val} != {expected}') + + test('VK_VERSION_1_1+(false,true)', True) + test('true', True) + test('(true)', True) + test('false,false', False) + test('false,true', True) + test('false+true', False) + test('true+true', True) diff --git a/registry/reg.py b/registry/reg.py index f32178c..8cc212e 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -658,24 +658,6 @@ class Registry: enumInfo = EnumInfo(enum) self.addElementInfo(enum, enumInfo, 'enum', self.enumdict) - # Construct a "validextensionstructs" list for parent structures - # based on "structextends" tags in child structures - disabled_types = [] - for disabled_ext in self.reg.findall('extensions/extension[@supported="disabled"]'): - for type_elem in disabled_ext.findall("*/type"): - disabled_types.append(type_elem.get('name')) - for type_elem in self.reg.findall('types/type'): - if type_elem.get('name') not in disabled_types: - # The structure type this may be chained to. - struct_extends = type_elem.get('structextends') - if struct_extends is not None: - for parent in struct_extends.split(','): - # self.gen.logMsg('diag', type.get('name'), 'extends', parent) - self.validextensionstructs[parent].append(type_elem.get('name')) - # Sort the lists so they do not depend on the XML order - for parent in self.validextensionstructs: - self.validextensionstructs[parent].sort() - # Parse out all spirv tags in dictionaries # Use addElementInfo to catch duplicates for spirv in self.reg.findall('spirvextensions/spirvextension'): @@ -1002,10 +984,8 @@ class Registry: # expression of extension names. # 'required_key' is used only as a dictionary key at # present, and passed through to the script generators, so - # they must be prepared to parse that expression. - required_key = require.get('feature') - if required_key is None: - required_key = require.get('extension') + # they must be prepared to parse that boolean expression. + required_key = require.get('depends') # Loop over types, enums, and commands in the tag for typeElem in require.findall('type'): @@ -1330,7 +1310,7 @@ class Registry: stripped = False for api in attribstring.split(','): ##print('Checking API {} referenced by {}'.format(api, key)) - if supportedDictionary[api].required: + if api in supportedDictionary and supportedDictionary[api].required: apis.append(api) else: stripped = True @@ -1354,6 +1334,24 @@ class Registry: genProc = self.gen.genFormat genProc(format, name, alias) + def tagValidExtensionStructs(self): + """Construct a "validextensionstructs" list for parent structures + based on "structextends" tags in child structures. + Only do this for structures tagged as required.""" + + for typeinfo in self.typedict.values(): + type_elem = typeinfo.elem + if typeinfo.required and type_elem.get('category') == 'struct': + struct_extends = type_elem.get('structextends') + if struct_extends is not None: + for parent in struct_extends.split(','): + # self.gen.logMsg('diag', type_elem.get('name'), 'extends', parent) + self.validextensionstructs[parent].append(type_elem.get('name')) + + # Sort the lists so they do not depend on the XML order + for parent in self.validextensionstructs: + self.validextensionstructs[parent].sort() + def apiGen(self): """Generate interface for specified versions using the current generator and generator options""" @@ -1525,6 +1523,9 @@ class Registry: self.stripUnsupportedAPIs(self.cmddict, 'successcodes', self.enumdict) self.stripUnsupportedAPIs(self.cmddict, 'errorcodes', self.enumdict) + # Construct lists of valid extension structures + self.tagValidExtensionStructs() + # @@May need to strip <spirvcapability> / <spirvextension> <enable> # tags of these forms: # <enable version="VK_API_VERSION_1_0"/> diff --git a/registry/spec_tools/conventions.py b/registry/spec_tools/conventions.py index b314ee7..faca3a2 100644 --- a/registry/spec_tools/conventions.py +++ b/registry/spec_tools/conventions.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -34,6 +34,11 @@ TYPES_KNOWN_ALWAYS_VALID = set(('char', # Split an extension name into vendor ID and name portions EXT_NAME_DECOMPOSE_RE = re.compile(r'[A-Z]+_(?P<vendor>[A-Z]+)_(?P<name>[\w_]+)') +# Match an API version name. +# This could be refined further for specific APIs. +API_VERSION_NAME_RE = re.compile(r'[A-Z]+_VERSION_[0-9]') + + class ProseListFormats(Enum): """A connective, possibly with a quantifier.""" AND = 0 @@ -443,3 +448,7 @@ class ConventionsBase(abc.ABC): reference pages.""" return '' + def is_api_version_name(self, name): + """Return True if name is an API version name.""" + + return API_VERSION_NAME_RE.match(name) is not None diff --git a/registry/spec_tools/util.py b/registry/spec_tools/util.py index 4e1093d..bf25845 100644 --- a/registry/spec_tools/util.py +++ b/registry/spec_tools/util.py @@ -1,6 +1,6 @@ """Utility functions not closely tied to other spec_tools types.""" # Copyright (c) 2018-2019 Collabora, Ltd. -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 diff --git a/registry/validusage.json b/registry/validusage.json index 0226573..2f541e0 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.240", - "comment": "from git branch: github-main commit: b33bd816a24012b0ac51e8b05567cc221171ccf1", - "date": "2023-01-26 08:42:09Z" + "api version": "1.3.241", + "comment": "from git branch: github-main commit: 1b1c4dd43a35341c8c8e82ad985ed66d8beff5ba", + "date": "2023-02-16 10:01:26Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -288,7 +288,7 @@ }, { "vuid": "VUID-VkPhysicalDeviceProperties2-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI\">VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesARM\">VkPhysicalDeviceShaderCorePropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>" }, { "vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique", @@ -606,7 +606,7 @@ "(VK_VERSION_1_2)+(VK_EXT_buffer_device_address)": [ { "vuid": "VUID-VkDeviceCreateInfo-pNext-04748", - "text": " if the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a> structure and <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>::<code>bufferDeviceAddress</code> is <code>VK_TRUE</code>, <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain <code><a href=\"#VK_EXT_buffer_device_address\">VK_EXT_buffer_device_address</a></code>" + "text": " If the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a> structure and <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>::<code>bufferDeviceAddress</code> is <code>VK_TRUE</code>, <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain <code><a href=\"#VK_EXT_buffer_device_address\">VK_EXT_buffer_device_address</a></code>" } ], "(VK_VERSION_1_2)": [ @@ -730,7 +730,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI\">VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT\">VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM\">VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT\">VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT\">VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -5226,19 +5226,19 @@ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [ { "vuid": "VUID-VkMemoryBarrier2-srcAccessMask-03927", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkMemoryBarrier2-srcAccessMask-03928", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" }, { "vuid": "VUID-VkMemoryBarrier2-dstAccessMask-03927", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkMemoryBarrier2-dstAccessMask-03928", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" } ], "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)+!(VK_KHR_ray_query)+(VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing)": [ @@ -5802,19 +5802,19 @@ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [ { "vuid": "VUID-VkBufferMemoryBarrier2-srcAccessMask-03927", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkBufferMemoryBarrier2-srcAccessMask-03928", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" }, { "vuid": "VUID-VkBufferMemoryBarrier2-dstAccessMask-03927", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkBufferMemoryBarrier2-dstAccessMask-03928", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" } ], "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)+!(VK_KHR_ray_query)+(VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing)": [ @@ -6494,19 +6494,19 @@ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)": [ { "vuid": "VUID-VkImageMemoryBarrier2-srcAccessMask-03927", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkImageMemoryBarrier2-srcAccessMask-03928", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" }, { "vuid": "VUID-VkImageMemoryBarrier2-dstAccessMask-03927", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of the <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages" }, { "vuid": "VUID-VkImageMemoryBarrier2-dstAccessMask-03928", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</code> or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>" } ], "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_acceleration_structure,VK_NV_ray_tracing)+!(VK_KHR_ray_query)+(VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing)": [ @@ -7184,7 +7184,7 @@ }, { "vuid": "VUID-VkRenderingInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceGroupRenderPassBeginInfo\">VkDeviceGroupRenderPassBeginInfo</a>, <a href=\"#VkMultisampledRenderToSingleSampledInfoEXT\">VkMultisampledRenderToSingleSampledInfoEXT</a>, <a href=\"#VkMultiviewPerViewAttributesInfoNVX\">VkMultiviewPerViewAttributesInfoNVX</a>, <a href=\"#VkRenderingFragmentDensityMapAttachmentInfoEXT\">VkRenderingFragmentDensityMapAttachmentInfoEXT</a>, or <a href=\"#VkRenderingFragmentShadingRateAttachmentInfoKHR\">VkRenderingFragmentShadingRateAttachmentInfoKHR</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceGroupRenderPassBeginInfo\">VkDeviceGroupRenderPassBeginInfo</a>, <a href=\"#VkMultisampledRenderToSingleSampledInfoEXT\">VkMultisampledRenderToSingleSampledInfoEXT</a>, <a href=\"#VkMultiviewPerViewAttributesInfoNVX\">VkMultiviewPerViewAttributesInfoNVX</a>, <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a>, <a href=\"#VkRenderingFragmentDensityMapAttachmentInfoEXT\">VkRenderingFragmentDensityMapAttachmentInfoEXT</a>, or <a href=\"#VkRenderingFragmentShadingRateAttachmentInfoKHR\">VkRenderingFragmentShadingRateAttachmentInfoKHR</a>" }, { "vuid": "VUID-VkRenderingInfo-sType-unique", @@ -7434,6 +7434,16 @@ "vuid": "VUID-VkRenderingInfo-viewMask-06128", "text": " The index of the most significant bit in <code>viewMask</code> <strong class=\"purple\">must</strong> be less than <a href=\"#limits-maxMultiviewViewCount\"><code>maxMultiviewViewCount</code></a>" } + ], + "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_QCOM_multiview_per_view_render_areas)": [ + { + "vuid": "VUID-VkRenderingInfo-perViewRenderAreaCount-07857", + "text": " If the <code>perViewRenderAreaCount</code> member of a <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a> structure included in the <code>pNext</code> chain is not <code>0</code>, then the <a href=\"#features-multiview-per-view-render-areas\"><code>multiviewPerViewRenderAreas</code></a> feature <strong class=\"purple\">must</strong> be enabled." + }, + { + "vuid": "VUID-VkRenderingInfo-perViewRenderAreaCount-07858", + "text": " If the <code>perViewRenderAreaCount</code> member of a <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a> structure included in the <code>pNext</code> chain is not <code>0</code>, then <code>renderArea</code> <strong class=\"purple\">must</strong> specify a render area that includes the union of all per view render areas." + } ] }, "VkRenderingAttachmentInfo": { @@ -10216,7 +10226,7 @@ }, { "vuid": "VUID-VkRenderPassBeginInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceGroupRenderPassBeginInfo\">VkDeviceGroupRenderPassBeginInfo</a>, <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a>, <a href=\"#VkRenderPassSampleLocationsBeginInfoEXT\">VkRenderPassSampleLocationsBeginInfoEXT</a>, or <a href=\"#VkRenderPassTransformBeginInfoQCOM\">VkRenderPassTransformBeginInfoQCOM</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceGroupRenderPassBeginInfo\">VkDeviceGroupRenderPassBeginInfo</a>, <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a>, <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a>, <a href=\"#VkRenderPassSampleLocationsBeginInfoEXT\">VkRenderPassSampleLocationsBeginInfoEXT</a>, or <a href=\"#VkRenderPassTransformBeginInfoQCOM\">VkRenderPassTransformBeginInfoQCOM</a>" }, { "vuid": "VUID-VkRenderPassBeginInfo-sType-unique", @@ -10338,6 +10348,16 @@ "vuid": "VUID-VkRenderPassBeginInfo-pNext-02870", "text": " If the <code>pNext</code> chain includes <a href=\"#VkRenderPassTransformBeginInfoQCOM\">VkRenderPassTransformBeginInfoQCOM</a>, <code>renderArea.extent</code> transformed by <a href=\"#VkRenderPassTransformBeginInfoQCOM\">VkRenderPassTransformBeginInfoQCOM</a>::<code>transform</code> <strong class=\"purple\">must</strong> equal the <code>framebuffer</code> dimensions" } + ], + "(VK_QCOM_multiview_per_view_render_areas)": [ + { + "vuid": "VUID-VkRenderPassBeginInfo-perViewRenderAreaCount-07859", + "text": " If the <code>perViewRenderAreaCount</code> member of a <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a> structure included in the <code>pNext</code> chain is not <code>0</code>, then the <a href=\"#features-multiview-per-view-render-areas\"><code>multiviewPerViewRenderAreas</code></a> feature <strong class=\"purple\">must</strong> be enabled." + }, + { + "vuid": "VUID-VkRenderPassBeginInfo-perViewRenderAreaCount-07860", + "text": " If the <code>perViewRenderAreaCount</code> member of a <a href=\"#VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM\">VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM</a> structure included in the <code>pNext</code> chain is not <code>0</code>, then <code>renderArea</code> <strong class=\"purple\">must</strong> specify a render area that includes the union of all per view render areas." + } ] }, "VkRenderPassSampleLocationsBeginInfoEXT": { @@ -10486,6 +10506,44 @@ } ] }, + "VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM": { + "(VK_QCOM_multiview_per_view_render_areas)": [ + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07861", + "text": " The <code>offset.x</code> member of any element of <code>pPerViewRenderAreas</code> <strong class=\"purple\">must</strong> be greater than or equal to 0" + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07862", + "text": " The <code>offset.y</code> member of any element of <code>pPerViewRenderAreas</code> <strong class=\"purple\">must</strong> be greater than or equal to 0" + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07863", + "text": " The sum of the <code>offset.x</code> and <code>extent.width</code> members of any element of <code>pPerViewRenderAreas</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFramebufferWidth\"><code>maxFramebufferWidth</code></a>" + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07864", + "text": " The sum of the <code>offset.y</code> and <code>extent.height</code> members of any element of <code>pPerViewRenderAreas</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxFramebufferHeight\"><code>maxFramebufferHeight</code></a>" + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07865", + "text": " If this structure is in the <code>pNext</code> chain of <a href=\"#VkRenderPassBeginInfo\">VkRenderPassBeginInfo</a> and if the render pass object included an element in <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> that set bit <code>n</code>, then <code>perViewRenderAreaCount</code> <strong class=\"purple\">must</strong> be at least equal to <code>n+1</code>." + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM</code>" + }, + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pPerViewRenderAreas-parameter", + "text": " If <code>perViewRenderAreaCount</code> is not <code>0</code>, <code>pPerViewRenderAreas</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>perViewRenderAreaCount</code> <a href=\"#VkRect2D\">VkRect2D</a> structures" + } + ], + "(VK_QCOM_multiview_per_view_render_areas)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [ + { + "vuid": "VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07866", + "text": " If this structure is in the <code>pNext</code> chain of <a href=\"#VkRenderingInfo\">VkRenderingInfo</a> and if <a href=\"#VkRenderingInfo\">VkRenderingInfo</a>::<code>viewMask</code> set bit <code>n</code>, then <code>perViewRenderAreaCount</code> <strong class=\"purple\">must</strong> be at least equal to <code>n+1</code>." + } + ] + }, "vkGetRenderAreaGranularity": { "core": [ { @@ -12311,6 +12369,10 @@ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04056", "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code>, and if <code>pViewportState->pNext</code> chain includes a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure, and if its <code>exclusiveScissorCount</code> member is not <code>0</code>, then its <code>pExclusiveScissors</code> member <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>exclusiveScissorCount</code> <a href=\"#VkRect2D\">VkRect2D</a> structures" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07854", + "text": " If <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> is included in the <code>pDynamicStates</code> array then the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of the <code><a href=\"#VK_NV_scissor_exclusive\">VK_NV_scissor_exclusive</a></code> extension" } ], "(VK_NV_shading_rate_image)": [ @@ -12323,6 +12385,14 @@ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04058", "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code>, and if <code>pNext</code> chain includes a <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a> structure, and if its <code>discardRectangleCount</code> member is not <code>0</code>, then its <code>pDiscardRectangles</code> member <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>discardRectangleCount</code> <a href=\"#VkRect2D\">VkRect2D</a> structures" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07855", + "text": " If <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> is included in the <code>pDynamicStates</code> array then the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of the <code><a href=\"#VK_EXT_discard_rectangles\">VK_EXT_discard_rectangles</a></code> extension" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07856", + "text": " If <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> is included in the <code>pDynamicStates</code> array then the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of the <code><a href=\"#VK_EXT_discard_rectangles\">VK_EXT_discard_rectangles</a></code> extension" } ], "!(VK_EXT_vertex_input_dynamic_state)": [ @@ -12630,11 +12700,11 @@ "(VK_QCOM_render_pass_shader_resolve)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationSamples-04899", - "text": " If the pipeline is being created with fragment shader state, and the <code><a href=\"#VK_QCOM_render_pass_shader_resolve\">VK_QCOM_render_pass_shader_resolve</a></code> extension is enabled, and if subpass has any input attachments, and if the subpass description contains <code>VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM</code>, then the sample count of the input attachments <strong class=\"purple\">must</strong> equal <code>rasterizationSamples</code>" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <code><a href=\"#VK_QCOM_render_pass_shader_resolve\">VK_QCOM_render_pass_shader_resolve</a></code> extension is enabled, and if subpass has any input attachments, and if the subpass description contains <code>VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM</code>, then the sample count of the input attachments <strong class=\"purple\">must</strong> equal <code>rasterizationSamples</code>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-sampleShadingEnable-04900", - "text": " If the pipeline is being created with fragment shader state, and the <code><a href=\"#VK_QCOM_render_pass_shader_resolve\">VK_QCOM_render_pass_shader_resolve</a></code> extension is enabled, and if the subpass description contains <code>VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM</code>, then <code>sampleShadingEnable</code> <strong class=\"purple\">must</strong> be false" + "text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <code><a href=\"#VK_QCOM_render_pass_shader_resolve\">VK_QCOM_render_pass_shader_resolve</a></code> extension is enabled, and if the subpass description contains <code>VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM</code>, then <code>sampleShadingEnable</code> <strong class=\"purple\">must</strong> be false" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-04901", @@ -14422,7 +14492,7 @@ "(VK_NV_inherited_viewport_scissor,VK_EXT_discard_rectangles)": [ { "vuid": "VUID-vkCmdBindPipeline-commandBuffer-04809", - "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> and <code>pipeline</code> was created with <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a> structure and its <code>discardRectangleCount</code> member is not <code>0</code>, then the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> enabled" + "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> and <code>pipeline</code> was created with <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a> structure and its <code>discardRectangleCount</code> member is not <code>0</code>, or the pipeline was created with <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> enabled, then the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> enabled" } ], "(VK_EXT_provoking_vertex)": [ @@ -15328,7 +15398,7 @@ }, { "vuid": "VUID-VkImportMemoryWin32HandleInfoKHR-handle-01441", - "text": " if <code>handle</code> is not <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" + "text": " If <code>handle</code> is not <code>NULL</code>, <code>name</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" }, { "vuid": "VUID-VkImportMemoryWin32HandleInfoKHR-handle-01518", @@ -18072,7 +18142,7 @@ }, { "vuid": "VUID-VkImageViewCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewSampleWeightCreateInfoQCOM\">VkImageViewSampleWeightCreateInfoQCOM</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewSampleWeightCreateInfoQCOM\">VkImageViewSampleWeightCreateInfoQCOM</a>, <a href=\"#VkImageViewSlicedCreateInfoEXT\">VkImageViewSlicedCreateInfoEXT</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>" }, { "vuid": "VUID-VkImageViewCreateInfo-sType-unique", @@ -18460,6 +18530,34 @@ } ] }, + "VkImageViewSlicedCreateInfoEXT": { + "(VK_EXT_image_sliced_view_of_3d)": [ + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-sliceOffset-07867", + "text": " <code>sliceOffset</code> <strong class=\"purple\">must</strong> be less than the effective view depth as specified in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + }, + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-sliceCount-07868", + "text": " If <code>sliceCount</code> is not <code>VK_REMAINING_3D_SLICES_EXT</code>, it <strong class=\"purple\">must</strong> be be non-zero and <span class=\"eq\"><code>sliceOffset</code> + <code>sliceCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the effective view depth as specified in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + }, + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-image-07869", + "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>imageType</code> equal to <code>VK_IMAGE_TYPE_3D</code>" + }, + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-None-07870", + "text": " The image view <strong class=\"purple\">must</strong> reference exactly 1 mip level" + }, + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-None-07871", + "text": " The <a href=\"#features-imageSlicedViewOf3D\">imageSlicedViewOf3D</a> feature <strong class=\"purple\">must</strong> be enabled on the device" + }, + { + "vuid": "VUID-VkImageViewSlicedCreateInfoEXT-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT</code>" + } + ] + }, "VkImageSubresourceRange": { "core": [ { @@ -21026,7 +21124,7 @@ "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)": [ { "vuid": "VUID-VkSamplerCreateInfo-None-01647", - "text": " if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>" + "text": " If <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>" } ], "(VK_VERSION_1_2)": [ @@ -23670,7 +23768,7 @@ "(VK_EXT_descriptor_buffer)": [ { "vuid": "VUID-VkDescriptorGetInfoEXT-type-08018", - "text": " <code>type</code> <strong class=\"purple\">must</strong> not be <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>" + "text": " <code>type</code> <strong class=\"purple\">must</strong> not be <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code> or <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK</code>" }, { "vuid": "VUID-VkDescriptorGetInfoEXT-type-08019", @@ -31400,11 +31498,11 @@ }, { "vuid": "VUID-vkCmdResolveImage-srcImage-04446", - "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" }, { "vuid": "VUID-vkCmdResolveImage-srcImage-04447", - "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" }, { "vuid": "VUID-vkCmdResolveImage-srcOffset-00269", @@ -31664,11 +31762,11 @@ }, { "vuid": "VUID-VkResolveImageInfo2-srcImage-04446", - "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" }, { "vuid": "VUID-VkResolveImageInfo2-srcImage-04447", - "text": " If either <code>srcImage</code> or <code>dstImage</code> are of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> be <code>0</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> be <code>1</code>" }, { "vuid": "VUID-VkResolveImageInfo2-srcOffset-00269", @@ -32633,10 +32731,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDraw-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDraw-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -32671,6 +32765,10 @@ { "vuid": "VUID-vkCmdDraw-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDraw-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -32703,6 +32801,14 @@ { "vuid": "VUID-vkCmdDraw-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDraw-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDraw-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -32819,6 +32925,14 @@ { "vuid": "VUID-vkCmdDraw-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDraw-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDraw-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -33198,13 +33312,13 @@ "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDraw-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDraw-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -33647,10 +33761,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndexed-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndexed-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -33685,6 +33795,10 @@ { "vuid": "VUID-vkCmdDrawIndexed-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -33717,6 +33831,14 @@ { "vuid": "VUID-vkCmdDrawIndexed-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -33833,6 +33955,14 @@ { "vuid": "VUID-vkCmdDrawIndexed-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -34212,13 +34342,13 @@ "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexed-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexed-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -34669,10 +34799,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMultiEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMultiEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -34707,6 +34833,10 @@ { "vuid": "VUID-vkCmdDrawMultiEXT-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -34739,6 +34869,14 @@ { "vuid": "VUID-vkCmdDrawMultiEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -34855,6 +34993,14 @@ { "vuid": "VUID-vkCmdDrawMultiEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -35234,13 +35380,13 @@ "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -35703,10 +35849,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -35741,6 +35883,10 @@ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -35773,6 +35919,14 @@ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -35889,6 +36043,14 @@ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -36268,13 +36430,13 @@ "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -36745,10 +36907,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndirect-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndirect-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -36783,6 +36941,10 @@ { "vuid": "VUID-vkCmdDrawIndirect-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -36815,6 +36977,14 @@ { "vuid": "VUID-vkCmdDrawIndirect-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -36931,6 +37101,14 @@ { "vuid": "VUID-vkCmdDrawIndirect-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -37304,13 +37482,13 @@ "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirect-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirect-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -37813,10 +37991,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndirectCount-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndirectCount-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -37851,6 +38025,10 @@ { "vuid": "VUID-vkCmdDrawIndirectCount-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -37883,6 +38061,14 @@ { "vuid": "VUID-vkCmdDrawIndirectCount-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -37999,6 +38185,14 @@ { "vuid": "VUID-vkCmdDrawIndirectCount-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -38372,13 +38566,13 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -38863,10 +39057,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -38901,6 +39091,10 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirect-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -38933,6 +39127,14 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirect-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -39049,6 +39251,14 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -39422,13 +39632,13 @@ "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -39939,10 +40149,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -39977,6 +40183,10 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -40009,6 +40219,14 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -40125,6 +40343,14 @@ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -40498,13 +40724,13 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -40973,10 +41199,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -41011,6 +41233,10 @@ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -41043,6 +41269,14 @@ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -41159,6 +41393,14 @@ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -41532,13 +41774,13 @@ "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -42057,10 +42299,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -42127,6 +42365,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksNV-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -42239,6 +42485,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -43057,10 +43311,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -43127,6 +43377,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -43239,6 +43497,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -44085,10 +44351,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -44155,6 +44417,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -44267,6 +44537,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -45079,10 +45357,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -45149,6 +45423,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -45261,6 +45543,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -46079,10 +46369,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -46149,6 +46435,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -46261,6 +46555,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -47135,10 +47437,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -47205,6 +47503,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -47317,6 +47623,14 @@ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -48109,10 +48423,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -48179,6 +48489,14 @@ { "vuid": "VUID-vkCmdDrawClusterHUAWEI-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -48291,6 +48609,14 @@ { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -49101,10 +49427,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -49171,6 +49493,14 @@ { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -49283,6 +49613,14 @@ { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_HUAWEI_cluster_culling_shader)+(VK_HUAWEI_cluster_culling_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -52204,6 +52542,58 @@ } ] }, + "vkCmdSetDiscardRectangleEnableEXT": { + "(VK_EXT_discard_rectangles)": [ + { + "vuid": "VUID-vkCmdSetDiscardRectangleEnableEXT-specVersion-07851", + "text": " The <code><a href=\"#VK_EXT_discard_rectangles\">VK_EXT_discard_rectangles</a></code> extension <strong class=\"purple\">must</strong> be enabled, and the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of this extension" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleEnableEXT-commandBuffer-parameter", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleEnableEXT-commandBuffer-recording", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleEnableEXT-commandBuffer-cmdpool", + "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleEnableEXT-videocoding", + "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope" + } + ] + }, + "vkCmdSetDiscardRectangleModeEXT": { + "(VK_EXT_discard_rectangles)": [ + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-specVersion-07852", + "text": " The <code><a href=\"#VK_EXT_discard_rectangles\">VK_EXT_discard_rectangles</a></code> extension <strong class=\"purple\">must</strong> be enabled, and the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of this extension" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-commandBuffer-parameter", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-discardRectangleMode-parameter", + "text": " <code>discardRectangleMode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDiscardRectangleModeEXT\">VkDiscardRectangleModeEXT</a> value" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-commandBuffer-recording", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-commandBuffer-cmdpool", + "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations" + }, + { + "vuid": "VUID-vkCmdSetDiscardRectangleModeEXT-videocoding", + "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope" + } + ] + }, "vkCmdSetScissor": { "core": [ { @@ -52338,6 +52728,38 @@ } ] }, + "vkCmdSetExclusiveScissorEnableNV": { + "(VK_NV_scissor_exclusive)": [ + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissor-07853", + "text": " The <a href=\"#features-exclusiveScissor\"><code>exclusiveScissor</code></a> feature <strong class=\"purple\">must</strong> be enabled, and the implementation <strong class=\"purple\">must</strong> support at least <code>specVersion</code> <code>2</code> of the <code><a href=\"#VK_NV_scissor_exclusive\">VK_NV_scissor_exclusive</a></code> extension" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-parameter", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-pExclusiveScissorEnables-parameter", + "text": " <code>pExclusiveScissorEnables</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>exclusiveScissorCount</code> <a href=\"#VkBool32\">VkBool32</a> values" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-recording", + "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-cmdpool", + "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-videocoding", + "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope" + }, + { + "vuid": "VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissorCount-arraylength", + "text": " <code>exclusiveScissorCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" + } + ] + }, "vkCmdSetSampleMaskEXT": { "(VK_EXT_extended_dynamic_state3)": [ { @@ -53314,7 +53736,7 @@ "(VK_EXT_extended_dynamic_state3)+(VK_EXT_blend_operation_advanced)": [ { "vuid": "VUID-VkColorBlendEquationEXT-colorBlendOp-07361", - "text": " <code>colorBlendOp</code> and <code>alphaBlendOp</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_OP_ZERO_EXT</code>, <code>VK_BLEND_OP_SRC_EXT</code>, <code>VK_BLEND_OP_DST_EXT</code>, <code>VK_BLEND_OP_SRC_OVER_EXT</code>, <code>VK_BLEND_OP_DST_OVER_EXT</code>, <code>VK_BLEND_OP_SRC_IN_EXT</code>, <code>VK_BLEND_OP_DST_IN_EXT</code>, <code>VK_BLEND_OP_SRC_OUT_EXT</code>, <code>VK_BLEND_OP_DST_OUT_EXT</code>, <code>VK_BLEND_OP_SRC_ATOP_EXT</code>, <code>VK_BLEND_OP_DST_ATOP_EXT</code>, <code>VK_BLEND_OP_XOR_EXT</code>, <code>VK_BLEND_OP_INVERT_EXT</code>, <code>VK_BLEND_OP_INVERT_RGB_EXT</code>, <code>VK_BLEND_OP_LINEARDODGE_EXT</code>, <code>VK_BLEND_OP_LINEARBURN_EXT</code>, <code>VK_BLEND_OP_VIVIDLIGHT_EXT</code>, <code>VK_BLEND_OP_LINEARLIGHT_EXT</code>, <code>VK_BLEND_OP_PINLIGHT_EXT</code>, <code>VK_BLEND_OP_HARDMIX_EXT</code>, <code>VK_BLEND_OP_PLUS_EXT</code>, <code>VK_BLEND_OP_PLUS_CLAMPED_EXT</code>, <code>VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT</code>, <code>VK_BLEND_OP_PLUS_DARKER_EXT</code>, <code>VK_BLEND_OP_MINUS_EXT</code>, <code>VK_BLEND_OP_MINUS_CLAMPED_EXT</code>, <code>VK_BLEND_OP_CONTRAST_EXT</code>, <code>VK_BLEND_OP_INVERT_OVG_EXT</code>, <code>VK_BLEND_OP_RED_EXT</code>, <code>VK_BLEND_OP_GREEN_EXT</code>, or <code>VK_BLEND_OP_BLUE_EXT</code>" + "text": " <code>colorBlendOp</code> and <code>alphaBlendOp</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_OP_ZERO_EXT</code>, <code>VK_BLEND_OP_SRC_EXT</code>, <code>VK_BLEND_OP_DST_EXT</code>, <code>VK_BLEND_OP_SRC_OVER_EXT</code>, <code>VK_BLEND_OP_DST_OVER_EXT</code>, <code>VK_BLEND_OP_SRC_IN_EXT</code>, <code>VK_BLEND_OP_DST_IN_EXT</code>, <code>VK_BLEND_OP_SRC_OUT_EXT</code>, <code>VK_BLEND_OP_DST_OUT_EXT</code>, <code>VK_BLEND_OP_SRC_ATOP_EXT</code>, <code>VK_BLEND_OP_DST_ATOP_EXT</code>, <code>VK_BLEND_OP_XOR_EXT</code>, <code>VK_BLEND_OP_MULTIPLY_EXT</code>, <code>VK_BLEND_OP_SCREEN_EXT</code>, <code>VK_BLEND_OP_OVERLAY_EXT</code>, <code>VK_BLEND_OP_DARKEN_EXT</code>, <code>VK_BLEND_OP_LIGHTEN_EXT</code>, <code>VK_BLEND_OP_COLORDODGE_EXT</code>, <code>VK_BLEND_OP_COLORBURN_EXT</code>, <code>VK_BLEND_OP_HARDLIGHT_EXT</code>, <code>VK_BLEND_OP_SOFTLIGHT_EXT</code>, <code>VK_BLEND_OP_DIFFERENCE_EXT</code>, <code>VK_BLEND_OP_EXCLUSION_EXT</code>, <code>VK_BLEND_OP_INVERT_EXT</code>, <code>VK_BLEND_OP_INVERT_RGB_EXT</code>, <code>VK_BLEND_OP_LINEARDODGE_EXT</code>, <code>VK_BLEND_OP_LINEARBURN_EXT</code>, <code>VK_BLEND_OP_VIVIDLIGHT_EXT</code>, <code>VK_BLEND_OP_LINEARLIGHT_EXT</code>, <code>VK_BLEND_OP_PINLIGHT_EXT</code>, <code>VK_BLEND_OP_HARDMIX_EXT</code>, <code>VK_BLEND_OP_HSL_HUE_EXT</code>, <code>VK_BLEND_OP_HSL_SATURATION_EXT</code>, <code>VK_BLEND_OP_HSL_COLOR_EXT</code>, <code>VK_BLEND_OP_HSL_LUMINOSITY_EXT</code>, <code>VK_BLEND_OP_PLUS_EXT</code>, <code>VK_BLEND_OP_PLUS_CLAMPED_EXT</code>, <code>VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT</code>, <code>VK_BLEND_OP_PLUS_DARKER_EXT</code>, <code>VK_BLEND_OP_MINUS_EXT</code>, <code>VK_BLEND_OP_MINUS_CLAMPED_EXT</code>, <code>VK_BLEND_OP_CONTRAST_EXT</code>, <code>VK_BLEND_OP_INVERT_OVG_EXT</code>, <code>VK_BLEND_OP_RED_EXT</code>, <code>VK_BLEND_OP_GREEN_EXT</code>, or <code>VK_BLEND_OP_BLUE_EXT</code>" } ], "(VK_EXT_extended_dynamic_state3)+(VK_KHR_portability_subset)": [ @@ -55549,10 +55971,6 @@ "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_FRONT_FACE</code> dynamic state enabled then <a href=\"#vkCmdSetFrontFace\">vkCmdSetFrontFace</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07842", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" - }, - { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07843", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE</code> dynamic state enabled then <a href=\"#vkCmdSetDepthTestEnable\">vkCmdSetDepthTestEnable</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" }, @@ -55587,6 +56005,10 @@ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419", "text": " If the bound graphics pipeline state was created with both the <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT</code> and <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic states enabled then both <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a> and <a href=\"#vkCmdSetScissorWithCount\">vkCmdSetScissorWithCount</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>viewportCount</code> parameter of <code>vkCmdSetViewportWithCount</code> <strong class=\"purple\">must</strong> match the <code>scissorCount</code> parameter of <code>vkCmdSetScissorWithCount</code>" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07842", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_NV_clip_space_w_scaling)": [ @@ -55619,6 +56041,14 @@ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-VkPipelineVieportCreateInfo-04142", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code> dynamic state enabled and a <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a> structure chained from <a href=\"#VkPipelineViewportStateCreateInfo\">VkPipelineViewportStateCreateInfo</a>, then the bound graphics pipeline <strong class=\"purple\">must</strong> have been created with <a href=\"#VkPipelineViewportExclusiveScissorStateCreateInfoNV\">VkPipelineViewportExclusiveScissorStateCreateInfoNV</a>::<code>exclusiveScissorCount</code> greater or equal to the <code>viewportCount</code> parameter in the last call to <a href=\"#vkCmdSetViewportWithCount\">vkCmdSetViewportWithCount</a>" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07878", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorEnableNV\">vkCmdSetExclusiveScissorEnableNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07879", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV</code> dynamic state enabled then <a href=\"#vkCmdSetExclusiveScissorNV\">vkCmdSetExclusiveScissorNV</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state2)": [ @@ -55735,6 +56165,14 @@ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07751", "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEXT\">vkCmdSetDiscardRectangleEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command for each discard rectangle in <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a>::<code>discardRectangleCount</code>" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07880", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleEnableEXT\">vkCmdSetDiscardRectangleEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07881", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetDiscardRectangleModeEXT\">vkCmdSetDiscardRectangleModeEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -56108,13 +56546,13 @@ "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+!(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-primitiveTopology-03420", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_extended_dynamic_state3)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-dynamicPrimitiveTopologyUnrestricted-07500", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter in the last call to <a href=\"#vkCmdSetPrimitiveTopology\">vkCmdSetPrimitiveTopology</a> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY</code> dynamic state enabled and the <a href=\"#limits-dynamicPrimitiveTopologyUnrestricted\"><code>dynamicPrimitiveTopologyUnrestricted</code></a> is <code>VK_FALSE</code>, then the <code>primitiveTopology</code> parameter of <code>vkCmdSetPrimitiveTopology</code> <strong class=\"purple\">must</strong> be of the same <a href=\"#drawing-primitive-topology-class\">topology class</a> as the pipeline <a href=\"#VkPipelineInputAssemblyStateCreateInfo\">VkPipelineInputAssemblyStateCreateInfo</a>::<code>topology</code> state" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_EXT_extended_dynamic_state)+(VK_EXT_vertex_input_dynamic_state)": [ @@ -68446,6 +68884,14 @@ } ] }, + "VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT": { + "(VK_EXT_image_sliced_view_of_3d)": [ + { + "vuid": "VUID-VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT</code>" + } + ] + }, "VkPhysicalDeviceImageCompressionControlFeaturesEXT": { "(VK_EXT_image_compression_control)": [ { @@ -68574,6 +69020,14 @@ } ] }, + "VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM": { + "(VK_QCOM_multiview_per_view_render_areas)": [ + { + "vuid": "VUID-VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM</code>" + } + ] + }, "VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI": { "(VK_HUAWEI_cluster_culling_shader)": [ { @@ -69074,6 +69528,14 @@ } ] }, + "VkPhysicalDeviceShaderCorePropertiesARM": { + "(VK_ARM_shader_core_properties)": [ + { + "vuid": "VUID-VkPhysicalDeviceShaderCorePropertiesARM-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM</code>" + } + ] + }, "vkGetPhysicalDeviceMultisamplePropertiesEXT": { "(VK_EXT_sample_locations)": [ { @@ -69623,6 +70085,18 @@ "text": " <code>pNameInfo->objectHandle</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>" }, { + "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-07872", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of an instance-level object, the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code> <strong class=\"purple\">must</strong> be a descendent of the same <a href=\"#VkInstance\">VkInstance</a> as the object identified by <code>pNameInfo->pname</code>:objectHandle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-07873", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of a physical-device-level object, the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code> <strong class=\"purple\">must</strong> be a descendant of the same <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> as the object identified by <code>pNameInfo->pname</code>:objectHandle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-07874", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of a device-level object, that object <strong class=\"purple\">must</strong> be a descendent of the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code>" + }, + { "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-device-parameter", "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" }, @@ -69659,6 +70133,18 @@ "vkSetDebugUtilsObjectTagEXT": { "(VK_EXT_debug_utils)": [ { + "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-pNameInfo-07875", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of an instance-level object, the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code> <strong class=\"purple\">must</strong> be a descendent of the same <a href=\"#VkInstance\">VkInstance</a> as the object identified by <code>pNameInfo->pname</code>:objectHandle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-pNameInfo-07876", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of a physical-device-level object, the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code> <strong class=\"purple\">must</strong> be a descendant of the same <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> as the object identified by <code>pNameInfo->pname</code>:objectHandle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-pNameInfo-07877", + "text": " If <code>pNameInfo->pname</code>:objectHandle is the valid handle of a device-level object, that object <strong class=\"purple\">must</strong> be a descendent of the <a href=\"#VkDevice\">VkDevice</a> identified by <code>device</code>" + }, + { "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-device-parameter", "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" }, diff --git a/registry/video.xml b/registry/video.xml index a383e1c..18f5952 100644 --- a/registry/video.xml +++ b/registry/video.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <registry> <comment> -Copyright 2021-2022 The Khronos Group Inc. +Copyright 2021-2023 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT </comment> diff --git a/registry/vk.xml b/registry/vk.xml index cca9fd7..8693f9d 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <registry> <comment> -Copyright 2015-2022 The Khronos Group Inc. +Copyright 2015-2023 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT </comment> @@ -32,6 +32,7 @@ branch of the member gitlab server. <platform name="metal" protect="VK_USE_PLATFORM_METAL_EXT" comment="Metal on CoreAnimation on Apple platforms"/> <platform name="fuchsia" protect="VK_USE_PLATFORM_FUCHSIA" comment="Fuchsia"/> <platform name="ggp" protect="VK_USE_PLATFORM_GGP" comment="Google Games Platform"/> + <platform name="sci" protect="VK_USE_PLATFORM_SCI" comment="NVIDIA SCI"/> <platform name="provisional" protect="VK_ENABLE_BETA_EXTENSIONS" comment="Enable declarations for beta/provisional extensions"/> <platform name="screen" protect="VK_USE_PLATFORM_SCREEN_QNX" comment="QNX Screen Graphics Subsystem"/> </platforms> @@ -66,7 +67,7 @@ branch of the member gitlab server. <tag name="KHR" author="Khronos" contact="Tom Olson @tomolson"/> <tag name="KHX" author="Khronos" contact="Tom Olson @tomolson"/> <tag name="EXT" author="Multivendor" contact="Jon Leech @oddhack"/> - <tag name="MESA" author="Mesa open source project" contact="Chad Versace @chadversary, Daniel Stone @fooishbar, David Airlie @airlied, Jason Ekstrand @jekstrand"/> + <tag name="MESA" author="Mesa open source project" contact="Chad Versace @chadversary, Daniel Stone @fooishbar, David Airlie @airlied, Faith Ekstrand @gfxstrand"/> <tag name="INTEL" author="Intel Corporation" contact="Slawek Grajewski @sgrajewski"/> <tag name="HUAWEI" author="Huawei Technologies Co. Ltd." contact="Pan Gao @PanGao-h, Juntao Li @Lawrenceleehw"/> <tag name="VALVE" author="Valve Corporation" contact="Pierre-Loup Griffais @plagman, Joshua Ashton @Joshua-Ashton, Hans-Kristian Arntzen @HansKristian-Work"/> @@ -90,6 +91,8 @@ branch of the member gitlab server. <type category="include" name="zircon/types.h"/> <type category="include" name="ggp_c/vulkan_types.h"/> <type category="include" name="screen/screen.h"/> + <type category="include" name="nvscisync.h"/> + <type category="include" name="nvscibuf.h"/> <comment> In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -130,41 +133,56 @@ branch of the member gitlab server. <type requires="ggp_c/vulkan_types.h" name="GgpFrameToken"/> <type requires="screen/screen.h" name="_screen_context"/> <type requires="screen/screen.h" name="_screen_window"/> + <type requires="nvscisync.h" name="NvSciSyncAttrList"/> + <type requires="nvscisync.h" name="NvSciSyncObj"/> + <type requires="nvscisync.h" name="NvSciSyncFence"/> + <type requires="nvscibuf.h" name="NvSciBufAttrList"/> + <type requires="nvscibuf.h" name="NvSciBufObj"/> - <type category="define">// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. + <type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. #define <name>VK_MAKE_VERSION</name>(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))</type> - <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) >> 22)</type> - <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12) & 0x3FFU)</type> - <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))</type> + <type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. +#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) >> 22U)</type> + <type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. +#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12U) & 0x3FFU)</type> + <type category="define" deprecated="true">// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xFFFU)</type> <type category="define">#define <name>VK_MAKE_API_VERSION</name>(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))</type> - <type category="define">#define <name>VK_API_VERSION_VARIANT</name>(version) ((uint32_t)(version) >> 29)</type> - <type category="define">#define <name>VK_API_VERSION_MAJOR</name>(version) (((uint32_t)(version) >> 22) & 0x7FU)</type> - <type category="define">#define <name>VK_API_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12) & 0x3FFU)</type> + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))</type> + <type category="define">#define <name>VK_API_VERSION_VARIANT</name>(version) ((uint32_t)(version) >> 29U)</type> + <type category="define">#define <name>VK_API_VERSION_MAJOR</name>(version) (((uint32_t)(version) >> 22U) & 0x7FU)</type> + <type category="define">#define <name>VK_API_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12U) & 0x3FFU)</type> <type category="define">#define <name>VK_API_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xFFFU)</type> + <type category="define" requires="VK_HEADER_VERSION">// Vulkan SC variant number +#define <name>VKSC_API_VARIANT</name> 1</type> + <type category="define">// 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. -//#define <name>VK_API_VERSION</name> <type>VK_MAKE_VERSION</type>(1, 0, 0) // Patch version should always be set to 0</type> - <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.0 version number +//#define <name>VK_API_VERSION</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0) // Patch version should always be set to 0</type> + <type category="define">// Vulkan 1.0 version number #define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 0, 0)// Patch version should always be set to 0</type> - <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.1 version number + <type category="define">// Vulkan 1.1 version number #define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 1, 0)// Patch version should always be set to 0</type> - <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number + <type category="define">// Vulkan 1.2 version number #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, 0)// Patch version should always be set to 0</type> <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number #define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type> - <type category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 240</type> - <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file + <type category="define" requires="VKSC_API_VARIANT">// Vulkan SC 1.0 version number +#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type> + + <type api="vulkan" category="define">// Version of this file +#define <name>VK_HEADER_VERSION</name> 241</type> + <type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type> + <type api="vulkansc" category="define">// Version of this file +#define <name>VK_HEADER_VERSION</name> 12</type> + <type api="vulkansc" category="define" requires="VKSC_API_VARIANT">// Complete version of this file +#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION)</type> <type category="define"> -#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type> +#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* (object);</type> <type category="define" name="VK_USE_64_BIT_PTR_DEFINES"> #ifndef VK_USE_64_BIT_PTR_DEFINES @@ -192,9 +210,9 @@ branch of the member gitlab server. <type category="define" requires="VK_NULL_HANDLE" name="VK_DEFINE_NON_DISPATCHABLE_HANDLE"> #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); #else - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); #endif #endif</type> @@ -267,9 +285,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="VkSamplerCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkSamplerCreateFlags</name>;</type> <type requires="VkPipelineLayoutCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineLayoutCreateFlags</name>;</type> <type requires="VkPipelineCacheCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCacheCreateFlags</name>;</type> - <type requires="VkPipelineDepthStencilStateCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineDepthStencilStateCreateFlags</name>;</type> + <type api="vulkan" requires="VkPipelineDepthStencilStateCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineDepthStencilStateCreateFlags</name>;</type> + <type api="vulkansc" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineDepthStencilStateCreateFlags</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineDynamicStateCreateFlags</name>;</type> - <type requires="VkPipelineColorBlendStateCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineColorBlendStateCreateFlags</name>;</type> + <type api="vulkan" requires="VkPipelineColorBlendStateCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineColorBlendStateCreateFlags</name>;</type> + <type api="vulkansc" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineColorBlendStateCreateFlags</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineMultisampleStateCreateFlags</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineRasterizationStateCreateFlags</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineViewportStateCreateFlags</name>;</type> @@ -342,6 +362,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="VkPipelineCompilerControlFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineCompilerControlFlagsAMD</name>;</type> <type requires="VkShaderCorePropertiesFlagBitsAMD" category="bitmask">typedef <type>VkFlags</type> <name>VkShaderCorePropertiesFlagsAMD</name>;</type> <type requires="VkDeviceDiagnosticsConfigFlagBitsNV" category="bitmask">typedef <type>VkFlags</type> <name>VkDeviceDiagnosticsConfigFlagsNV</name>;</type> + <type requires="VkRefreshObjectFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkRefreshObjectFlagsKHR</name>;</type> <type bitvalues="VkAccessFlagBits2" category="bitmask">typedef <type>VkFlags64</type> <name>VkAccessFlags2</name>;</type> <type category="bitmask" name="VkAccessFlags2KHR" alias="VkAccessFlags2"/> <type bitvalues="VkPipelineStageFlagBits2" category="bitmask">typedef <type>VkFlags64</type> <name>VkPipelineStageFlags2</name>;</type> @@ -539,6 +560,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_VIDEO_SESSION_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkVideoSessionKHR</name>)</type> <type category="handle" parent="VkVideoSessionKHR" objtypeenum="VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkVideoSessionParametersKHR</name>)</type> + <comment>VK_NV_external_sci_sync2</comment> + <type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSemaphoreSciSyncPoolNV</name>)</type> + <comment>Types generated from corresponding enums tags below</comment> <type name="VkAttachmentLoadOp" category="enum"/> <type name="VkAttachmentStoreOp" category="enum"/> @@ -692,6 +716,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkShaderModuleCreateFlagBits" category="enum"/> <type name="VkPipelineCompilerControlFlagBitsAMD" category="enum"/> <type name="VkShaderCorePropertiesFlagBitsAMD" category="enum"/> + <type name="VkRefreshObjectFlagBitsKHR" category="enum"/> + <type name="VkFaultLevel" category="enum"/> + <type name="VkFaultType" category="enum"/> + <type name="VkFaultQueryBehavior" category="enum"/> + <type name="VkPipelineMatchControl" category="enum"/> + <type name="VkSciSyncClientTypeNV" category="enum"/> + <type name="VkSciSyncPrimitiveTypeNV" category="enum"/> <type name="VkToolPurposeFlagBits" category="enum"/> <type category="enum" name="VkToolPurposeFlagBitsEXT" alias="VkToolPurposeFlagBits"/> <type name="VkFragmentShadingRateNV" category="enum"/> @@ -702,6 +733,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineStageFlagBits2" category="enum"/> <type category="enum" name="VkPipelineStageFlagBits2KHR" alias="VkPipelineStageFlagBits2"/> <type name="VkProvokingVertexModeEXT" category="enum"/> + <type name="VkPipelineCacheValidationVersion" category="enum"/> <type name="VkImageFormatConstraintsFlagBitsFUCHSIA" category="enum"/> <type name="VkImageConstraintsInfoFlagBitsFUCHSIA" category="enum"/> <type name="VkFormatFeatureFlagBits2" category="enum"/> @@ -895,6 +927,12 @@ typedef void* <name>MTLSharedEvent_id</name>; const <type>VkDebugUtilsMessengerCallbackDataEXT</type>* pCallbackData, <type>void</type>* pUserData);</type> + <comment>The PFN_vkFaultCallbackFunction type is used by VKSC_VERSION_1_0</comment> + <type category="funcpointer">typedef void (VKAPI_PTR *<name>PFN_vkFaultCallbackFunction</name>)( + <type>VkBool32</type> unrecordedFaults, + <type>uint32_t</type> faultCount, + const <type>VkFaultData</type>* pFaults);</type> + <comment>The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension</comment> <type category="funcpointer" requires="VkDeviceMemoryReportCallbackDataEXT">typedef void (VKAPI_PTR *<name>PFN_vkDeviceMemoryReportCallbackEXT</name>)( const <type>VkDeviceMemoryReportCallbackDataEXT</type>* pCallbackData, @@ -1011,8 +1049,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>VkDeviceCreateFlags</type> <name>flags</name></member> <member><type>uint32_t</type> <name>queueCreateInfoCount</name></member> <member len="queueCreateInfoCount">const <type>VkDeviceQueueCreateInfo</type>* <name>pQueueCreateInfos</name></member> - <member optional="true"><type>uint32_t</type> <name>enabledLayerCount</name></member> - <member len="enabledLayerCount,null-terminated">const <type>char</type>* const* <name>ppEnabledLayerNames</name><comment>Ordered list of layer names to be enabled</comment></member> + <member optional="true" deprecated="ignored"><type>uint32_t</type> <name>enabledLayerCount</name></member> + <member len="enabledLayerCount,null-terminated" deprecated="ignored">const <type>char</type>* const* <name>ppEnabledLayerNames</name><comment>Ordered list of layer names to be enabled</comment></member> <member optional="true"><type>uint32_t</type> <name>enabledExtensionCount</name></member> <member len="enabledExtensionCount,null-terminated">const <type>char</type>* const* <name>ppEnabledExtensionNames</name></member> <member optional="true">const <type>VkPhysicalDeviceFeatures</type>* <name>pEnabledFeatures</name></member> @@ -1368,8 +1406,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkPipelineShaderStageCreateFlags</type> <name>flags</name></member> <member><type>VkShaderStageFlagBits</type> <name>stage</name><comment>Shader stage</comment></member> - <member optional="true"><type>VkShaderModule</type> <name>module</name><comment>Module containing entry point</comment></member> - <member len="null-terminated">const <type>char</type>* <name>pName</name><comment>Null-terminated entry point name</comment></member> + <member optional="true"><type>VkShaderModule</type> <name>module</name><comment>Module containing entry point</comment></member> + <member api="vulkan" len="null-terminated">const <type>char</type>* <name>pName</name><comment>Null-terminated entry point name</comment></member> + <member api="vulkansc" optional="true" len="null-terminated">const <type>char</type>* <name>pName</name><comment>Null-terminated entry point name</comment></member> <member optional="true">const <type>VkSpecializationInfo</type>* <name>pSpecializationInfo</name></member> </type> <type category="struct" name="VkComputePipelineCreateInfo"> @@ -1503,8 +1542,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkPipelineCreateFlags</type> <name>flags</name><comment>Pipeline creation flags</comment></member> - <member noautovalidity="true" optional="true"><type>uint32_t</type> <name>stageCount</name></member> - <member noautovalidity="true" len="stageCount" optional="true">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member> + <member noautovalidity="true" optional="true"><type>uint32_t</type> <name>stageCount</name></member> + <member api="vulkan" noautovalidity="true" len="stageCount" optional="true">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member> + <member api="vulkansc" noautovalidity="true" len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member> <member noautovalidity="true" optional="true">const <type>VkPipelineVertexInputStateCreateInfo</type>* <name>pVertexInputState</name></member> <member noautovalidity="true" optional="true">const <type>VkPipelineInputAssemblyStateCreateInfo</type>* <name>pInputAssemblyState</name></member> <member noautovalidity="true" optional="true">const <type>VkPipelineTessellationStateCreateInfo</type>* <name>pTessellationState</name></member> @@ -1524,7 +1564,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <member values="VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkPipelineCacheCreateFlags</type> <name>flags</name></member> - <member optional="true"><type>size_t</type> <name>initialDataSize</name><comment>Size of initial data to populate cache, in bytes</comment></member> + <member api="vulkan" optional="true"><type>size_t</type> <name>initialDataSize</name><comment>Size of initial data to populate cache, in bytes</comment></member> + <member api="vulkansc"><type>size_t</type> <name>initialDataSize</name><comment>Size of initial data to populate cache, in bytes</comment></member> <member len="initialDataSize">const <type>void</type>* <name>pInitialData</name><comment>Initial data to populate cache</comment></member> </type> <type category="struct" name="VkPipelineCacheHeaderVersionOne"> @@ -1535,6 +1576,30 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>uint32_t</type> <name>deviceID</name></member> <member><type>uint8_t</type> <name>pipelineCacheUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> </type> + <type category="struct" name="VkPipelineCacheStageValidationIndexEntry"> + <comment>The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout.</comment> + <member><type>uint64_t</type> <name>codeSize</name></member> + <member><type>uint64_t</type> <name>codeOffset</name></member> + </type> + <type category="struct" name="VkPipelineCacheSafetyCriticalIndexEntry"> + <comment>The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout.</comment> + <member><type>uint8_t</type> <name>pipelineIdentifier</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member><type>uint64_t</type> <name>pipelineMemorySize</name></member> + <member><type>uint64_t</type> <name>jsonSize</name></member> + <member><type>uint64_t</type> <name>jsonOffset</name></member> + <member><type>uint32_t</type> <name>stageIndexCount</name></member> + <member><type>uint32_t</type> <name>stageIndexStride</name></member> + <member><type>uint64_t</type> <name>stageIndexOffset</name></member> + </type> + <type category="struct" name="VkPipelineCacheHeaderVersionSafetyCriticalOne"> + <comment>The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout.</comment> + <member><type>VkPipelineCacheHeaderVersionOne</type> <name>headerVersionOne</name></member> + <member><type>VkPipelineCacheValidationVersion</type> <name>validationVersion</name></member> + <member><type>uint32_t</type> <name>implementationData</name></member> + <member><type>uint32_t</type> <name>pipelineIndexCount</name></member> + <member><type>uint32_t</type> <name>pipelineIndexStride</name></member> + <member><type>uint64_t</type> <name>pipelineIndexOffset</name></member> + </type> <type category="struct" name="VkPushConstantRange"> <member><type>VkShaderStageFlags</type> <name>stageFlags</name><comment>Which stages use the range</comment></member> <member><type>uint32_t</type> <name>offset</name><comment>Start of the range, in bytes</comment></member> @@ -2083,7 +2148,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>VkCompositeAlphaFlagBitsKHR</type> <name>compositeAlpha</name><comment>The alpha blending mode used when compositing this surface with other surfaces in the window system</comment></member> <member><type>VkPresentModeKHR</type> <name>presentMode</name><comment>Which presentation mode to use for presents on this swap chain</comment></member> <member><type>VkBool32</type> <name>clipped</name><comment>Specifies whether presentable images may be affected by window clip regions</comment></member> - <member optional="true"><type>VkSwapchainKHR</type> <name>oldSwapchain</name><comment>Existing swap chain to replace, if any</comment></member> + <member api="vulkan" optional="true"><type>VkSwapchainKHR</type> <name>oldSwapchain</name><comment>Existing swap chain to replace, if any</comment></member> + <member api="vulkansc" noautovalidity="true" optional="true"><type>VkSwapchainKHR</type> <name>oldSwapchain</name><comment>Existing swap chain to replace, if any</comment></member> </type> <type category="struct" name="VkPresentInfoKHR"> <member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> @@ -2116,6 +2182,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>uint32_t</type> <name>disabledValidationFeatureCount</name><comment>Number of validation features to disable</comment></member> <member len="disabledValidationFeatureCount">const <type>VkValidationFeatureDisableEXT</type>* <name>pDisabledValidationFeatures</name><comment>Validation features to disable</comment></member> </type> + <type category="struct" name="VkApplicationParametersEXT" allowduplicate="true" structextends="VkApplicationInfo,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>vendorID</name></member> + <member optional="true"><type>uint32_t</type> <name>deviceID</name></member> + <member><type>uint32_t</type> <name>key</name></member> + <member><type>uint64_t</type> <name>value</name></member> + </type> <type category="struct" name="VkPipelineRasterizationStateRasterizationOrderAMD" structextends="VkPipelineRasterizationStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -2187,6 +2261,35 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>SECURITY_ATTRIBUTES</type>* <name>pAttributes</name></member> <member optional="true"><type>DWORD</type> <name>dwAccess</name></member> </type> + <type category="struct" name="VkExportMemorySciBufInfoNV" structextends="VkMemoryAllocateInfo"> + <member values="VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>NvSciBufAttrList</type> <name>pAttributes</name></member> + </type> + <type category="struct" name="VkImportMemorySciBufInfoNV" structextends="VkMemoryAllocateInfo"> + <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member> + <member><type>NvSciBufObj</type> <name>handle</name></member> + </type> + <type category="struct" name="VkMemoryGetSciBufInfoNV"> + <member values="VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkDeviceMemory</type> <name>memory</name></member> + <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member> + </type> + <type category="struct" name="VkMemorySciBufPropertiesNV"> + <member values="VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>memoryTypeBits</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceExternalMemorySciBufFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>sciBufImport</name></member> + <member><type>VkBool32</type> <name>sciBufExport</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceExternalSciBufFeaturesNV" alias="VkPhysicalDeviceExternalMemorySciBufFeaturesNV"/> <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoNV" structextends="VkSubmitInfo,VkSubmitInfo2"> <member values="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -2698,6 +2801,80 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>VkFence</type> <name>fence</name></member> <member><type>VkExternalFenceHandleTypeFlagBits</type> <name>handleType</name></member> </type> + <type category="struct" name="VkExportFenceSciSyncInfoNV" structextends="VkFenceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>NvSciSyncAttrList</type> <name>pAttributes</name></member> + </type> + <type category="struct" name="VkImportFenceSciSyncInfoNV"> + <member values="VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member externsync="true"><type>VkFence</type> <name>fence</name></member> + <member><type>VkExternalFenceHandleTypeFlagBits</type> <name>handleType</name></member> + <member><type>void</type>* <name>handle</name></member> + </type> + <type category="struct" name="VkFenceGetSciSyncInfoNV"> + <member values="VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkFence</type> <name>fence</name></member> + <member><type>VkExternalFenceHandleTypeFlagBits</type> <name>handleType</name></member> + </type> + <type category="struct" name="VkExportSemaphoreSciSyncInfoNV" structextends="VkSemaphoreCreateInfo"> + <member values="VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>NvSciSyncAttrList</type> <name>pAttributes</name></member> + </type> + <type category="struct" name="VkImportSemaphoreSciSyncInfoNV"> + <member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member externsync="true"><type>VkSemaphore</type> <name>semaphore</name></member> + <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member> + <member><type>void</type>* <name>handle</name></member> + </type> + <type category="struct" name="VkSemaphoreGetSciSyncInfoNV"> + <member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkSemaphore</type> <name>semaphore</name></member> + <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member> + </type> + <type category="struct" name="VkSciSyncAttributesInfoNV"> + <member values="VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkSciSyncClientTypeNV</type> <name>clientType</name></member> + <member><type>VkSciSyncPrimitiveTypeNV</type> <name>primitiveType</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceExternalSciSyncFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>sciSyncFence</name></member> + <member><type>VkBool32</type> <name>sciSyncSemaphore</name></member> + <member><type>VkBool32</type> <name>sciSyncImport</name></member> + <member><type>VkBool32</type> <name>sciSyncExport</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceExternalSciSync2FeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>sciSyncFence</name></member> + <member><type>VkBool32</type> <name>sciSyncSemaphore2</name></member> + <member><type>VkBool32</type> <name>sciSyncImport</name></member> + <member><type>VkBool32</type> <name>sciSyncExport</name></member> + </type> + <type category="struct" name="VkSemaphoreSciSyncPoolCreateInfoNV"> + <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>NvSciSyncObj</type> <name>handle</name></member> + </type> + <type category="struct" name="VkSemaphoreSciSyncCreateInfoNV" structextends="VkSemaphoreCreateInfo"> + <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkSemaphoreSciSyncPoolNV</type> <name>semaphorePool</name></member> + <member>const <type>NvSciSyncFence</type>* <name>pFence</name></member> + </type> + <type category="struct" name="VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV" allowduplicate="true" structextends="VkDeviceObjectReservationCreateInfo"> + <member values="VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>semaphoreSciSyncPoolRequestCount</name></member> + </type> <type category="struct" name="VkPhysicalDeviceMultiviewFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -3180,6 +3357,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkImageUsageFlags</type> <name>usage</name></member> </type> + <type category="struct" name="VkImageViewSlicedCreateInfoEXT" structextends="VkImageViewCreateInfo"> + <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>sliceOffset</name></member> + <member><type>uint32_t</type> <name>sliceCount</name></member> + </type> <type category="struct" name="VkImageViewUsageCreateInfoKHR" alias="VkImageViewUsageCreateInfo"/> <type category="struct" name="VkPipelineTessellationDomainOriginStateCreateInfo" structextends="VkPipelineTessellationStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> @@ -4834,6 +5017,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>counterPassIndex</name><comment>Index for which counter pass to submit</comment></member> </type> + <type category="struct" name="VkPerformanceQueryReservationInfoKHR" allowduplicate="true" structextends="VkDeviceObjectReservationCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxPerformanceQueriesPerPool</name><comment>Maximum number of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR queries in a query pool</comment></member> + </type> <type category="struct" name="VkHeadlessSurfaceCreateInfoEXT"> <member values="VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -5330,6 +5518,19 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>deviceCoherentMemory</name></member> </type> + <type category="struct" name="VkFaultData" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_FAULT_DATA"><type>VkStructureType</type> <name>sType</name></member> + <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkFaultLevel</type> <name>faultLevel</name></member> + <member><type>VkFaultType</type> <name>faultType</name></member> + </type> + <type category="struct" name="VkFaultCallbackInfo" structextends="VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member optional="true"><type>uint32_t</type> <name>faultCount</name></member> + <member optional="true" len="faultCount"><type>VkFaultData</type>*<name>pFaults</name></member> + <member><type>PFN_vkFaultCallbackFunction</type> <name>pfnFaultCallback</name></member> + </type> <type category="struct" name="VkPhysicalDeviceToolProperties" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -5507,6 +5708,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>uint32_t</type> <name>libraryCount</name></member> <member len="libraryCount">const <type>VkPipeline</type>* <name>pLibraries</name></member> </type> + <type category="struct" name="VkRefreshObjectKHR"> + <member><type>VkObjectType</type> <name>objectType</name></member> + <member objecttype="objectType" externsync="true"><type>uint64_t</type> <name>objectHandle</name></member> + <member optional="true"><type>VkRefreshObjectFlagsKHR</type> <name>flags</name></member> + </type> + <type category="struct" name="VkRefreshObjectListKHR"> + <member values="VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>objectCount</name></member> + <member len="objectCount">const <type>VkRefreshObjectKHR</type>* <name>pObjects</name></member> + </type> <type category="struct" name="VkPhysicalDeviceExtendedDynamicStateFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -5600,6 +5812,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkDeviceDiagnosticsConfigFlagsNV</type> <name>flags</name></member> </type> + <type category="struct" name="VkPipelineOfflineCreateInfo" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo,VkRayTracingPipelineCreateInfoKHR,VkRayTracingPipelineCreateInfoNV"> + <member values="VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint8_t</type> <name>pipelineIdentifier</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member><type>VkPipelineMatchControl</type> <name>matchControl</name></member> + <member><type>VkDeviceSize</type> <name>poolEntrySize</name></member> + </type> <type category="struct" name="VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -5880,6 +6099,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>VkBool32</type> <name>image2DViewOf3D</name></member> <member><type>VkBool32</type> <name>sampler2DViewOf3D</name></member> </type> + <type category="struct" name="VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>imageSlicedViewOf3D</name></member> + </type> <type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member> @@ -6040,6 +6264,97 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>VkBool32</type> <name>synchronization2</name></member> </type> <type category="struct" name="VkPhysicalDeviceSynchronization2FeaturesKHR" alias="VkPhysicalDeviceSynchronization2Features"/> + <type category="struct" name="VkPhysicalDeviceVulkanSC10Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>deviceNoDynamicHostAllocations</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>deviceDestroyFreesMemory</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>commandPoolMultipleCommandBuffersRecording</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>commandPoolResetCommandBuffer</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>commandBufferSimultaneousUse</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>secondaryCommandBufferNullOrImagelessFramebuffer</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>recycleDescriptorSetMemory</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>recyclePipelineMemory</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRenderPassSubpasses</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRenderPassDependencies</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxSubpassInputAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxSubpassPreserveAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxFramebufferAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetLayoutBindings</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxQueryFaultCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxCallbackFaultCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxCommandPoolCommandBuffers</name></member> + <member limittype="max"><type>VkDeviceSize</type> <name>maxCommandBufferSize</name></member> + </type> + <type category="struct" name="VkPipelinePoolSize"> + <member values="VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkDeviceSize</type> <name>poolEntrySize</name></member> + <member><type>uint32_t</type> <name>poolEntryCount</name></member> + </type> + <type category="struct" name="VkDeviceObjectReservationCreateInfo" allowduplicate="true" structextends="VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>uint32_t</type> <name>pipelineCacheCreateInfoCount</name></member> + <member len="pipelineCacheCreateInfoCount">const <type>VkPipelineCacheCreateInfo</type>* <name>pPipelineCacheCreateInfos</name></member> + <member optional="true"><type>uint32_t</type> <name>pipelinePoolSizeCount</name></member> + <member len="pipelinePoolSizeCount">const <type>VkPipelinePoolSize</type>* <name>pPipelinePoolSizes</name></member> + <member optional="true"><type>uint32_t</type> <name>semaphoreRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>commandBufferRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>fenceRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>deviceMemoryRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>bufferRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>imageRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>eventRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>queryPoolRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>bufferViewRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>imageViewRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>layeredImageViewRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>pipelineCacheRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>pipelineLayoutRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>renderPassRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>graphicsPipelineRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>computePipelineRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>descriptorSetLayoutRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>samplerRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>descriptorPoolRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>descriptorSetRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>framebufferRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>commandPoolRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>samplerYcbcrConversionRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>surfaceRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>swapchainRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>displayModeRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>subpassDescriptionRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>attachmentDescriptionRequestCount</name></member> + <member optional="true"><type>uint32_t</type> <name>descriptorSetLayoutBindingRequestCount</name></member> + <member><type>uint32_t</type> <name>descriptorSetLayoutBindingLimit</name></member> + <member><type>uint32_t</type> <name>maxImageViewMipLevels</name></member> + <member><type>uint32_t</type> <name>maxImageViewArrayLayers</name></member> + <member><type>uint32_t</type> <name>maxLayeredImageViewMipLevels</name></member> + <member><type>uint32_t</type> <name>maxOcclusionQueriesPerPool</name></member> + <member><type>uint32_t</type> <name>maxPipelineStatisticsQueriesPerPool</name></member> + <member><type>uint32_t</type> <name>maxTimestampQueriesPerPool</name></member> + <member><type>uint32_t</type> <name>maxImmutableSamplersPerDescriptorSetLayout</name></member> + </type> + <type category="struct" name="VkCommandPoolMemoryReservationCreateInfo" structextends="VkCommandPoolCreateInfo"> + <member values="VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="false"><type>VkDeviceSize</type> <name>commandPoolReservedSize</name></member> + <member optional="false"><type>uint32_t</type> <name>commandPoolMaxCommandBuffers</name></member> + </type> + <type category="struct" name="VkCommandPoolMemoryConsumption" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkDeviceSize</type> <name>commandPoolAllocated</name></member> + <member><type>VkDeviceSize</type> <name>commandPoolReservedSize</name></member> + <member><type>VkDeviceSize</type> <name>commandBufferAllocated</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceVulkanSC10Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>shaderAtomicInstructions</name></member> + </type> <type category="struct" name="VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -7127,7 +7442,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkRenderingFlags</type> <name>flags</name></member> <member><type>uint32_t</type> <name>viewMask</name></member> - <member optional="true"><type>uint32_t</type> <name>colorAttachmentCount</name></member> + <member api="vulkan" optional="true"><type>uint32_t</type> <name>colorAttachmentCount</name></member> + <member api="vulkansc"><type>uint32_t</type> <name>colorAttachmentCount</name></member> <member len="colorAttachmentCount">const <type>VkFormat</type>* <name>pColorAttachmentFormats</name></member> <member><type>VkFormat</type> <name>depthAttachmentFormat</name></member> <member><type>VkFormat</type> <name>stencilAttachmentFormat</name></member> @@ -7767,6 +8083,24 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>multiviewPerViewViewports</name></member> </type> + <type category="struct" name="VkPhysicalDeviceShaderCorePropertiesARM" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member limittype="exact"><type>uint32_t</type> <name>pixelRate</name></member> + <member limittype="exact"><type>uint32_t</type> <name>texelRate</name></member> + <member limittype="exact"><type>uint32_t</type> <name>fmaRate</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>multiviewPerViewRenderAreas</name></member> + </type> + <type category="struct" name="VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM" structextends="VkRenderPassBeginInfo,VkRenderingInfo"> + <member values="VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>uint32_t</type> <name>perViewRenderAreaCount</name></member> + <member len="perViewRenderAreaCount">const <type>VkRect2D</type>* <name>pPerViewRenderAreas</name></member> + </type> </types> @@ -7784,6 +8118,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum type="float" value="1000.0F" name="VK_LOD_CLAMP_NONE"/> <enum type="uint32_t" value="(~0U)" name="VK_REMAINING_MIP_LEVELS"/> <enum type="uint32_t" value="(~0U)" name="VK_REMAINING_ARRAY_LAYERS"/> + <enum type="uint32_t" value="(~0U)" name="VK_REMAINING_3D_SLICES_EXT"/> <enum type="uint64_t" value="(~0ULL)" name="VK_WHOLE_SIZE"/> <enum type="uint32_t" value="(~0U)" name="VK_ATTACHMENT_UNUSED"/> <enum type="uint32_t" value="1" name="VK_TRUE"/> @@ -8566,7 +8901,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="0" name="VK_STENCIL_FACE_FRONT_BIT" comment="Front face"/> <enum bitpos="1" name="VK_STENCIL_FACE_BACK_BIT" comment="Back face"/> <enum value="0x00000003" name="VK_STENCIL_FACE_FRONT_AND_BACK" comment="Front and back faces"/> - <enum name="VK_STENCIL_FRONT_AND_BACK" alias="VK_STENCIL_FACE_FRONT_AND_BACK" comment="Backwards-compatible alias containing a typo"/> + <enum api="vulkan" name="VK_STENCIL_FRONT_AND_BACK" alias="VK_STENCIL_FACE_FRONT_AND_BACK" deprecated="aliased"/> </enums> <enums name="VkDescriptorPoolCreateFlagBits" type="bitmask"> <enum bitpos="0" name="VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT" comment="Descriptor sets may be freed individually"/> @@ -8591,7 +8926,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </enums> <enums name="VkColorSpaceKHR" type="enum"> <enum value="0" name="VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"/> - <enum name="VK_COLORSPACE_SRGB_NONLINEAR_KHR" alias="VK_COLOR_SPACE_SRGB_NONLINEAR_KHR" comment="Backwards-compatible alias containing a typo"/> + <enum api="vulkan" name="VK_COLORSPACE_SRGB_NONLINEAR_KHR" alias="VK_COLOR_SPACE_SRGB_NONLINEAR_KHR" deprecated="aliased"/> </enums> <enums name="VkDisplayPlaneAlphaFlagBitsKHR" type="bitmask"> <enum bitpos="0" name="VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"/> @@ -8662,7 +8997,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="26" name="VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"/> <enum value="27" name="VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"/> <enum value="28" name="VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"/> - <enum name="VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT" deprecated="aliased"/> <enum value="29" name="VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"/> <enum value="30" name="VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"/> <comment>NVX_device_generated_commands formerly used these enum values, but that extension has been removed @@ -8670,7 +9005,7 @@ typedef void* <name>MTLSharedEvent_id</name>; value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT </comment> <enum value="33" name="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"/> - <enum name="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT" deprecated="aliased"/> </enums> <enums name="VkDeviceMemoryReportEventTypeEXT" type="enum"> <enum value="0" name="VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT"/> @@ -8791,7 +9126,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </enums> <enums name="VkSurfaceCounterFlagBitsEXT" type="bitmask"> <enum bitpos="0" name="VK_SURFACE_COUNTER_VBLANK_BIT_EXT"/> - <enum name="VK_SURFACE_COUNTER_VBLANK_EXT" alias="VK_SURFACE_COUNTER_VBLANK_BIT_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_SURFACE_COUNTER_VBLANK_EXT" alias="VK_SURFACE_COUNTER_VBLANK_BIT_EXT" deprecated="aliased"/> </enums> <enums name="VkDisplayPowerStateEXT" type="enum"> <enum value="0" name="VK_DISPLAY_POWER_STATE_OFF_EXT"/> @@ -9108,9 +9443,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="0" name="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR"/> <enum value="1" name="VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR"/> <enum value="2" name="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR"/> - <enum name="VK_QUERY_SCOPE_COMMAND_BUFFER_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR" comment="Backwards-compatible alias containing a typo"/> - <enum name="VK_QUERY_SCOPE_RENDER_PASS_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR" comment="Backwards-compatible alias containing a typo"/> - <enum name="VK_QUERY_SCOPE_COMMAND_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_QUERY_SCOPE_COMMAND_BUFFER_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR" deprecated="aliased"/> + <enum name="VK_QUERY_SCOPE_RENDER_PASS_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR" deprecated="aliased"/> + <enum name="VK_QUERY_SCOPE_COMMAND_KHR" alias="VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR" deprecated="aliased"/> </enums> <enums name="VkMemoryDecompressionMethodFlagBitsNV" type="bitmask" bitwidth="64"> <enum bitpos="0" name="VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV"/> @@ -9138,14 +9473,16 @@ typedef void* <name>MTLSharedEvent_id</name>; </enums> <enums name="VkPerformanceCounterDescriptionFlagBitsKHR" type="bitmask"> <enum bitpos="0" name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR"/> - <enum name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR" deprecated="aliased"/> <enum bitpos="1" name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR"/> - <enum name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR" comment="Backwards-compatible alias containing a typo"/> + <enum name="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR" alias="VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR" deprecated="aliased"/> </enums> <enums name="VkAcquireProfilingLockFlagBitsKHR" type="bitmask"> </enums> <enums name="VkShaderCorePropertiesFlagBitsAMD" type="bitmask"> </enums> + <enums name="VkRefreshObjectFlagBitsKHR" type="bitmask"> + </enums> <enums name="VkPerformanceConfigurationTypeINTEL" type="enum"> <enum value="0" name="VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL"/> </enums> @@ -9188,6 +9525,24 @@ typedef void* <name>MTLSharedEvent_id</name>; </enums> <enums name="VkPipelineCompilerControlFlagBitsAMD" type="bitmask"> </enums> + <enums name="VkFaultLevel" type="enum"> + <enum value="0" name="VK_FAULT_LEVEL_UNASSIGNED"/> + <enum value="1" name="VK_FAULT_LEVEL_CRITICAL"/> + <enum value="2" name="VK_FAULT_LEVEL_RECOVERABLE"/> + <enum value="3" name="VK_FAULT_LEVEL_WARNING"/> + </enums> + <enums name="VkFaultType" type="enum"> + <enum value="0" name="VK_FAULT_TYPE_INVALID"/> + <enum value="1" name="VK_FAULT_TYPE_UNASSIGNED"/> + <enum value="2" name="VK_FAULT_TYPE_IMPLEMENTATION"/> + <enum value="3" name="VK_FAULT_TYPE_SYSTEM"/> + <enum value="4" name="VK_FAULT_TYPE_PHYSICAL_DEVICE"/> + <enum value="5" name="VK_FAULT_TYPE_COMMAND_BUFFER_FULL"/> + <enum value="6" name="VK_FAULT_TYPE_INVALID_API_USAGE"/> + </enums> + <enums name="VkFaultQueryBehavior" type="enum"> + <enum value="0" name="VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS"/> + </enums> <enums name="VkToolPurposeFlagBits" type="bitmask"> <enum bitpos="0" name="VK_TOOL_PURPOSE_VALIDATION_BIT"/> <enum name="VK_TOOL_PURPOSE_VALIDATION_BIT_EXT" alias="VK_TOOL_PURPOSE_VALIDATION_BIT"/> @@ -9200,6 +9555,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="4" name="VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT"/> <enum name="VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT" alias="VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT"/> </enums> + <enums name="VkPipelineMatchControl" type="enum"> + <enum value="0" name="VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH"/> + </enums> <enums name="VkFragmentShadingRateCombinerOpKHR" type="enum"> <enum value="0" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR"/> <enum value="1" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR"/> @@ -9349,10 +9707,22 @@ typedef void* <name>MTLSharedEvent_id</name>; </enums> <enums name="VkPipelineLayoutCreateFlagBits" type="bitmask"> </enums> + <enums name="VkSciSyncClientTypeNV" type="enum"> + <enum value="0" name="VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV"/> + <enum value="1" name="VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV"/> + <enum value="2" name="VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV"/> + </enums> + <enums name="VkSciSyncPrimitiveTypeNV" type="enum"> + <enum value="0" name="VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV"/> + <enum value="1" name="VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV"/> + </enums> <enums name="VkProvokingVertexModeEXT" type="enum"> <enum value="0" name="VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT"/> <enum value="1" name="VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT"/> </enums> + <enums name="VkPipelineCacheValidationVersion" type="enum"> + <enum value="1" name="VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE"/> + </enums> <enums name="VkAccelerationStructureMotionInstanceTypeNV" type="enum"> <enum value="0" name="VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV"/> <enum value="1" name="VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV"/> @@ -9836,7 +10206,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true"><type>VkImageCreateFlags</type> <name>flags</name></param> <param><type>VkImageFormatProperties</type>* <name>pImageFormatProperties</name></param> </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_FEATURE_NOT_PRESENT,VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_DEVICE_LOST"> + <command api="vulkan" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_FEATURE_NOT_PRESENT,VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_DEVICE_LOST"> + <proto><type>VkResult</type> <name>vkCreateDevice</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param>const <type>VkDeviceCreateInfo</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkDevice</type>* <name>pDevice</name></param> + </command> + <command api="vulkansc" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_FEATURE_NOT_PRESENT,VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_DEVICE_LOST,VK_ERROR_INVALID_PIPELINE_CACHE_DATA"> <proto><type>VkResult</type> <name>vkCreateDevice</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param>const <type>VkDeviceCreateInfo</type>* <name>pCreateInfo</name></param> @@ -9866,7 +10243,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> <param optional="true" len="pPropertyCount"><type>VkExtensionProperties</type>* <name>pProperties</name></param> </command> - <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <command api="vulkan" successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkEnumerateDeviceLayerProperties</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> + <param optional="true" len="pPropertyCount"><type>VkLayerProperties</type>* <name>pProperties</name></param> + </command> + <command api="vulkansc" successcodes="VK_SUCCESS"> <proto><type>VkResult</type> <name>vkEnumerateDeviceLayerProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> @@ -10177,7 +10560,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true" externsync="true"><type>VkShaderModule</type> <name>shaderModule</name></param> <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <command api="vulkan" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkCreatePipelineCache</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkPipelineCacheCreateInfo</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkPipelineCache</type>* <name>pPipelineCache</name></param> + </command> + <command api="vulkansc" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_PIPELINE_CACHE_DATA"> <proto><type>VkResult</type> <name>vkCreatePipelineCache</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param>const <type>VkPipelineCacheCreateInfo</type>* <name>pCreateInfo</name></param> @@ -10204,7 +10594,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>uint32_t</type> <name>srcCacheCount</name></param> <param len="srcCacheCount">const <type>VkPipelineCache</type>* <name>pSrcCaches</name></param> </command> - <command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> + <command api="vulkan" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> <proto><type>VkResult</type> <name>vkCreateGraphicsPipelines</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param optional="true"><type>VkPipelineCache</type> <name>pipelineCache</name></param> @@ -10213,7 +10603,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> </command> - <command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> + <command api="vulkansc" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_NO_PIPELINE_MATCH,VK_ERROR_OUT_OF_POOL_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateGraphicsPipelines</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkPipelineCache</type> <name>pipelineCache</name></param> + <param><type>uint32_t</type> <name>createInfoCount</name></param> + <param len="createInfoCount">const <type>VkGraphicsPipelineCreateInfo</type>* <name>pCreateInfos</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> + </command> + <command api="vulkan" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> <proto><type>VkResult</type> <name>vkCreateComputePipelines</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param optional="true"><type>VkPipelineCache</type> <name>pipelineCache</name></param> @@ -10222,6 +10621,15 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> </command> + <command api="vulkansc" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_NO_PIPELINE_MATCH,VK_ERROR_OUT_OF_POOL_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateComputePipelines</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkPipelineCache</type> <name>pipelineCache</name></param> + <param><type>uint32_t</type> <name>createInfoCount</name></param> + <param len="createInfoCount">const <type>VkComputePipelineCreateInfo</type>* <name>pCreateInfos</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> + </command> <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_SURFACE_LOST_KHR"> <proto><type>VkResult</type> <name>vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI</name></proto> <param><type>VkDevice</type> <name>device</name></param> @@ -10863,7 +11271,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <proto><type>VkResult</type> <name>vkCreateSharedSwapchainsKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param><type>uint32_t</type> <name>swapchainCount</name></param> - <param len="swapchainCount" externsync="pCreateInfos[].surface,pCreateInfos[].oldSwapchain">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfos</name></param> + <param api="vulkan" len="swapchainCount" externsync="pCreateInfos[].surface,pCreateInfos[].oldSwapchain">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfos</name></param> + <param api="vulkansc" len="swapchainCount" externsync="pCreateInfos[].surface">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfos</name></param> <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param len="swapchainCount"><type>VkSwapchainKHR</type>* <name>pSwapchains</name></param> </command> @@ -10903,7 +11312,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_SURFACE_LOST_KHR,VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_COMPRESSION_EXHAUSTED_EXT"> <proto><type>VkResult</type> <name>vkCreateSwapchainKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> - <param externsync="pCreateInfo->surface,pCreateInfo->oldSwapchain">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfo</name></param> + <param api="vulkan" externsync="pCreateInfo->surface,pCreateInfo->oldSwapchain">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfo</name></param> + <param api="vulkansc" externsync="pCreateInfo->surface">const <type>VkSwapchainCreateInfoKHR</type>* <name>pCreateInfo</name></param> <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param><type>VkSwapchainKHR</type>* <name>pSwapchain</name></param> </command> @@ -11252,6 +11662,24 @@ typedef void* <name>MTLSharedEvent_id</name>; <param>const <type>VkMemoryGetRemoteAddressInfoNV</type>* <name>pMemoryGetRemoteAddressInfo</name></param> <param><type>VkRemoteAddressNV</type>* <name>pAddress</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED"> + <proto><type>VkResult</type> <name>vkGetMemorySciBufNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkMemoryGetSciBufInfoNV</type>* <name>pGetSciBufInfo</name></param> + <param><type>NvSciBufObj</type>* <name>pHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_INVALID_EXTERNAL_HANDLE"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param> + <param><type>NvSciBufObj</type> <name>handle</name></param> + <param><type>VkMemorySciBufPropertiesNV</type>* <name>pMemorySciBufProperties</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INITIALIZATION_FAILED"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceSciBufAttributesNV</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param><type>NvSciBufAttrList</type> <name>pAttributes</name></param> + </command> <command> <proto><type>void</type> <name>vkGetPhysicalDeviceExternalSemaphoreProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -11321,6 +11749,58 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>VkDevice</type> <name>device</name></param> <param>const <type>VkImportFenceFdInfoKHR</type>* <name>pImportFenceFdInfo</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT"> + <proto><type>VkResult</type> <name>vkGetFenceSciSyncFenceNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkFenceGetSciSyncInfoNV</type>* <name>pGetSciSyncHandleInfo</name></param> + <param><type>void</type>* <name>pHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT"> + <proto><type>VkResult</type> <name>vkGetFenceSciSyncObjNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkFenceGetSciSyncInfoNV</type>* <name>pGetSciSyncHandleInfo</name></param> + <param><type>void</type>* <name>pHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT"> + <proto><type>VkResult</type> <name>vkImportFenceSciSyncFenceNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkImportFenceSciSyncInfoNV</type>* <name>pImportFenceSciSyncInfo</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT"> + <proto><type>VkResult</type> <name>vkImportFenceSciSyncObjNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkImportFenceSciSyncInfoNV</type>* <name>pImportFenceSciSyncInfo</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT"> + <proto><type>VkResult</type> <name>vkGetSemaphoreSciSyncObjNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkSemaphoreGetSciSyncInfoNV</type>* <name>pGetSciSyncInfo</name></param> + <param><type>void</type>* <name>pHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_NOT_PERMITTED_EXT,VK_ERROR_OUT_OF_HOST_MEMORY"> + <proto><type>VkResult</type> <name>vkImportSemaphoreSciSyncObjNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkImportSemaphoreSciSyncInfoNV</type>* <name>pImportSemaphoreSciSyncInfo</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceSciSyncAttributesNV</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param>const <type>VkSciSyncAttributesInfoNV</type>* <name>pSciSyncAttributesInfo</name></param> + <param><type>NvSciSyncAttrList</type> <name>pAttributes</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateSemaphoreSciSyncPoolNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkSemaphoreSciSyncPoolCreateInfoNV</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkSemaphoreSciSyncPoolNV</type>* <name>pSemaphorePool</name></param> + </command> + <command> + <proto><type>void</type> <name>vkDestroySemaphoreSciSyncPoolNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param optional="true" externsync="true"><type>VkSemaphoreSciSyncPoolNV</type> <name>semaphorePool</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + </command> <command successcodes="VK_SUCCESS"> <proto><type>VkResult</type> <name>vkReleaseDisplayEXT</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -11547,6 +12027,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <param len="discardRectangleCount">const <type>VkRect2D</type>* <name>pDiscardRectangles</name></param> </command> <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> + <proto><type>void</type> <name>vkCmdSetDiscardRectangleEnableEXT</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkBool32</type> <name>discardRectangleEnable</name></param> + </command> + <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> + <proto><type>void</type> <name>vkCmdSetDiscardRectangleModeEXT</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkDiscardRectangleModeEXT</type> <name>discardRectangleMode</name></param> + </command> + <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> <proto><type>void</type> <name>vkCmdSetSampleLocationsEXT</name></proto> <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> <param>const <type>VkSampleLocationsInfoEXT</type>* <name>pSampleLocationsInfo</name></param> @@ -11981,6 +12471,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <param len="exclusiveScissorCount">const <type>VkRect2D</type>* <name>pExclusiveScissors</name></param> </command> <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> + <proto><type>void</type> <name>vkCmdSetExclusiveScissorEnableNV</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>uint32_t</type> <name>firstExclusiveScissor</name></param> + <param><type>uint32_t</type> <name>exclusiveScissorCount</name></param> + <param len="exclusiveScissorCount">const <type>VkBool32</type>* <name>pExclusiveScissorEnables</name></param> + </command> + <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> <proto><type>void</type> <name>vkCmdBindShadingRateImageNV</name></proto> <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> <param optional="true"><type>VkImageView</type> <name>imageView</name></param> @@ -12227,7 +12724,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>size_t</type> <name>dataSize</name></param> <param len="dataSize"><type>void</type>* <name>pData</name></param> </command> - <command successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> + <command api="vulkan" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV"> <proto><type>VkResult</type> <name>vkCreateRayTracingPipelinesNV</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param optional="true"><type>VkPipelineCache</type> <name>pipelineCache</name></param> @@ -12236,7 +12733,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> </command> - <command successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"> + <command api="vulkansc" successcodes="VK_SUCCESS,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_NO_PIPELINE_MATCH,VK_ERROR_OUT_OF_POOL_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateRayTracingPipelinesNV</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkPipelineCache</type> <name>pipelineCache</name></param> + <param><type>uint32_t</type> <name>createInfoCount</name></param> + <param len="createInfoCount">const <type>VkRayTracingPipelineCreateInfoNV</type>* <name>pCreateInfos</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> + </command> + <command api="vulkan" successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"> <proto><type>VkResult</type> <name>vkCreateRayTracingPipelinesKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param> @@ -12246,6 +12752,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> </command> + <command api="vulkansc" successcodes="VK_SUCCESS,VK_OPERATION_DEFERRED_KHR,VK_OPERATION_NOT_DEFERRED_KHR,VK_PIPELINE_COMPILE_REQUIRED_EXT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,VK_ERROR_NO_PIPELINE_MATCH,VK_ERROR_OUT_OF_POOL_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateRayTracingPipelinesKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param optional="true"><type>VkDeferredOperationKHR</type> <name>deferredOperation</name></param> + <param><type>VkPipelineCache</type> <name>pipelineCache</name></param> + <param><type>uint32_t</type> <name>createInfoCount</name></param> + <param len="createInfoCount">const <type>VkRayTracingPipelineCreateInfoKHR</type>* <name>pCreateInfos</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param len="createInfoCount"><type>VkPipeline</type>* <name>pPipelines</name></param> + </command> <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceCooperativeMatrixPropertiesNV</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -12452,6 +12968,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>uint32_t</type> <name>lineStippleFactor</name></param> <param><type>uint16_t</type> <name>lineStipplePattern</name></param> </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkGetFaultData</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkFaultQueryBehavior</type> <name>faultQueryBehavior</name></param> + <param><type>VkBool32</type>* <name>pUnrecordedFaults</name></param> + <param><type>uint32_t</type>* <name>pFaultCount</name></param> + <param optional="true" len="pFaultCount"><type>VkFaultData</type>* <name>pFaults</name></param> + </command> <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceToolProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -12869,6 +13393,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <param>const <type>VkResolveImageInfo2</type>* <name>pResolveImageInfo</name></param> </command> <command name="vkCmdResolveImage2KHR" alias="vkCmdResolveImage2"/> + <command queues="graphics,compute,transfer" renderpass="outside" cmdbufferlevel="primary,secondary" tasks="action"> + <proto><type>void</type> <name>vkCmdRefreshObjectsKHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkRefreshObjectListKHR</type>* <name>pRefreshObjects</name></param> + </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceRefreshableObjectTypesKHR</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param optional="false,true"><type>uint32_t</type>* <name>pRefreshableObjectTypeCount</name></param> + <param optional="true" len="pRefreshableObjectTypeCount"><type>VkObjectType</type>* <name>pRefreshableObjectTypes</name></param> + </command> <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state"> <proto><type>void</type> <name>vkCmdSetFragmentShadingRateKHR</name></proto> <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> @@ -12967,6 +13502,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="false,true"><type>uint32_t</type>* <name>pCheckpointDataCount</name></param> <param optional="true" len="pCheckpointDataCount"><type>VkCheckpointData2NV</type>* <name>pCheckpointData</name></param> </command> + <command> + <proto><type>void</type> <name>vkGetCommandPoolMemoryConsumption</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param externsync="true"><type>VkCommandPool</type> <name>commandPool</name></param> + <param optional="true" externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkCommandPoolMemoryConsumption</type>* <name>pConsumption</name></param> + </command> <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoCapabilitiesKHR</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -13430,7 +13972,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </command> </commands> - <feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions"> + <feature api="vulkan,vulkansc" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions"> <require comment="Header boilerplate"> <type name="vk_platform"/> <type name="VK_DEFINE_HANDLE"/> @@ -13944,7 +14486,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdExecuteCommands"/> </require> </feature> - <feature api="vulkan" name="VK_VERSION_1_1" number="1.1" comment="Vulkan 1.1 core API interface definitions."> + <feature api="vulkan,vulkansc" name="VK_VERSION_1_1" number="1.1" comment="Vulkan 1.1 core API interface definitions."> <require> <type name="VK_API_VERSION_1_1"/> </require> @@ -14098,7 +14640,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </require> <require comment="Promoted from VK_KHR_variable_pointers"> <enum extends="VkStructureType" extnumber="121" offset="0" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"/> - <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"/> + <enum api="vulkan" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"/> <type name="VkPhysicalDeviceVariablePointerFeatures"/> <type name="VkPhysicalDeviceVariablePointersFeatures"/> </require> @@ -14271,12 +14813,12 @@ typedef void* <name>MTLSharedEvent_id</name>; </require> <require comment="Promoted from VK_KHR_shader_draw_parameters, with a feature support query added"> <enum extends="VkStructureType" extnumber="64" offset="0" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"/> - <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"/> + <enum api="vulkan" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"/> <type name="VkPhysicalDeviceShaderDrawParameterFeatures"/> <type name="VkPhysicalDeviceShaderDrawParametersFeatures"/> </require> </feature> - <feature api="vulkan" name="VK_VERSION_1_2" number="1.2" comment="Vulkan 1.2 core API interface definitions."> + <feature api="vulkan,vulkansc" name="VK_VERSION_1_2" number="1.2" comment="Vulkan 1.2 core API interface definitions."> <require> <type name="VK_API_VERSION_1_2"/> </require> @@ -14471,7 +15013,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDeviceMemoryOpaqueCaptureAddress"/> </require> </feature> - <feature api="vulkan" name="VK_VERSION_1_3" number="1.3" comment="Vulkan 1.3 core API interface definitions."> + <feature api="vulkan,vulkansc" name="VK_VERSION_1_3" number="1.3" comment="Vulkan 1.3 core API interface definitions."> <require> <type name="VK_API_VERSION_1_3"/> </require> @@ -14736,8 +15278,144 @@ typedef void* <name>MTLSharedEvent_id</name>; </require> </feature> + <feature api="vulkansc" name="VKSC_VERSION_1_0" number="1.0" comment="Vulkan SC core API interface definitions"> + <require> + <type name="VKSC_API_VARIANT"/> + <type name="VKSC_API_VERSION_1_0"/> + <type name="VkPhysicalDeviceVulkanSC10Features"/> + <type name="VkPhysicalDeviceVulkanSC10Properties"/> + <enum offset="0" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES"/> + <enum offset="1" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES"/> + <enum offset="1" extnumber="12" extends="VkResult" dir="-" name="VK_ERROR_VALIDATION_FAILED"/> + </require> + <require comment="static memory functionality"> + <type name="VkDeviceObjectReservationCreateInfo"/> + <type name="VkCommandPoolMemoryReservationCreateInfo"/> + <type name="VkCommandPoolMemoryConsumption"/> + <type name="VkPipelinePoolSize"/> + <command name="vkGetCommandPoolMemoryConsumption"/> + <enum offset="2" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO"/> + <enum offset="3" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO"/> + <enum offset="4" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION"/> + <enum offset="5" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE"/> + </require> + <require comment="fault handling functionality"> + <enum offset="7" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FAULT_DATA"/> + <enum offset="8" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO"/> + <type name="VkFaultData"/> + <type name="VkFaultCallbackInfo"/> + <type name="VkFaultLevel"/> + <type name="VkFaultType"/> + <type name="VkFaultQueryBehavior"/> + <type name="PFN_vkFaultCallbackFunction"/> + <command name="vkGetFaultData"/> + </require> + <require comment="pipeline offline create info"> + <enum offset="10" extnumber="299" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO"/> + <type name="VkPipelineOfflineCreateInfo"/> + <type name="VkPipelineMatchControl"/> + </require> + <require comment="pipeline cache functionality"> + <enum offset="0" extnumber="299" extends="VkResult" dir="-" name="VK_ERROR_INVALID_PIPELINE_CACHE_DATA"/> + <enum offset="1" extnumber="299" extends="VkResult" dir="-" name="VK_ERROR_NO_PIPELINE_MATCH"/> + <enum extends="VkPipelineCacheCreateFlagBits" name="VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT" alias="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/> + <enum bitpos="2" extends="VkPipelineCacheCreateFlagBits" name="VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT"/> + <type name="VkPipelineCacheCreateFlagBits" comment="This should be picked up from the extends= attributes above"/> + </require> + <require comment="seu safe memory functionality"> + <enum bitpos="2" extends="VkMemoryHeapFlagBits" name="VK_MEMORY_HEAP_SEU_SAFE_BIT"/> + </require> + <require comment="pipeline cache header - These types are part of the API, though not all directly used in API commands or data structures"> + <enum offset="1" extnumber="299" extends="VkPipelineCacheHeaderVersion" name="VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE"/> + <type name="VkPipelineCacheValidationVersion"/> + <type name="VkPipelineCacheStageValidationIndexEntry"/> + <type name="VkPipelineCacheSafetyCriticalIndexEntry"/> + <type name="VkPipelineCacheHeaderVersionSafetyCriticalOne"/> + </require> + + <remove comment="SC 1.0 removes some features from Vulkan 1.0/1.1/1.2"> + <enum name="VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"/> + <!--enum name="VK_OBJECT_TYPE_SHADER_MODULE" comment="leave this present for compatibility"/--> + <enum name="VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"/> + <enum name="VK_PIPELINE_CREATE_DERIVATIVE_BIT"/> + <enum name="VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"/> + + <!-- Remove Vulkan and deprecated macros --> + <type name="VK_API_VERSION"/> + <type name="VK_MAKE_VERSION"/> + <type name="VK_VERSION_MAJOR"/> + <type name="VK_VERSION_MINOR"/> + <type name="VK_VERSION_PATCH"/> + + <!--type name="VkShaderModule" comment="leave this present for compatibility"/--> + <type name="VkShaderModuleCreateFlags"/> + <type name="VkShaderModuleCreateFlagBits"/> + <type name="VkShaderModuleCreateInfo"/> + <type name="VkCommandPoolTrimFlags"/> + <type name="VkCommandPoolTrimFlagsKHR"/> + <command name="vkCreateShaderModule"/> + <command name="vkDestroyShaderModule"/> + <command name="vkMergePipelineCaches"/> + <command name="vkGetPipelineCacheData"/> + <command name="vkTrimCommandPool"/> + <command name="vkTrimCommandPoolKHR"/> + <command name="vkDestroyCommandPool"/> + <command name="vkDestroyDescriptorPool"/> + <command name="vkDestroyQueryPool"/> + <command name="vkDestroySwapchainKHR"/> + <command name="vkFreeMemory"/> + + <!-- Descriptor update templates are unsupported --> + <enum name="VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"/> + <enum name="VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"/> + <command name="vkCreateDescriptorUpdateTemplate"/> + <command name="vkDestroyDescriptorUpdateTemplate"/> + <command name="vkUpdateDescriptorSetWithTemplate"/> + <type name="VkDescriptorUpdateTemplate"/> + <type name="VkDescriptorUpdateTemplateCreateFlags"/> + <type name="VkDescriptorUpdateTemplateType"/> + <type name="VkDescriptorUpdateTemplateEntry"/> + <type name="VkDescriptorUpdateTemplateCreateInfo"/> + <enum name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"/> + + <!-- Sparse resources are unsupported --> + <enum name="VK_QUEUE_SPARSE_BINDING_BIT"/> + <!--type name="VkPhysicalDeviceSparseProperties" comment="needed for VkPhysicalDeviceProperties"/--> + <type name="VkSparseImageFormatProperties"/> + <type name="VkSparseImageFormatFlagBits"/> + <type name="VkSparseImageFormatFlags"/> + <command name="vkGetPhysicalDeviceSparseImageFormatProperties"/> + <command name="vkGetPhysicalDeviceSparseImageFormatProperties2"/> + <type name="VkPhysicalDeviceSparseImageFormatInfo2"/> + <enum name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2"/> + <type name="VkSparseImageFormatProperties2"/> + <enum name="VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2"/> + <type name="VkSparseImageMemoryRequirements"/> + <command name="vkGetImageSparseMemoryRequirements"/> + <command name="vkGetImageSparseMemoryRequirements2"/> + <type name="VkImageSparseMemoryRequirementsInfo2"/> + <enum name="VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2"/> + <type name="VkSparseImageMemoryRequirements2"/> + <enum name="VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"/> + <type name="VkSparseMemoryBind"/> + <type name="VkSparseMemoryBindFlagBits"/> + <type name="VkSparseMemoryBindFlags"/> + <type name="VkSparseBufferMemoryBindInfo"/> + <type name="VkSparseImageOpaqueMemoryBindInfo"/> + <type name="VkSparseImageMemoryBindInfo"/> + <type name="VkSparseImageMemoryBind"/> + <command name="vkQueueBindSparse"/> + <type name="VkBindSparseInfo"/> + <enum name="VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"/> + <type name="VkDeviceGroupBindSparseInfo"/> + <enum name="VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO"/> + + <command name="vkDestroySemaphoreSciSyncPoolNV"/> + </remove> + </feature> + <extensions comment="Vulkan extension interface definitions"> - <extension name="VK_KHR_surface" number="1" type="instance" author="KHR" contact="James Jones @cubanismo,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_surface" number="1" type="instance" author="KHR" contact="James Jones @cubanismo,Ian Elliott @ianelliottus" supported="vulkan,vulkansc"> <require> <enum value="25" name="VK_KHR_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_surface"" name="VK_KHR_SURFACE_EXTENSION_NAME"/> @@ -14759,7 +15437,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceSurfacePresentModesKHR"/> </require> </extension> - <extension name="VK_KHR_swapchain" number="2" type="device" requires="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_swapchain" number="2" type="device" depends="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo,Ian Elliott @ianelliottus" supported="vulkan,vulkansc"> <require> <enum value="70" name="VK_KHR_SWAPCHAIN_SPEC_VERSION"/> <enum value=""VK_KHR_swapchain"" name="VK_KHR_SWAPCHAIN_EXTENSION_NAME"/> @@ -14780,7 +15458,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkAcquireNextImageKHR"/> <command name="vkQueuePresentKHR"/> </require> - <require feature="VK_VERSION_1_1"> + <require depends="VK_VERSION_1_1"> <comment>This duplicates definitions in VK_KHR_device_group below</comment> <enum extends="VkStructureType" extnumber="61" offset="7" name="VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"/> <enum extends="VkStructureType" extnumber="61" offset="8" name="VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"/> @@ -14804,7 +15482,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="1" extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR" comment="Swapchain is protected"/> </require> </extension> - <extension name="VK_KHR_display" number="3" type="instance" requires="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo,Norbert Nopper @FslNopper" supported="vulkan"> + <extension name="VK_KHR_display" number="3" type="instance" depends="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo,Norbert Nopper @FslNopper" supported="vulkan,vulkansc"> <require> <enum value="23" name="VK_KHR_DISPLAY_SPEC_VERSION"/> <enum value=""VK_KHR_display"" name="VK_KHR_DISPLAY_EXTENSION_NAME"/> @@ -14835,7 +15513,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateDisplayPlaneSurfaceKHR"/> </require> </extension> - <extension name="VK_KHR_display_swapchain" number="4" type="device" requires="VK_KHR_swapchain,VK_KHR_display" author="KHR" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_KHR_display_swapchain" number="4" type="device" depends="VK_KHR_swapchain+VK_KHR_display" author="KHR" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="10" name="VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION"/> <enum value=""VK_KHR_display_swapchain"" name="VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME"/> @@ -14845,7 +15523,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateSharedSwapchainsKHR"/> </require> </extension> - <extension name="VK_KHR_xlib_surface" number="5" type="instance" requires="VK_KHR_surface" platform="xlib" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_xlib_surface" number="5" type="instance" depends="VK_KHR_surface" platform="xlib" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> <require> <enum value="6" name="VK_KHR_XLIB_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_xlib_surface"" name="VK_KHR_XLIB_SURFACE_EXTENSION_NAME"/> @@ -14856,7 +15534,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceXlibPresentationSupportKHR"/> </require> </extension> - <extension name="VK_KHR_xcb_surface" number="6" type="instance" requires="VK_KHR_surface" platform="xcb" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_xcb_surface" number="6" type="instance" depends="VK_KHR_surface" platform="xcb" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> <require> <enum value="6" name="VK_KHR_XCB_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_xcb_surface"" name="VK_KHR_XCB_SURFACE_EXTENSION_NAME"/> @@ -14867,7 +15545,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceXcbPresentationSupportKHR"/> </require> </extension> - <extension name="VK_KHR_wayland_surface" number="7" type="instance" requires="VK_KHR_surface" platform="wayland" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_wayland_surface" number="7" type="instance" depends="VK_KHR_surface" platform="wayland" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> <require> <enum value="6" name="VK_KHR_WAYLAND_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_wayland_surface"" name="VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME"/> @@ -14878,13 +15556,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceWaylandPresentationSupportKHR"/> </require> </extension> - <extension name="VK_KHR_mir_surface" number="8" type="instance" requires="VK_KHR_surface" author="KHR" supported="disabled" comment="Extension permanently disabled. Extension number should not be reused"> + <extension name="VK_KHR_mir_surface" number="8" type="instance" depends="VK_KHR_surface" author="KHR" supported="disabled" comment="Extension permanently disabled. Extension number should not be reused"> <require> <enum value="4" name="VK_KHR_MIR_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_mir_surface"" name="VK_KHR_MIR_SURFACE_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_android_surface" number="9" type="instance" requires="VK_KHR_surface" platform="android" author="KHR" contact="Jesse Hall @critsec" supported="vulkan"> + <extension name="VK_KHR_android_surface" number="9" type="instance" depends="VK_KHR_surface" platform="android" author="KHR" contact="Jesse Hall @critsec" supported="vulkan"> <require> <enum value="6" name="VK_KHR_ANDROID_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_android_surface"" name="VK_KHR_ANDROID_SURFACE_EXTENSION_NAME"/> @@ -14895,7 +15573,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateAndroidSurfaceKHR"/> </require> </extension> - <extension name="VK_KHR_win32_surface" number="10" type="instance" requires="VK_KHR_surface" platform="win32" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_win32_surface" number="10" type="instance" depends="VK_KHR_surface" platform="win32" author="KHR" contact="Jesse Hall @critsec,Ian Elliott @ianelliottus" supported="vulkan"> <require> <enum value="6" name="VK_KHR_WIN32_SURFACE_SPEC_VERSION"/> <enum value=""VK_KHR_win32_surface"" name="VK_KHR_WIN32_SURFACE_EXTENSION_NAME"/> @@ -14933,8 +15611,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="10" name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/> <enum value=""VK_EXT_debug_report"" name="VK_EXT_DEBUG_REPORT_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/> - <enum alias="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT" comment="Backwards-compatible alias containing a typo"/> - <enum offset="1" extends="VkResult" dir="-" name="VK_ERROR_VALIDATION_FAILED_EXT"/> + <enum alias="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT" deprecated="aliased"/> + <enum api="vulkan" offset="1" extends="VkResult" dir="-" name="VK_ERROR_VALIDATION_FAILED_EXT"/> + <enum api="vulkansc" extends="VkResult" name="VK_ERROR_VALIDATION_FAILED_EXT" alias="VK_ERROR_VALIDATION_FAILED"/> <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"/> <type name="VkDebugReportCallbackEXT"/> <type name="PFN_vkDebugReportCallbackEXT"/> @@ -14946,7 +15625,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkDestroyDebugReportCallbackEXT"/> <command name="vkDebugReportMessageEXT"/> </require> - <require feature="VK_VERSION_1_1"> + <require depends="VK_VERSION_1_1"> <comment>This duplicates definitions in other extensions, below</comment> <enum extends="VkDebugReportObjectTypeEXT" extnumber="157" offset="0" name="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"/> <enum extends="VkDebugReportObjectTypeEXT" extnumber="86" offset="0" name="VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT"/> @@ -14959,7 +15638,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="0" extends="VkResult" dir="-" name="VK_ERROR_INVALID_SHADER_NV"/> </require> </extension> - <extension name="VK_EXT_depth_range_unrestricted" type="device" number="14" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_depth_range_unrestricted" type="device" number="14" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION"/> <enum value=""VK_EXT_depth_range_unrestricted"" name="VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME"/> @@ -14970,7 +15649,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="3" name="VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION"/> <enum value=""VK_KHR_sampler_mirror_clamp_to_edge"" name="VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME"/> <enum value="4" extends="VkSamplerAddressMode" name="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE" comment="Note that this defines what was previously a core enum, and so uses the 'value' attribute rather than 'offset', and does not have a suffix. This is a special case, and should not be repeated"/> - <enum extends="VkSamplerAddressMode" name="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR" alias="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE" comment="Alias introduced for consistency with extension suffixing rules"/> + <enum extends="VkSamplerAddressMode" name="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR" alias="VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE" deprecated="aliased" comment="Introduced for consistency with extension suffixing rules"/> </require> </extension> <extension name="VK_IMG_filter_cubic" number="16" type="device" author="IMG" contact="Tobias Hector @tobski" supported="vulkan"> @@ -15020,7 +15699,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_shader_explicit_vertex_parameter"" name="VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_debug_marker" number="23" type="device" requires="VK_EXT_debug_report" author="Baldur Karlsson" contact="Baldur Karlsson @baldurk" specialuse="debugging" supported="vulkan" promotedto="VK_EXT_debug_utils"> + <extension name="VK_EXT_debug_marker" number="23" type="device" depends="VK_EXT_debug_report" author="Baldur Karlsson" contact="Baldur Karlsson @baldurk" specialuse="debugging" supported="vulkan" promotedto="VK_EXT_debug_utils"> <require> <enum value="4" name="VK_EXT_DEBUG_MARKER_SPEC_VERSION"/> <enum value=""VK_EXT_debug_marker"" name="VK_EXT_DEBUG_MARKER_EXTENSION_NAME"/> @@ -15038,7 +15717,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdDebugMarkerInsertEXT"/> </require> </extension> - <extension name="VK_KHR_video_queue" number="24" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_synchronization2" author="KHR" contact="Tony Zlatinski @tzlatinski" supported="vulkan" requiresCore="1.1"> + <extension name="VK_KHR_video_queue" number="24" type="device" depends="VK_VERSION_1_1+VK_KHR_synchronization2" author="KHR" contact="Tony Zlatinski @tzlatinski" supported="vulkan"> <require> <enum value="8" name="VK_KHR_VIDEO_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_queue"" name="VK_KHR_VIDEO_QUEUE_EXTENSION_NAME"/> @@ -15127,7 +15806,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdControlVideoCodingKHR"/> </require> </extension> - <extension name="VK_KHR_video_decode_queue" number="25" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="[email protected]" supported="vulkan"> + <extension name="VK_KHR_video_decode_queue" number="25" type="device" depends="VK_KHR_video_queue+VK_KHR_synchronization2" author="KHR" contact="[email protected]" supported="vulkan"> <require> <enum value="7" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_decode_queue"" name="VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME"/> @@ -15163,7 +15842,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoDecodeInfoKHR"/> <command name="vkCmdDecodeVideoKHR"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="25" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR"/> <enum bitpos="26" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR"/> </require> @@ -15192,7 +15871,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_28"" name="VK_EXT_EXTENSION_28_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_transform_feedback" number="29" type="device" author="NV" contact="Piers Daniell @pdaniell-nv" specialuse="glemulation,d3demulation,devtools" supported="vulkan" requires="VK_KHR_get_physical_device_properties2"> + <extension name="VK_EXT_transform_feedback" number="29" type="device" author="NV" contact="Piers Daniell @pdaniell-nv" specialuse="glemulation,d3demulation,devtools" supported="vulkan" depends="VK_KHR_get_physical_device_properties2"> <require> <enum value="1" name="VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION"/> <enum value=""VK_EXT_transform_feedback"" name="VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME"/> @@ -15304,7 +15983,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_shader_ballot"" name="VK_AMD_SHADER_BALLOT_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_video_encode_h264" number="39" type="device" requires="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> + <extension name="VK_EXT_video_encode_h264" number="39" type="device" depends="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> <enum value="9" name="VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION"/> <enum value=""VK_EXT_video_encode_h264"" name="VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME"/> @@ -15343,7 +16022,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoEncodeH264FrameSizeEXT"/> </require> </extension> - <extension name="VK_EXT_video_encode_h265" number="40" type="device" requires="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> + <extension name="VK_EXT_video_encode_h265" number="40" type="device" depends="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> <enum value="9" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/> <enum value=""VK_EXT_video_encode_h265"" name="VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME"/> @@ -15387,7 +16066,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoEncodeH265FrameSizeEXT"/> </require> </extension> - <extension name="VK_KHR_video_decode_h264" number="41" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" supported="vulkan"> + <extension name="VK_KHR_video_decode_h264" number="41" type="device" depends="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" supported="vulkan"> <require> <enum value="8" name="VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION"/> <enum value=""VK_KHR_video_decode_h264"" name="VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME"/> @@ -15408,7 +16087,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoDecodeH264DpbSlotInfoKHR"/> </require> </extension> - <extension name="VK_AMD_texture_gather_bias_lod" number="42" author="AMD" contact="Rex Xu @amdrexu" supported="vulkan" type="device" requires="VK_KHR_get_physical_device_properties2"> + <extension name="VK_AMD_texture_gather_bias_lod" number="42" author="AMD" contact="Rex Xu @amdrexu" supported="vulkan" type="device" depends="VK_KHR_get_physical_device_properties2"> <require> <enum value="1" name="VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION"/> <enum value=""VK_AMD_texture_gather_bias_lod"" name="VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME"/> @@ -15432,7 +16111,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_44"" name="VK_AMD_EXTENSION_44_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_dynamic_rendering" number="45" author="KHR" type="device" requires="VK_KHR_depth_stencil_resolve,VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_dynamic_rendering" number="45" author="KHR" type="device" depends="VK_KHR_depth_stencil_resolve+VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION"/> <enum value=""VK_KHR_dynamic_rendering"" name="VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME"/> @@ -15452,27 +16131,27 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkRenderingFlagsKHR"/> <type name="VkRenderingFlagBitsKHR"/> </require> - <require extension="VK_KHR_fragment_shading_rate"> + <require depends="VK_KHR_fragment_shading_rate"> <enum bitpos="21" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> - <enum alias="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" deprecated="aliased"/> <enum offset="6" extends="VkStructureType" extnumber="45" name="VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"/> <type name="VkRenderingFragmentShadingRateAttachmentInfoKHR"/> </require> - <require extension="VK_EXT_fragment_density_map"> + <require depends="VK_EXT_fragment_density_map"> <enum bitpos="22" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"/> - <enum alias="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" deprecated="aliased"/> <enum offset="7" extends="VkStructureType" extnumber="45" name="VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT"/> <type name="VkRenderingFragmentDensityMapAttachmentInfoEXT"/> </require> - <require extension="VK_AMD_mixed_attachment_samples"> + <require depends="VK_AMD_mixed_attachment_samples"> <enum offset="8" extends="VkStructureType" extnumber="45" name="VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD"/> <type name="VkAttachmentSampleCountInfoAMD"/> </require> - <require extension="VK_NV_framebuffer_mixed_samples"> + <require depends="VK_NV_framebuffer_mixed_samples"> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV" alias="VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD"/> <type name="VkAttachmentSampleCountInfoNV"/> </require> - <require extension="VK_NVX_multiview_per_view_attributes"> + <require depends="VK_NVX_multiview_per_view_attributes"> <enum offset="9" extends="VkStructureType" extnumber="45" name="VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX"/> <type name="VkMultiviewPerViewAttributesInfoNVX"/> </require> @@ -15501,7 +16180,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GOOGLE_extension_49"" name="VK_GOOGLE_EXTENSION_49_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_GGP_stream_descriptor_surface" number="50" type="instance" requires="VK_KHR_surface" platform="ggp" author="GGP" contact="Jean-Francois Roy @jfroy" supported="vulkan"> + <extension name="VK_GGP_stream_descriptor_surface" number="50" type="instance" depends="VK_KHR_surface" platform="ggp" author="GGP" contact="Jean-Francois Roy @jfroy" supported="vulkan"> <require> <enum value="1" name="VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION"/> <enum value=""VK_GGP_stream_descriptor_surface"" name="VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME"/> @@ -15511,7 +16190,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateStreamDescriptorSurfaceGGP"/> </require> </extension> - <extension name="VK_NV_corner_sampled_image" number="51" author="NV" type="device" requires="VK_KHR_get_physical_device_properties2" contact="Daniel Koch @dgkoch" supported="vulkan"> + <extension name="VK_NV_corner_sampled_image" number="51" author="NV" type="device" depends="VK_KHR_get_physical_device_properties2" contact="Daniel Koch @dgkoch" supported="vulkan"> <require> <enum value="2" name="VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION"/> <enum value=""VK_NV_corner_sampled_image"" name="VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME"/> @@ -15520,10 +16199,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceCornerSampledImageFeaturesNV"/> </require> </extension> - <extension name="VK_NV_extension_52" number="52" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> + <extension name="VK_NV_private_vendor_info" number="52" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkansc"> <require> - <enum value="0" name="VK_NV_EXTENSION_52_SPEC_VERSION"/> - <enum value=""VK_NV_extension_52"" name="VK_NV_EXTENSION_52_EXTENSION_NAME"/> + <enum value="2" name="VK_NV_PRIVATE_VENDOR_INFO_SPEC_VERSION"/> + <enum value=""VK_NV_private_vendor_info"" name="VK_NV_PRIVATE_VENDOR_INFO_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV"/> </require> </extension> <extension name="VK_NV_extension_53" number="53" author="NV" contact="Jeff Bolz @jeffbolznv" supported="disabled"> @@ -15532,7 +16212,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_53"" name="VK_NV_EXTENSION_53_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_multiview" number="54" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_multiview" number="54" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_MULTIVIEW_SPEC_VERSION"/> <enum value=""VK_KHR_multiview"" name="VK_KHR_MULTIVIEW_EXTENSION_NAME"/> @@ -15571,7 +16251,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceExternalImageFormatPropertiesNV"/> </require> </extension> - <extension name="VK_NV_external_memory" number="57" type="device" requires="VK_NV_external_memory_capabilities" author="NV" contact="James Jones @cubanismo" supported="vulkan" deprecatedby="VK_KHR_external_memory"> + <extension name="VK_NV_external_memory" number="57" type="device" depends="VK_NV_external_memory_capabilities" author="NV" contact="James Jones @cubanismo" supported="vulkan" deprecatedby="VK_KHR_external_memory"> <require> <enum value="1" name="VK_NV_EXTERNAL_MEMORY_SPEC_VERSION"/> <enum value=""VK_NV_external_memory"" name="VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME"/> @@ -15581,7 +16261,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkExportMemoryAllocateInfoNV"/> </require> </extension> - <extension name="VK_NV_external_memory_win32" number="58" type="device" requires="VK_NV_external_memory" author="NV" contact="James Jones @cubanismo" platform="win32" supported="vulkan" deprecatedby="VK_KHR_external_memory_win32"> + <extension name="VK_NV_external_memory_win32" number="58" type="device" depends="VK_NV_external_memory" author="NV" contact="James Jones @cubanismo" platform="win32" supported="vulkan" deprecatedby="VK_KHR_external_memory_win32"> <require> <enum value="1" name="VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION"/> <enum value=""VK_NV_external_memory_win32"" name="VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME"/> @@ -15592,7 +16272,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryWin32HandleNV"/> </require> </extension> - <extension name="VK_NV_win32_keyed_mutex" number="59" type="device" requires="VK_NV_external_memory_win32" author="NV" contact="Carsten Rohde @crohde" platform="win32" supported="vulkan" promotedto="VK_KHR_win32_keyed_mutex"> + <extension name="VK_NV_win32_keyed_mutex" number="59" type="device" depends="VK_NV_external_memory_win32" author="NV" contact="Carsten Rohde @crohde" platform="win32" supported="vulkan" promotedto="VK_KHR_win32_keyed_mutex"> <require> <enum value="2" name="VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION"/> <enum value=""VK_NV_win32_keyed_mutex"" name="VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME"/> @@ -15631,7 +16311,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceSparseImageFormatProperties2KHR"/> </require> </extension> - <extension name="VK_KHR_device_group" number="61" type="device" author="KHR" requires="VK_KHR_device_group_creation" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_device_group" number="61" type="device" author="KHR" depends="VK_KHR_device_group_creation" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="4" name="VK_KHR_DEVICE_GROUP_SPEC_VERSION"/> <enum value=""VK_KHR_device_group"" name="VK_KHR_DEVICE_GROUP_EXTENSION_NAME"/> @@ -15661,14 +16341,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_DISPATCH_BASE_KHR" alias="VK_PIPELINE_CREATE_DISPATCH_BASE"/> <enum extends="VkDependencyFlagBits" name="VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR" alias="VK_DEPENDENCY_DEVICE_GROUP_BIT"/> </require> - <require extension="VK_KHR_bind_memory2"> + <require depends="VK_KHR_bind_memory2"> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR" alias="VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR" alias="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO"/> <type name="VkBindBufferMemoryDeviceGroupInfoKHR"/> <type name="VkBindImageMemoryDeviceGroupInfoKHR"/> <enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR" alias="VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"/> </require> - <require extension="VK_KHR_surface"> + <require depends="VK_KHR_surface"> <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"/> <type name="VkDeviceGroupPresentModeFlagBitsKHR"/> <type name="VkDeviceGroupPresentModeFlagsKHR"/> @@ -15677,7 +16357,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDeviceGroupSurfacePresentModesKHR"/> <command name="vkGetPhysicalDevicePresentRectanglesKHR"/> </require> - <require extension="VK_KHR_swapchain"> + <require depends="VK_KHR_swapchain"> <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"/> <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"/> <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"/> @@ -15701,7 +16381,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkValidationCheckEXT"/> </require> </extension> - <extension name="VK_NN_vi_surface" number="63" type="instance" author="NN" contact="Mathias Heyer gitlab:@mheyer" requires="VK_KHR_surface" platform="vi" supported="vulkan"> + <extension name="VK_NN_vi_surface" number="63" type="instance" author="NN" contact="Mathias Heyer gitlab:@mheyer" depends="VK_KHR_surface" platform="vi" supported="vulkan"> <require> <enum value="1" name="VK_NN_VI_SURFACE_SPEC_VERSION"/> <enum value=""VK_NN_vi_surface"" name="VK_NN_VI_SURFACE_EXTENSION_NAME"/> @@ -15729,7 +16409,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_shader_subgroup_vote"" name="VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_texture_compression_astc_hdr" number="67" type="device" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" requires="VK_KHR_get_physical_device_properties2" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_texture_compression_astc_hdr" number="67" type="device" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION"/> <enum value=""VK_EXT_texture_compression_astc_hdr"" name="VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME"/> @@ -15751,7 +16431,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkFormat" name="VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT" alias="VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK"/> </require> </extension> - <extension name="VK_EXT_astc_decode_mode" number="68" type="device" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" requires="VK_KHR_get_physical_device_properties2" supported="vulkan"> + <extension name="VK_EXT_astc_decode_mode" number="68" type="device" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION"/> <enum value=""VK_EXT_astc_decode_mode"" name="VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME"/> @@ -15761,7 +16441,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceASTCDecodeFeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_pipeline_robustness" requires="VK_KHR_get_physical_device_properties2" number="69" type="device" author="IMG" contact="Jarred Davies" supported="vulkan"> + <extension name="VK_EXT_pipeline_robustness" depends="VK_KHR_get_physical_device_properties2" number="69" type="device" author="IMG" contact="Jarred Davies" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION"/> <enum value=""VK_EXT_pipeline_robustness"" name="VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME"/> @@ -15779,8 +16459,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <require> <enum value="2" name="VK_KHR_MAINTENANCE_1_SPEC_VERSION"/> <enum value=""VK_KHR_maintenance1"" name="VK_KHR_MAINTENANCE_1_EXTENSION_NAME"/> - <enum alias="VK_KHR_MAINTENANCE_1_SPEC_VERSION" name="VK_KHR_MAINTENANCE1_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/> - <enum alias="VK_KHR_MAINTENANCE_1_EXTENSION_NAME" name="VK_KHR_MAINTENANCE1_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_KHR_MAINTENANCE_1_SPEC_VERSION" name="VK_KHR_MAINTENANCE1_SPEC_VERSION" deprecated="aliased"/> + <enum alias="VK_KHR_MAINTENANCE_1_EXTENSION_NAME" name="VK_KHR_MAINTENANCE1_EXTENSION_NAME" deprecated="aliased"/> <enum extends="VkResult" name="VK_ERROR_OUT_OF_POOL_MEMORY_KHR" alias="VK_ERROR_OUT_OF_POOL_MEMORY"/> <enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"/> <enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_DST_BIT"/> @@ -15802,7 +16482,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkMemoryHeapFlagBits" name="VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR" alias="VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"/> </require> </extension> - <extension name="VK_KHR_external_memory_capabilities" number="72" type="instance" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_memory_capabilities" number="72" type="instance" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION"/> <enum value=""VK_KHR_external_memory_capabilities"" name="VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME"/> @@ -15835,7 +16515,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceExternalBufferPropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_external_memory" number="73" type="device" requires="VK_KHR_external_memory_capabilities" author="KHR" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_memory" number="73" type="device" depends="VK_KHR_external_memory_capabilities" author="KHR" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION"/> <enum value=""VK_KHR_external_memory"" name="VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME"/> @@ -15849,7 +16529,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkExportMemoryAllocateInfoKHR"/> </require> </extension> - <extension name="VK_KHR_external_memory_win32" number="74" type="device" requires="VK_KHR_external_memory" author="KHR" contact="James Jones @cubanismo" platform="win32" supported="vulkan"> + <extension name="VK_KHR_external_memory_win32" number="74" type="device" depends="VK_KHR_external_memory" author="KHR" contact="James Jones @cubanismo" platform="win32" supported="vulkan"> <require> <enum value="1" name="VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION"/> <enum value=""VK_KHR_external_memory_win32"" name="VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME"/> @@ -15865,7 +16545,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryWin32HandlePropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_external_memory_fd" number="75" type="device" requires="VK_KHR_external_memory" author="KHR" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_KHR_external_memory_fd" number="75" type="device" depends="VK_KHR_external_memory" author="KHR" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION"/> <enum value=""VK_KHR_external_memory_fd"" name="VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME"/> @@ -15879,7 +16559,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryFdPropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_win32_keyed_mutex" number="76" type="device" requires="VK_KHR_external_memory_win32" author="KHR" contact="Carsten Rohde @crohde" platform="win32" supported="vulkan"> + <extension name="VK_KHR_win32_keyed_mutex" number="76" type="device" depends="VK_KHR_external_memory_win32" author="KHR" contact="Carsten Rohde @crohde" platform="win32" supported="vulkan"> <require> <enum value="1" name="VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION"/> <enum value=""VK_KHR_win32_keyed_mutex"" name="VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME"/> @@ -15887,7 +16567,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkWin32KeyedMutexAcquireReleaseInfoKHR"/> </require> </extension> - <extension name="VK_KHR_external_semaphore_capabilities" number="77" type="instance" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_semaphore_capabilities" number="77" type="instance" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION"/> <enum value=""VK_KHR_external_semaphore_capabilities"" name="VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME"/> @@ -15912,7 +16592,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_external_semaphore" number="78" type="device" requires="VK_KHR_external_semaphore_capabilities" author="KHR" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_semaphore" number="78" type="device" depends="VK_KHR_external_semaphore_capabilities" author="KHR" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION"/> <enum value=""VK_KHR_external_semaphore"" name="VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/> @@ -15923,7 +16603,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkExportSemaphoreCreateInfoKHR"/> </require> </extension> - <extension name="VK_KHR_external_semaphore_win32" number="79" type="device" requires="VK_KHR_external_semaphore" author="KHR" contact="James Jones @cubanismo" platform="win32" supported="vulkan"> + <extension name="VK_KHR_external_semaphore_win32" number="79" type="device" depends="VK_KHR_external_semaphore" author="KHR" contact="James Jones @cubanismo" platform="win32" supported="vulkan"> <require> <enum value="1" name="VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION"/> <enum value=""VK_KHR_external_semaphore_win32"" name="VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME"/> @@ -15939,7 +16619,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetSemaphoreWin32HandleKHR"/> </require> </extension> - <extension name="VK_KHR_external_semaphore_fd" number="80" type="device" requires="VK_KHR_external_semaphore" author="KHR" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_KHR_external_semaphore_fd" number="80" type="device" depends="VK_KHR_external_semaphore" author="KHR" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION"/> <enum value=""VK_KHR_external_semaphore_fd"" name="VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME"/> @@ -15951,7 +16631,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetSemaphoreFdKHR"/> </require> </extension> - <extension name="VK_KHR_push_descriptor" number="81" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_KHR_push_descriptor" number="81" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <require> <enum value="2" name="VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION"/> <enum value=""VK_KHR_push_descriptor"" name="VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME"/> @@ -15960,16 +16640,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdPushDescriptorSetKHR"/> <type name="VkPhysicalDevicePushDescriptorPropertiesKHR"/> </require> - <require feature="VK_VERSION_1_1"> + <require depends="VK_VERSION_1_1"> <command name="vkCmdPushDescriptorSetWithTemplateKHR"/> <enum value="1" extends="VkDescriptorUpdateTemplateType" name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR" comment="Create descriptor update template for pushed descriptor updates"/> </require> - <require extension="VK_KHR_descriptor_update_template"> + <require depends="VK_KHR_descriptor_update_template"> <command name="vkCmdPushDescriptorSetWithTemplateKHR"/> <enum value="1" extends="VkDescriptorUpdateTemplateType" name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR" comment="Create descriptor update template for pushed descriptor updates"/> </require> </extension> - <extension name="VK_EXT_conditional_rendering" number="82" type="device" author="NV" contact="Vikram Kushwaha @vkushwaha" supported="vulkan"> + <extension name="VK_EXT_conditional_rendering" number="82" type="device" author="NV" contact="Vikram Kushwaha @vkushwaha" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="2" name="VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION"/> <enum value=""VK_EXT_conditional_rendering"" name="VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME"/> @@ -15988,7 +16668,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkCommandBufferInheritanceConditionalRenderingInfoEXT"/> </require> </extension> - <extension name="VK_KHR_shader_float16_int8" number="83" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_shader_float16_int8" number="83" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION"/> <enum value=""VK_KHR_shader_float16_int8"" name="VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME"/> @@ -15998,7 +16678,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFloat16Int8FeaturesKHR"/> </require> </extension> - <extension name="VK_KHR_16bit_storage" number="84" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_storage_buffer_storage_class" author="KHR" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_16bit_storage" number="84" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class" author="KHR" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_16BIT_STORAGE_SPEC_VERSION"/> <enum value=""VK_KHR_16bit_storage"" name="VK_KHR_16BIT_STORAGE_EXTENSION_NAME"/> @@ -16006,7 +16686,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevice16BitStorageFeaturesKHR"/> </require> </extension> - <extension name="VK_KHR_incremental_present" number="85" type="device" author="KHR" requires="VK_KHR_swapchain" contact="Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_KHR_incremental_present" number="85" type="device" author="KHR" depends="VK_KHR_swapchain" contact="Ian Elliott @ianelliottus" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION"/> <enum value=""VK_KHR_incremental_present"" name="VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME"/> @@ -16032,11 +16712,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkDescriptorUpdateTemplateCreateInfoKHR"/> <enum extends="VkDescriptorUpdateTemplateType" name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR" alias="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"/> </require> - <require extension="VK_KHR_push_descriptor"> + <require depends="VK_KHR_push_descriptor"> <command name="vkCmdPushDescriptorSetWithTemplateKHR"/> <enum value="1" extends="VkDescriptorUpdateTemplateType" name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR" comment="Create descriptor update template for pushed descriptor updates"/> </require> - <require extension="VK_EXT_debug_report"> + <require depends="VK_EXT_debug_report"> <enum extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT" alias="VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT"/> </require> </extension> @@ -16057,14 +16737,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetViewportWScalingNV"/> </require> </extension> - <extension name="VK_EXT_direct_mode_display" number="89" type="instance" requires="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_EXT_direct_mode_display" number="89" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION"/> <enum value=""VK_EXT_direct_mode_display"" name="VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME"/> <command name="vkReleaseDisplayEXT"/> </require> </extension> - <extension name="VK_EXT_acquire_xlib_display" number="90" type="instance" requires="VK_EXT_direct_mode_display" author="NV" contact="James Jones @cubanismo" platform="xlib_xrandr" supported="vulkan"> + <extension name="VK_EXT_acquire_xlib_display" number="90" type="instance" depends="VK_EXT_direct_mode_display" author="NV" contact="James Jones @cubanismo" platform="xlib_xrandr" supported="vulkan"> <require> <enum value="1" name="VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION"/> <enum value=""VK_EXT_acquire_xlib_display"" name="VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME"/> @@ -16072,19 +16752,19 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetRandROutputDisplayEXT"/> </require> </extension> - <extension name="VK_EXT_display_surface_counter" number="91" type="instance" requires="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_EXT_display_surface_counter" number="91" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION"/> <enum value=""VK_EXT_display_surface_counter"" name="VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT"/> - <enum alias="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum api="vulkan" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT" alias="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT" deprecated="aliased"/> <type name="VkSurfaceCounterFlagsEXT"/> <type name="VkSurfaceCounterFlagBitsEXT"/> <type name="VkSurfaceCapabilities2EXT"/> <command name="vkGetPhysicalDeviceSurfaceCapabilities2EXT"/> </require> </extension> - <extension name="VK_EXT_display_control" number="92" type="device" requires="VK_EXT_display_surface_counter,VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_EXT_display_control" number="92" type="device" depends="VK_EXT_display_surface_counter+VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_DISPLAY_CONTROL_SPEC_VERSION"/> <enum value=""VK_EXT_display_control"" name="VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME"/> @@ -16105,7 +16785,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetSwapchainCounterEXT"/> </require> </extension> - <extension name="VK_GOOGLE_display_timing" number="93" type="device" author="GOOGLE" requires="VK_KHR_swapchain" contact="Ian Elliott @ianelliottus" supported="vulkan"> + <extension name="VK_GOOGLE_display_timing" number="93" type="device" author="GOOGLE" depends="VK_KHR_swapchain" contact="Ian Elliott @ianelliottus" supported="vulkan"> <require> <enum value="1" name="VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION"/> <enum value=""VK_GOOGLE_display_timing"" name="VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME"/> @@ -16145,11 +16825,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <require> <enum value="1" name="VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION"/> <enum value=""VK_NV_viewport_array2"" name="VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME"/> - <enum alias="VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION" name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/> - <enum alias="VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME" name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION" name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION" deprecated="aliased"/> + <enum alias="VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME" name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME" deprecated="aliased"/> </require> </extension> - <extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" requires="VK_KHR_multiview" author="NVX" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" depends="VK_KHR_multiview" author="NVX" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <require> <enum value="1" name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION"/> <enum value=""VK_NVX_multiview_per_view_attributes"" name="VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME"/> @@ -16170,18 +16850,22 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineViewportSwizzleStateCreateFlagsNV"/> </require> </extension> - <extension name="VK_EXT_discard_rectangles" number="100" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_discard_rectangles" number="100" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> - <enum value="1" name="VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION"/> + <enum value="2" name="VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION"/> <enum value=""VK_EXT_discard_rectangles"" name="VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"/> <enum offset="0" extends="VkDynamicState" name="VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"/> + <enum offset="1" extends="VkDynamicState" name="VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT"/> + <enum offset="2" extends="VkDynamicState" name="VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT"/> <type name="VkPhysicalDeviceDiscardRectanglePropertiesEXT"/> <type name="VkPipelineDiscardRectangleStateCreateInfoEXT"/> <type name="VkPipelineDiscardRectangleStateCreateFlagsEXT"/> <type name="VkDiscardRectangleModeEXT"/> <command name="vkCmdSetDiscardRectangleEXT"/> + <command name="vkCmdSetDiscardRectangleEnableEXT"/> + <command name="vkCmdSetDiscardRectangleModeEXT"/> </require> </extension> <extension name="VK_NV_extension_101" number="101" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> @@ -16190,7 +16874,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_101"" name="VK_NV_EXTENSION_101_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_conservative_rasterization" number="102" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_conservative_rasterization" number="102" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION"/> <enum value=""VK_EXT_conservative_rasterization"" name="VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME"/> @@ -16202,7 +16886,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkConservativeRasterizationModeEXT"/> </require> </extension> - <extension name="VK_EXT_depth_clip_enable" number="103" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" specialuse="d3demulation" supported="vulkan"> + <extension name="VK_EXT_depth_clip_enable" number="103" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" specialuse="d3demulation" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION"/> <enum value=""VK_EXT_depth_clip_enable"" name="VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME"/> @@ -16220,7 +16904,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="0" extends="VkPrivateDataSlotCreateFlagBits" name="VK_PRIVATE_DATA_SLOT_CREATE_RESERVED_0_BIT_NV"/> </require> </extension> - <extension name="VK_EXT_swapchain_colorspace" number="105" type="instance" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney-g" requires="VK_KHR_surface" supported="vulkan"> + <extension name="VK_EXT_swapchain_colorspace" number="105" type="instance" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney-g" depends="VK_KHR_surface" supported="vulkan,vulkansc"> <require> <enum value="4" name="VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION"/> <enum value=""VK_EXT_swapchain_colorspace"" name="VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME"/> @@ -16238,10 +16922,10 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="12" extends="VkColorSpaceKHR" name="VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"/> <enum offset="13" extends="VkColorSpaceKHR" name="VK_COLOR_SPACE_PASS_THROUGH_EXT"/> <enum offset="14" extends="VkColorSpaceKHR" name="VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT"/> - <enum extends="VkColorSpaceKHR" name="VK_COLOR_SPACE_DCI_P3_LINEAR_EXT" alias="VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT" comment="Backwards-compatible alias containing a typo"/> + <enum api="vulkan" extends="VkColorSpaceKHR" name="VK_COLOR_SPACE_DCI_P3_LINEAR_EXT" alias="VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT" deprecated="aliased"/> </require> </extension> - <extension name="VK_EXT_hdr_metadata" number="106" type="device" requires="VK_KHR_swapchain" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney-g" supported="vulkan"> + <extension name="VK_EXT_hdr_metadata" number="106" type="device" depends="VK_KHR_swapchain" author="GOOGLE" contact="Courtney Goeltzenleuchter @courtney-g" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_HDR_METADATA_SPEC_VERSION"/> <enum value=""VK_EXT_hdr_metadata"" name="VK_EXT_HDR_METADATA_EXTENSION_NAME"/> @@ -16263,7 +16947,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_IMG_extension_108"" name="VK_IMG_EXTENSION_108_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_imageless_framebuffer" requires="VK_KHR_maintenance2,VK_KHR_image_format_list" number="109" author="KHR" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_imageless_framebuffer" depends="VK_KHR_maintenance2+VK_KHR_image_format_list+VK_KHR_get_physical_device_properties2" number="109" author="KHR" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION"/> <enum value=""VK_KHR_imageless_framebuffer"" name="VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME"/> @@ -16278,7 +16962,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkFramebufferCreateFlagBits" name="VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR" alias="VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"/> </require> </extension> - <extension name="VK_KHR_create_renderpass2" requires="VK_KHR_multiview,VK_KHR_maintenance2" number="110" author="KHR" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_create_renderpass2" depends="VK_KHR_multiview+VK_KHR_maintenance2" number="110" author="KHR" contact="Tobias Hector @tobias" type="device" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION"/> <enum value=""VK_KHR_create_renderpass2"" name="VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME"/> @@ -16308,7 +16992,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_IMG_extension_111"" name="VK_IMG_EXTENSION_111_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_shared_presentable_image" number="112" type="device" requires="VK_KHR_swapchain,VK_KHR_get_physical_device_properties2,VK_KHR_get_surface_capabilities2" author="KHR" contact="Alon Or-bach @alonorbach" supported="vulkan"> + <extension name="VK_KHR_shared_presentable_image" number="112" type="device" depends="VK_KHR_swapchain+VK_KHR_get_physical_device_properties2+VK_KHR_get_surface_capabilities2" author="KHR" contact="Alon Or-bach @alonorbach" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION"/> <enum value=""VK_KHR_shared_presentable_image"" name="VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME"/> @@ -16320,7 +17004,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetSwapchainStatusKHR"/> </require> </extension> - <extension name="VK_KHR_external_fence_capabilities" number="113" type="instance" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_fence_capabilities" number="113" type="instance" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION"/> <enum value=""VK_KHR_external_fence_capabilities"" name="VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME"/> @@ -16344,7 +17028,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceExternalFencePropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_external_fence" number="114" type="device" requires="VK_KHR_external_fence_capabilities" author="KHR" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_external_fence" number="114" type="device" depends="VK_KHR_external_fence_capabilities" author="KHR" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_EXTERNAL_FENCE_SPEC_VERSION"/> <enum value=""VK_KHR_external_fence"" name="VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME"/> @@ -16355,7 +17039,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkExportFenceCreateInfoKHR"/> </require> </extension> - <extension name="VK_KHR_external_fence_win32" number="115" type="device" requires="VK_KHR_external_fence" author="KHR" contact="Jesse Hall @critsec" platform="win32" supported="vulkan"> + <extension name="VK_KHR_external_fence_win32" number="115" type="device" depends="VK_KHR_external_fence" author="KHR" contact="Jesse Hall @critsec" platform="win32" supported="vulkan"> <require> <enum value="1" name="VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION"/> <enum value=""VK_KHR_external_fence_win32"" name="VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME"/> @@ -16369,7 +17053,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetFenceWin32HandleKHR"/> </require> </extension> - <extension name="VK_KHR_external_fence_fd" number="116" type="device" requires="VK_KHR_external_fence" author="KHR" contact="Jesse Hall @critsec" supported="vulkan"> + <extension name="VK_KHR_external_fence_fd" number="116" type="device" depends="VK_KHR_external_fence" author="KHR" contact="Jesse Hall @critsec" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION"/> <enum value=""VK_KHR_external_fence_fd"" name="VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME"/> @@ -16381,7 +17065,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetFenceFdKHR"/> </require> </extension> - <extension name="VK_KHR_performance_query" number="117" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alon Or-bach @alonorbach" specialuse="devtools" supported="vulkan"> + <extension name="VK_KHR_performance_query" number="117" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alon Or-bach @alonorbach" specialuse="devtools" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION"/> <enum value=""VK_KHR_performance_query"" name="VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME"/> @@ -16413,13 +17097,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkAcquireProfilingLockKHR"/> <command name="vkReleaseProfilingLockKHR"/> </require> + <require depends="VKSC_VERSION_1_0" api="vulkansc"> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR"/> + <type name="VkPerformanceQueryReservationInfoKHR"/> + </require> </extension> <extension name="VK_KHR_maintenance2" number="118" type="device" author="KHR" contact="Michael Worcester @michaelworcester" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_MAINTENANCE_2_SPEC_VERSION"/> <enum value=""VK_KHR_maintenance2"" name="VK_KHR_MAINTENANCE_2_EXTENSION_NAME"/> - <enum alias="VK_KHR_MAINTENANCE_2_SPEC_VERSION" name="VK_KHR_MAINTENANCE2_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/> - <enum alias="VK_KHR_MAINTENANCE_2_EXTENSION_NAME" name="VK_KHR_MAINTENANCE2_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_KHR_MAINTENANCE_2_SPEC_VERSION" name="VK_KHR_MAINTENANCE2_SPEC_VERSION" deprecated="aliased"/> + <enum alias="VK_KHR_MAINTENANCE_2_EXTENSION_NAME" name="VK_KHR_MAINTENANCE2_EXTENSION_NAME" deprecated="aliased"/> <enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR" alias="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"/> <enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR" alias="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"/> @@ -16447,7 +17135,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_119"" name="VK_KHR_EXTENSION_119_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_get_surface_capabilities2" number="120" type="instance" requires="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_KHR_get_surface_capabilities2" number="120" type="instance" depends="VK_KHR_surface" author="KHR" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION"/> <enum value=""VK_KHR_get_surface_capabilities2"" name="VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME"/> @@ -16461,7 +17149,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceSurfaceFormats2KHR"/> </require> </extension> - <extension name="VK_KHR_variable_pointers" number="121" type="device" author="KHR" contact="Jesse Hall @critsec" requires="VK_KHR_get_physical_device_properties2,VK_KHR_storage_buffer_storage_class" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_variable_pointers" number="121" type="device" author="KHR" contact="Jesse Hall @critsec" depends="VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_VARIABLE_POINTERS_SPEC_VERSION"/> <enum value=""VK_KHR_variable_pointers"" name="VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME"/> @@ -16471,7 +17159,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceVariablePointersFeaturesKHR"/> </require> </extension> - <extension name="VK_KHR_get_display_properties2" number="122" type="instance" requires="VK_KHR_display" author="KHR" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_KHR_get_display_properties2" number="122" type="instance" depends="VK_KHR_display" author="KHR" contact="James Jones @cubanismo" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION"/> <enum value=""VK_KHR_get_display_properties2"" name="VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME"/> @@ -16491,7 +17179,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDisplayPlaneCapabilities2KHR"/> </require> </extension> - <extension name="VK_MVK_ios_surface" number="123" type="instance" requires="VK_KHR_surface" platform="ios" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface"> + <extension name="VK_MVK_ios_surface" number="123" type="instance" depends="VK_KHR_surface" platform="ios" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface"> <require> <enum value="3" name="VK_MVK_IOS_SURFACE_SPEC_VERSION"/> <enum value=""VK_MVK_ios_surface"" name="VK_MVK_IOS_SURFACE_EXTENSION_NAME"/> @@ -16501,7 +17189,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateIOSSurfaceMVK"/> </require> </extension> - <extension name="VK_MVK_macos_surface" number="124" type="instance" requires="VK_KHR_surface" platform="macos" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface"> + <extension name="VK_MVK_macos_surface" number="124" type="instance" depends="VK_KHR_surface" platform="macos" supported="vulkan" author="MVK" contact="Bill Hollings @billhollings" deprecatedby="VK_EXT_metal_surface"> <require> <enum value="3" name="VK_MVK_MACOS_SURFACE_SPEC_VERSION"/> <enum value=""VK_MVK_macos_surface"" name="VK_MVK_MACOS_SURFACE_EXTENSION_NAME"/> @@ -16517,21 +17205,21 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_MVK_moltenvk"" name="VK_MVK_MOLTENVK_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_external_memory_dma_buf" number="126" type="device" requires="VK_KHR_external_memory_fd" author="EXT" contact="Chad Versace @chadversary" supported="vulkan"> + <extension name="VK_EXT_external_memory_dma_buf" number="126" type="device" depends="VK_KHR_external_memory_fd" author="EXT" contact="Chad Versace @chadversary" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION"/> <enum value=""VK_EXT_external_memory_dma_buf"" name="VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME"/> <enum bitpos="9" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT"/> </require> </extension> - <extension name="VK_EXT_queue_family_foreign" number="127" type="device" author="EXT" requires="VK_KHR_external_memory" contact="Chad Versace @chadversary" supported="vulkan"> + <extension name="VK_EXT_queue_family_foreign" number="127" type="device" author="EXT" depends="VK_KHR_external_memory" contact="Chad Versace @chadversary" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION"/> <enum value=""VK_EXT_queue_family_foreign"" name="VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME"/> <enum name="VK_QUEUE_FAMILY_FOREIGN_EXT"/> </require> </extension> - <extension name="VK_KHR_dedicated_allocation" number="128" type="device" author="KHR" requires="VK_KHR_get_memory_requirements2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_dedicated_allocation" number="128" type="device" author="KHR" depends="VK_KHR_get_memory_requirements2" contact="James Jones @cubanismo" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="3" name="VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION"/> <enum value=""VK_KHR_dedicated_allocation"" name="VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME"/> @@ -16541,7 +17229,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkMemoryDedicatedAllocateInfoKHR"/> </require> </extension> - <extension name="VK_EXT_debug_utils" number="129" type="instance" author="EXT" contact="Mark Young @marky-lunarg" specialuse="debugging" supported="vulkan"> + <extension name="VK_EXT_debug_utils" number="129" type="instance" author="EXT" contact="Mark Young @marky-lunarg" specialuse="debugging" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_DEBUG_UTILS_SPEC_VERSION"/> <enum value=""VK_EXT_debug_utils"" name="VK_EXT_DEBUG_UTILS_EXTENSION_NAME"/> @@ -16577,7 +17265,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkSubmitDebugUtilsMessageEXT"/> </require> </extension> - <extension name="VK_ANDROID_external_memory_android_hardware_buffer" number="130" type="device" author="ANDROID" requires="VK_KHR_sampler_ycbcr_conversion,VK_KHR_external_memory,VK_EXT_queue_family_foreign,VK_KHR_dedicated_allocation" platform="android" contact="Jesse Hall @critsec" supported="vulkan"> + <extension name="VK_ANDROID_external_memory_android_hardware_buffer" number="130" type="device" author="ANDROID" depends="VK_KHR_sampler_ycbcr_conversion+VK_KHR_external_memory+VK_EXT_queue_family_foreign+VK_KHR_dedicated_allocation" platform="android" contact="Jesse Hall @critsec" supported="vulkan"> <require> <enum value="5" name="VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION"/> <enum value=""VK_ANDROID_external_memory_android_hardware_buffer"" name="VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME"/> @@ -16598,12 +17286,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryAndroidHardwareBufferANDROID"/> <type name="AHardwareBuffer"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <type name="VkAndroidHardwareBufferFormatProperties2ANDROID"/> <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"/> </require> </extension> - <extension name="VK_EXT_sampler_filter_minmax" number="131" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_EXT_sampler_filter_minmax" number="131" type="device" author="NV" depends="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="2" name="VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION"/> <enum value=""VK_EXT_sampler_filter_minmax"" name="VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME"/> @@ -16661,7 +17349,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_shader_fragment_mask"" name="VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_inline_uniform_block" number="139" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2,VK_KHR_maintenance1" contact="Daniel Rakos @aqnuep" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_inline_uniform_block" number="139" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1" contact="Daniel Rakos @aqnuep" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION"/> <enum value=""VK_EXT_inline_uniform_block"" name="VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME"/> @@ -16682,7 +17370,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_140"" name="VK_AMD_EXTENSION_140_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_shader_stencil_export" number="141" type="device" author="EXT" contact="Dominik Witczak @dominikwitczakamd" supported="vulkan"> + <extension name="VK_EXT_shader_stencil_export" number="141" type="device" author="EXT" contact="Dominik Witczak @dominikwitczakamd" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION"/> <enum value=""VK_EXT_shader_stencil_export"" name="VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME"/> @@ -16700,7 +17388,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_143"" name="VK_AMD_EXTENSION_143_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_sample_locations" number="144" type="device" author="AMD" contact="Daniel Rakos @drakos-amd" supported="vulkan" requires="VK_KHR_get_physical_device_properties2"> + <extension name="VK_EXT_sample_locations" number="144" type="device" author="AMD" contact="Daniel Rakos @drakos-amd" supported="vulkan,vulkansc" depends="VK_KHR_get_physical_device_properties2"> <require> <enum value="1" name="VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION"/> <enum value=""VK_EXT_sample_locations"" name="VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME"/> @@ -16735,7 +17423,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_RESERVED_do_not_use_146"" name="VK_RESERVED_DO_NOT_USE_146_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_get_memory_requirements2" number="147" type="device" author="KHR" contact="Jason Ekstrand @jekstrand" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_get_memory_requirements2" number="147" type="device" author="KHR" contact="Faith Ekstrand @gfxstrand" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION"/> <enum value=""VK_KHR_get_memory_requirements2"" name="VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME"/> @@ -16754,7 +17442,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetImageSparseMemoryRequirements2KHR"/> </require> </extension> - <extension name="VK_KHR_image_format_list" number="148" type="device" author="KHR" contact="Jason Ekstrand @jekstrand" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_image_format_list" number="148" type="device" author="KHR" contact="Faith Ekstrand @gfxstrand" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION"/> <enum value=""VK_KHR_image_format_list"" name="VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME"/> @@ -16762,7 +17450,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkImageFormatListCreateInfoKHR"/> </require> </extension> - <extension name="VK_EXT_blend_operation_advanced" number="149" type="device" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan" requires="VK_KHR_get_physical_device_properties2"> + <extension name="VK_EXT_blend_operation_advanced" number="149" type="device" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc" depends="VK_KHR_get_physical_device_properties2"> <require> <enum value="2" name="VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION"/> <enum value=""VK_EXT_blend_operation_advanced"" name="VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME"/> @@ -16831,7 +17519,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineCoverageToColorStateCreateInfoNV"/> </require> </extension> - <extension name="VK_KHR_acceleration_structure" number="151" type="device" requiresCore="1.1" requires="VK_EXT_descriptor_indexing,VK_KHR_buffer_device_address,VK_KHR_deferred_host_operations" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> + <extension name="VK_KHR_acceleration_structure" number="151" type="device" depends="VK_VERSION_1_1+VK_EXT_descriptor_indexing+VK_KHR_buffer_device_address+VK_KHR_deferred_host_operations" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> <require> <enum value="13" name="VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"/> <enum value=""VK_KHR_acceleration_structure"" name="VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME"/> @@ -16916,11 +17604,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDeviceAccelerationStructureCompatibilityKHR"/> <command name="vkGetAccelerationStructureBuildSizesKHR"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="29" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"/> </require> </extension> - <extension name="VK_KHR_ray_tracing_pipeline" number="348" type="device" requiresCore="1.1" requires="VK_KHR_spirv_1_4,VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> + <extension name="VK_KHR_ray_tracing_pipeline" number="348" type="device" depends="VK_KHR_spirv_1_4+VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> <require> <enum value="1" name="VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION"/> <enum value=""VK_KHR_ray_tracing_pipeline"" name="VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME"/> @@ -16965,7 +17653,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetRayTracingPipelineStackSizeKHR"/> </require> </extension> - <extension name="VK_KHR_ray_query" number="349" type="device" requiresCore="1.1" requires="VK_KHR_spirv_1_4,VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> + <extension name="VK_KHR_ray_query" number="349" type="device" depends="VK_KHR_spirv_1_4+VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1"> <require> <enum value="1" name="VK_KHR_RAY_QUERY_SPEC_VERSION"/> <enum value=""VK_KHR_ray_query"" name="VK_KHR_RAY_QUERY_EXTENSION_NAME"/> @@ -16996,7 +17684,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="0" extends="VkPolygonMode" name="VK_POLYGON_MODE_FILL_RECTANGLE_NV"/> </require> </extension> - <extension name="VK_NV_shader_sm_builtins" number="155" type="device" requiresCore="1.1" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan"> + <extension name="VK_NV_shader_sm_builtins" number="155" type="device" depends="VK_VERSION_1_1" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan"> <require> <enum value="1" name="VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION"/> <enum value=""VK_NV_shader_sm_builtins"" name="VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME"/> @@ -17006,13 +17694,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV"/> </require> </extension> - <extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan"> + <extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION"/> <enum value=""VK_EXT_post_depth_coverage"" name="VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_sampler_ycbcr_conversion" number="157" type="device" requires="VK_KHR_maintenance1,VK_KHR_bind_memory2,VK_KHR_get_memory_requirements2,VK_KHR_get_physical_device_properties2" author="KHR" contact="Andrew Garrard @fluppeteer" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_sampler_ycbcr_conversion" number="157" type="device" depends="VK_KHR_maintenance1+VK_KHR_bind_memory2+VK_KHR_get_memory_requirements2+VK_KHR_get_physical_device_properties2" author="KHR" contact="Andrew Garrard @fluppeteer" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="14" name="VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION"/> <enum value=""VK_KHR_sampler_ycbcr_conversion"" name="VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME"/> @@ -17091,7 +17779,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkChromaLocation" name="VK_CHROMA_LOCATION_COSITED_EVEN_KHR" alias="VK_CHROMA_LOCATION_COSITED_EVEN"/> <enum extends="VkChromaLocation" name="VK_CHROMA_LOCATION_MIDPOINT_KHR" alias="VK_CHROMA_LOCATION_MIDPOINT"/> </require> - <require extension="VK_EXT_debug_report"> + <require depends="VK_EXT_debug_report"> <enum extends="VkDebugReportObjectTypeEXT" offset="0" name="VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"/> </require> </extension> @@ -17108,7 +17796,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkBindImageMemoryInfoKHR"/> </require> </extension> - <extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" requires="VK_KHR_bind_memory2,VK_KHR_get_physical_device_properties2,VK_KHR_image_format_list,VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Chad Versace @chadversary" supported="vulkan"> + <extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" depends="VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_image_format_list+VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Chad Versace @chadversary" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION"/> <enum value=""VK_EXT_image_drm_format_modifier"" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME"/> @@ -17131,7 +17819,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkImageDrmFormatModifierPropertiesEXT"/> <command name="vkGetImageDrmFormatModifierPropertiesEXT"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <type name="VkDrmFormatModifierPropertiesList2EXT"/> <type name="VkDrmFormatModifierProperties2EXT"/> <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT"/> @@ -17161,7 +17849,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetValidationCacheDataEXT"/> </require> </extension> - <extension name="VK_EXT_descriptor_indexing" number="162" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_maintenance3" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_EXT_descriptor_indexing" number="162" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="2" name="VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION"/> <enum value=""VK_EXT_descriptor_indexing"" name="VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME"/> @@ -17192,7 +17880,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_shader_viewport_index_layer"" name="VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_portability_subset" number="164" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Bill Hollings @billhollings" platform="provisional" supported="vulkan" provisional="true"> + <extension name="VK_KHR_portability_subset" number="164" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Bill Hollings @billhollings" platform="provisional" supported="vulkan" provisional="true"> <require> <enum value="1" name="VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION"/> <enum value=""VK_KHR_portability_subset"" name="VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME"/> @@ -17202,7 +17890,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevicePortabilitySubsetPropertiesKHR"/> </require> </extension> - <extension name="VK_NV_shading_rate_image" number="165" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> + <extension name="VK_NV_shading_rate_image" number="165" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> <require> <enum value="3" name="VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION"/> <enum value=""VK_NV_shading_rate_image"" name="VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME"/> @@ -17230,7 +17918,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetCoarseSampleOrderNV"/> </require> </extension> - <extension name="VK_NV_ray_tracing" number="166" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan"> + <extension name="VK_NV_ray_tracing" number="166" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan"> <require> <enum value="3" name="VK_NV_RAY_TRACING_SPEC_VERSION"/> <enum value=""VK_NV_ray_tracing"" name="VK_NV_RAY_TRACING_EXTENSION_NAME"/> @@ -17326,7 +18014,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCompileDeferredNV"/> </require> </extension> - <extension name="VK_NV_representative_fragment_test" number="167" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan"> + <extension name="VK_NV_representative_fragment_test" number="167" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="2" name="VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION"/> <enum value=""VK_NV_representative_fragment_test"" name="VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME"/> @@ -17342,12 +18030,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_168"" name="VK_NV_EXTENSION_168_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_maintenance3" number="169" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> + <extension name="VK_KHR_maintenance3" number="169" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> <require> <enum value="1" name="VK_KHR_MAINTENANCE_3_SPEC_VERSION"/> <enum value=""VK_KHR_maintenance3"" name="VK_KHR_MAINTENANCE_3_EXTENSION_NAME"/> - <enum alias="VK_KHR_MAINTENANCE_3_SPEC_VERSION" name="VK_KHR_MAINTENANCE3_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/> - <enum alias="VK_KHR_MAINTENANCE_3_EXTENSION_NAME" name="VK_KHR_MAINTENANCE3_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_KHR_MAINTENANCE_3_SPEC_VERSION" name="VK_KHR_MAINTENANCE3_SPEC_VERSION" deprecated="aliased"/> + <enum alias="VK_KHR_MAINTENANCE_3_EXTENSION_NAME" name="VK_KHR_MAINTENANCE3_EXTENSION_NAME" deprecated="aliased"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR" alias="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"/> <type name="VkPhysicalDeviceMaintenance3PropertiesKHR"/> @@ -17363,7 +18051,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdDrawIndexedIndirectCountKHR"/> </require> </extension> - <extension name="VK_EXT_filter_cubic" number="171" type="device" author="QCOM" contact="Bill Licea-Kane @wwlk" supported="vulkan"> + <extension name="VK_EXT_filter_cubic" number="171" type="device" author="QCOM" contact="Bill Licea-Kane @wwlk" supported="vulkan,vulkansc"> <require> <enum value="3" name="VK_EXT_FILTER_CUBIC_SPEC_VERSION"/> <enum value=""VK_EXT_filter_cubic"" name="VK_EXT_FILTER_CUBIC_EXTENSION_NAME"/> @@ -17398,17 +18086,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_QCOM_extension_174"" name="VK_QCOM_EXTENSION_174_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_global_priority" number="175" type="device" author="EXT" contact="Andres Rodriguez @lostgoat" supported="vulkan" promotedto="VK_KHR_global_priority"> + <extension name="VK_EXT_global_priority" number="175" type="device" author="EXT" contact="Andres Rodriguez @lostgoat" supported="vulkan,vulkansc" promotedto="VK_KHR_global_priority"> <require> <enum value="2" name="VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION"/> <enum value=""VK_EXT_global_priority"" name="VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME"/> - <enum extends="VkStructureType" alias="VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR" name="VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT"/> - <enum extends="VkResult" alias="VK_ERROR_NOT_PERMITTED_KHR" name="VK_ERROR_NOT_PERMITTED_EXT"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT" alias="VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR"/> + <enum extends="VkResult" name="VK_ERROR_NOT_PERMITTED_EXT" alias="VK_ERROR_NOT_PERMITTED_KHR"/> <type name="VkDeviceQueueGlobalPriorityCreateInfoEXT"/> <type name="VkQueueGlobalPriorityEXT"/> </require> </extension> - <extension name="VK_KHR_shader_subgroup_extended_types" number="176" type="device" requiresCore="1.1" author="KHR" contact="Neil Henning @sheredom" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_shader_subgroup_extended_types" number="176" type="device" depends="VK_VERSION_1_1" author="KHR" contact="Neil Henning @sheredom" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION"/> <enum value=""VK_KHR_shader_subgroup_extended_types"" name="VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME"/> @@ -17422,7 +18110,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_177"" name="VK_EXT_EXTENSION_177_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_8bit_storage" number="178" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_storage_buffer_storage_class" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_8bit_storage" number="178" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_8BIT_STORAGE_SPEC_VERSION"/> <enum value=""VK_KHR_8bit_storage"" name="VK_KHR_8BIT_STORAGE_EXTENSION_NAME"/> @@ -17430,7 +18118,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevice8BitStorageFeaturesKHR"/> </require> </extension> - <extension name="VK_EXT_external_memory_host" number="179" type="device" author="EXT" requires="VK_KHR_external_memory" contact="Daniel Rakos @drakos-amd" supported="vulkan"> + <extension name="VK_EXT_external_memory_host" number="179" type="device" author="EXT" depends="VK_KHR_external_memory" contact="Daniel Rakos @drakos-amd" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION"/> <enum value=""VK_EXT_external_memory_host"" name="VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME"/> @@ -17452,7 +18140,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdWriteBufferMarkerAMD"/> </require> </extension> - <extension name="VK_KHR_shader_atomic_int64" number="181" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Aaron Hagan @ahagan" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_shader_atomic_int64" number="181" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Aaron Hagan @ahagan" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION"/> <enum value=""VK_KHR_shader_atomic_int64"" name="VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME"/> @@ -17460,7 +18148,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"/> </require> </extension> - <extension name="VK_KHR_shader_clock" number="182" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Aaron Hagan @ahagan" supported="vulkan"> + <extension name="VK_KHR_shader_clock" number="182" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Aaron Hagan @ahagan" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_SHADER_CLOCK_SPEC_VERSION"/> <enum value=""VK_KHR_shader_clock"" name="VK_KHR_SHADER_CLOCK_EXTENSION_NAME"/> @@ -17484,7 +18172,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineCompilerControlCreateInfoAMD"/> </require> </extension> - <extension name="VK_EXT_calibrated_timestamps" number="185" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Daniel Rakos @drakos-amd" supported="vulkan"> + <extension name="VK_EXT_calibrated_timestamps" number="185" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Daniel Rakos @drakos-amd" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION"/> <enum value=""VK_EXT_calibrated_timestamps"" name="VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME"/> @@ -17495,7 +18183,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetCalibratedTimestampsEXT"/> </require> </extension> - <extension name="VK_AMD_shader_core_properties" number="186" type="device" author="AMD" requires="VK_KHR_get_physical_device_properties2" contact="Martin Dinkov @mdinkov" supported="vulkan"> + <extension name="VK_AMD_shader_core_properties" number="186" type="device" author="AMD" depends="VK_KHR_get_physical_device_properties2" contact="Martin Dinkov @mdinkov" supported="vulkan"> <require> <enum value="2" name="VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION"/> <enum value=""VK_AMD_shader_core_properties"" name="VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME"/> @@ -17509,7 +18197,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_187"" name="VK_AMD_EXTENSION_187_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_video_decode_h265" number="188" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" supported="vulkan"> + <extension name="VK_KHR_video_decode_h265" number="188" type="device" depends="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" supported="vulkan"> <require> <enum value="7" name="VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION"/> <enum value=""VK_KHR_video_decode_h265"" name="VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME"/> @@ -17530,7 +18218,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoDecodeH265DpbSlotInfoKHR"/> </require> </extension> - <extension name="VK_KHR_global_priority" number="189" type="device" author="KHR" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_KHR_global_priority" number="189" type="device" author="KHR" contact="Tobias Hector @tobski" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION"/> <enum value=""VK_KHR_global_priority"" name="VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME"/> @@ -17554,7 +18242,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkDeviceMemoryOverallocationCreateInfoAMD"/> </require> </extension> - <extension name="VK_EXT_vertex_attribute_divisor" number="191" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Vikram Kushwaha @vkushwaha" supported="vulkan"> + <extension name="VK_EXT_vertex_attribute_divisor" number="191" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Vikram Kushwaha @vkushwaha" supported="vulkan,vulkansc"> <require> <enum value="3" name="VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION"/> <enum value=""VK_EXT_vertex_attribute_divisor"" name="VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME"/> @@ -17567,7 +18255,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT"/> </require> </extension> - <extension name="VK_GGP_frame_token" number="192" type="device" requires="VK_KHR_swapchain,VK_GGP_stream_descriptor_surface" platform="ggp" author="GGP" contact="Jean-Francois Roy @jfroy" supported="vulkan"> + <extension name="VK_GGP_frame_token" number="192" type="device" depends="VK_KHR_swapchain+VK_GGP_stream_descriptor_surface" platform="ggp" author="GGP" contact="Jean-Francois Roy @jfroy" supported="vulkan"> <require> <enum value="1" name="VK_GGP_FRAME_TOKEN_SPEC_VERSION"/> <enum value=""VK_GGP_frame_token"" name="VK_GGP_FRAME_TOKEN_EXTENSION_NAME"/> @@ -17606,7 +18294,7 @@ typedef void* <name>MTLSharedEvent_id</name>; name="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/> </require> </extension> - <extension name="VK_KHR_driver_properties" number="197" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Daniel Rakos @drakos-amd" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_driver_properties" number="197" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Daniel Rakos @drakos-amd" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION"/> <enum value=""VK_KHR_driver_properties"" name="VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME"/> @@ -17630,7 +18318,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceDriverPropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_shader_float_controls" number="198" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_shader_float_controls" number="198" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alexander Galazin @alegal-arm" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="4" name="VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION"/> <enum value=""VK_KHR_shader_float_controls"" name="VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME"/> @@ -17642,14 +18330,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkShaderFloatControlsIndependence" name="VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR" alias="VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE"/> </require> </extension> - <extension name="VK_NV_shader_subgroup_partitioned" number="199" type="device" requiresCore="1.1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_NV_shader_subgroup_partitioned" number="199" type="device" depends="VK_VERSION_1_1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <require> <enum value="1" name="VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION"/> <enum value=""VK_NV_shader_subgroup_partitioned"" name="VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME"/> <enum bitpos="8" extends="VkSubgroupFeatureFlagBits" name="VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"/> </require> </extension> - <extension name="VK_KHR_depth_stencil_resolve" number="200" type="device" requires="VK_KHR_create_renderpass2" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_depth_stencil_resolve" number="200" type="device" depends="VK_KHR_create_renderpass2" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION"/> <enum value=""VK_KHR_depth_stencil_resolve"" name="VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME"/> @@ -17666,14 +18354,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkResolveModeFlagBits" name="VK_RESOLVE_MODE_MAX_BIT_KHR" alias="VK_RESOLVE_MODE_MAX_BIT"/> </require> </extension> - <extension name="VK_KHR_swapchain_mutable_format" number="201" type="device" author="KHR" requires="VK_KHR_swapchain,VK_KHR_maintenance2,VK_KHR_image_format_list" contact="Daniel Rakos @drakos-arm" supported="vulkan"> + <extension name="VK_KHR_swapchain_mutable_format" number="201" type="device" author="KHR" depends="VK_KHR_swapchain+VK_KHR_maintenance2+VK_KHR_image_format_list" contact="Daniel Rakos @drakos-arm" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION"/> <enum value=""VK_KHR_swapchain_mutable_format"" name="VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME"/> <enum bitpos="2" extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR"/> </require> </extension> - <extension name="VK_NV_compute_shader_derivatives" number="202" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> + <extension name="VK_NV_compute_shader_derivatives" number="202" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> <require> <enum value="1" name="VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION"/> <enum value=""VK_NV_compute_shader_derivatives"" name="VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME"/> @@ -17681,7 +18369,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceComputeShaderDerivativesFeaturesNV"/> </require> </extension> - <extension name="VK_NV_mesh_shader" number="203" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> + <extension name="VK_NV_mesh_shader" number="203" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> <require> <enum value="1" name="VK_NV_MESH_SHADER_SPEC_VERSION"/> <enum value=""VK_NV_mesh_shader"" name="VK_NV_MESH_SHADER_EXTENSION_NAME"/> @@ -17699,7 +18387,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkDrawMeshTasksIndirectCommandNV"/> </require> </extension> - <extension name="VK_NV_fragment_shader_barycentric" number="204" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan" promotedto="VK_KHR_fragment_shader_barycentric"> + <extension name="VK_NV_fragment_shader_barycentric" number="204" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan" promotedto="VK_KHR_fragment_shader_barycentric"> <require> <enum value="1" name="VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION"/> <enum value=""VK_NV_fragment_shader_barycentric"" name="VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME"/> @@ -17707,7 +18395,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV"/> </require> </extension> - <extension name="VK_NV_shader_image_footprint" number="205" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> + <extension name="VK_NV_shader_image_footprint" number="205" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> <require> <enum value="2" name="VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION"/> <enum value=""VK_NV_shader_image_footprint"" name="VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME"/> @@ -17715,19 +18403,21 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderImageFootprintFeaturesNV"/> </require> </extension> - <extension name="VK_NV_scissor_exclusive" number="206" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> + <extension name="VK_NV_scissor_exclusive" number="206" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> <require> - <enum value="1" name="VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION"/> + <enum value="2" name="VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION"/> <enum value=""VK_NV_scissor_exclusive"" name="VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV"/> - <enum offset="1" extends="VkDynamicState" name="VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV"/> + <enum offset="0" extends="VkDynamicState" name="VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV"/> + <enum offset="1" extends="VkDynamicState" name="VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV"/> <type name="VkPipelineViewportExclusiveScissorStateCreateInfoNV"/> <type name="VkPhysicalDeviceExclusiveScissorFeaturesNV"/> + <command name="vkCmdSetExclusiveScissorEnableNV"/> <command name="vkCmdSetExclusiveScissorNV"/> </require> </extension> - <extension name="VK_NV_device_diagnostic_checkpoints" type="device" number="207" requires="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan"> + <extension name="VK_NV_device_diagnostic_checkpoints" type="device" number="207" depends="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan"> <require> <enum value="2" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION"/> <enum value=""VK_NV_device_diagnostic_checkpoints"" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME"/> @@ -17739,7 +18429,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetQueueCheckpointDataNV"/> </require> </extension> - <extension name="VK_KHR_timeline_semaphore" number="208" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jason Ekstrand @jekstrand" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_timeline_semaphore" number="208" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Faith Ekstrand @gfxstrand" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="2" name="VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION"/> <enum value=""VK_KHR_timeline_semaphore"" name="VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME"/> @@ -17772,7 +18462,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_209"" name="VK_KHR_EXTENSION_209_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_INTEL_shader_integer_functions2" number="210" type="device" requires="VK_KHR_get_physical_device_properties2" author="INTEL" contact="Ian Romanick @ianromanick" supported="vulkan"> + <extension name="VK_INTEL_shader_integer_functions2" number="210" type="device" depends="VK_KHR_get_physical_device_properties2" author="INTEL" contact="Ian Romanick @ianromanick" supported="vulkan"> <require> <enum value="1" name="VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION"/> <enum value=""VK_INTEL_shader_integer_functions2"" name="VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME"/> @@ -17785,7 +18475,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="2" name="VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION"/> <enum value=""VK_INTEL_performance_query"" name="VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL"/> - <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL" alias="VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL" comment="Backwards-compatible alias containing a typo"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL" alias="VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL" deprecated="aliased"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL"/> <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL"/> @@ -17819,7 +18509,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPerformanceParameterINTEL"/> </require> </extension> - <extension name="VK_KHR_vulkan_memory_model" number="212" type="device" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_vulkan_memory_model" number="212" type="device" author="KHR" contact="Jeff Bolz @jeffbolznv" depends="VK_KHR_get_physical_device_properties2" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="3" name="VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION"/> <enum value=""VK_KHR_vulkan_memory_model"" name="VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME"/> @@ -17827,7 +18517,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"/> </require> </extension> - <extension name="VK_EXT_pci_bus_info" number="213" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2" contact="Matthaeus G. Chajdas @anteru" supported="vulkan"> + <extension name="VK_EXT_pci_bus_info" number="213" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2" contact="Matthaeus G. Chajdas @anteru" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_PCI_BUS_INFO_SPEC_VERSION"/> <enum value=""VK_EXT_pci_bus_info"" name="VK_EXT_PCI_BUS_INFO_EXTENSION_NAME"/> @@ -17835,7 +18525,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevicePCIBusInfoPropertiesEXT"/> </require> </extension> - <extension name="VK_AMD_display_native_hdr" number="214" type="device" author="AMD" requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_surface_capabilities2,VK_KHR_swapchain" contact="Matthaeus G. Chajdas @anteru" supported="vulkan"> + <extension name="VK_AMD_display_native_hdr" number="214" type="device" author="AMD" depends="VK_KHR_get_physical_device_properties2+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain" contact="Matthaeus G. Chajdas @anteru" supported="vulkan"> <require> <enum value="1" name="VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION"/> <enum value=""VK_AMD_display_native_hdr"" name="VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME"/> @@ -17847,7 +18537,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkSetLocalDimmingAMD"/> </require> </extension> - <extension name="VK_FUCHSIA_imagepipe_surface" number="215" type="instance" author="FUCHSIA" requires="VK_KHR_surface" platform="fuchsia" contact="Craig Stout @cdotstout" supported="vulkan"> + <extension name="VK_FUCHSIA_imagepipe_surface" number="215" type="instance" author="FUCHSIA" depends="VK_KHR_surface" platform="fuchsia" contact="Craig Stout @cdotstout" supported="vulkan"> <require> <enum value="1" name="VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION"/> <enum value=""VK_FUCHSIA_imagepipe_surface"" name="VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME"/> @@ -17857,7 +18547,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateImagePipeSurfaceFUCHSIA"/> </require> </extension> - <extension name="VK_KHR_shader_terminate_invocation" number="216" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_shader_terminate_invocation" number="216" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @critsec" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION"/> <enum value=""VK_KHR_shader_terminate_invocation"" name="VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME"/> @@ -17871,7 +18561,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GOOGLE_extension_217"" name="VK_GOOGLE_EXTENSION_217_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_metal_surface" number="218" type="instance" requires="VK_KHR_surface" platform="metal" supported="vulkan" author="EXT" contact="Dzmitry Malyshau @kvark"> + <extension name="VK_EXT_metal_surface" number="218" type="instance" depends="VK_KHR_surface" platform="metal" supported="vulkan" author="EXT" contact="Dzmitry Malyshau @kvark"> <require> <enum value="1" name="VK_EXT_METAL_SURFACE_SPEC_VERSION"/> <enum value=""VK_EXT_metal_surface"" name="VK_EXT_METAL_SURFACE_EXTENSION_NAME"/> @@ -17882,7 +18572,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="CAMetalLayer"/> </require> </extension> - <extension name="VK_EXT_fragment_density_map" number="219" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Matthew Netsch @mnetsch" supported="vulkan"> + <extension name="VK_EXT_fragment_density_map" number="219" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Matthew Netsch @mnetsch" supported="vulkan"> <require> <enum value="2" name="VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION"/> <enum value=""VK_EXT_fragment_density_map"" name="VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME"/> @@ -17902,7 +18592,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFragmentDensityMapPropertiesEXT"/> <type name="VkRenderPassFragmentDensityMapCreateInfoEXT"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="24" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT"/> </require> </extension> @@ -17919,7 +18609,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="0" extends="VkRenderPassCreateFlagBits" name="VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR"/> </require> </extension> - <extension name="VK_EXT_scalar_block_layout" number="222" requires="VK_KHR_get_physical_device_properties2" type="device" author="EXT" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_EXT_scalar_block_layout" number="222" depends="VK_KHR_get_physical_device_properties2" type="device" author="EXT" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION"/> <enum value=""VK_EXT_scalar_block_layout"" name="VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME"/> @@ -17937,8 +18627,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <require> <enum value="1" name="VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION"/> <enum value=""VK_GOOGLE_hlsl_functionality1"" name="VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME"/> - <enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/> - <enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/> + <enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION" deprecated="aliased"/> + <enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME" deprecated="aliased"/> </require> </extension> <extension name="VK_GOOGLE_decorate_string" number="225" type="device" author="GOOGLE" contact="Hai Nguyen @chaoticbob" supported="vulkan"> @@ -17947,7 +18637,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GOOGLE_decorate_string"" name="VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_subgroup_size_control" number="226" type="device" requiresCore="1.1" author="EXT" contact="Neil Henning @sheredom" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_subgroup_size_control" number="226" type="device" depends="VK_VERSION_1_1" author="EXT" contact="Neil Henning @sheredom" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="2" name="VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION"/> <enum value=""VK_EXT_subgroup_size_control"" name="VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME"/> @@ -17961,7 +18651,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkPipelineShaderStageCreateFlagBits" name="VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT" alias="VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT"/> </require> </extension> - <extension name="VK_KHR_fragment_shading_rate" number="227" type="device" requires="VK_KHR_create_renderpass2,VK_KHR_get_physical_device_properties2" author="KHR" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_KHR_fragment_shading_rate" number="227" type="device" depends="VK_KHR_create_renderpass2+VK_KHR_get_physical_device_properties2" author="KHR" contact="Tobias Hector @tobski" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION"/> <enum value=""VK_KHR_fragment_shading_rate"" name="VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME"/> @@ -17985,11 +18675,11 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="22" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> <enum bitpos="30" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="30" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> </require> </extension> - <extension name="VK_AMD_shader_core_properties2" number="228" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan" requires="VK_AMD_shader_core_properties"> + <extension name="VK_AMD_shader_core_properties2" number="228" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan" depends="VK_AMD_shader_core_properties"> <require> <enum value="1" name="VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION"/> <enum value=""VK_AMD_shader_core_properties2"" name="VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME"/> @@ -18005,7 +18695,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_229"" name="VK_AMD_EXTENSION_229_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_AMD_device_coherent_memory" number="230" type="device" author="AMD" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_AMD_device_coherent_memory" number="230" type="device" author="AMD" contact="Tobias Hector @tobski" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION"/> <enum value=""VK_AMD_device_coherent_memory"" name="VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME"/> @@ -18039,7 +18729,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_234"" name="VK_AMD_EXTENSION_234_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_shader_image_atomic_int64" number="235" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_EXT_shader_image_atomic_int64" number="235" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Tobias Hector @tobski" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION"/> <enum value=""VK_EXT_shader_image_atomic_int64"" name="VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME"/> @@ -18053,13 +18743,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_236"" name="VK_AMD_EXTENSION_236_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_spirv_1_4" number="237" type="device" requiresCore="1.1" requires="VK_KHR_shader_float_controls" author="KHR" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_spirv_1_4" number="237" type="device" depends="VK_VERSION_1_1+VK_KHR_shader_float_controls" author="KHR" contact="Jesse Hall @critsec" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_SPIRV_1_4_SPEC_VERSION"/> <enum value=""VK_KHR_spirv_1_4"" name="VK_KHR_SPIRV_1_4_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_memory_budget" number="238" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_EXT_memory_budget" number="238" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_MEMORY_BUDGET_SPEC_VERSION"/> <enum value=""VK_EXT_memory_budget"" name="VK_EXT_MEMORY_BUDGET_EXTENSION_NAME"/> @@ -18067,7 +18757,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceMemoryBudgetPropertiesEXT"/> </require> </extension> - <extension name="VK_EXT_memory_priority" number="239" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_EXT_memory_priority" number="239" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <require> <enum value="1" name="VK_EXT_MEMORY_PRIORITY_SPEC_VERSION"/> <enum value=""VK_EXT_memory_priority"" name="VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME"/> @@ -18077,7 +18767,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkMemoryPriorityAllocateInfoEXT"/> </require> </extension> - <extension name="VK_KHR_surface_protected_capabilities" number="240" type="instance" requiresCore="1.1" requires="VK_KHR_get_surface_capabilities2" author="KHR" contact="Sandeep Shinde @sashinde" supported="vulkan"> + <extension name="VK_KHR_surface_protected_capabilities" number="240" type="instance" depends="VK_VERSION_1_1+VK_KHR_get_surface_capabilities2" author="KHR" contact="Sandeep Shinde @sashinde" supported="vulkan"> <require> <enum value="1" name="VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION"/> <enum value=""VK_KHR_surface_protected_capabilities"" name="VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME"/> @@ -18085,7 +18775,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkSurfaceProtectedCapabilitiesKHR"/> </require> </extension> - <extension name="VK_NV_dedicated_allocation_image_aliasing" number="241" type="device" requires="VK_KHR_dedicated_allocation" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan"> + <extension name="VK_NV_dedicated_allocation_image_aliasing" number="241" type="device" depends="VK_KHR_dedicated_allocation+VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan"> <require> <enum value="1" name="VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION"/> <enum value=""VK_NV_dedicated_allocation_image_aliasing"" name="VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME"/> @@ -18093,7 +18783,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV"/> </require> </extension> - <extension name="VK_KHR_separate_depth_stencil_layouts" number="242" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_create_renderpass2" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_separate_depth_stencil_layouts" number="242" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_create_renderpass2" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION"/> <enum value=""VK_KHR_separate_depth_stencil_layouts"" name="VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME"/> @@ -18122,7 +18812,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_MESA_extension_244"" name="VK_MESA_EXTENSION_244_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_buffer_device_address" number="245" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Jeff Bolz @jeffbolznv" deprecatedby="VK_KHR_buffer_device_address" supported="vulkan"> + <extension name="VK_EXT_buffer_device_address" number="245" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Jeff Bolz @jeffbolznv" deprecatedby="VK_KHR_buffer_device_address" supported="vulkan"> <require> <enum value="2" name="VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION"/> <enum value=""VK_EXT_buffer_device_address"" name="VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME"/> @@ -18150,13 +18840,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceToolPropertiesEXT"/> <command name="vkGetPhysicalDeviceToolPropertiesEXT"/> </require> - <require extension="VK_EXT_debug_report"> + <require depends="VK_EXT_debug_report"> <enum bitpos="5" extends="VkToolPurposeFlagBits" name="VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"/> </require> - <require extension="VK_EXT_debug_marker"> + <require depends="VK_EXT_debug_marker"> <enum bitpos="6" extends="VkToolPurposeFlagBits" name="VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"/> </require> - <require extension="VK_EXT_debug_utils"> + <require depends="VK_EXT_debug_utils"> <enum bitpos="5" extends="VkToolPurposeFlagBits" name="VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"/> <enum bitpos="6" extends="VkToolPurposeFlagBits" name="VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"/> </require> @@ -18169,7 +18859,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkImageStencilUsageCreateInfoEXT"/> </require> </extension> - <extension name="VK_EXT_validation_features" number="248" type="instance" author="LUNARG" contact="Karl Schultz @karl-lunarg" specialuse="debugging" supported="vulkan"> + <extension name="VK_EXT_validation_features" number="248" type="instance" author="LUNARG" contact="Karl Schultz @karl-lunarg" specialuse="debugging" supported="vulkan,vulkansc"> <require> <enum value="5" name="VK_EXT_VALIDATION_FEATURES_SPEC_VERSION"/> <enum value=""VK_EXT_validation_features"" name="VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME"/> @@ -18179,7 +18869,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkValidationFeatureDisableEXT"/> </require> </extension> - <extension name="VK_KHR_present_wait" number="249" type="device" requires="VK_KHR_swapchain,VK_KHR_present_id" author="KHR" contact="Keith Packard @keithp" supported="vulkan"> + <extension name="VK_KHR_present_wait" number="249" type="device" depends="VK_KHR_swapchain+VK_KHR_present_id" author="KHR" contact="Keith Packard @keithp" supported="vulkan"> <require> <enum value="1" name="VK_KHR_PRESENT_WAIT_SPEC_VERSION"/> <enum value=""VK_KHR_present_wait"" name="VK_KHR_PRESENT_WAIT_EXTENSION_NAME"/> @@ -18188,7 +18878,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevicePresentWaitFeaturesKHR"/> </require> </extension> - <extension name="VK_NV_cooperative_matrix" number="250" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> + <extension name="VK_NV_cooperative_matrix" number="250" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <require> <enum value="1" name="VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION"/> <enum value=""VK_NV_cooperative_matrix"" name="VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME"/> @@ -18203,7 +18893,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"/> </require> </extension> - <extension name="VK_NV_coverage_reduction_mode" number="251" requires="VK_NV_framebuffer_mixed_samples" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan"> + <extension name="VK_NV_coverage_reduction_mode" number="251" depends="VK_NV_framebuffer_mixed_samples+VK_KHR_get_physical_device_properties2" type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan"> <require> <enum value="1" name="VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION"/> <enum value=""VK_NV_coverage_reduction_mode"" name="VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME"/> @@ -18218,7 +18908,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"/> </require> </extension> - <extension name="VK_EXT_fragment_shader_interlock" number="252" author="EXT" type="device" requires="VK_KHR_get_physical_device_properties2" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_fragment_shader_interlock" number="252" author="EXT" type="device" depends="VK_KHR_get_physical_device_properties2" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION"/> <enum value=""VK_EXT_fragment_shader_interlock"" name="VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME"/> @@ -18226,7 +18916,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_ycbcr_image_arrays" number="253" type="device" requires="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_ycbcr_image_arrays" number="253" type="device" depends="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION"/> <enum value=""VK_EXT_ycbcr_image_arrays"" name="VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME"/> @@ -18234,7 +18924,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceYcbcrImageArraysFeaturesEXT"/> </require> </extension> - <extension name="VK_KHR_uniform_buffer_standard_layout" number="254" requires="VK_KHR_get_physical_device_properties2" type="device" author="KHR" contact="Graeme Leese @gnl21" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_uniform_buffer_standard_layout" number="254" depends="VK_KHR_get_physical_device_properties2" type="device" author="KHR" contact="Graeme Leese @gnl21" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION"/> <enum value=""VK_KHR_uniform_buffer_standard_layout"" name="VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME"/> @@ -18242,7 +18932,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"/> </require> </extension> - <extension name="VK_EXT_provoking_vertex" number="255" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @jessehall" specialuse="glemulation" supported="vulkan"> + <extension name="VK_EXT_provoking_vertex" number="255" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2" contact="Jesse Hall @jessehall" specialuse="glemulation" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PROVOKING_VERTEX_SPEC_VERSION"/> <enum value=""VK_EXT_provoking_vertex"" name="VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME"/> @@ -18255,7 +18945,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkProvokingVertexModeEXT"/> </require> </extension> - <extension name="VK_EXT_full_screen_exclusive" number="256" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2,VK_KHR_surface,VK_KHR_get_surface_capabilities2,VK_KHR_swapchain" platform="win32" contact="James Jones @cubanismo" supported="vulkan"> + <extension name="VK_EXT_full_screen_exclusive" number="256" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2+VK_KHR_surface+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain" platform="win32" contact="James Jones @cubanismo" supported="vulkan"> <require> <enum value="4" name="VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION"/> <enum value=""VK_EXT_full_screen_exclusive"" name="VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME"/> @@ -18269,18 +18959,18 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkAcquireFullScreenExclusiveModeEXT"/> <command name="vkReleaseFullScreenExclusiveModeEXT"/> </require> - <require extension="VK_KHR_win32_surface"> + <require depends="VK_KHR_win32_surface"> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT"/> <type name="VkSurfaceFullScreenExclusiveWin32InfoEXT"/> </require> - <require extension="VK_KHR_device_group"> + <require depends="VK_KHR_device_group"> <command name="vkGetDeviceGroupSurfacePresentModes2EXT"/> </require> - <require feature="VK_VERSION_1_1"> + <require depends="VK_VERSION_1_1"> <command name="vkGetDeviceGroupSurfacePresentModes2EXT"/> </require> </extension> - <extension name="VK_EXT_headless_surface" number="257" type="instance" requires="VK_KHR_surface" author="EXT" contact="Lisa Wu @chengtianww" supported="vulkan"> + <extension name="VK_EXT_headless_surface" number="257" type="instance" depends="VK_KHR_surface" author="EXT" contact="Lisa Wu @chengtianww" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_HEADLESS_SURFACE_SPEC_VERSION"/> <enum value=""VK_EXT_headless_surface"" name="VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME"/> @@ -18290,7 +18980,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCreateHeadlessSurfaceEXT"/> </require> </extension> - <extension name="VK_KHR_buffer_device_address" number="258" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> + <extension name="VK_KHR_buffer_device_address" number="258" type="device" depends="(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION"/> <enum value=""VK_KHR_buffer_device_address"" name="VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME"/> @@ -18324,7 +19014,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="19" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_19_BIT_EXT"/> </require> </extension> - <extension name="VK_EXT_line_rasterization" number="260" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" specialuse="cadsupport" supported="vulkan"> + <extension name="VK_EXT_line_rasterization" number="260" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" specialuse="cadsupport" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_LINE_RASTERIZATION_SPEC_VERSION"/> <enum value=""VK_EXT_line_rasterization"" name="VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME"/> @@ -18339,7 +19029,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetLineStippleEXT"/> </require> </extension> - <extension name="VK_EXT_shader_atomic_float" number="261" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan"> + <extension name="VK_EXT_shader_atomic_float" number="261" type="device" author="NV" depends="VK_KHR_get_physical_device_properties2" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION"/> <enum value=""VK_EXT_shader_atomic_float"" name="VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME"/> @@ -18347,7 +19037,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderAtomicFloatFeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_host_query_reset" number="262" author="EXT" contact="Bas Nieuwenhuizen @BNieuwenhuizen" supported="vulkan" type="device" requires="VK_KHR_get_physical_device_properties2" promotedto="VK_VERSION_1_2"> + <extension name="VK_EXT_host_query_reset" number="262" author="EXT" contact="Bas Nieuwenhuizen @BNieuwenhuizen" supported="vulkan" type="device" depends="VK_KHR_get_physical_device_properties2" promotedto="VK_VERSION_1_2"> <require> <enum value="1" name="VK_EXT_HOST_QUERY_RESET_SPEC_VERSION"/> <enum value=""VK_EXT_host_query_reset"" name="VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME"/> @@ -18374,7 +19064,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_BRCM_extension_265"" name="VK_BRCM_EXTENSION_265_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_index_type_uint8" number="266" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_index_type_uint8" number="266" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION"/> <enum value=""VK_EXT_index_type_uint8"" name="VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME"/> @@ -18389,7 +19079,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_267"" name="VK_EXT_EXTENSION_267_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_extended_dynamic_state" number="268" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_extended_dynamic_state" number="268" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION"/> <enum value=""VK_EXT_extended_dynamic_state"" name="VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME"/> @@ -18438,7 +19128,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum extends="VkResult" offset="3" name="VK_OPERATION_NOT_DEFERRED_KHR" /> </require> </extension> - <extension name="VK_KHR_pipeline_executable_properties" number="270" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jason Ekstrand @jekstrand" specialuse="devtools" supported="vulkan"> + <extension name="VK_KHR_pipeline_executable_properties" number="270" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Faith Ekstrand @gfxstrand" specialuse="devtools" supported="vulkan"> <require> <enum value="1" name="VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION"/> <enum value=""VK_KHR_pipeline_executable_properties"" name="VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME"/> @@ -18463,26 +19153,26 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPipelineExecutableInternalRepresentationsKHR"/> </require> </extension> - <extension name="VK_INTEL_extension_271" number="271" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled"> + <extension name="VK_INTEL_extension_271" number="271" type="device" author="INTEL" contact="Faith Ekstrand @gfxstrand" supported="disabled"> <require> <enum value="0" name="VK_INTEL_EXTENSION_271_SPEC_VERSION"/> <enum value=""VK_INTEL_extension_271"" name="VK_INTEL_EXTENSION_271_EXTENSION_NAME"/> <enum bitpos="22" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_22_BIT_EXT"/> </require> </extension> - <extension name="VK_INTEL_extension_272" number="272" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled"> + <extension name="VK_INTEL_extension_272" number="272" type="device" author="INTEL" contact="Faith Ekstrand @gfxstrand" supported="disabled"> <require> <enum value="0" name="VK_INTEL_EXTENSION_272_SPEC_VERSION"/> <enum value=""VK_INTEL_extension_272"" name="VK_INTEL_EXTENSION_272_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_INTEL_extension_273" number="273" type="device" author="INTEL" contact="Jason Ekstrand @jekstrand" supported="disabled"> + <extension name="VK_INTEL_extension_273" number="273" type="device" author="INTEL" contact="Faith Ekstrand @gfxstrand" supported="disabled"> <require> <enum value="0" name="VK_INTEL_EXTENSION_273_SPEC_VERSION"/> <enum value=""VK_INTEL_extension_273"" name="VK_INTEL_EXTENSION_273_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_shader_atomic_float2" number="274" type="device" requires="VK_EXT_shader_atomic_float" author="EXT" contact="Jason Ekstrand @jekstrand" supported="vulkan"> + <extension name="VK_EXT_shader_atomic_float2" number="274" type="device" depends="VK_EXT_shader_atomic_float" author="EXT" contact="Faith Ekstrand @gfxstrand" supported="vulkan"> <require> <enum value="1" name="VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION"/> <enum value=""VK_EXT_shader_atomic_float2"" name="VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME"/> @@ -18490,7 +19180,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_surface_maintenance1" number="275" type="instance" requires="VK_KHR_surface,VK_KHR_get_surface_capabilities2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> + <extension name="VK_EXT_surface_maintenance1" number="275" type="instance" depends="VK_KHR_surface+VK_KHR_get_surface_capabilities2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> <require> <enum value="1" name="VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION"/> <enum value=""VK_EXT_surface_maintenance1"" name="VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME"/> @@ -18506,7 +19196,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkSurfacePresentModeCompatibilityEXT"/> </require> </extension> - <extension name="VK_EXT_swapchain_maintenance1" number="276" type="device" requires="VK_KHR_swapchain,VK_EXT_surface_maintenance1,VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> + <extension name="VK_EXT_swapchain_maintenance1" number="276" type="device" depends="VK_KHR_swapchain+VK_EXT_surface_maintenance1+VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> <require> <enum value="1" name="VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION"/> <enum value=""VK_EXT_swapchain_maintenance1"" name="VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME"/> @@ -18526,7 +19216,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkReleaseSwapchainImagesEXT"/> </require> </extension> - <extension name="VK_EXT_shader_demote_to_helper_invocation" number="277" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_shader_demote_to_helper_invocation" number="277" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION"/> <enum value=""VK_EXT_shader_demote_to_helper_invocation"" name="VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME"/> @@ -18534,7 +19224,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT"/> </require> </extension> - <extension name="VK_NV_device_generated_commands" number="278" type="device" requiresCore="1.1" requires="VK_KHR_buffer_device_address" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> + <extension name="VK_NV_device_generated_commands" number="278" type="device" depends="VK_VERSION_1_1+VK_KHR_buffer_device_address" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> <require> <comment> This extension requires buffer_device_address functionality. @@ -18582,7 +19272,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkDestroyIndirectCommandsLayoutNV"/> </require> </extension> - <extension name="VK_NV_inherited_viewport_scissor" number="279" type="device" author="NV" contact="David Zhao Akeley @akeley98" supported="vulkan"> + <extension name="VK_NV_inherited_viewport_scissor" number="279" type="device" author="NV" contact="David Zhao Akeley @akeley98" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION"/> <enum value=""VK_NV_inherited_viewport_scissor"" name="VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME"/> @@ -18598,7 +19288,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_280"" name="VK_KHR_EXTENSION_280_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_shader_integer_dot_product" number="281" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Kevin Petit @kevinpetit" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_shader_integer_dot_product" number="281" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Kevin Petit @kevinpetit" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION"/> <enum value=""VK_KHR_shader_integer_dot_product"" name="VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME"/> @@ -18608,7 +19298,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR"/> </require> </extension> - <extension name="VK_EXT_texel_buffer_alignment" number="282" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_texel_buffer_alignment" number="282" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION"/> <enum value=""VK_EXT_texel_buffer_alignment"" name="VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME"/> @@ -18618,7 +19308,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT"/> </require> </extension> - <extension name="VK_QCOM_render_pass_transform" number="283" type="device" requires="VK_KHR_swapchain,VK_KHR_surface" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> + <extension name="VK_QCOM_render_pass_transform" number="283" type="device" depends="VK_KHR_swapchain+VK_KHR_surface" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> <require> <enum value="3" name="VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"/> <enum value=""VK_QCOM_render_pass_transform"" name="VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME"/> @@ -18635,7 +19325,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_284"" name="VK_EXT_EXTENSION_284_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_device_memory_report" number="285" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan"> + <extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan"> <require> <enum value="2" name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/> <enum value=""VK_EXT_device_memory_report"" name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/> @@ -18650,7 +19340,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="PFN_vkDeviceMemoryReportCallbackEXT"/> </require> </extension> - <extension name="VK_EXT_acquire_drm_display" number="286" type="instance" requires="VK_EXT_direct_mode_display" author="EXT" contact="Drew DeVault [email protected]" supported="vulkan"> + <extension name="VK_EXT_acquire_drm_display" number="286" type="instance" depends="VK_EXT_direct_mode_display" author="EXT" contact="Drew DeVault [email protected]" supported="vulkan"> <require> <enum value="1" name="VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION"/> <enum value=""VK_EXT_acquire_drm_display"" name="VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME"/> @@ -18658,7 +19348,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDrmDisplayEXT"/> </require> </extension> - <extension name="VK_EXT_robustness2" number="287" type="device" author="EXT" contact="Liam Middlebrook @liam-middlebrook" supported="vulkan"> + <extension name="VK_EXT_robustness2" number="287" type="device" author="EXT" contact="Liam Middlebrook @liam-middlebrook" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_ROBUSTNESS_2_SPEC_VERSION"/> <enum value=""VK_EXT_robustness2"" name="VK_EXT_ROBUSTNESS_2_EXTENSION_NAME"/> @@ -18668,7 +19358,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceRobustness2PropertiesEXT"/> </require> </extension> - <extension name="VK_EXT_custom_border_color" number="288" type="device" author="EXT" contact="Liam Middlebrook @liam-middlebrook" specialuse="glemulation,d3demulation" supported="vulkan"> + <extension name="VK_EXT_custom_border_color" number="288" type="device" author="EXT" contact="Liam Middlebrook @liam-middlebrook" specialuse="glemulation,d3demulation" depends="VK_KHR_get_physical_device_properties2" supported="vulkan,vulkansc"> <require> <enum value="12" name="VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION"/> <enum value=""VK_EXT_custom_border_color"" name="VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME"/> @@ -18744,7 +19434,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_292"" name="VK_NV_EXTENSION_292_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_NV_present_barrier" number="293" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2,VK_KHR_surface,VK_KHR_get_surface_capabilities2,VK_KHR_swapchain" contact="Liya Li @liyli" supported="vulkan"> + <extension name="VK_NV_present_barrier" number="293" type="device" author="NV" depends="VK_KHR_get_physical_device_properties2+VK_KHR_surface+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain" contact="Liya Li @liyli" supported="vulkan"> <require> <enum value="1" name="VK_NV_PRESENT_BARRIER_SPEC_VERSION"/> <enum value=""VK_NV_present_barrier"" name="VK_NV_PRESENT_BARRIER_EXTENSION_NAME"/> @@ -18762,7 +19452,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_shader_non_semantic_info"" name="VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_present_id" number="295" type="device" requires="VK_KHR_swapchain" author="KHR" contact="Keith Packard @keithp" supported="vulkan"> + <extension name="VK_KHR_present_id" number="295" type="device" depends="VK_KHR_swapchain+VK_KHR_get_physical_device_properties2" author="KHR" contact="Keith Packard @keithp" supported="vulkan"> <require> <enum value="1" name="VK_KHR_PRESENT_ID_SPEC_VERSION"/> <enum value=""VK_KHR_present_id"" name="VK_KHR_PRESENT_ID_EXTENSION_NAME"/> @@ -18772,7 +19462,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevicePresentIdFeaturesKHR"/> </require> </extension> - <extension name="VK_EXT_private_data" number="296" type="device" author="NV" contact="Matthew Rusch @mattruschnv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_private_data" number="296" type="device" author="NV" contact="Matthew Rusch @mattruschnv" supported="vulkan" depends="VK_KHR_get_physical_device_properties2" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_PRIVATE_DATA_SPEC_VERSION"/> <enum value=""VK_EXT_private_data"" name="VK_EXT_PRIVATE_DATA_EXTENSION_NAME"/> @@ -18798,7 +19488,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="3" extends="VkPipelineShaderStageCreateFlagBits" name="VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR"/> </require> </extension> - <extension name="VK_EXT_pipeline_creation_cache_control" number="298" type="device" author="AMD" contact="Gregory Grebe @grgrebe_amd" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_pipeline_creation_cache_control" number="298" type="device" author="AMD" contact="Gregory Grebe @grgrebe_amd" depends="VK_KHR_get_physical_device_properties2" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="3" name="VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION"/> <enum value=""VK_EXT_pipeline_creation_cache_control"" name="VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME"/> @@ -18812,16 +19502,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineCacheCreateFlagBits" comment="This is a temporary workaround for processors not recognizing that VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT above also requires this type"/> </require> </extension> - <extension name="VK_KHR_extension_299" number="299" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> - <require> - <enum value="0" name="VK_KHR_EXTENSION_299_SPEC_VERSION"/> - <enum value=""VK_KHR_extension_299"" name="VK_KHR_EXTENSION_299_EXTENSION_NAME"/> - <enum bitpos="2" extends="VkMemoryHeapFlagBits" name="VK_MEMORY_HEAP_RESERVED_2_BIT_KHR"/> - <enum extends="VkPipelineCacheCreateFlagBits" name="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_KHR" alias="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/> - <enum bitpos="2" extends="VkPipelineCacheCreateFlagBits" name="VK_PIPELINE_CACHE_CREATE_RESERVED_2_BIT_KHR"/> + <extension name="VK_KHR_extension_299" number="299" type="device" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> + <require comment="used for Vulkan SC 1.0 namespace"> + <enum value="0" name="VK_KHR_EXTENSION_299_SPEC_VERSION"/> + <enum value=""VK_KHR_extension_299"" name="VK_KHR_EXTENSION_299_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_video_encode_queue" number="300" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> + <extension name="VK_KHR_video_encode_queue" number="300" type="device" depends="VK_KHR_video_queue+VK_KHR_synchronization2" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> <enum value="7" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_encode_queue"" name="VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME"/> @@ -18871,12 +19558,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdEncodeVideoKHR"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="27" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="28" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> </require> </extension> - <extension name="VK_NV_device_diagnostics_config" number="301" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan"> + <extension name="VK_NV_device_diagnostics_config" number="301" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Kedarnath Thangudu @kthangudu" supported="vulkan"> <require> <enum value="2" name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION"/> <enum value=""VK_NV_device_diagnostics_config"" name="VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME"/> @@ -18931,10 +19618,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_308"" name="VK_NV_EXTENSION_308_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_extension_309" number="309" author="KHR" contact="Aidan Fabius @afabius" supported="disabled"> + <extension name="VK_KHR_object_refresh" number="309" type="device" author="KHR" contact="Aidan Fabius @afabius" supported="vulkansc"> <require> - <enum value="0" name="VK_KHR_EXTENSION_309_SPEC_VERSION"/> - <enum value=""VK_KHR_extension_309"" name="VK_KHR_EXTENSION_309_EXTENSION_NAME"/> + <enum value="1" name="VK_KHR_OBJECT_REFRESH_SPEC_VERSION"/> + <enum value=""VK_KHR_object_refresh"" name="VK_KHR_OBJECT_REFRESH_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR"/> + <type name="VkRefreshObjectListKHR"/> + <type name="VkRefreshObjectKHR"/> + <type name="VkRefreshObjectFlagBitsKHR"/> + <type name="VkRefreshObjectFlagsKHR"/> + <command name="vkCmdRefreshObjectsKHR"/> + <command name="vkGetPhysicalDeviceRefreshableObjectTypesKHR"/> </require> </extension> <extension name="VK_QCOM_extension_310" number="310" author="QCOM" contact="Jeff Leger @jackohound" supported="disabled"> @@ -19001,7 +19695,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_314"" name="VK_AMD_EXTENSION_314_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_synchronization2" number="315" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_synchronization2" number="315" type="device" author="KHR" depends="VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION"/> <enum value=""VK_KHR_synchronization2"" name="VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME"/> @@ -19040,65 +19734,65 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdWriteTimestamp2KHR"/> <command name="vkQueueSubmit2KHR"/> </require> - <require extension="VK_EXT_transform_feedback"> + <require depends="VK_EXT_transform_feedback"> <enum bitpos="24" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/> <enum bitpos="25" extends="VkAccessFlagBits2" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"/> <enum bitpos="26" extends="VkAccessFlagBits2" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"/> <enum bitpos="27" extends="VkAccessFlagBits2" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"/> </require> - <require extension="VK_EXT_conditional_rendering"> + <require depends="VK_EXT_conditional_rendering"> <enum bitpos="18" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT" comment="A pipeline stage for conditional rendering predicate fetch"/> <enum bitpos="20" extends="VkAccessFlagBits2" name="VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT" comment="read access flag for reading conditional rendering predicate"/> </require> - <require extension="VK_NV_device_generated_commands"> + <require depends="VK_NV_device_generated_commands"> <enum bitpos="17" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"/> <enum bitpos="17" extends="VkAccessFlagBits2" name="VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV"/> <enum bitpos="18" extends="VkAccessFlagBits2" name="VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV"/> </require> - <require extension="VK_KHR_fragment_shading_rate"> + <require depends="VK_KHR_fragment_shading_rate"> <enum bitpos="22" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> <enum bitpos="23" extends="VkAccessFlagBits2" name="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"/> </require> - <require extension="VK_NV_shading_rate_image"> + <require depends="VK_NV_shading_rate_image"> <enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV" alias="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> <enum extends="VkAccessFlagBits2" name="VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV" alias="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"/> </require> - <require extension="VK_KHR_acceleration_structure"> + <require depends="VK_KHR_acceleration_structure"> <enum bitpos="25" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> <enum bitpos="21" extends="VkAccessFlagBits2" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/> <enum bitpos="22" extends="VkAccessFlagBits2" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/> </require> - <require extension="VK_KHR_ray_tracing_pipeline"> + <require depends="VK_KHR_ray_tracing_pipeline"> <enum bitpos="21" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/> </require> - <require extension="VK_NV_ray_tracing"> + <require depends="VK_NV_ray_tracing"> <enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/> <enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV" alias="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> <enum extends="VkAccessFlagBits2" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV" alias="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/> <enum extends="VkAccessFlagBits2" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV" alias="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/> </require> - <require extension="VK_EXT_fragment_density_map"> + <require depends="VK_EXT_fragment_density_map"> <enum bitpos="23" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT"/> <enum bitpos="24" extends="VkAccessFlagBits2" name="VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"/> </require> - <require extension="VK_EXT_blend_operation_advanced"> + <require depends="VK_EXT_blend_operation_advanced"> <enum bitpos="19" extends="VkAccessFlagBits2" name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"/> </require> - <require extension="VK_NV_mesh_shader"> + <require depends="VK_NV_mesh_shader"> <enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT"/> <enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT"/> </require> - <require extension="VK_AMD_buffer_marker"> + <require depends="VK_AMD_buffer_marker"> <command name="vkCmdWriteBufferMarker2AMD"/> </require> - <require extension="VK_NV_device_diagnostic_checkpoints"> + <require depends="VK_NV_device_diagnostic_checkpoints"> <type name="VkQueueFamilyCheckpointProperties2NV"/> <type name="VkCheckpointData2NV"/> <command name="vkGetQueueCheckpointData2NV"/> <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"/> <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"/> </require> - <require extension="VK_EXT_mesh_shader"> + <require depends="VK_EXT_mesh_shader"> <enum bitpos="19" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT"/> <enum bitpos="20" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT"/> </require> @@ -19109,7 +19803,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_316"" name="VK_AMD_EXTENSION_316_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_descriptor_buffer" number="317" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2,VK_KHR_buffer_device_address,VK_KHR_synchronization2,VK_EXT_descriptor_indexing" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_EXT_descriptor_buffer" number="317" type="device" author="EXT" depends="VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address+VK_KHR_synchronization2+VK_EXT_descriptor_indexing" contact="Tobias Hector @tobski" supported="vulkan"> <require> <enum value="1" name="VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION"/> <enum value=""VK_EXT_descriptor_buffer"" name="VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME"/> @@ -19161,7 +19855,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetImageViewOpaqueCaptureDescriptorDataEXT"/> <command name="vkGetSamplerOpaqueCaptureDescriptorDataEXT"/> </require> - <require extension="VK_KHR_acceleration_structure,VK_NV_ray_tracing"> + <require depends="VK_KHR_acceleration_structure,VK_NV_ray_tracing"> <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/> <type name="VkAccelerationStructureCaptureDescriptorDataInfoEXT"/> <command name="vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"/> @@ -19187,7 +19881,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_AMD_extension_320"" name="VK_AMD_EXTENSION_320_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_graphics_pipeline_library" number="321" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_pipeline_library" author="AMD" contact="Tobias Hector @tobski" supported="vulkan"> + <extension name="VK_EXT_graphics_pipeline_library" number="321" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_pipeline_library" author="AMD" contact="Tobias Hector @tobski" supported="vulkan"> <require> <enum value="1" name="VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION"/> <enum value=""VK_EXT_graphics_pipeline_library"" name="VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME"/> @@ -19205,7 +19899,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="1" extends="VkPipelineLayoutCreateFlagBits" name="VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT"/> </require> </extension> - <extension name="VK_AMD_shader_early_and_late_fragment_tests" number="322" author="EXT" contact="Tobias Hector @tobski" type="device" supported="vulkan"> + <extension name="VK_AMD_shader_early_and_late_fragment_tests" number="322" author="EXT" contact="Tobias Hector @tobski" type="device" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION"/> <enum value=""VK_AMD_shader_early_and_late_fragment_tests"" name="VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME"/> @@ -19213,7 +19907,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD"/> </require> </extension> - <extension name="VK_KHR_fragment_shader_barycentric" number="323" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Stu Smith" supported="vulkan"> + <extension name="VK_KHR_fragment_shader_barycentric" number="323" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Stu Smith" supported="vulkan"> <require> <enum value="1" name="VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION"/> <enum value=""VK_KHR_fragment_shader_barycentric"" name="VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME"/> @@ -19223,7 +19917,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR"/> </require> </extension> - <extension name="VK_KHR_shader_subgroup_uniform_control_flow" number="324" type="device" requiresCore="1.1" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan"> + <extension name="VK_KHR_shader_subgroup_uniform_control_flow" number="324" type="device" depends="VK_VERSION_1_1" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan"> <require> <enum value="1" name="VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION"/> <enum value=""VK_KHR_shader_subgroup_uniform_control_flow"" name="VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME"/> @@ -19237,7 +19931,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_325"" name="VK_KHR_EXTENSION_325_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_zero_initialize_workgroup_memory" number="326" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_zero_initialize_workgroup_memory" number="326" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION"/> <enum value=""VK_KHR_zero_initialize_workgroup_memory"" name="VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME"/> @@ -19245,7 +19939,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR"/> </require> </extension> - <extension name="VK_NV_fragment_shading_rate_enums" number="327" type="device" requires="VK_KHR_fragment_shading_rate" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> + <extension name="VK_NV_fragment_shading_rate_enums" number="327" type="device" depends="VK_KHR_fragment_shading_rate" author="NV" contact="Pat Brown @nvpbrown" supported="vulkan"> <require> <enum value="1" name="VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION"/> <enum value=""VK_NV_fragment_shading_rate_enums"" name="VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME"/> @@ -19260,7 +19954,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetFragmentShadingRateEnumNV"/> </require> </extension> - <extension name="VK_NV_ray_tracing_motion_blur" number="328" type="device" requires="VK_KHR_ray_tracing_pipeline" author="NV" contact="Eric Werness" supported="vulkan"> + <extension name="VK_NV_ray_tracing_motion_blur" number="328" type="device" depends="VK_KHR_ray_tracing_pipeline" author="NV" contact="Eric Werness" supported="vulkan"> <require> <enum value="1" name="VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION"/> <enum value=""VK_NV_ray_tracing_motion_blur"" name="VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME"/> @@ -19283,7 +19977,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkAccelerationStructureMotionInstanceFlagsNV"/> </require> </extension> - <extension name="VK_EXT_mesh_shader" number="329" type="device" requiresCore="1.1" requires="VK_KHR_get_physical_device_properties2,VK_KHR_spirv_1_4" author="EXT" sortorder="1" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> + <extension name="VK_EXT_mesh_shader" number="329" type="device" depends="VK_KHR_spirv_1_4" author="EXT" sortorder="1" contact="Christoph Kubisch @pixeljetstream" supported="vulkan"> <require> <enum value="1" name="VK_EXT_MESH_SHADER_SPEC_VERSION"/> <enum value=""VK_EXT_mesh_shader"" name="VK_EXT_MESH_SHADER_EXTENSION_NAME"/> @@ -19303,7 +19997,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceMeshShaderPropertiesEXT"/> <type name="VkDrawMeshTasksIndirectCommandEXT"/> </require> - <require extension="VK_NV_device_generated_commands"> + <require depends="VK_NV_device_generated_commands"> <enum offset="0" extends="VkIndirectCommandsTokenTypeNV" name="VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV"/> </require> </extension> @@ -19313,7 +20007,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_330"" name="VK_NV_EXTENSION_330_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_ycbcr_2plane_444_formats" number="331" type="device" requires="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Tony Zlatinski @tzlatinski" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_ycbcr_2plane_444_formats" number="331" type="device" depends="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Tony Zlatinski @tzlatinski" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <comment> VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and @@ -19336,7 +20030,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_332"" name="VK_NV_EXTENSION_332_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_fragment_density_map2" number="333" type="device" requires="VK_EXT_fragment_density_map" author="EXT" contact="Matthew Netsch @mnetsch" supported="vulkan"> + <extension name="VK_EXT_fragment_density_map2" number="333" type="device" depends="VK_EXT_fragment_density_map" author="EXT" contact="Matthew Netsch @mnetsch" supported="vulkan"> <require> <enum value="1" name="VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION"/> <enum value=""VK_EXT_fragment_density_map2"" name="VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME"/> @@ -19347,7 +20041,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceFragmentDensityMap2PropertiesEXT"/> </require> </extension> - <extension name="VK_QCOM_rotated_copy_commands" number="334" type="device" requires="VK_KHR_swapchain,VK_KHR_copy_commands2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> + <extension name="VK_QCOM_rotated_copy_commands" number="334" type="device" depends="VK_KHR_swapchain+VK_KHR_copy_commands2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> <require> <enum value="1" name="VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION"/> <enum value=""VK_QCOM_rotated_copy_commands"" name="VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME"/> @@ -19355,13 +20049,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkCopyCommandTransformInfoQCOM"/> </require> </extension> - <extension name="VK_KHR_extension_335" number="335" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> + <extension name="VK_KHR_extension_335" number="335" type="device" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> <require> <enum value="0" name="VK_KHR_EXTENSION_335_SPEC_VERSION"/> <enum value=""VK_KHR_extension_335"" name="VK_KHR_EXTENSION_335_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_image_robustness" number="336" type="device" author="EXT" contact="Graeme Leese @gnl21" supported="vulkan" requires="VK_KHR_get_physical_device_properties2" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_image_robustness" number="336" type="device" author="EXT" contact="Graeme Leese @gnl21" supported="vulkan,vulkansc" depends="VK_KHR_get_physical_device_properties2" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION"/> <enum value=""VK_EXT_image_robustness"" name="VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME"/> @@ -19369,7 +20063,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceImageRobustnessFeaturesEXT"/> </require> </extension> - <extension name="VK_KHR_workgroup_memory_explicit_layout" number="337" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Caio Marcelo de Oliveira Filho @cmarcelo" supported="vulkan"> + <extension name="VK_KHR_workgroup_memory_explicit_layout" number="337" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Caio Marcelo de Oliveira Filho @cmarcelo" supported="vulkan"> <require> <enum value="1" name="VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION"/> <enum value=""VK_KHR_workgroup_memory_explicit_layout"" name="VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME"/> @@ -19377,7 +20071,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/> </require> </extension> - <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" contact="Jeff Leger @jackohound" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" contact="Jeff Leger @jackohound" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_KHR_COPY_COMMANDS_2_SPEC_VERSION"/> <enum value=""VK_KHR_copy_commands2"" name="VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME"/> @@ -19411,7 +20105,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdResolveImage2KHR"/> </require> </extension> - <extension name="VK_EXT_image_compression_control" number="339" type="device" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> + <extension name="VK_EXT_image_compression_control" number="339" type="device" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION"/> <enum value=""VK_EXT_image_compression_control"" name="VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME"/> @@ -19433,7 +20127,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetImageSubresourceLayout2EXT"/> </require> </extension> - <extension name="VK_EXT_attachment_feedback_loop_layout" number="340" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan"> + <extension name="VK_EXT_attachment_feedback_loop_layout" number="340" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan"> <require> <enum value="2" name="VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION"/> <enum value=""VK_EXT_attachment_feedback_loop_layout"" name="VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME"/> @@ -19446,7 +20140,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_4444_formats" number="341" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_4444_formats" number="341" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <comment> VkPhysicalDevice4444FormatsFeaturesEXT and @@ -19461,7 +20155,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDevice4444FormatsFeaturesEXT"/> </require> </extension> - <extension name="VK_EXT_device_fault" number="342" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="vulkan"> + <extension name="VK_EXT_device_fault" number="342" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="vulkan"> <require> <enum value="1" name="VK_EXT_DEVICE_FAULT_SPEC_VERSION"/> <enum value=""VK_EXT_device_fault"" name="VK_EXT_DEVICE_FAULT_EXTENSION_NAME"/> @@ -19479,7 +20173,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDeviceFaultInfoEXT"/> </require> </extension> - <extension name="VK_ARM_rasterization_order_attachment_access" number="343" type="device" requires="VK_KHR_get_physical_device_properties2" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan" promotedto="VK_EXT_rasterization_order_attachment_access"> + <extension name="VK_ARM_rasterization_order_attachment_access" number="343" type="device" depends="VK_KHR_get_physical_device_properties2" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan" promotedto="VK_EXT_rasterization_order_attachment_access"> <require> <enum value="1" name="VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION"/> <enum value=""VK_ARM_rasterization_order_attachment_access"" name="VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME"/> @@ -19499,7 +20193,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_ARM_extension_344"" name="VK_ARM_EXTENSION_344_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_rgba10x6_formats" number="345" type="device" requires="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> + <extension name="VK_EXT_rgba10x6_formats" number="345" type="device" depends="VK_KHR_sampler_ycbcr_conversion" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> <require> <enum value="1" name="VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION"/> <enum value=""VK_EXT_rgba10x6_formats"" name="VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME"/> @@ -19507,7 +20201,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT"/> </require> </extension> - <extension name="VK_NV_acquire_winrt_display" number="346" type="device" requires="VK_EXT_direct_mode_display" author="NV" contact="Jeff Juliano @jjuliano" platform="win32" supported="vulkan"> + <extension name="VK_NV_acquire_winrt_display" number="346" type="device" depends="VK_EXT_direct_mode_display" author="NV" contact="Jeff Juliano @jjuliano" platform="win32" supported="vulkan"> <require> <enum value="1" name="VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION"/> <enum value=""VK_NV_acquire_winrt_display"" name="VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME"/> @@ -19515,7 +20209,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetWinrtDisplayNV"/> </require> </extension> - <extension name="VK_EXT_directfb_surface" number="347" type="instance" requires="VK_KHR_surface" platform="directfb" supported="vulkan" author="EXT" contact="Nicolas Caramelli @caramelli"> + <extension name="VK_EXT_directfb_surface" number="347" type="instance" depends="VK_KHR_surface" platform="directfb" supported="vulkan" author="EXT" contact="Nicolas Caramelli @caramelli"> <require> <enum value="1" name="VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION"/> <enum value=""VK_EXT_directfb_surface"" name="VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME"/> @@ -19526,7 +20220,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPhysicalDeviceDirectFBPresentationSupportEXT"/> </require> </extension> - <extension name="VK_KHR_extension_350" number="350" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> + <extension name="VK_KHR_extension_350" number="350" type="device" author="KHR" contact="Mark Bellamy @mark.bellamy_arm" supported="disabled"> <require> <enum value="0" name="VK_KHR_EXTENSION_350_SPEC_VERSION"/> <enum value=""VK_KHR_extension_350"" name="VK_KHR_EXTENSION_350_EXTENSION_NAME"/> @@ -19538,7 +20232,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_351"" name="VK_NV_EXTENSION_351_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_VALVE_mutable_descriptor_type" number="352" type="device" supported="vulkan" author="VALVE" contact="Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" requires="VK_KHR_maintenance3" promotedto="VK_EXT_mutable_descriptor_type"> + <extension name="VK_VALVE_mutable_descriptor_type" number="352" type="device" supported="vulkan" author="VALVE" contact="Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" depends="VK_KHR_maintenance3" promotedto="VK_EXT_mutable_descriptor_type"> <require> <enum value="1" name="VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION"/> <enum value=""VK_VALVE_mutable_descriptor_type"" name="VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME"/> @@ -19552,7 +20246,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkMutableDescriptorTypeCreateInfoVALVE"/> </require> </extension> - <extension name="VK_EXT_vertex_input_dynamic_state" number="353" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_vertex_input_dynamic_state" number="353" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan,vulkansc"> <require> <enum value="2" name="VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION"/> <enum value=""VK_EXT_vertex_input_dynamic_state"" name="VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME"/> @@ -19566,7 +20260,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetVertexInputEXT"/> </require> </extension> - <extension name="VK_EXT_physical_device_drm" number="354" author="EXT" type="device" contact="Simon Ser @emersion" supported="vulkan" requires="VK_KHR_get_physical_device_properties2"> + <extension name="VK_EXT_physical_device_drm" number="354" author="EXT" type="device" contact="Simon Ser @emersion" supported="vulkan" depends="VK_KHR_get_physical_device_properties2"> <require> <enum value="1" name="VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION"/> <enum value=""VK_EXT_physical_device_drm"" name="VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME"/> @@ -19576,7 +20270,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceDrmPropertiesEXT"/> </require> </extension> - <extension name="VK_EXT_device_address_binding_report" number="355" type="device" requires="VK_KHR_get_physical_device_properties2,VK_EXT_debug_utils" author="EXT" contact="Ralph Potter gitlab:@r_potter" specialuse="debugging,devtools" supported="vulkan"> + <extension name="VK_EXT_device_address_binding_report" number="355" type="device" depends="VK_KHR_get_physical_device_properties2+VK_EXT_debug_utils" author="EXT" contact="Ralph Potter gitlab:@r_potter" specialuse="debugging,devtools" supported="vulkan"> <require> <enum value="1" name="VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION"/> <enum value=""VK_EXT_device_address_binding_report"" name="VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME"/> @@ -19590,7 +20284,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkDeviceAddressBindingTypeEXT" /> </require> </extension> - <extension name="VK_EXT_depth_clip_control" number="356" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> + <extension name="VK_EXT_depth_clip_control" number="356" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> <require> <enum value="1" name="VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION"/> <enum value=""VK_EXT_depth_clip_control"" name="VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME"/> @@ -19600,7 +20294,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPipelineViewportDepthClipControlCreateInfoEXT"/> </require> </extension> - <extension name="VK_EXT_primitive_topology_list_restart" number="357" type="device" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> + <extension name="VK_EXT_primitive_topology_list_restart" number="357" type="device" author="EXT" contact="Shahbaz Youssefi @syoussefi" depends="VK_KHR_get_physical_device_properties2" supported="vulkan" specialuse="glemulation"> <require> <enum value="1" name="VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION"/> <enum value=""VK_EXT_primitive_topology_list_restart"" name="VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME"/> @@ -19626,7 +20320,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_360"" name="VK_EXT_EXTENSION_360_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_format_feature_flags2" number="361" author="KHR" type="device" requires="VK_KHR_get_physical_device_properties2" contact="Lionel Landwerlin @llandwerlin" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_format_feature_flags2" number="361" author="KHR" type="device" depends="VK_KHR_get_physical_device_properties2" contact="Lionel Landwerlin @llandwerlin" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="2" name="VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION"/> <enum value=""VK_KHR_format_feature_flags2"" name="VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME"/> @@ -19654,7 +20348,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_FUCHSIA_extension_364"" name="VK_FUCHSIA_EXTENSION_364_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_FUCHSIA_external_memory" number="365" type="device" requires="VK_KHR_external_memory_capabilities,VK_KHR_external_memory" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan"> + <extension name="VK_FUCHSIA_external_memory" number="365" type="device" depends="VK_KHR_external_memory_capabilities+VK_KHR_external_memory" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan"> <require> <enum value="1" name="VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION"/> <enum value=""VK_FUCHSIA_external_memory"" name="VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME"/> @@ -19669,7 +20363,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryZirconHandlePropertiesFUCHSIA"/> </require> </extension> - <extension name="VK_FUCHSIA_external_semaphore" number="366" type="device" requires="VK_KHR_external_semaphore_capabilities,VK_KHR_external_semaphore" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan"> + <extension name="VK_FUCHSIA_external_semaphore" number="366" type="device" depends="VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan"> <require> <enum value="1" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION"/> <enum value=""VK_FUCHSIA_external_semaphore"" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/> @@ -19682,7 +20376,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetSemaphoreZirconHandleFUCHSIA"/> </require> </extension> - <extension name="VK_FUCHSIA_buffer_collection" number="367" type="device" requires="VK_FUCHSIA_external_memory,VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Rosasco @rosasco" supported="vulkan" platform="fuchsia"> + <extension name="VK_FUCHSIA_buffer_collection" number="367" type="device" depends="VK_FUCHSIA_external_memory+VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Rosasco @rosasco" supported="vulkan" platform="fuchsia"> <require> <enum value="2" name="VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION"/> <enum value=""VK_FUCHSIA_buffer_collection"" name="VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME"/> @@ -19732,7 +20426,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="4" extends="VkDescriptorBindingFlagBits" name="VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM"/> </require> </extension> - <extension name="VK_HUAWEI_subpass_shading" number="370" type="device" author="HUAWEI" contact="Pan Gao @PanGao-h" requires="VK_KHR_create_renderpass2,VK_KHR_synchronization2" supported="vulkan"> + <extension name="VK_HUAWEI_subpass_shading" number="370" type="device" author="HUAWEI" contact="Pan Gao @PanGao-h" depends="VK_KHR_create_renderpass2+VK_KHR_synchronization2" supported="vulkan"> <require> <enum value="2" name="VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION"/> <enum value=""VK_HUAWEI_subpass_shading"" name="VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME"/> @@ -19749,7 +20443,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSubpassShadingHUAWEI"/> </require> </extension> - <extension name="VK_HUAWEI_invocation_mask" number="371" type="device" requires="VK_KHR_ray_tracing_pipeline,VK_KHR_synchronization2" author="Huawei" contact="Pan Gao @PanGao-h" supported="vulkan"> + <extension name="VK_HUAWEI_invocation_mask" number="371" type="device" depends="VK_KHR_ray_tracing_pipeline+VK_KHR_synchronization2" author="Huawei" contact="Pan Gao @PanGao-h" supported="vulkan"> <require> <enum value="1" name="VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION"/> <enum value=""VK_HUAWEI_invocation_mask"" name="VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME"/> @@ -19761,7 +20455,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdBindInvocationMaskHUAWEI"/> </require> </extension> - <extension name="VK_NV_external_memory_rdma" number="372" type="device" requires="VK_KHR_external_memory" author="NV" contact="Carsten Rohde @crohde" supported="vulkan"> + <extension name="VK_NV_external_memory_rdma" number="372" type="device" depends="VK_KHR_external_memory" author="NV" contact="Carsten Rohde @crohde" supported="vulkan"> <require> <enum value="1" name="VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION"/> <enum value=""VK_NV_external_memory_rdma"" name="VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME"/> @@ -19775,7 +20469,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetMemoryRemoteAddressNV"/> </require> </extension> - <extension name="VK_EXT_pipeline_properties" number="373" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Mukund Keshava @mkeshavanv" supported="vulkan"> + <extension name="VK_EXT_pipeline_properties" number="373" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Mukund Keshava @mkeshavanv" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION"/> <enum value=""VK_EXT_pipeline_properties"" name="VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME"/> @@ -19788,20 +20482,60 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetPipelinePropertiesEXT"/> </require> </extension> - <extension name="VK_NV_extension_374" number="374" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> - <require> - <enum value="0" name="VK_NV_EXTENSION_374_SPEC_VERSION"/> - <enum value=""VK_NV_extension_374"" name="VK_NV_EXTENSION_374_EXTENSION_NAME"/> - <enum bitpos="4" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_RESERVED_4_BIT_NV"/> - <enum bitpos="5" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_RESERVED_5_BIT_NV"/> - <enum bitpos="5" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_RESERVED_5_BIT_NV"/> - </require> - </extension> - <extension name="VK_NV_extension_375" number="375" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> - <require> - <enum value="0" name="VK_NV_EXTENSION_375_SPEC_VERSION"/> - <enum value=""VK_NV_extension_375"" name="VK_NV_EXTENSION_375_EXTENSION_NAME"/> - <enum bitpos="13" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_RESERVED_13_BIT_NV"/> + <extension name="VK_NV_external_sci_sync" number="374" depends="VK_VERSION_1_1" platform="sci" type="device" author="NV" contact="Kai Zhang @kazhang" supported="vulkansc" deprecatedby="VK_NV_external_sci_sync2"> + <require> + <enum value="2" name="VK_NV_EXTERNAL_SCI_SYNC_SPEC_VERSION"/> + <enum value=""VK_NV_external_sci_sync"" name="VK_NV_EXTERNAL_SCI_SYNC_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV"/> + <enum bitpos="4" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"/> + <enum bitpos="5" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV"/> + <enum bitpos="5" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"/> + <type name="VkSciSyncClientTypeNV"/> + <type name="VkSciSyncPrimitiveTypeNV"/> + <type name="VkExportFenceSciSyncInfoNV"/> + <type name="VkImportFenceSciSyncInfoNV"/> + <type name="VkFenceGetSciSyncInfoNV"/> + <type name="VkSciSyncAttributesInfoNV"/> + <type name="VkExportSemaphoreSciSyncInfoNV"/> + <type name="VkImportSemaphoreSciSyncInfoNV"/> + <type name="VkSemaphoreGetSciSyncInfoNV"/> + <type name="VkPhysicalDeviceExternalSciSyncFeaturesNV"/> + <command name="vkGetFenceSciSyncFenceNV"/> + <command name="vkGetFenceSciSyncObjNV"/> + <command name="vkImportFenceSciSyncFenceNV"/> + <command name="vkImportFenceSciSyncObjNV"/> + <command name="vkGetPhysicalDeviceSciSyncAttributesNV"/> + <command name="vkGetSemaphoreSciSyncObjNV"/> + <command name="vkImportSemaphoreSciSyncObjNV"/> + </require> + </extension> + <extension name="VK_NV_external_memory_sci_buf" number="375" depends="VK_VERSION_1_1" platform="sci" type="device" author="NV" contact="Kai Zhang @kazhang" supported="vulkansc"> + <require> + <enum value="2" name="VK_NV_EXTERNAL_MEMORY_SCI_BUF_SPEC_VERSION"/> + <enum value=""VK_NV_external_memory_sci_buf"" name="VK_NV_EXTERNAL_MEMORY_SCI_BUF_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"/> + <enum bitpos="13" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV"/> + <type name="VkExportMemorySciBufInfoNV"/> + <type name="VkImportMemorySciBufInfoNV"/> + <type name="VkMemoryGetSciBufInfoNV"/> + <type name="VkMemorySciBufPropertiesNV"/> + <type name="VkPhysicalDeviceExternalMemorySciBufFeaturesNV"/> + <type name="VkPhysicalDeviceExternalSciBufFeaturesNV"/> + <command name="vkGetMemorySciBufNV"/> + <command name="vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV"/> + <command name="vkGetPhysicalDeviceSciBufAttributesNV"/> </require> </extension> <extension name="VK_EXT_extension_376" number="376" author="EXT" contact="Melih Yasin Yalcin @yalcinmelihyasin" supported="disabled"> @@ -19810,7 +20544,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_376"" name="VK_EXT_EXTENSION_376_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_multisampled_render_to_single_sampled" number="377" type="device" requires="VK_KHR_create_renderpass2,VK_KHR_depth_stencil_resolve" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> + <extension name="VK_EXT_multisampled_render_to_single_sampled" number="377" type="device" depends="VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> <require> <enum value="1" name="VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION"/> <enum value=""VK_EXT_multisampled_render_to_single_sampled"" name="VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME"/> @@ -19823,7 +20557,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkMultisampledRenderToSingleSampledInfoEXT"/> </require> </extension> - <extension name="VK_EXT_extended_dynamic_state2" number="378" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_EXT_extended_dynamic_state2" number="378" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3"> <require> <enum value="1" name="VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION"/> <enum value=""VK_EXT_extended_dynamic_state2"" name="VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME"/> @@ -19841,7 +20575,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetPrimitiveRestartEnableEXT"/> </require> </extension> - <extension name="VK_QNX_screen_surface" number="379" type="instance" requires="VK_KHR_surface" platform="screen" author="QNX" contact="Mike Gorchak @mgorchak-blackberry" supported="vulkan"> + <extension name="VK_QNX_screen_surface" number="379" type="instance" depends="VK_KHR_surface" platform="screen" author="QNX" contact="Mike Gorchak @mgorchak-blackberry" supported="vulkan"> <require> <enum value="1" name="VK_QNX_SCREEN_SURFACE_SPEC_VERSION"/> <enum value=""VK_QNX_screen_surface"" name="VK_QNX_SCREEN_SURFACE_EXTENSION_NAME"/> @@ -19864,7 +20598,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_381"" name="VK_KHR_EXTENSION_381_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_color_write_enable" number="382" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Sharif Elcott @selcott" supported="vulkan"> + <extension name="VK_EXT_color_write_enable" number="382" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Sharif Elcott @selcott" supported="vulkan,vulkansc"> <require> <enum value="1" name="VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION"/> <enum value=""VK_EXT_color_write_enable"" name="VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME"/> @@ -19876,7 +20610,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdSetColorWriteEnableEXT"/> </require> </extension> - <extension name="VK_EXT_primitives_generated_query" number="383" type="device" requires="VK_EXT_transform_feedback" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> + <extension name="VK_EXT_primitives_generated_query" number="383" type="device" depends="VK_EXT_transform_feedback" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> <require> <enum value="1" name="VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION"/> <enum value=""VK_EXT_primitives_generated_query"" name="VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME"/> @@ -19903,7 +20637,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GOOGLE_extension_386"" name="VK_GOOGLE_EXTENSION_386_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_ray_tracing_maintenance1" number="387" type="device" requiresCore="1.1" requires="VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan"> + <extension name="VK_KHR_ray_tracing_maintenance1" number="387" type="device" depends="VK_KHR_acceleration_structure" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan"> <require> <enum value="1" name="VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION"/> <enum value=""VK_KHR_ray_tracing_maintenance1"" name="VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME"/> @@ -19912,14 +20646,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="1" extends="VkQueryType" name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR"/> <type name="VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR"/> </require> - <require extension="VK_KHR_synchronization2"> + <require depends="VK_KHR_synchronization2"> <!-- VkPipelineStageFlagBits bitpos="28" is reserved by this extension, but not used --> <enum bitpos="28" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"/> </require> - <require extension="VK_KHR_synchronization2+VK_KHR_ray_tracing_pipeline"> + <require depends="VK_KHR_synchronization2+VK_KHR_ray_tracing_pipeline"> <enum bitpos="40" extends="VkAccessFlagBits2" name="VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR"/> </require> - <require extension="VK_KHR_ray_tracing_pipeline"> + <require depends="VK_KHR_ray_tracing_pipeline"> <type name="VkTraceRaysIndirectCommand2KHR"/> <command name="vkCmdTraceRaysIndirect2KHR"/> </require> @@ -19930,12 +20664,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_388"" name="VK_EXT_EXTENSION_388_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_global_priority_query" number="389" type="device" requires="VK_EXT_global_priority,VK_KHR_get_physical_device_properties2" author="EXT" contact="Yiwei Zhang @zhangyiwei" supported="vulkan" promotedto="VK_KHR_global_priority"> + <extension name="VK_EXT_global_priority_query" number="389" type="device" depends="VK_EXT_global_priority+VK_KHR_get_physical_device_properties2" author="EXT" contact="Yiwei Zhang @zhangyiwei" supported="vulkan" promotedto="VK_KHR_global_priority"> <require> <enum value="1" name="VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION"/> <enum value=""VK_EXT_global_priority_query"" name="VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME"/> - <enum extends="VkStructureType" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"/> - <enum extends="VkStructureType" alias="VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT" alias="VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR"/> <enum name="VK_MAX_GLOBAL_PRIORITY_SIZE_EXT"/> <type name="VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT"/> <type name="VkQueueFamilyGlobalPriorityPropertiesEXT"/> @@ -19953,7 +20687,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_391"" name="VK_EXT_EXTENSION_391_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_image_view_min_lod" number="392" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan"> + <extension name="VK_EXT_image_view_min_lod" number="392" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="vulkan"> <require> <enum value="1" name="VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION"/> <enum value=""VK_EXT_image_view_min_lod"" name="VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME"/> @@ -19963,7 +20697,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkImageViewMinLodCreateInfoEXT"/> </require> </extension> - <extension name="VK_EXT_multi_draw" number="393" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="vulkan"> + <extension name="VK_EXT_multi_draw" number="393" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_EXT_MULTI_DRAW_SPEC_VERSION"/> <enum value=""VK_EXT_multi_draw"" name="VK_EXT_MULTI_DRAW_EXTENSION_NAME"/> @@ -19977,7 +20711,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkMultiDrawIndexedInfoEXT"/> </require> </extension> - <extension name="VK_EXT_image_2d_view_of_3d" number="394" requires="VK_KHR_maintenance1,VK_KHR_get_physical_device_properties2" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="glemulation" type="device" supported="vulkan"> + <extension name="VK_EXT_image_2d_view_of_3d" number="394" depends="VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="glemulation" type="device" supported="vulkan"> <require> <enum value="1" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION"/> <enum value=""VK_EXT_image_2d_view_of_3d"" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME"/> @@ -19999,7 +20733,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_396"" name="VK_KHR_EXTENSION_396_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_opacity_micromap" number="397" type="device" requires="VK_KHR_acceleration_structure,VK_KHR_synchronization2" author="EXT" contact="Christoph Kubisch @pixeljetstream, Eric Werness" supported="vulkan"> + <extension name="VK_EXT_opacity_micromap" number="397" type="device" depends="VK_KHR_acceleration_structure+VK_KHR_synchronization2" author="EXT" contact="Christoph Kubisch @pixeljetstream, Eric Werness" supported="vulkan"> <require> <enum value="2" name="VK_EXT_OPACITY_MICROMAP_SPEC_VERSION"/> <enum value=""VK_EXT_opacity_micromap"" name="VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME"/> @@ -20112,7 +20846,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_FB_extension_404"" name="VK_FB_EXTENSION_404_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_HUAWEI_cluster_culling_shader" number="405" type="device" requires="VK_KHR_get_physical_device_properties2" author="HUAWEI" contact="Yuchang Wang @richard_Wang2" supported="vulkan"> + <extension name="VK_HUAWEI_cluster_culling_shader" number="405" type="device" depends="VK_KHR_get_physical_device_properties2" author="HUAWEI" contact="Yuchang Wang @richard_Wang2" supported="vulkan"> <require> <enum value="1" name="VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION"/> <enum value=""VK_HUAWEI_cluster_culling_shader"" name="VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME"/> @@ -20163,7 +20897,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GGP_extension_411"" name="VK_GGP_EXTENSION_411_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_border_color_swizzle" number="412" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan" requires="VK_EXT_custom_border_color" specialuse="glemulation,d3demulation"> + <extension name="VK_EXT_border_color_swizzle" number="412" type="device" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan" depends="VK_EXT_custom_border_color" specialuse="glemulation,d3demulation"> <require> <enum value="1" name="VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION"/> <enum value=""VK_EXT_border_color_swizzle"" name="VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME"/> @@ -20173,7 +20907,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkSamplerBorderColorComponentMappingCreateInfoEXT"/> </require> </extension> - <extension name="VK_EXT_pageable_device_local_memory" number="413" author="EXT" contact="Piers Daniell @pdaniell-nv" type="device" requires="VK_EXT_memory_priority" supported="vulkan"> + <extension name="VK_EXT_pageable_device_local_memory" number="413" author="EXT" contact="Piers Daniell @pdaniell-nv" type="device" depends="VK_EXT_memory_priority" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION"/> <enum value=""VK_EXT_pageable_device_local_memory"" name="VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME"/> @@ -20182,7 +20916,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkSetDeviceMemoryPriorityEXT"/> </require> </extension> - <extension name="VK_KHR_maintenance4" number="414" type="device" requiresCore="1.1" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_3"> + <extension name="VK_KHR_maintenance4" number="414" type="device" depends="VK_VERSION_1_1" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_3"> <require> <enum value="2" name="VK_KHR_MAINTENANCE_4_SPEC_VERSION"/> <enum value=""VK_KHR_maintenance4"" name="VK_KHR_MAINTENANCE_4_EXTENSION_NAME"/> @@ -20206,10 +20940,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_HUAWEI_extension_415"" name="VK_HUAWEI_EXTENSION_415_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_ARM_extension_416" number="416" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled"> + <extension name="VK_ARM_shader_core_properties" number="416" type="device" depends="VK_VERSION_1_1" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> <require> - <enum value="0" name="VK_ARM_EXTENSION_416_SPEC_VERSION"/> - <enum value=""VK_ARM_extension_416"" name="VK_ARM_EXTENSION_416_EXTENSION_NAME"/> + <enum value="1" name="VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION"/> + <enum value=""VK_ARM_shader_core_properties"" name="VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"/> + <type name="VkPhysicalDeviceShaderCorePropertiesARM"/> </require> </extension> <extension name="VK_KHR_extension_417" number="417" author="KHR" contact="Kevin Petit @kevinpetit" supported="disabled"> @@ -20224,11 +20960,15 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_ARM_extension_418"" name="VK_ARM_EXTENSION_418_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_extension_419" number="419" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled"> + <extension name="VK_EXT_image_sliced_view_of_3d" number="419" depends="VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="d3demulation" type="device" supported="vulkan"> <require> - <enum value="0" name="VK_EXT_EXTENSION_419_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_419"" name="VK_EXT_EXTENSION_419_EXTENSION_NAME"/> - <enum bitpos="3" extends="VkImageViewCreateFlagBits" name="VK_IMAGE_VIEW_CREATE_RESERVED_3_BIT_EXT"/> + <enum value="1" name="VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION"/> + <enum value=""VK_EXT_image_sliced_view_of_3d"" name="VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT"/> + <enum name="VK_REMAINING_3D_SLICES_EXT"/> + <type name="VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT"/> + <type name="VkImageViewSlicedCreateInfoEXT"/> </require> </extension> <extension name="VK_EXT_extension_420" number="420" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled"> @@ -20238,7 +20978,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="4" extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_RESERVED_4_BIT_EXT"/> </require> </extension> - <extension name="VK_VALVE_descriptor_set_host_mapping" number="421" type="device" author="VALVE" contact="Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" supported="vulkan"> + <extension name="VK_VALVE_descriptor_set_host_mapping" number="421" type="device" author="VALVE" contact="Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION"/> <enum value=""VK_VALVE_descriptor_set_host_mapping"" name="VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME"/> @@ -20252,7 +20992,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetDescriptorSetHostMappingVALVE"/> </require> </extension> - <extension name="VK_EXT_depth_clamp_zero_one" number="422" author="EXT" type="device" contact="Graeme Leese @gnl21" supported="vulkan"> + <extension name="VK_EXT_depth_clamp_zero_one" number="422" author="EXT" type="device" contact="Graeme Leese @gnl21" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION"/> <enum value=""VK_EXT_depth_clamp_zero_one"" name="VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME"/> @@ -20260,7 +21000,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceDepthClampZeroOneFeaturesEXT" /> </require> </extension> - <extension name="VK_EXT_non_seamless_cube_map" number="423" author="EXT" type="device" contact="Georg Lehmann @DadSchoorse" specialuse="d3demulation,glemulation" supported="vulkan"> + <extension name="VK_EXT_non_seamless_cube_map" number="423" author="EXT" type="device" contact="Georg Lehmann @DadSchoorse" specialuse="d3demulation,glemulation" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION"/> <enum value=""VK_EXT_non_seamless_cube_map"" name="VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME"/> @@ -20281,7 +21021,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_ARM_extension_425"" name="VK_ARM_EXTENSION_425_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_QCOM_fragment_density_map_offset" number="426" type="device" requires="VK_KHR_get_physical_device_properties2,VK_EXT_fragment_density_map" author="QCOM" contact="Matthew Netsch @mnetsch" supported="vulkan"> + <extension name="VK_QCOM_fragment_density_map_offset" number="426" type="device" depends="VK_KHR_get_physical_device_properties2+VK_EXT_fragment_density_map" author="QCOM" contact="Matthew Netsch @mnetsch" supported="vulkan"> <require> <enum value="1" name="VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION"/> <enum value=""VK_QCOM_fragment_density_map_offset"" name="VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME"/> @@ -20294,7 +21034,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkSubpassFragmentDensityMapOffsetEndInfoQCOM"/> </require> </extension> - <extension name="VK_NV_copy_memory_indirect" number="427" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_buffer_device_address" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan"> + <extension name="VK_NV_copy_memory_indirect" number="427" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan"> <require> <enum value="1" name="VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION"/> <enum value=""VK_NV_copy_memory_indirect"" name="VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME"/> @@ -20308,7 +21048,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdCopyMemoryToImageIndirectNV"/> </require> </extension> - <extension name="VK_NV_memory_decompression" number="428" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_buffer_device_address" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan"> + <extension name="VK_NV_memory_decompression" number="428" type="device" depends="VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan"> <require> <enum value="1" name="VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION"/> <enum value=""VK_NV_memory_decompression"" name="VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME"/> @@ -20335,14 +21075,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_430"" name="VK_NV_EXTENSION_430_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_NV_linear_color_attachment" number="431" type="device" author="NVIDIA" contact="sourav parmar @souravpNV" supported="vulkan"> + <extension name="VK_NV_linear_color_attachment" number="431" type="device" author="NVIDIA" contact="sourav parmar @souravpNV" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION"/> <enum value=""VK_NV_linear_color_attachment"" name="VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"/> <type name="VkPhysicalDeviceLinearColorAttachmentFeaturesNV"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="38" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV" comment="Format support linear image as render target, it cannot be mixed with non linear attachment"/> </require> </extension> @@ -20358,7 +21098,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_433"" name="VK_NV_EXTENSION_433_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_GOOGLE_surfaceless_query" number="434" type="instance" requires="VK_KHR_surface" author="GOOGLE" contact="Shahbaz Youssefi @syoussefi" specialuse="glemulation" supported="vulkan"> + <extension name="VK_GOOGLE_surfaceless_query" number="434" type="instance" depends="VK_KHR_surface" author="GOOGLE" contact="Shahbaz Youssefi @syoussefi" specialuse="glemulation" supported="vulkan"> <require> <enum value="2" name="VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION"/> <enum value=""VK_GOOGLE_surfaceless_query"" name="VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME"/> @@ -20370,10 +21110,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_435"" name="VK_KHR_EXTENSION_435_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_NV_extension_436" number="436" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> + <extension name="VK_EXT_application_parameters" number="436" type="instance" author="EXT" contact="Daniel Koch @dgkoch" supported="vulkansc"> <require> - <enum value="0" name="VK_NV_EXTENSION_436_SPEC_VERSION"/> - <enum value=""VK_NV_extension_436"" name="VK_NV_EXTENSION_436_EXTENSION_NAME"/> + <enum value="1" name="VK_EXT_APPLICATION_PARAMETERS_SPEC_VERSION"/> + <enum value=""VK_EXT_application_parameters"" name="VK_EXT_APPLICATION_PARAMETERS_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT"/> + <type name="VkApplicationParametersEXT"/> </require> </extension> <extension name="VK_EXT_extension_437" number="437" author="EXT" contact="Jonathan Weinstein @Jonathan-Weinstein" supported="disabled"> @@ -20382,7 +21124,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_437"" name="VK_EXT_EXTENSION_437_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_image_compression_control_swapchain" number="438" type="device" requires="VK_EXT_image_compression_control" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> + <extension name="VK_EXT_image_compression_control_swapchain" number="438" type="device" depends="VK_EXT_image_compression_control" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> <require> <enum value="1" name="VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION"/> <enum value=""VK_EXT_image_compression_control_swapchain"" name="VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME"/> @@ -20404,7 +21146,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="1" extends="VkDeviceQueueCreateFlagBits" name="VK_DEVICE_QUEUE_CREATE_RESERVED_1_BIT_QCOM"/> </require> </extension> - <extension name="VK_QCOM_image_processing" number="441" type="device" requires="VK_KHR_format_feature_flags2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> + <extension name="VK_QCOM_image_processing" number="441" type="device" depends="VK_KHR_format_feature_flags2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> <require> <enum value="1" name="VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION"/> <enum value=""VK_QCOM_image_processing"" name="VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME"/> @@ -20420,7 +21162,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceImageProcessingFeaturesQCOM"/> <type name="VkPhysicalDeviceImageProcessingPropertiesQCOM"/> </require> - <require extension="VK_KHR_format_feature_flags2"> + <require depends="VK_KHR_format_feature_flags2"> <enum bitpos="34" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM"/> <enum bitpos="35" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM"/> <enum bitpos="36" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM"/> @@ -20512,7 +21254,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_GOOGLE_extension_455"" name="VK_GOOGLE_EXTENSION_455_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_extended_dynamic_state3" number="456" type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_extended_dynamic_state3" number="456" type="device" depends="VK_KHR_get_physical_device_properties2" author="NV" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> <require> <enum value="2" name="VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION"/> <enum value=""VK_EXT_extended_dynamic_state3"" name="VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME"/> @@ -20598,7 +21340,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_458"" name="VK_EXT_EXTENSION_458_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_subpass_merge_feedback" number="459" type="device" author="EXT" contact="Ting Wei @catweiting" supported="vulkan"> + <extension name="VK_EXT_subpass_merge_feedback" number="459" type="device" author="EXT" contact="Ting Wei @catweiting" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="2" name="VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION"/> <enum value=""VK_EXT_subpass_merge_feedback"" name="VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME"/> @@ -20641,7 +21383,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_462"" name="VK_EXT_EXTENSION_462_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_shader_module_identifier" number="463" type="device" requires="VK_KHR_get_physical_device_properties2,VK_EXT_pipeline_creation_cache_control" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan"> + <extension name="VK_EXT_shader_module_identifier" number="463" type="device" depends="VK_KHR_get_physical_device_properties2+VK_EXT_pipeline_creation_cache_control" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan"> <require> <enum value="1" name="VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION"/> <enum value=""VK_EXT_shader_module_identifier"" name="VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME"/> @@ -20658,7 +21400,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkGetShaderModuleCreateInfoIdentifierEXT"/> </require> </extension> - <extension name="VK_EXT_rasterization_order_attachment_access" number="464" type="device" requires="VK_KHR_get_physical_device_properties2" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> + <extension name="VK_EXT_rasterization_order_attachment_access" number="464" type="device" depends="VK_KHR_get_physical_device_properties2" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="vulkan"> <require> <enum value="1" name="VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION"/> <enum value=""VK_EXT_rasterization_order_attachment_access"" name="VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME"/> @@ -20674,7 +21416,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="6" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT"/> </require> </extension> - <extension name="VK_NV_optical_flow" number="465" requires="VK_KHR_get_physical_device_properties2,VK_KHR_format_feature_flags2,VK_KHR_synchronization2" type="device" author="NV" contact="Carsten Rohde @crohde" supported="vulkan"> + <extension name="VK_NV_optical_flow" number="465" depends="VK_KHR_get_physical_device_properties2+VK_KHR_format_feature_flags2+VK_KHR_synchronization2" type="device" author="NV" contact="Carsten Rohde @crohde" supported="vulkan"> <require> <enum value="1" name="VK_NV_OPTICAL_FLOW_SPEC_VERSION"/> <enum value=""VK_NV_optical_flow"" name="VK_NV_OPTICAL_FLOW_EXTENSION_NAME"/> @@ -20719,7 +21461,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdOpticalFlowExecuteNV"/> </require> </extension> - <extension name="VK_EXT_legacy_dithering" number="466" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> + <extension name="VK_EXT_legacy_dithering" number="466" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" specialuse="glemulation"> <require> <enum value="1" name="VK_EXT_LEGACY_DITHERING_SPEC_VERSION"/> <enum value=""VK_EXT_legacy_dithering"" name="VK_EXT_LEGACY_DITHERING_EXTENSION_NAME"/> @@ -20727,14 +21469,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="7" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT"/> <type name="VkPhysicalDeviceLegacyDitheringFeaturesEXT"/> </require> - <require feature="VK_VERSION_1_3"> + <require depends="VK_VERSION_1_3"> <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"/> </require> - <require extension="VK_KHR_dynamic_rendering"> + <require depends="VK_KHR_dynamic_rendering"> <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"/> </require> </extension> - <extension name="VK_EXT_pipeline_protected_access" number="467" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> + <extension name="VK_EXT_pipeline_protected_access" number="467" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION"/> <enum value=""VK_EXT_pipeline_protected_access"" name="VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME"/> @@ -20849,7 +21591,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_484"" name="VK_EXT_EXTENSION_484_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_QCOM_tile_properties" number="485" type="device" requires="VK_KHR_get_physical_device_properties2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> + <extension name="VK_QCOM_tile_properties" number="485" type="device" depends="VK_KHR_get_physical_device_properties2" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> <require> <enum value="1" name="VK_QCOM_TILE_PROPERTIES_SPEC_VERSION"/> <enum value=""VK_QCOM_tile_properties"" name="VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME"/> @@ -20862,7 +21604,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkRenderingInfoKHR"/> </require> </extension> - <extension name="VK_SEC_amigo_profiling" number="486" type="device" requires="VK_KHR_get_physical_device_properties2" author="SEC" contact="Ralph Potter gitlab:@r_potter" supported="vulkan"> + <extension name="VK_SEC_amigo_profiling" number="486" type="device" depends="VK_KHR_get_physical_device_properties2" author="SEC" contact="Ralph Potter gitlab:@r_potter" supported="vulkan"> <require> <enum value="1" name="VK_SEC_AMIGO_PROFILING_SPEC_VERSION"/> <enum value=""VK_SEC_amigo_profiling"" name="VK_SEC_AMIGO_PROFILING_EXTENSION_NAME"/> @@ -20884,7 +21626,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_488"" name="VK_EXT_EXTENSION_488_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_QCOM_multiview_per_view_viewports" number="489" type="device" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> + <extension name="VK_QCOM_multiview_per_view_viewports" number="489" type="device" author="QCOM" contact="Jeff Leger @jackohound" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="1" name="VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION"/> <enum value=""VK_QCOM_multiview_per_view_viewports"" name="VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME"/> @@ -20892,13 +21634,46 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM"/> </require> </extension> - <extension name="VK_NV_extension_490" number="490" author="NV" contact="Daniel Koch @dgkoch" supported="disabled"> - <require> - <enum value="0" name="VK_NV_EXTENSION_490_SPEC_VERSION"/> - <enum value=""VK_NV_extension_490"" name="VK_NV_EXTENSION_490_EXTENSION_NAME"/> - </require> - </extension> - <extension name="VK_NV_ray_tracing_invocation_reorder" number="491" type="device" requires="VK_KHR_ray_tracing_pipeline" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan"> + <extension name="VK_NV_external_sci_sync2" number="490" author="NV" depends="VK_VERSION_1_1" platform="sci" type="device" contact="Kai Zhang @kazhang" supported="vulkansc"> + <require> + <enum value="1" name="VK_NV_EXTERNAL_SCI_SYNC_2_SPEC_VERSION"/> + <enum value=""VK_NV_external_sci_sync2"" name="VK_NV_EXTERNAL_SCI_SYNC_2_EXTENSION_NAME"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV" comment="VkSemaphoreSciSyncPoolNV"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"/> + <type name="VkSemaphoreSciSyncPoolNV"/> + <type name="VkPhysicalDeviceExternalSciSync2FeaturesNV"/> + <type name="VkSemaphoreSciSyncPoolCreateInfoNV"/> + <type name="VkSemaphoreSciSyncCreateInfoNV"/> + <command name="vkCreateSemaphoreSciSyncPoolNV"/> + <command name="vkDestroySemaphoreSciSyncPoolNV"/> + </require> + <require comment="functionality re-used unmodified from VK_NV_external_sci_sync"> + <enum extnumber="374" offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV"/> + <enum extnumber="374" offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV"/> + <enum extnumber="374" offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"/> + <enum extnumber="374" offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV"/> + <enum bitpos="4" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"/> + <enum bitpos="5" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV"/> + <type name="VkSciSyncClientTypeNV"/> + <type name="VkSciSyncPrimitiveTypeNV"/> + <type name="VkExportFenceSciSyncInfoNV"/> + <type name="VkImportFenceSciSyncInfoNV"/> + <type name="VkFenceGetSciSyncInfoNV"/> + <type name="VkSciSyncAttributesInfoNV"/> + <command name="vkGetFenceSciSyncFenceNV"/> + <command name="vkGetFenceSciSyncObjNV"/> + <command name="vkImportFenceSciSyncFenceNV"/> + <command name="vkImportFenceSciSyncObjNV"/> + <command name="vkGetPhysicalDeviceSciSyncAttributesNV"/> + </require> + <require depends="VKSC_VERSION_1_0" api="vulkansc"> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV"/> + <type name="VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV"/> + </require> + </extension> + <extension name="VK_NV_ray_tracing_invocation_reorder" number="491" type="device" depends="VK_KHR_ray_tracing_pipeline" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan"> <require> <enum value="1" name="VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION"/> <enum value=""VK_NV_ray_tracing_invocation_reorder"" name="VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME"/> @@ -20927,7 +21702,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_494"" name="VK_NV_EXTENSION_494_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_mutable_descriptor_type" number="495" type="device" supported="vulkan" author="EXT" contact="Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" requires="VK_KHR_maintenance3"> + <extension name="VK_EXT_mutable_descriptor_type" number="495" type="device" supported="vulkan" author="EXT" contact="Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work" specialuse="d3demulation" depends="VK_KHR_maintenance3"> <require> <enum value="1" name="VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION"/> <enum value=""VK_EXT_mutable_descriptor_type"" name="VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME"/> @@ -20953,7 +21728,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_497"" name="VK_EXT_EXTENSION_497_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_ARM_shader_core_builtins" number="498" author="ARM" contact="Kevin Petit @kevinpetit" type="device" supported="vulkan"> + <extension name="VK_ARM_shader_core_builtins" number="498" author="ARM" contact="Kevin Petit @kevinpetit" type="device" depends="VK_KHR_get_physical_device_properties2" supported="vulkan"> <require> <enum value="2" name="VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION"/> <enum value=""VK_ARM_shader_core_builtins"" name="VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME"/> @@ -20963,7 +21738,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM"/> </require> </extension> - <extension name="VK_EXT_pipeline_library_group_handles" number="499" type="device" requiresCore="1.1" requires="VK_KHR_ray_tracing_pipeline,VK_KHR_pipeline_library" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan"> + <extension name="VK_EXT_pipeline_library_group_handles" number="499" type="device" depends="VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan"> <require> <enum value="1" name="VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION"/> <enum value=""VK_EXT_pipeline_library_group_handles"" name="VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME"/> @@ -21037,10 +21812,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_MESA_extension_510"" name="VK_MESA_EXTENSION_510_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_QCOM_extension_511" number="511" author="QCOM" contact="Jeff Leger @jackohound" type="device" supported="disabled"> + <extension name="VK_QCOM_multiview_per_view_render_areas" number="511" type="device" author="QCOM" contact="Jeff Leger @jackohound" supported="vulkan"> <require> - <enum value="0" name="VK_QCOM_EXTENSION_511_SPEC_VERSION"/> - <enum value=""VK_QCOM_extension_511"" name="VK_QCOM_EXTENSION_511_EXTENSION_NAME"/> + <enum value="1" name="VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION"/> + <enum value=""VK_QCOM_multiview_per_view_render_areas"" name="VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM"/> + <type name="VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM"/> + <type name="VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM"/> </require> </extension> </extensions> @@ -22612,6 +23391,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <spirvextension name="SPV_EXT_shader_atomic_float16_add"> <enable extension="VK_EXT_shader_atomic_float2"/> </spirvextension> + <spirvextension name="SPV_EXT_fragment_fully_covered"> + <enable extension="VK_EXT_conservative_rasterization"/> + </spirvextension> <spirvextension name="SPV_KHR_integer_dot_product"> <enable version="VK_API_VERSION_1_3"/> <enable extension="VK_KHR_shader_integer_dot_product"/> @@ -23002,7 +23784,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enable struct="VkPhysicalDeviceRayQueryFeaturesKHR" feature="rayQuery" requires="VK_KHR_ray_query"/> </spirvcapability> <spirvcapability name="RayCullMaskKHR"> - <enable struct="VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR" feature="rayTracingMaintenance1" requires="VK_KHR_ray_tracing_maintenance1"/> + <enable struct="VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR" feature="rayTracingMaintenance1" requires="VK_KHR_ray_tracing_maintenance1"/> </spirvcapability> <spirvcapability name="RayTracingNV"> <enable extension="VK_NV_ray_tracing"/> diff --git a/registry/vkconventions.py b/registry/vkconventions.py index c8ee937..5cc5890 100644 --- a/registry/vkconventions.py +++ b/registry/vkconventions.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -i # -# Copyright 2013-2022 The Khronos Group Inc. +# Copyright 2013-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -109,6 +109,8 @@ class VulkanConventions(ConventionsBase): [ r'_H_(26[45])_', r'_H\1_' ], [ r'_VULKAN_([0-9])([0-9])_', r'_VULKAN_\1_\2_' ], [ r'_DIRECT_FB_', r'_DIRECTFB_' ], + [ r'_VULKAN_SC_10', r'_VULKAN_SC_1_0' ], + ] for subpat in subpats: |