diff options
Diffstat (limited to 'src/vulkan/registry/vk.xml')
-rw-r--r-- | src/vulkan/registry/vk.xml | 2506 |
1 files changed, 1915 insertions, 591 deletions
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index fa31b42f0dc..1f8a2df5cc3 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <registry> <comment> -Copyright (c) 2015-2020 The Khronos Group Inc. +Copyright 2015-2021 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT </comment> @@ -51,7 +51,7 @@ branch of the member gitlab server. <tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/> <tag name="ANDROID" author="Google LLC" contact="Jesse Hall @critsec"/> <tag name="CHROMIUM" author="Google LLC" contact="Jesse Hall @critsec"/> - <tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec"/> + <tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/> <tag name="GGP" author="Google, LLC" contact="Jean-Francois Roy @jfroy, Hai Nguyen @chaoticbob, Jesse Hall @critsec"/> <tag name="GOOGLE" author="Google LLC" contact="Jesse Hall @critsec"/> <tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Jeff Leger @jackohounhd"/> @@ -85,6 +85,7 @@ branch of the member gitlab server. <type category="include" name="directfb.h"/> <type category="include" name="zircon/types.h"/> <type category="include" name="ggp_c/vulkan_types.h"/> + <type category="include" name="screen/screen.h"/> <comment> In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -123,41 +124,74 @@ branch of the member gitlab server. <type requires="zircon/types.h" name="zx_handle_t"/> <type requires="ggp_c/vulkan_types.h" name="GgpStreamDescriptor"/> <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 category="define">#define <name>VK_MAKE_VERSION</name>(major, minor, patch) \ + <type category="define">// 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">#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) >> 22)</type> - <type category="define">#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12) & 0x3ff)</type> - <type category="define">#define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xfff)</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. +#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> + <type category="define">#define <name>VK_API_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xFFFU)</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">// Vulkan 1.0 version number -#define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)// Patch version should always be set to 0</type> - <type category="define">// Vulkan 1.1 version number -#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type> - <type category="define">// Vulkan 1.2 version number -#define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_VERSION</type>(1, 2, 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_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 +#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 +#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">// Version of this file -#define <name>VK_HEADER_VERSION</name> 168</type> +#define <name>VK_HEADER_VERSION</name> 175</type> <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file -#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_VERSION</type>(1, 2, VK_HEADER_VERSION)</type> +#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type> <type category="define"> #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type> - <type category="define" name="VK_DEFINE_NON_DISPATCHABLE_HANDLE"> -#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) -#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + <type category="define" name="VK_USE_64_BIT_PTR_DEFINES"> +#ifndef VK_USE_64_BIT_PTR_DEFINES + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #define VK_USE_64_BIT_PTR_DEFINES 1 + #else + #define VK_USE_64_BIT_PTR_DEFINES 0 + #endif +#endif</type> + <type category="define" requires="VK_USE_64_BIT_PTR_DEFINES" name="VK_NULL_HANDLE"> +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #if __cplusplus >= 201103L + #define VK_NULL_HANDLE nullptr + #else + #define VK_NULL_HANDLE ((void*)0) + #endif + #else + #define VK_NULL_HANDLE 0ULL + #endif +#endif +#ifndef VK_NULL_HANDLE + #define VK_NULL_HANDLE 0 +#endif</type> + <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; -#else + #else #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; -#endif + #endif #endif</type> - <type category="define"> -#define <name>VK_NULL_HANDLE</name> 0</type> - <type category="basetype">struct <name>ANativeWindow</name>;</type> <type category="basetype">struct <name>AHardwareBuffer</name>;</type> <type category="basetype"> @@ -170,6 +204,7 @@ typedef void <name>CAMetalLayer</name>; <type category="basetype">typedef <type>uint32_t</type> <name>VkSampleMask</name>;</type> <type category="basetype">typedef <type>uint32_t</type> <name>VkBool32</name>;</type> <type category="basetype">typedef <type>uint32_t</type> <name>VkFlags</name>;</type> + <type category="basetype">typedef <type>uint64_t</type> <name>VkFlags64</name>;</type> <type category="basetype">typedef <type>uint64_t</type> <name>VkDeviceSize</name>;</type> <type category="basetype">typedef <type>uint64_t</type> <name>VkDeviceAddress</name>;</type> @@ -178,7 +213,9 @@ typedef void <name>CAMetalLayer</name>; <type requires="vk_platform" name="char"/> <type requires="vk_platform" name="float"/> <type requires="vk_platform" name="double"/> + <type requires="vk_platform" name="int8_t"/> <type requires="vk_platform" name="uint8_t"/> + <type requires="vk_platform" name="int16_t"/> <type requires="vk_platform" name="uint16_t"/> <type requires="vk_platform" name="uint32_t"/> <type requires="vk_platform" name="uint64_t"/> @@ -228,7 +265,7 @@ typedef void <name>CAMetalLayer</name>; <type requires="VkQueryControlFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkQueryControlFlags</name>;</type> <type requires="VkQueryResultFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkQueryResultFlags</name>;</type> <type requires="VkShaderModuleCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkShaderModuleCreateFlags</name>;</type> - <type category="bitmask">typedef <type>VkFlags</type> <name>VkEventCreateFlags</name>;</type> + <type requires="VkEventCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkEventCreateFlags</name>;</type> <type requires="VkCommandPoolCreateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkCommandPoolCreateFlags</name>;</type> <type requires="VkCommandPoolResetFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkCommandPoolResetFlags</name>;</type> <type requires="VkCommandBufferResetFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkCommandBufferResetFlags</name>;</type> @@ -268,6 +305,8 @@ typedef void <name>CAMetalLayer</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 bitvalues="VkAccessFlagBits2KHR" category="bitmask">typedef <type>VkFlags64</type> <name>VkAccessFlags2KHR</name>;</type> + <type bitvalues="VkPipelineStageFlagBits2KHR" category="bitmask">typedef <type>VkFlags64</type> <name>VkPipelineStageFlags2KHR</name>;</type> <comment>WSI extensions</comment> <type requires="VkCompositeAlphaFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkCompositeAlphaFlagsKHR</name>;</type> @@ -289,6 +328,7 @@ typedef void <name>CAMetalLayer</name>; <type category="bitmask">typedef <type>VkFlags</type> <name>VkImagePipeSurfaceCreateFlagsFUCHSIA</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkStreamDescriptorSurfaceCreateFlagsGGP</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkHeadlessSurfaceCreateFlagsEXT</name>;</type> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkScreenSurfaceCreateFlagsQNX</name>;</type> <type requires="VkPeerMemoryFeatureFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPeerMemoryFeatureFlags</name>;</type> <type category="bitmask" name="VkPeerMemoryFeatureFlagsKHR" alias="VkPeerMemoryFeatureFlags"/> <type requires="VkMemoryAllocateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryAllocateFlags</name>;</type> @@ -338,6 +378,39 @@ typedef void <name>CAMetalLayer</name>; <type category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineRasterizationDepthClipStateCreateFlagsEXT</name>;</type> <type requires="VkSwapchainImageUsageFlagBitsANDROID" category="bitmask">typedef <type>VkFlags</type> <name>VkSwapchainImageUsageFlagsANDROID</name>;</type> <type requires="VkToolPurposeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkToolPurposeFlagsEXT</name>;</type> + <type requires="VkSubmitFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkSubmitFlagsKHR</name>;</type> + + <comment>Video Core extension</comment> + <type requires="VkVideoCodecOperationFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoCodecOperationFlagsKHR</name>;</type> + <type requires="VkVideoCapabilitiesFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoCapabilitiesFlagsKHR</name>;</type> + <type requires="VkVideoSessionCreateFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoSessionCreateFlagsKHR</name>;</type> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkVideoBeginCodingFlagsKHR</name>;</type> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEndCodingFlagsKHR</name>;</type> + <type requires="VkVideoCodingQualityPresetFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoCodingQualityPresetFlagsKHR</name>;</type> + <type requires="VkVideoCodingControlFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoCodingControlFlagsKHR</name>;</type> + + <comment>Video Decode Core extension</comment> + <type requires="VkVideoDecodeFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoDecodeFlagsKHR</name>;</type> + + <comment>Video Decode H.264 extension</comment> + <type requires="VkVideoDecodeH264FieldLayoutFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoDecodeH264FieldLayoutFlagsEXT</name>;</type> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkVideoDecodeH264CreateFlagsEXT</name>;</type> + + <comment>Video Decode H.265 extension</comment> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkVideoDecodeH265CreateFlagsEXT</name>;</type> + + <comment>Video Encode Core extension</comment> + <type requires="VkVideoEncodeFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeFlagsKHR</name>;</type> + <type requires="VkVideoEncodeRateControlFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeRateControlFlagsKHR</name>;</type> + <type requires="VkVideoEncodeRateControlModeFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeRateControlModeFlagsKHR</name>;</type> + <type requires="VkVideoChromaSubsamplingFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoChromaSubsamplingFlagsKHR</name>;</type> + <type requires="VkVideoComponentBitDepthFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoComponentBitDepthFlagsKHR</name>;</type> + + <comment>Video Encode H.264 extension</comment> + <type requires="VkVideoEncodeH264CapabilitiesFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264CapabilitiesFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264InputModeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264InputModeFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264OutputModeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264OutputModeFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264CreateFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264CreateFlagsEXT</name>;</type> <comment>Types which can be void pointers or class pointers, selected at compile time</comment> <type category="handle" objtypeenum="VK_OBJECT_TYPE_INSTANCE"><type>VK_DEFINE_HANDLE</type>(<name>VkInstance</name>)</type> @@ -385,6 +458,10 @@ typedef void <name>CAMetalLayer</name>; <type category="handle" parent="VkInstance" objtypeenum="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugReportCallbackEXT</name>)</type> <type category="handle" parent="VkInstance" objtypeenum="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDebugUtilsMessengerEXT</name>)</type> + <comment>Video extensions</comment> + <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>Types generated from corresponding enums tags below</comment> <type name="VkAttachmentLoadOp" category="enum"/> <type name="VkAttachmentStoreOp" category="enum"/> @@ -463,6 +540,7 @@ typedef void <name>CAMetalLayer</name>; <type name="VkDescriptorPoolCreateFlagBits" category="enum"/> <type name="VkDependencyFlagBits" category="enum"/> <type name="VkObjectType" category="enum"/> + <type name="VkEventCreateFlagBits" category="enum"/> <comment>When VkSemaphoreCreateFlagBits is first extended, need to add a type enum tag for it here</comment> <comment>Extensions</comment> @@ -535,6 +613,8 @@ typedef void <name>CAMetalLayer</name>; <type name="VkToolPurposeFlagBitsEXT" category="enum"/> <type name="VkFragmentShadingRateNV" category="enum"/> <type name="VkFragmentShadingRateTypeNV" category="enum"/> + <type name="VkAccessFlagBits2KHR" category="enum"/> + <type name="VkPipelineStageFlagBits2KHR" category="enum"/> <comment>WSI extensions</comment> <type name="VkColorSpaceKHR" category="enum"/> @@ -596,6 +676,7 @@ typedef void <name>CAMetalLayer</name>; <type category="enum" name="VkShaderFloatControlsIndependenceKHR" alias="VkShaderFloatControlsIndependence"/> <type name="VkSwapchainImageUsageFlagBitsANDROID" category="enum"/> <type name="VkFragmentShadingRateCombinerOpKHR" category="enum"/> + <type name="VkSubmitFlagBitsKHR" category="enum"/> <comment>Enumerated types in the header, but not used by the API</comment> <type name="VkVendorId" category="enum"/> @@ -605,6 +686,35 @@ typedef void <name>CAMetalLayer</name>; <type name="VkCoarseSampleOrderTypeNV" category="enum"/> <type name="VkPipelineExecutableStatisticFormatKHR" category="enum"/> + <comment>Video Core extensions</comment> + <type name="VkVideoCodecOperationFlagBitsKHR" category="enum"/> + <type name="VkVideoChromaSubsamplingFlagBitsKHR" category="enum"/> + <type name="VkVideoComponentBitDepthFlagBitsKHR" category="enum"/> + <type name="VkVideoCapabilitiesFlagBitsKHR" category="enum"/> + <type name="VkVideoSessionCreateFlagBitsKHR" category="enum"/> + <type name="VkVideoCodingQualityPresetFlagBitsKHR" category="enum"/> + <type name="VkVideoCodingControlFlagBitsKHR" category="enum"/> + <type name="VkQueryResultStatusKHR" category="enum"/> + + <comment>Video Decode extensions</comment> + <type name="VkVideoDecodeFlagBitsKHR" category="enum"/> + + <comment>Video H.264 Decode extensions</comment> + <type name="VkVideoDecodeH264FieldLayoutFlagBitsEXT" category="enum"/> + + <comment>Video H.265 Decode extensions</comment> + + <comment>Video Encode extensions</comment> + <type name="VkVideoEncodeFlagBitsKHR" category="enum"/> + <type name="VkVideoEncodeRateControlFlagBitsKHR" category="enum"/> + <type name="VkVideoEncodeRateControlModeFlagBitsKHR" category="enum"/> + + <comment>Video H.264 Encode extensions</comment> + <type name="VkVideoEncodeH264CapabilitiesFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH264InputModeFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH264OutputModeFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH264CreateFlagBitsEXT" category="enum"/> + <comment>The PFN_vk*Function types are used by VkAllocationCallbacks below</comment> <type category="funcpointer">typedef void (VKAPI_PTR *<name>PFN_vkInternalAllocationNotification</name>)( <type>void</type>* pUserData, @@ -708,15 +818,15 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkComponentSwizzle</type> <name>a</name></member> </type> <type category="struct" name="VkPhysicalDeviceProperties" returnedonly="true"> - <member><type>uint32_t</type> <name>apiVersion</name></member> - <member><type>uint32_t</type> <name>driverVersion</name></member> - <member><type>uint32_t</type> <name>vendorID</name></member> - <member><type>uint32_t</type> <name>deviceID</name></member> - <member><type>VkPhysicalDeviceType</type> <name>deviceType</name></member> - <member><type>char</type> <name>deviceName</name>[<enum>VK_MAX_PHYSICAL_DEVICE_NAME_SIZE</enum>]</member> - <member><type>uint8_t</type> <name>pipelineCacheUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> - <member><type>VkPhysicalDeviceLimits</type> <name>limits</name></member> - <member><type>VkPhysicalDeviceSparseProperties</type> <name>sparseProperties</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>apiVersion</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>driverVersion</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>vendorID</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>deviceID</name></member> + <member limittype="noauto"><type>VkPhysicalDeviceType</type> <name>deviceType</name></member> + <member limittype="noauto"><type>char</type> <name>deviceName</name>[<enum>VK_MAX_PHYSICAL_DEVICE_NAME_SIZE</enum>]</member> + <member limittype="noauto"><type>uint8_t</type> <name>pipelineCacheUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member limittype="struct"><type>VkPhysicalDeviceLimits</type> <name>limits</name></member> + <member limittype="struct"><type>VkPhysicalDeviceSparseProperties</type> <name>sparseProperties</name></member> </type> <type category="struct" name="VkExtensionProperties" returnedonly="true"> <member><type>char</type> <name>extensionName</name>[<enum>VK_MAX_EXTENSION_NAME_SIZE</enum>]<comment>extension name</comment></member> @@ -1332,7 +1442,7 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkFramebuffer</type> <name>framebuffer</name></member> <member><type>VkRect2D</type> <name>renderArea</name></member> <member optional="true"><type>uint32_t</type> <name>clearValueCount</name></member> - <member len="clearValueCount">const <type>VkClearValue</type>* <name>pClearValues</name></member> + <member len="clearValueCount" noautovalidity="true">const <type>VkClearValue</type>* <name>pClearValues</name></member> </type> <type category="union" name="VkClearColorValue" comment="// Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared."> <member><type>float</type> <name>float32</name>[4]</member> @@ -1344,13 +1454,13 @@ typedef void <name>CAMetalLayer</name>; <member><type>uint32_t</type> <name>stencil</name></member> </type> <type category="union" name="VkClearValue" comment="// Union allowing specification of color or depth and stencil values. Actual value selected is based on attachment being cleared."> - <member><type>VkClearColorValue</type> <name>color</name></member> + <member noautovalidity="true"><type>VkClearColorValue</type> <name>color</name></member> <member><type>VkClearDepthStencilValue</type> <name>depthStencil</name></member> </type> <type category="struct" name="VkClearAttachment"> <member><type>VkImageAspectFlags</type> <name>aspectMask</name></member> <member><type>uint32_t</type> <name>colorAttachment</name></member> - <member><type>VkClearValue</type> <name>clearValue</name></member> + <member noautovalidity="true"><type>VkClearValue</type> <name>clearValue</name></member> </type> <type category="struct" name="VkAttachmentDescription"> <member optional="true"><type>VkAttachmentDescriptionFlags</type> <name>flags</name></member> @@ -1382,8 +1492,8 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkSubpassDependency"> <member><type>uint32_t</type> <name>srcSubpass</name></member> <member><type>uint32_t</type> <name>dstSubpass</name></member> - <member><type>VkPipelineStageFlags</type> <name>srcStageMask</name></member> - <member><type>VkPipelineStageFlags</type> <name>dstStageMask</name></member> + <member optional="true"><type>VkPipelineStageFlags</type> <name>srcStageMask</name></member> + <member optional="true"><type>VkPipelineStageFlags</type> <name>dstStageMask</name></member> <member optional="true"><type>VkAccessFlags</type> <name>srcAccessMask</name><comment>Memory accesses from the source of the dependency to synchronize</comment></member> <member optional="true"><type>VkAccessFlags</type> <name>dstAccessMask</name><comment>Memory accesses from the destination of the dependency to synchronize</comment></member> <member optional="true"><type>VkDependencyFlags</type> <name>dependencyFlags</name></member> @@ -1467,128 +1577,128 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkBool32</type> <name>inheritedQueries</name><comment>Queries may be inherited from primary to secondary command buffers</comment></member> </type> <type category="struct" name="VkPhysicalDeviceSparseProperties" returnedonly="true"> - <member><type>VkBool32</type> <name>residencyStandard2DBlockShape</name><comment>Sparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> - <member><type>VkBool32</type> <name>residencyStandard2DMultisampleBlockShape</name><comment>Sparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> - <member><type>VkBool32</type> <name>residencyStandard3DBlockShape</name><comment>Sparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> - <member><type>VkBool32</type> <name>residencyAlignedMipSize</name><comment>Sparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail</comment></member> - <member><type>VkBool32</type> <name>residencyNonResidentStrict</name><comment>Sparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard2DBlockShape</name><comment>Sparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard2DMultisampleBlockShape</name><comment>Sparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard3DBlockShape</name><comment>Sparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>residencyAlignedMipSize</name><comment>Sparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>residencyNonResidentStrict</name><comment>Sparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded</comment></member> </type> <type category="struct" name="VkPhysicalDeviceLimits" returnedonly="true"> <comment>resource maximum sizes</comment> - <member><type>uint32_t</type> <name>maxImageDimension1D</name><comment>max 1D image dimension</comment></member> - <member><type>uint32_t</type> <name>maxImageDimension2D</name><comment>max 2D image dimension</comment></member> - <member><type>uint32_t</type> <name>maxImageDimension3D</name><comment>max 3D image dimension</comment></member> - <member><type>uint32_t</type> <name>maxImageDimensionCube</name><comment>max cubemap image dimension</comment></member> - <member><type>uint32_t</type> <name>maxImageArrayLayers</name><comment>max layers for image arrays</comment></member> - <member><type>uint32_t</type> <name>maxTexelBufferElements</name><comment>max texel buffer size (fstexels)</comment></member> - <member><type>uint32_t</type> <name>maxUniformBufferRange</name><comment>max uniform buffer range (bytes)</comment></member> - <member><type>uint32_t</type> <name>maxStorageBufferRange</name><comment>max storage buffer range (bytes)</comment></member> - <member><type>uint32_t</type> <name>maxPushConstantsSize</name><comment>max size of the push constants pool (bytes)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxImageDimension1D</name><comment>max 1D image dimension</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxImageDimension2D</name><comment>max 2D image dimension</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxImageDimension3D</name><comment>max 3D image dimension</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxImageDimensionCube</name><comment>max cubemap image dimension</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxImageArrayLayers</name><comment>max layers for image arrays</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTexelBufferElements</name><comment>max texel buffer size (fstexels)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxUniformBufferRange</name><comment>max uniform buffer range (bytes)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxStorageBufferRange</name><comment>max storage buffer range (bytes)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPushConstantsSize</name><comment>max size of the push constants pool (bytes)</comment></member> <comment>memory limits</comment> - <member><type>uint32_t</type> <name>maxMemoryAllocationCount</name><comment>max number of device memory allocations supported</comment></member> - <member><type>uint32_t</type> <name>maxSamplerAllocationCount</name><comment>max number of samplers that can be allocated on a device</comment></member> - <member><type>VkDeviceSize</type> <name>bufferImageGranularity</name><comment>Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage</comment></member> - <member><type>VkDeviceSize</type> <name>sparseAddressSpaceSize</name><comment>Total address space available for sparse allocations (bytes)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxMemoryAllocationCount</name><comment>max number of device memory allocations supported</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxSamplerAllocationCount</name><comment>max number of samplers that can be allocated on a device</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>bufferImageGranularity</name><comment>Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage</comment></member> + <member limittype="max"><type>VkDeviceSize</type> <name>sparseAddressSpaceSize</name><comment>Total address space available for sparse allocations (bytes)</comment></member> <comment>descriptor set limits</comment> - <member><type>uint32_t</type> <name>maxBoundDescriptorSets</name><comment>max number of descriptors sets that can be bound to a pipeline</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorSamplers</name><comment>max number of samplers allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUniformBuffers</name><comment>max number of uniform buffers allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorStorageBuffers</name><comment>max number of storage buffers allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorSampledImages</name><comment>max number of sampled images allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorStorageImages</name><comment>max number of storage images allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorInputAttachments</name><comment>max number of input attachments allowed per-stage in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxPerStageResources</name><comment>max number of resources allowed by a single stage</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetSamplers</name><comment>max number of samplers allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUniformBuffers</name><comment>max number of uniform buffers allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUniformBuffersDynamic</name><comment>max number of dynamic uniform buffers allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetStorageBuffers</name><comment>max number of storage buffers allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetStorageBuffersDynamic</name><comment>max number of dynamic storage buffers allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetSampledImages</name><comment>max number of sampled images allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetStorageImages</name><comment>max number of storage images allowed in all stages in a descriptor set</comment></member> - <member><type>uint32_t</type> <name>maxDescriptorSetInputAttachments</name><comment>max number of input attachments allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxBoundDescriptorSets</name><comment>max number of descriptors sets that can be bound to a pipeline</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorSamplers</name><comment>max number of samplers allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUniformBuffers</name><comment>max number of uniform buffers allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorStorageBuffers</name><comment>max number of storage buffers allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorSampledImages</name><comment>max number of sampled images allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorStorageImages</name><comment>max number of storage images allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorInputAttachments</name><comment>max number of input attachments allowed per-stage in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageResources</name><comment>max number of resources allowed by a single stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetSamplers</name><comment>max number of samplers allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUniformBuffers</name><comment>max number of uniform buffers allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUniformBuffersDynamic</name><comment>max number of dynamic uniform buffers allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetStorageBuffers</name><comment>max number of storage buffers allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetStorageBuffersDynamic</name><comment>max number of dynamic storage buffers allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetSampledImages</name><comment>max number of sampled images allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetStorageImages</name><comment>max number of storage images allowed in all stages in a descriptor set</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetInputAttachments</name><comment>max number of input attachments allowed in all stages in a descriptor set</comment></member> <comment>vertex stage limits</comment> - <member><type>uint32_t</type> <name>maxVertexInputAttributes</name><comment>max number of vertex input attribute slots</comment></member> - <member><type>uint32_t</type> <name>maxVertexInputBindings</name><comment>max number of vertex input binding slots</comment></member> - <member><type>uint32_t</type> <name>maxVertexInputAttributeOffset</name><comment>max vertex input attribute offset added to vertex buffer offset</comment></member> - <member><type>uint32_t</type> <name>maxVertexInputBindingStride</name><comment>max vertex input binding stride</comment></member> - <member><type>uint32_t</type> <name>maxVertexOutputComponents</name><comment>max number of output components written by vertex shader</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexInputAttributes</name><comment>max number of vertex input attribute slots</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexInputBindings</name><comment>max number of vertex input binding slots</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexInputAttributeOffset</name><comment>max vertex input attribute offset added to vertex buffer offset</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexInputBindingStride</name><comment>max vertex input binding stride</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexOutputComponents</name><comment>max number of output components written by vertex shader</comment></member> <comment>tessellation control stage limits</comment> - <member><type>uint32_t</type> <name>maxTessellationGenerationLevel</name><comment>max level supported by tessellation primitive generator</comment></member> - <member><type>uint32_t</type> <name>maxTessellationPatchSize</name><comment>max patch size (vertices)</comment></member> - <member><type>uint32_t</type> <name>maxTessellationControlPerVertexInputComponents</name><comment>max number of input components per-vertex in TCS</comment></member> - <member><type>uint32_t</type> <name>maxTessellationControlPerVertexOutputComponents</name><comment>max number of output components per-vertex in TCS</comment></member> - <member><type>uint32_t</type> <name>maxTessellationControlPerPatchOutputComponents</name><comment>max number of output components per-patch in TCS</comment></member> - <member><type>uint32_t</type> <name>maxTessellationControlTotalOutputComponents</name><comment>max total number of per-vertex and per-patch output components in TCS</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationGenerationLevel</name><comment>max level supported by tessellation primitive generator</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationPatchSize</name><comment>max patch size (vertices)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationControlPerVertexInputComponents</name><comment>max number of input components per-vertex in TCS</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationControlPerVertexOutputComponents</name><comment>max number of output components per-vertex in TCS</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationControlPerPatchOutputComponents</name><comment>max number of output components per-patch in TCS</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationControlTotalOutputComponents</name><comment>max total number of per-vertex and per-patch output components in TCS</comment></member> <comment>tessellation evaluation stage limits</comment> - <member><type>uint32_t</type> <name>maxTessellationEvaluationInputComponents</name><comment>max number of input components per vertex in TES</comment></member> - <member><type>uint32_t</type> <name>maxTessellationEvaluationOutputComponents</name><comment>max number of output components per vertex in TES</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationEvaluationInputComponents</name><comment>max number of input components per vertex in TES</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTessellationEvaluationOutputComponents</name><comment>max number of output components per vertex in TES</comment></member> <comment>geometry stage limits</comment> - <member><type>uint32_t</type> <name>maxGeometryShaderInvocations</name><comment>max invocation count supported in geometry shader</comment></member> - <member><type>uint32_t</type> <name>maxGeometryInputComponents</name><comment>max number of input components read in geometry stage</comment></member> - <member><type>uint32_t</type> <name>maxGeometryOutputComponents</name><comment>max number of output components written in geometry stage</comment></member> - <member><type>uint32_t</type> <name>maxGeometryOutputVertices</name><comment>max number of vertices that can be emitted in geometry stage</comment></member> - <member><type>uint32_t</type> <name>maxGeometryTotalOutputComponents</name><comment>max total number of components (all vertices) written in geometry stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxGeometryShaderInvocations</name><comment>max invocation count supported in geometry shader</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxGeometryInputComponents</name><comment>max number of input components read in geometry stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxGeometryOutputComponents</name><comment>max number of output components written in geometry stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxGeometryOutputVertices</name><comment>max number of vertices that can be emitted in geometry stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxGeometryTotalOutputComponents</name><comment>max total number of components (all vertices) written in geometry stage</comment></member> <comment>fragment stage limits</comment> - <member><type>uint32_t</type> <name>maxFragmentInputComponents</name><comment>max number of input components read in fragment stage</comment></member> - <member><type>uint32_t</type> <name>maxFragmentOutputAttachments</name><comment>max number of output attachments written in fragment stage</comment></member> - <member><type>uint32_t</type> <name>maxFragmentDualSrcAttachments</name><comment>max number of output attachments written when using dual source blending</comment></member> - <member><type>uint32_t</type> <name>maxFragmentCombinedOutputResources</name><comment>max total number of storage buffers, storage images and output buffers</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFragmentInputComponents</name><comment>max number of input components read in fragment stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFragmentOutputAttachments</name><comment>max number of output attachments written in fragment stage</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFragmentDualSrcAttachments</name><comment>max number of output attachments written when using dual source blending</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFragmentCombinedOutputResources</name><comment>max total number of storage buffers, storage images and output buffers</comment></member> <comment>compute stage limits</comment> - <member><type>uint32_t</type> <name>maxComputeSharedMemorySize</name><comment>max total storage size of work group local storage (bytes)</comment></member> - <member><type>uint32_t</type> <name>maxComputeWorkGroupCount</name>[3]<comment>max num of compute work groups that may be dispatched by a single command (x,y,z)</comment></member> - <member><type>uint32_t</type> <name>maxComputeWorkGroupInvocations</name><comment>max total compute invocations in a single local work group</comment></member> - <member><type>uint32_t</type> <name>maxComputeWorkGroupSize</name>[3]<comment>max local size of a compute work group (x,y,z)</comment></member> - <member><type>uint32_t</type> <name>subPixelPrecisionBits</name><comment>number bits of subpixel precision in screen x and y</comment></member> - <member><type>uint32_t</type> <name>subTexelPrecisionBits</name><comment>number bits of precision for selecting texel weights</comment></member> - <member><type>uint32_t</type> <name>mipmapPrecisionBits</name><comment>number bits of precision for selecting mipmap weights</comment></member> - <member><type>uint32_t</type> <name>maxDrawIndexedIndexValue</name><comment>max index value for indexed draw calls (for 32-bit indices)</comment></member> - <member><type>uint32_t</type> <name>maxDrawIndirectCount</name><comment>max draw count for indirect draw calls</comment></member> - <member><type>float</type> <name>maxSamplerLodBias</name><comment>max absolute sampler LOD bias</comment></member> - <member><type>float</type> <name>maxSamplerAnisotropy</name><comment>max degree of sampler anisotropy</comment></member> - <member><type>uint32_t</type> <name>maxViewports</name><comment>max number of active viewports</comment></member> - <member><type>uint32_t</type> <name>maxViewportDimensions</name>[2]<comment>max viewport dimensions (x,y)</comment></member> - <member><type>float</type> <name>viewportBoundsRange</name>[2]<comment>viewport bounds range (min,max)</comment></member> - <member><type>uint32_t</type> <name>viewportSubPixelBits</name><comment>number bits of subpixel precision for viewport</comment></member> - <member><type>size_t</type> <name>minMemoryMapAlignment</name><comment>min required alignment of pointers returned by MapMemory (bytes)</comment></member> - <member><type>VkDeviceSize</type> <name>minTexelBufferOffsetAlignment</name><comment>min required alignment for texel buffer offsets (bytes) </comment></member> - <member><type>VkDeviceSize</type> <name>minUniformBufferOffsetAlignment</name><comment>min required alignment for uniform buffer sizes and offsets (bytes)</comment></member> - <member><type>VkDeviceSize</type> <name>minStorageBufferOffsetAlignment</name><comment>min required alignment for storage buffer offsets (bytes)</comment></member> - <member><type>int32_t</type> <name>minTexelOffset</name><comment>min texel offset for OpTextureSampleOffset</comment></member> - <member><type>uint32_t</type> <name>maxTexelOffset</name><comment>max texel offset for OpTextureSampleOffset</comment></member> - <member><type>int32_t</type> <name>minTexelGatherOffset</name><comment>min texel offset for OpTextureGatherOffset</comment></member> - <member><type>uint32_t</type> <name>maxTexelGatherOffset</name><comment>max texel offset for OpTextureGatherOffset</comment></member> - <member><type>float</type> <name>minInterpolationOffset</name><comment>furthest negative offset for interpolateAtOffset</comment></member> - <member><type>float</type> <name>maxInterpolationOffset</name><comment>furthest positive offset for interpolateAtOffset</comment></member> - <member><type>uint32_t</type> <name>subPixelInterpolationOffsetBits</name><comment>number of subpixel bits for interpolateAtOffset</comment></member> - <member><type>uint32_t</type> <name>maxFramebufferWidth</name><comment>max width for a framebuffer</comment></member> - <member><type>uint32_t</type> <name>maxFramebufferHeight</name><comment>max height for a framebuffer</comment></member> - <member><type>uint32_t</type> <name>maxFramebufferLayers</name><comment>max layer count for a layered framebuffer</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>framebufferColorSampleCounts</name><comment>supported color sample counts for a framebuffer</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>framebufferDepthSampleCounts</name><comment>supported depth sample counts for a framebuffer</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>framebufferStencilSampleCounts</name><comment>supported stencil sample counts for a framebuffer</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>framebufferNoAttachmentsSampleCounts</name><comment>supported sample counts for a subpass which uses no attachments</comment></member> - <member><type>uint32_t</type> <name>maxColorAttachments</name><comment>max number of color attachments per subpass</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>sampledImageColorSampleCounts</name><comment>supported color sample counts for a non-integer sampled image</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>sampledImageIntegerSampleCounts</name><comment>supported sample counts for an integer image</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>sampledImageDepthSampleCounts</name><comment>supported depth sample counts for a sampled image</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>sampledImageStencilSampleCounts</name><comment>supported stencil sample counts for a sampled image</comment></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>storageImageSampleCounts</name><comment>supported sample counts for a storage image</comment></member> - <member><type>uint32_t</type> <name>maxSampleMaskWords</name><comment>max number of sample mask words</comment></member> - <member><type>VkBool32</type> <name>timestampComputeAndGraphics</name><comment>timestamps on graphics and compute queues</comment></member> - <member><type>float</type> <name>timestampPeriod</name><comment>number of nanoseconds it takes for timestamp query value to increment by 1</comment></member> - <member><type>uint32_t</type> <name>maxClipDistances</name><comment>max number of clip distances</comment></member> - <member><type>uint32_t</type> <name>maxCullDistances</name><comment>max number of cull distances</comment></member> - <member><type>uint32_t</type> <name>maxCombinedClipAndCullDistances</name><comment>max combined number of user clipping</comment></member> - <member><type>uint32_t</type> <name>discreteQueuePriorities</name><comment>distinct queue priorities available </comment></member> - <member><type>float</type> <name>pointSizeRange</name>[2]<comment>range (min,max) of supported point sizes</comment></member> - <member><type>float</type> <name>lineWidthRange</name>[2]<comment>range (min,max) of supported line widths</comment></member> - <member><type>float</type> <name>pointSizeGranularity</name><comment>granularity of supported point sizes</comment></member> - <member><type>float</type> <name>lineWidthGranularity</name><comment>granularity of supported line widths</comment></member> - <member><type>VkBool32</type> <name>strictLines</name><comment>line rasterization follows preferred rules</comment></member> - <member><type>VkBool32</type> <name>standardSampleLocations</name><comment>supports standard sample locations for all supported sample counts</comment></member> - <member><type>VkDeviceSize</type> <name>optimalBufferCopyOffsetAlignment</name><comment>optimal offset of buffer copies</comment></member> - <member><type>VkDeviceSize</type> <name>optimalBufferCopyRowPitchAlignment</name><comment>optimal pitch of buffer copies</comment></member> - <member><type>VkDeviceSize</type> <name>nonCoherentAtomSize</name><comment>minimum size and alignment for non-coherent host-mapped device memory access</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxComputeSharedMemorySize</name><comment>max total storage size of work group local storage (bytes)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxComputeWorkGroupCount</name>[3]<comment>max num of compute work groups that may be dispatched by a single command (x,y,z)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxComputeWorkGroupInvocations</name><comment>max total compute invocations in a single local work group</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxComputeWorkGroupSize</name>[3]<comment>max local size of a compute work group (x,y,z)</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>subPixelPrecisionBits</name><comment>number bits of subpixel precision in screen x and y</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>subTexelPrecisionBits</name><comment>number bits of precision for selecting texel weights</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>mipmapPrecisionBits</name><comment>number bits of precision for selecting mipmap weights</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDrawIndexedIndexValue</name><comment>max index value for indexed draw calls (for 32-bit indices)</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDrawIndirectCount</name><comment>max draw count for indirect draw calls</comment></member> + <member limittype="max"><type>float</type> <name>maxSamplerLodBias</name><comment>max absolute sampler LOD bias</comment></member> + <member limittype="max"><type>float</type> <name>maxSamplerAnisotropy</name><comment>max degree of sampler anisotropy</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxViewports</name><comment>max number of active viewports</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxViewportDimensions</name>[2]<comment>max viewport dimensions (x,y)</comment></member> + <member limittype="range"><type>float</type> <name>viewportBoundsRange</name>[2]<comment>viewport bounds range (min,max)</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>viewportSubPixelBits</name><comment>number bits of subpixel precision for viewport</comment></member> + <member limittype="noauto"><type>size_t</type> <name>minMemoryMapAlignment</name><comment>min required alignment of pointers returned by MapMemory (bytes)</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>minTexelBufferOffsetAlignment</name><comment>min required alignment for texel buffer offsets (bytes) </comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>minUniformBufferOffsetAlignment</name><comment>min required alignment for uniform buffer sizes and offsets (bytes)</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>minStorageBufferOffsetAlignment</name><comment>min required alignment for storage buffer offsets (bytes)</comment></member> + <member limittype="min"><type>int32_t</type> <name>minTexelOffset</name><comment>min texel offset for OpTextureSampleOffset</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTexelOffset</name><comment>max texel offset for OpTextureSampleOffset</comment></member> + <member limittype="min"><type>int32_t</type> <name>minTexelGatherOffset</name><comment>min texel offset for OpTextureGatherOffset</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxTexelGatherOffset</name><comment>max texel offset for OpTextureGatherOffset</comment></member> + <member limittype="min"><type>float</type> <name>minInterpolationOffset</name><comment>furthest negative offset for interpolateAtOffset</comment></member> + <member limittype="max"><type>float</type> <name>maxInterpolationOffset</name><comment>furthest positive offset for interpolateAtOffset</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>subPixelInterpolationOffsetBits</name><comment>number of subpixel bits for interpolateAtOffset</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFramebufferWidth</name><comment>max width for a framebuffer</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFramebufferHeight</name><comment>max height for a framebuffer</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxFramebufferLayers</name><comment>max layer count for a layered framebuffer</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>framebufferColorSampleCounts</name><comment>supported color sample counts for a framebuffer</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>framebufferDepthSampleCounts</name><comment>supported depth sample counts for a framebuffer</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>framebufferStencilSampleCounts</name><comment>supported stencil sample counts for a framebuffer</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>framebufferNoAttachmentsSampleCounts</name><comment>supported sample counts for a subpass which uses no attachments</comment></member> + <member limittype="bitmask"><type>uint32_t</type> <name>maxColorAttachments</name><comment>max number of color attachments per subpass</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>sampledImageColorSampleCounts</name><comment>supported color sample counts for a non-integer sampled image</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>sampledImageIntegerSampleCounts</name><comment>supported sample counts for an integer image</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>sampledImageDepthSampleCounts</name><comment>supported depth sample counts for a sampled image</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>sampledImageStencilSampleCounts</name><comment>supported stencil sample counts for a sampled image</comment></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>storageImageSampleCounts</name><comment>supported sample counts for a storage image</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxSampleMaskWords</name><comment>max number of sample mask words</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>timestampComputeAndGraphics</name><comment>timestamps on graphics and compute queues</comment></member> + <member limittype="noauto"><type>float</type> <name>timestampPeriod</name><comment>number of nanoseconds it takes for timestamp query value to increment by 1</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxClipDistances</name><comment>max number of clip distances</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxCullDistances</name><comment>max number of cull distances</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxCombinedClipAndCullDistances</name><comment>max combined number of user clipping</comment></member> + <member limittype="max"><type>uint32_t</type> <name>discreteQueuePriorities</name><comment>distinct queue priorities available </comment></member> + <member limittype="range"><type>float</type> <name>pointSizeRange</name>[2]<comment>range (min,max) of supported point sizes</comment></member> + <member limittype="range"><type>float</type> <name>lineWidthRange</name>[2]<comment>range (min,max) of supported line widths</comment></member> + <member limittype="max"><type>float</type> <name>pointSizeGranularity</name><comment>granularity of supported point sizes</comment></member> + <member limittype="max"><type>float</type> <name>lineWidthGranularity</name><comment>granularity of supported line widths</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>strictLines</name><comment>line rasterization follows preferred rules</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>standardSampleLocations</name><comment>supports standard sample locations for all supported sample counts</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>optimalBufferCopyOffsetAlignment</name><comment>optimal offset of buffer copies</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>optimalBufferCopyRowPitchAlignment</name><comment>optimal pitch of buffer copies</comment></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>nonCoherentAtomSize</name><comment>minimum size and alignment for non-coherent host-mapped device memory access</comment></member> </type> <type category="struct" name="VkSemaphoreCreateInfo"> <member values="VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member> @@ -1772,6 +1882,13 @@ typedef void <name>CAMetalLayer</name>; <member optional="true"><type>VkStreamDescriptorSurfaceCreateFlagsGGP</type> <name>flags</name></member> <member><type>GgpStreamDescriptor</type> <name>streamDescriptor</name></member> </type> + <type category="struct" name="VkScreenSurfaceCreateInfoQNX"> + <member values="VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkScreenSurfaceCreateFlagsQNX</type> <name>flags</name></member> + <member noautovalidity="true">struct <type>_screen_context</type>* <name>context</name></member> + <member noautovalidity="true">struct <type>_screen_window</type>* <name>window</name></member> + </type> <type category="struct" name="VkSurfaceFormatKHR" returnedonly="true"> <member><type>VkFormat</type> <name>format</name><comment>Supported pair of rendering format</comment></member> <member><type>VkColorSpaceKHR</type> <name>colorSpace</name><comment>and color space for the surface</comment></member> @@ -1898,7 +2015,7 @@ typedef void <name>CAMetalLayer</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="VkWin32KeyedMutexAcquireReleaseInfoNV" structextends="VkSubmitInfo"> + <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoNV" structextends="VkSubmitInfo,VkSubmitInfo2KHR"> <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> <member optional="true"><type>uint32_t</type> <name>acquireCount</name></member> @@ -1932,15 +2049,15 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxGraphicsShaderGroupCount</name></member> - <member><type>uint32_t</type> <name>maxIndirectSequenceCount</name></member> - <member><type>uint32_t</type> <name>maxIndirectCommandsTokenCount</name></member> - <member><type>uint32_t</type> <name>maxIndirectCommandsStreamCount</name></member> - <member><type>uint32_t</type> <name>maxIndirectCommandsTokenOffset</name></member> - <member><type>uint32_t</type> <name>maxIndirectCommandsStreamStride</name></member> - <member><type>uint32_t</type> <name>minSequencesCountBufferOffsetAlignment</name></member> - <member><type>uint32_t</type> <name>minSequencesIndexBufferOffsetAlignment</name></member> - <member><type>uint32_t</type> <name>minIndirectCommandsBufferOffsetAlignment</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxGraphicsShaderGroupCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxIndirectSequenceCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsStreamCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsTokenOffset</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxIndirectCommandsStreamStride</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>minSequencesCountBufferOffsetAlignment</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>minSequencesIndexBufferOffsetAlignment</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>minIndirectCommandsBufferOffsetAlignment</name></member> </type> <type category="struct" name="VkGraphicsShaderGroupCreateInfoNV"> <member values="VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> @@ -2039,7 +2156,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkPhysicalDeviceProperties</type> <name>properties</name></member> + <member limittype="struct"><type>VkPhysicalDeviceProperties</type> <name>properties</name></member> </type> <type category="struct" name="VkPhysicalDeviceProperties2KHR" alias="VkPhysicalDeviceProperties2"/> <type category="struct" name="VkFormatProperties2" returnedonly="true"> @@ -2095,7 +2212,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDevicePushDescriptorPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxPushDescriptors</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPushDescriptors</name></member> </type> <type category="struct" name="VkConformanceVersion"> <member><type>uint8_t</type> <name>major</name></member> @@ -2107,10 +2224,10 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceDriverProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkDriverId</type> <name>driverID</name></member> - <member><type>char</type> <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member> - <member><type>char</type> <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member> - <member><type>VkConformanceVersion</type> <name>conformanceVersion</name></member> + <member limittype="noauto"><type>VkDriverId</type> <name>driverID</name></member> + <member limittype="noauto"><type>char</type> <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member> + <member limittype="noauto"><type>char</type> <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member> + <member limittype="noauto"><type>VkConformanceVersion</type> <name>conformanceVersion</name></member> </type> <type category="struct" name="VkPhysicalDeviceDriverPropertiesKHR" alias="VkPhysicalDeviceDriverProperties"/> <type category="struct" name="VkPresentRegionsKHR" structextends="VkPresentInfoKHR"> @@ -2172,11 +2289,11 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceIDProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint8_t</type> <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> - <member><type>uint8_t</type> <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> - <member><type>uint8_t</type> <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member> - <member><type>uint32_t</type> <name>deviceNodeMask</name></member> - <member><type>VkBool32</type> <name>deviceLUIDValid</name></member> + <member limittype="noauto"><type>uint8_t</type> <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint8_t</type> <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint8_t</type> <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint32_t</type> <name>deviceNodeMask</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>deviceLUIDValid</name></member> </type> <type category="struct" name="VkPhysicalDeviceIDPropertiesKHR" alias="VkPhysicalDeviceIDProperties"/> <type category="struct" name="VkExternalMemoryImageCreateInfo" structextends="VkImageCreateInfo"> @@ -2211,6 +2328,23 @@ typedef void <name>CAMetalLayer</name>; <member><type>DWORD</type> <name>dwAccess</name></member> <member><type>LPCWSTR</type> <name>name</name></member> </type> + <type category="struct" name="VkImportMemoryZirconHandleInfoFUCHSIA" structextends="VkMemoryAllocateInfo"> + <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member> + <member optional="true"><type>zx_handle_t</type> <name>handle</name></member> + </type> + <type category="struct" name="VkMemoryZirconHandlePropertiesFUCHSIA" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>memoryTypeBits</name></member> + </type> + <type category="struct" name="VkMemoryGetZirconHandleInfoFUCHSIA"> + <member values="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member> + <member>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="VkMemoryWin32HandlePropertiesKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> @@ -2239,7 +2373,7 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkDeviceMemory</type> <name>memory</name></member> <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member> </type> - <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoKHR" structextends="VkSubmitInfo"> + <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoKHR" structextends="VkSubmitInfo,VkSubmitInfo2KHR"> <member values="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR"><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>acquireCount</name></member> @@ -2314,6 +2448,20 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkSemaphore</type> <name>semaphore</name></member> <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member> </type> + <type category="struct" name="VkImportSemaphoreZirconHandleInfoFUCHSIA"> + <member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"><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 optional="true"><type>VkSemaphoreImportFlags</type> <name>flags</name></member> + <member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member> + <member><type>zx_handle_t</type> <name>zirconHandle</name></member> + </type> + <type category="struct" name="VkSemaphoreGetZirconHandleInfoFUCHSIA"> + <member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><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="VkPhysicalDeviceExternalFenceInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -2381,8 +2529,8 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceMultiviewProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxMultiviewViewCount</name><comment>max number of views in a subpass</comment></member> - <member><type>uint32_t</type> <name>maxMultiviewInstanceIndex</name><comment>max instance index for a draw in a multiview subpass</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxMultiviewViewCount</name><comment>max number of views in a subpass</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxMultiviewInstanceIndex</name><comment>max instance index for a draw in a multiview subpass</comment></member> </type> <type category="struct" name="VkPhysicalDeviceMultiviewPropertiesKHR" alias="VkPhysicalDeviceMultiviewProperties"/> <type category="struct" name="VkRenderPassMultiviewCreateInfo" structextends="VkRenderPassCreateInfo"> @@ -2671,7 +2819,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceDiscardRectanglePropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxDiscardRectangles</name><comment>max number of active discard rectangles</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxDiscardRectangles</name><comment>max number of active discard rectangles</comment></member> </type> <type category="struct" name="VkPipelineDiscardRectangleStateCreateInfoEXT" structextends="VkGraphicsPipelineCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -2684,7 +2832,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkBool32</type> <name>perViewPositionAllComponents</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>perViewPositionAllComponents</name></member> </type> <type category="struct" name="VkInputAttachmentAspectReference"> <member><type>uint32_t</type> <name>subpass</name></member> @@ -2757,10 +2905,10 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceSubgroupProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member noautovalidity="true"><type>uint32_t</type> <name>subgroupSize</name><comment>The size of a subgroup for this queue.</comment></member> - <member noautovalidity="true"><type>VkShaderStageFlags</type> <name>supportedStages</name><comment>Bitfield of what shader stages support subgroup operations</comment></member> - <member noautovalidity="true"><type>VkSubgroupFeatureFlags</type> <name>supportedOperations</name><comment>Bitfield of what subgroup operations are supported.</comment></member> - <member noautovalidity="true"><type>VkBool32</type> <name>quadOperationsInAllStages</name><comment>Flag to specify whether quad operations are available in all stages.</comment></member> + <member limittype="noauto" noautovalidity="true"><type>uint32_t</type> <name>subgroupSize</name><comment>The size of a subgroup for this queue.</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkShaderStageFlags</type> <name>supportedStages</name><comment>Bitfield of what shader stages support subgroup operations</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkSubgroupFeatureFlags</type> <name>supportedOperations</name><comment>Bitfield of what subgroup operations are supported.</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkBool32</type> <name>quadOperationsInAllStages</name><comment>Flag to specify whether quad operations are available in all stages.</comment></member> </type> <type category="struct" name="VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"><type>VkStructureType</type> <name>sType</name></member> @@ -2801,7 +2949,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDevicePointClippingProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkPointClippingBehavior</type> <name>pointClippingBehavior</name></member> + <member limittype="noauto"><type>VkPointClippingBehavior</type> <name>pointClippingBehavior</name></member> </type> <type category="struct" name="VkPhysicalDevicePointClippingPropertiesKHR" alias="VkPhysicalDevicePointClippingProperties"/> <type category="struct" name="VkMemoryDedicatedRequirements" returnedonly="true" structextends="VkMemoryRequirements2"> @@ -2898,7 +3046,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceProtectedMemoryProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkBool32</type> <name>protectedNoFault</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>protectedNoFault</name></member> </type> <type category="struct" name="VkDeviceQueueInfo2"> <member values="VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"><type>VkStructureType</type> <name>sType</name></member> @@ -2917,15 +3065,15 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceSamplerFilterMinmaxProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkBool32</type> <name>filterMinmaxSingleComponentFormats</name></member> - <member><type>VkBool32</type> <name>filterMinmaxImageComponentMapping</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>filterMinmaxSingleComponentFormats</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>filterMinmaxImageComponentMapping</name></member> </type> <type category="struct" name="VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT" alias="VkPhysicalDeviceSamplerFilterMinmaxProperties"/> <type category="struct" name="VkSampleLocationEXT"> <member><type>float</type> <name>x</name></member> <member><type>float</type> <name>y</name></member> </type> - <type category="struct" name="VkSampleLocationsInfoEXT" structextends="VkImageMemoryBarrier"> + <type category="struct" name="VkSampleLocationsInfoEXT" structextends="VkImageMemoryBarrier,VkImageMemoryBarrier2KHR"> <member values="VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member noautovalidity="true"><type>VkSampleCountFlagBits</type> <name>sampleLocationsPerPixel</name></member> @@ -2958,11 +3106,11 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceSampleLocationsPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkSampleCountFlags</type> <name>sampleLocationSampleCounts</name></member> - <member><type>VkExtent2D</type> <name>maxSampleLocationGridSize</name></member> - <member><type>float</type> <name>sampleLocationCoordinateRange</name>[2]</member> - <member><type>uint32_t</type> <name>sampleLocationSubPixelBits</name></member> - <member><type>VkBool32</type> <name>variableSampleLocations</name></member> + <member limittype="bitmask"><type>VkSampleCountFlags</type> <name>sampleLocationSampleCounts</name></member> + <member limittype="max"><type>VkExtent2D</type> <name>maxSampleLocationGridSize</name></member> + <member limittype="range"><type>float</type> <name>sampleLocationCoordinateRange</name>[2]</member> + <member limittype="noauto"><type>uint32_t</type> <name>sampleLocationSubPixelBits</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>variableSampleLocations</name></member> </type> <type category="struct" name="VkMultisamplePropertiesEXT" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -2983,12 +3131,12 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>advancedBlendMaxColorAttachments</name></member> - <member><type>VkBool32</type> <name>advancedBlendIndependentBlend</name></member> - <member><type>VkBool32</type> <name>advancedBlendNonPremultipliedSrcColor</name></member> - <member><type>VkBool32</type> <name>advancedBlendNonPremultipliedDstColor</name></member> - <member><type>VkBool32</type> <name>advancedBlendCorrelatedOverlap</name></member> - <member><type>VkBool32</type> <name>advancedBlendAllOperations</name></member> + <member limittype="max"><type>uint32_t</type> <name>advancedBlendMaxColorAttachments</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>advancedBlendIndependentBlend</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>advancedBlendNonPremultipliedSrcColor</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>advancedBlendNonPremultipliedDstColor</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>advancedBlendCorrelatedOverlap</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>advancedBlendAllOperations</name></member> </type> <type category="struct" name="VkPipelineColorBlendAdvancedStateCreateInfoEXT" structextends="VkPipelineColorBlendStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -3006,11 +3154,11 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceInlineUniformBlockPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxInlineUniformBlockSize</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorInlineUniformBlocks</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetInlineUniformBlocks</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInlineUniformBlocks</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxInlineUniformBlockSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorInlineUniformBlocks</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetInlineUniformBlocks</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInlineUniformBlocks</name></member> </type> <type category="struct" name="VkWriteDescriptorSetInlineUniformBlockEXT" structextends="VkWriteDescriptorSet"> <member values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -3054,8 +3202,8 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceMaintenance3Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxPerSetDescriptors</name></member> - <member><type>VkDeviceSize</type> <name>maxMemoryAllocationSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerSetDescriptors</name></member> + <member limittype="max"><type>VkDeviceSize</type> <name>maxMemoryAllocationSize</name></member> </type> <type category="struct" name="VkPhysicalDeviceMaintenance3PropertiesKHR" alias="VkPhysicalDeviceMaintenance3Properties"/> <type category="struct" name="VkDescriptorSetLayoutSupport" returnedonly="true"> @@ -3081,23 +3229,23 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceFloatControlsProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkShaderFloatControlsIndependence</type> <name>denormBehaviorIndependence</name></member> - <member><type>VkShaderFloatControlsIndependence</type> <name>roundingModeIndependence</name></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat16</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat32</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat64</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat16</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat32</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat64</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat16</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat32</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat64</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat16</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat32</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat64</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat16</name><comment>An implementation can support RTZ</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat32</name><comment>An implementation can support RTZ</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat64</name><comment>An implementation can support RTZ</comment></member> + <member limittype="noauto"><type>VkShaderFloatControlsIndependence</type> <name>denormBehaviorIndependence</name></member> + <member limittype="noauto"><type>VkShaderFloatControlsIndependence</type> <name>roundingModeIndependence</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat16</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat32</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat64</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat16</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat32</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat64</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat16</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat32</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat64</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat16</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat32</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat64</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat16</name><comment>An implementation can support RTZ</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat32</name><comment>An implementation can support RTZ</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat64</name><comment>An implementation can support RTZ</comment></member> </type> <type category="struct" name="VkPhysicalDeviceFloatControlsPropertiesKHR" alias="VkPhysicalDeviceFloatControlsProperties"/> <type category="struct" name="VkPhysicalDeviceHostQueryResetFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> @@ -3232,20 +3380,20 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceExternalMemoryHostPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkDeviceSize</type> <name>minImportedHostPointerAlignment</name></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>minImportedHostPointerAlignment</name></member> </type> <type category="struct" name="VkPhysicalDeviceConservativeRasterizationPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>float</type> <name>primitiveOverestimationSize</name><comment>The size in pixels the primitive is enlarged at each edge during conservative rasterization</comment></member> - <member><type>float</type> <name>maxExtraPrimitiveOverestimationSize</name><comment>The maximum additional overestimation the client can specify in the pipeline state</comment></member> - <member><type>float</type> <name>extraPrimitiveOverestimationSizeGranularity</name><comment>The granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize</comment></member> - <member><type>VkBool32</type> <name>primitiveUnderestimation</name><comment>true if the implementation supports conservative rasterization underestimation mode</comment></member> - <member><type>VkBool32</type> <name>conservativePointAndLineRasterization</name><comment>true if conservative rasterization also applies to points and lines</comment></member> - <member><type>VkBool32</type> <name>degenerateTrianglesRasterized</name><comment>true if degenerate triangles (those with zero area after snap) are rasterized</comment></member> - <member><type>VkBool32</type> <name>degenerateLinesRasterized</name><comment>true if degenerate lines (those with zero length after snap) are rasterized</comment></member> - <member><type>VkBool32</type> <name>fullyCoveredFragmentShaderInputVariable</name><comment>true if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable</comment></member> - <member><type>VkBool32</type> <name>conservativeRasterizationPostDepthCoverage</name><comment>true if the implementation supports both conservative rasterization and post depth coverage sample coverage mask</comment></member> + <member limittype="noauto"><type>float</type> <name>primitiveOverestimationSize</name><comment>The size in pixels the primitive is enlarged at each edge during conservative rasterization</comment></member> + <member limittype="max"><type>float</type> <name>maxExtraPrimitiveOverestimationSize</name><comment>The maximum additional overestimation the client can specify in the pipeline state</comment></member> + <member limittype="noauto"><type>float</type> <name>extraPrimitiveOverestimationSizeGranularity</name><comment>The granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>primitiveUnderestimation</name><comment>true if the implementation supports conservative rasterization underestimation mode</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>conservativePointAndLineRasterization</name><comment>true if conservative rasterization also applies to points and lines</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>degenerateTrianglesRasterized</name><comment>true if degenerate triangles (those with zero area after snap) are rasterized</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>degenerateLinesRasterized</name><comment>true if degenerate lines (those with zero length after snap) are rasterized</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fullyCoveredFragmentShaderInputVariable</name><comment>true if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>conservativeRasterizationPostDepthCoverage</name><comment>true if the implementation supports both conservative rasterization and post depth coverage sample coverage mask</comment></member> </type> <type category="struct" name="VkCalibratedTimestampInfoEXT"> <member values="VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -3255,26 +3403,26 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceShaderCorePropertiesAMD" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>shaderEngineCount</name><comment>number of shader engines</comment></member> - <member><type>uint32_t</type> <name>shaderArraysPerEngineCount</name><comment>number of shader arrays</comment></member> - <member><type>uint32_t</type> <name>computeUnitsPerShaderArray</name><comment>number of physical CUs per shader array</comment></member> - <member><type>uint32_t</type> <name>simdPerComputeUnit</name><comment>number of SIMDs per compute unit</comment></member> - <member><type>uint32_t</type> <name>wavefrontsPerSimd</name><comment>number of wavefront slots in each SIMD</comment></member> - <member><type>uint32_t</type> <name>wavefrontSize</name><comment>maximum number of threads per wavefront</comment></member> - <member><type>uint32_t</type> <name>sgprsPerSimd</name><comment>number of physical SGPRs per SIMD</comment></member> - <member><type>uint32_t</type> <name>minSgprAllocation</name><comment>minimum number of SGPRs that can be allocated by a wave</comment></member> - <member><type>uint32_t</type> <name>maxSgprAllocation</name><comment>number of available SGPRs</comment></member> - <member><type>uint32_t</type> <name>sgprAllocationGranularity</name><comment>SGPRs are allocated in groups of this size</comment></member> - <member><type>uint32_t</type> <name>vgprsPerSimd</name><comment>number of physical VGPRs per SIMD</comment></member> - <member><type>uint32_t</type> <name>minVgprAllocation</name><comment>minimum number of VGPRs that can be allocated by a wave</comment></member> - <member><type>uint32_t</type> <name>maxVgprAllocation</name><comment>number of available VGPRs</comment></member> - <member><type>uint32_t</type> <name>vgprAllocationGranularity</name><comment>VGPRs are allocated in groups of this size</comment></member> + <member limittype="max"><type>uint32_t</type> <name>shaderEngineCount</name><comment>number of shader engines</comment></member> + <member limittype="max"><type>uint32_t</type> <name>shaderArraysPerEngineCount</name><comment>number of shader arrays</comment></member> + <member limittype="max"><type>uint32_t</type> <name>computeUnitsPerShaderArray</name><comment>number of physical CUs per shader array</comment></member> + <member limittype="max"><type>uint32_t</type> <name>simdPerComputeUnit</name><comment>number of SIMDs per compute unit</comment></member> + <member limittype="max"><type>uint32_t</type> <name>wavefrontsPerSimd</name><comment>number of wavefront slots in each SIMD</comment></member> + <member limittype="max"><type>uint32_t</type> <name>wavefrontSize</name><comment>maximum number of threads per wavefront</comment></member> + <member limittype="max"><type>uint32_t</type> <name>sgprsPerSimd</name><comment>number of physical SGPRs per SIMD</comment></member> + <member limittype="min"><type>uint32_t</type> <name>minSgprAllocation</name><comment>minimum number of SGPRs that can be allocated by a wave</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxSgprAllocation</name><comment>number of available SGPRs</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>sgprAllocationGranularity</name><comment>SGPRs are allocated in groups of this size</comment></member> + <member limittype="max"><type>uint32_t</type> <name>vgprsPerSimd</name><comment>number of physical VGPRs per SIMD</comment></member> + <member limittype="min"><type>uint32_t</type> <name>minVgprAllocation</name><comment>minimum number of VGPRs that can be allocated by a wave</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVgprAllocation</name><comment>number of available VGPRs</comment></member> + <member limittype="noauto"><type>uint32_t</type> <name>vgprAllocationGranularity</name><comment>VGPRs are allocated in groups of this size</comment></member> </type> <type category="struct" name="VkPhysicalDeviceShaderCoreProperties2AMD" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name><comment>Pointer to next structure</comment></member> - <member><type>VkShaderCorePropertiesFlagsAMD</type> <name>shaderCoreFeatures</name><comment>features supported by the shader core</comment></member> - <member><type>uint32_t</type> <name>activeComputeUnitCount</name><comment>number of active compute units across all shader engines/arrays</comment></member> + <member limittype="bitmask"><type>VkShaderCorePropertiesFlagsAMD</type> <name>shaderCoreFeatures</name><comment>features supported by the shader core</comment></member> + <member limittype="max"><type>uint32_t</type> <name>activeComputeUnitCount</name><comment>number of active compute units across all shader engines/arrays</comment></member> </type> <type category="struct" name="VkPipelineRasterizationConservativeStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -3311,29 +3459,29 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceDescriptorIndexingProperties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxUpdateAfterBindDescriptorsInAllPools</name></member> - <member><type>VkBool32</type> <name>shaderUniformBufferArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderSampledImageArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderStorageBufferArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderStorageImageArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderInputAttachmentArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>robustBufferAccessUpdateAfterBind</name></member> - <member><type>VkBool32</type> <name>quadDivergentImplicitLod</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSamplers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindUniformBuffers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageBuffers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSampledImages</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageImages</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInputAttachments</name></member> - <member><type>uint32_t</type> <name>maxPerStageUpdateAfterBindResources</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSamplers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffersDynamic</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffersDynamic</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSampledImages</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageImages</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInputAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxUpdateAfterBindDescriptorsInAllPools</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderUniformBufferArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSampledImageArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderStorageBufferArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderStorageImageArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderInputAttachmentArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>robustBufferAccessUpdateAfterBind</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>quadDivergentImplicitLod</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSamplers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindUniformBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSampledImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInputAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageUpdateAfterBindResources</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSamplers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffersDynamic</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffersDynamic</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSampledImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInputAttachments</name></member> </type> <type category="struct" name="VkPhysicalDeviceDescriptorIndexingPropertiesEXT" alias="VkPhysicalDeviceDescriptorIndexingProperties"/> <type category="struct" name="VkDescriptorSetLayoutBindingFlagsCreateInfo" structextends="VkDescriptorSetLayoutCreateInfo"> @@ -3399,8 +3547,8 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>srcSubpass</name></member> <member><type>uint32_t</type> <name>dstSubpass</name></member> - <member><type>VkPipelineStageFlags</type> <name>srcStageMask</name></member> - <member><type>VkPipelineStageFlags</type> <name>dstStageMask</name></member> + <member optional="true"><type>VkPipelineStageFlags</type> <name>srcStageMask</name></member> + <member optional="true"><type>VkPipelineStageFlags</type> <name>dstStageMask</name></member> <member optional="true"><type>VkAccessFlags</type> <name>srcAccessMask</name></member> <member optional="true"><type>VkAccessFlags</type> <name>dstAccessMask</name></member> <member optional="true"><type>VkDependencyFlags</type> <name>dependencyFlags</name></member> @@ -3441,7 +3589,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceTimelineSemaphoreProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint64_t</type> <name>maxTimelineSemaphoreValueDifference</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxTimelineSemaphoreValueDifference</name></member> </type> <type category="struct" name="VkPhysicalDeviceTimelineSemaphorePropertiesKHR" alias="VkPhysicalDeviceTimelineSemaphoreProperties"/> <type category="struct" name="VkSemaphoreTypeCreateInfo" structextends="VkSemaphoreCreateInfo,VkPhysicalDeviceExternalSemaphoreInfo"> @@ -3489,15 +3637,15 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxVertexAttribDivisor</name><comment>max value of vertex attribute divisor</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxVertexAttribDivisor</name><comment>max value of vertex attribute divisor</comment></member> </type> <type category="struct" name="VkPhysicalDevicePCIBusInfoPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>pciDomain</name></member> - <member><type>uint32_t</type> <name>pciBus</name></member> - <member><type>uint32_t</type> <name>pciDevice</name></member> - <member><type>uint32_t</type> <name>pciFunction</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>pciDomain</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>pciBus</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>pciDevice</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>pciFunction</name></member> </type> <type category="struct" name="VkImportAndroidHardwareBufferInfoANDROID" structextends="VkMemoryAllocateInfo"> <member values="VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member> @@ -3607,10 +3755,10 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceDepthStencilResolveProperties" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkResolveModeFlags</type> <name>supportedDepthResolveModes</name><comment>supported depth resolve modes</comment></member> - <member><type>VkResolveModeFlags</type> <name>supportedStencilResolveModes</name><comment>supported stencil resolve modes</comment></member> - <member><type>VkBool32</type> <name>independentResolveNone</name><comment>depth and stencil resolve modes can be set independently if one of them is none</comment></member> - <member><type>VkBool32</type> <name>independentResolve</name><comment>depth and stencil resolve modes can be set independently</comment></member> + <member limittype="bitmask"><type>VkResolveModeFlags</type> <name>supportedDepthResolveModes</name><comment>supported depth resolve modes</comment></member> + <member limittype="bitmask"><type>VkResolveModeFlags</type> <name>supportedStencilResolveModes</name><comment>supported stencil resolve modes</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>independentResolveNone</name><comment>depth and stencil resolve modes can be set independently if one of them is none</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>independentResolve</name><comment>depth and stencil resolve modes can be set independently</comment></member> </type> <type category="struct" name="VkPhysicalDeviceDepthStencilResolvePropertiesKHR" alias="VkPhysicalDeviceDepthStencilResolveProperties"/> <type category="struct" name="VkSubpassDescriptionDepthStencilResolve" structextends="VkSubpassDescription2"> @@ -3640,16 +3788,16 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceTransformFeedbackPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxTransformFeedbackStreams</name></member> - <member><type>uint32_t</type> <name>maxTransformFeedbackBuffers</name></member> - <member><type>VkDeviceSize</type> <name>maxTransformFeedbackBufferSize</name></member> - <member><type>uint32_t</type> <name>maxTransformFeedbackStreamDataSize</name></member> - <member><type>uint32_t</type> <name>maxTransformFeedbackBufferDataSize</name></member> - <member><type>uint32_t</type> <name>maxTransformFeedbackBufferDataStride</name></member> - <member><type>VkBool32</type> <name>transformFeedbackQueries</name></member> - <member><type>VkBool32</type> <name>transformFeedbackStreamsLinesTriangles</name></member> - <member><type>VkBool32</type> <name>transformFeedbackRasterizationStreamSelect</name></member> - <member><type>VkBool32</type> <name>transformFeedbackDraw</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTransformFeedbackStreams</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTransformFeedbackBuffers</name></member> + <member limittype="max"><type>VkDeviceSize</type> <name>maxTransformFeedbackBufferSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTransformFeedbackStreamDataSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTransformFeedbackBufferDataSize</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>maxTransformFeedbackBufferDataStride</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>transformFeedbackQueries</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>transformFeedbackStreamsLinesTriangles</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>transformFeedbackRasterizationStreamSelect</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>transformFeedbackDraw</name></member> </type> <type category="struct" name="VkPipelineRasterizationStateStreamCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -3724,9 +3872,9 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceShadingRateImagePropertiesNV" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkExtent2D</type> <name>shadingRateTexelSize</name></member> - <member><type>uint32_t</type> <name>shadingRatePaletteSize</name></member> - <member><type>uint32_t</type> <name>shadingRateMaxCoarseSamples</name></member> + <member limittype="noauto"><type>VkExtent2D</type> <name>shadingRateTexelSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>shadingRatePaletteSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>shadingRateMaxCoarseSamples</name></member> </type> <type category="struct" name="VkCoarseSampleLocationNV"> <member><type>uint32_t</type> <name>pixelX</name></member> @@ -3755,19 +3903,19 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceMeshShaderPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxDrawMeshTasksCount</name></member> - <member><type>uint32_t</type> <name>maxTaskWorkGroupInvocations</name></member> - <member><type>uint32_t</type> <name>maxTaskWorkGroupSize</name>[3]</member> - <member><type>uint32_t</type> <name>maxTaskTotalMemorySize</name></member> - <member><type>uint32_t</type> <name>maxTaskOutputCount</name></member> - <member><type>uint32_t</type> <name>maxMeshWorkGroupInvocations</name></member> - <member><type>uint32_t</type> <name>maxMeshWorkGroupSize</name>[3]</member> - <member><type>uint32_t</type> <name>maxMeshTotalMemorySize</name></member> - <member><type>uint32_t</type> <name>maxMeshOutputVertices</name></member> - <member><type>uint32_t</type> <name>maxMeshOutputPrimitives</name></member> - <member><type>uint32_t</type> <name>maxMeshMultiviewViewCount</name></member> - <member><type>uint32_t</type> <name>meshOutputPerVertexGranularity</name></member> - <member><type>uint32_t</type> <name>meshOutputPerPrimitiveGranularity</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDrawMeshTasksCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupInvocations</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupSize</name>[3]</member> + <member limittype="max"><type>uint32_t</type> <name>maxTaskTotalMemorySize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxTaskOutputCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupInvocations</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupSize</name>[3]</member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshTotalMemorySize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshOutputVertices</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshOutputPrimitives</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMeshMultiviewViewCount</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>meshOutputPerVertexGranularity</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>meshOutputPerPrimitiveGranularity</name></member> </type> <type category="struct" name="VkDrawMeshTasksIndirectCommandNV"> <member><type>uint32_t</type> <name>taskCount</name></member> @@ -3923,38 +4071,38 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceAccelerationStructurePropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint64_t</type> <name>maxGeometryCount</name></member> - <member><type>uint64_t</type> <name>maxInstanceCount</name></member> - <member><type>uint64_t</type> <name>maxPrimitiveCount</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorAccelerationStructures</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindAccelerationStructures</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetAccelerationStructures</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindAccelerationStructures</name></member> - <member><type>uint32_t</type> <name>minAccelerationStructureScratchOffsetAlignment</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxGeometryCount</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxInstanceCount</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxPrimitiveCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorAccelerationStructures</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindAccelerationStructures</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetAccelerationStructures</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindAccelerationStructures</name></member> + <member limittype="min"><type>uint32_t</type> <name>minAccelerationStructureScratchOffsetAlignment</name></member> </type> <type category="struct" name="VkPhysicalDeviceRayTracingPipelinePropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>shaderGroupHandleSize</name></member> - <member><type>uint32_t</type> <name>maxRayRecursionDepth</name></member> - <member><type>uint32_t</type> <name>maxShaderGroupStride</name></member> - <member><type>uint32_t</type> <name>shaderGroupBaseAlignment</name></member> - <member><type>uint32_t</type> <name>shaderGroupHandleCaptureReplaySize</name></member> - <member><type>uint32_t</type> <name>maxRayDispatchInvocationCount</name></member> - <member><type>uint32_t</type> <name>shaderGroupHandleAlignment</name></member> - <member><type>uint32_t</type> <name>maxRayHitAttributeSize</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupHandleSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRayRecursionDepth</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxShaderGroupStride</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupBaseAlignment</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupHandleCaptureReplaySize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRayDispatchInvocationCount</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupHandleAlignment</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRayHitAttributeSize</name></member> </type> <type category="struct" name="VkPhysicalDeviceRayTracingPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>shaderGroupHandleSize</name></member> - <member><type>uint32_t</type> <name>maxRecursionDepth</name></member> - <member><type>uint32_t</type> <name>maxShaderGroupStride</name></member> - <member><type>uint32_t</type> <name>shaderGroupBaseAlignment</name></member> - <member><type>uint64_t</type> <name>maxGeometryCount</name></member> - <member><type>uint64_t</type> <name>maxInstanceCount</name></member> - <member><type>uint64_t</type> <name>maxTriangleCount</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetAccelerationStructures</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupHandleSize</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxRecursionDepth</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxShaderGroupStride</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>shaderGroupBaseAlignment</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxGeometryCount</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxInstanceCount</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxTriangleCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetAccelerationStructures</name></member> </type> <type category="struct" name="VkStridedDeviceAddressRegionKHR"> <member optional="true"><type>VkDeviceAddress</type> <name>deviceAddress</name></member> @@ -4029,17 +4177,17 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceFragmentDensityMapPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkExtent2D</type> <name>minFragmentDensityTexelSize</name></member> - <member><type>VkExtent2D</type> <name>maxFragmentDensityTexelSize</name></member> - <member><type>VkBool32</type> <name>fragmentDensityInvocations</name></member> + <member limittype="min"><type>VkExtent2D</type> <name>minFragmentDensityTexelSize</name></member> + <member limittype="max"><type>VkExtent2D</type> <name>maxFragmentDensityTexelSize</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentDensityInvocations</name></member> </type> <type category="struct" name="VkPhysicalDeviceFragmentDensityMap2PropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkBool32</type> <name>subsampledLoads</name></member> - <member><type>VkBool32</type> <name>subsampledCoarseReconstructionEarlyAccess</name></member> - <member><type>uint32_t</type> <name>maxSubsampledArrayLayers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetSubsampledSamplers</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>subsampledLoads</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>subsampledCoarseReconstructionEarlyAccess</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxSubsampledArrayLayers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetSubsampledSamplers</name></member> </type> <type category="struct" name="VkRenderPassFragmentDensityMapCreateInfoEXT" structextends="VkRenderPassCreateInfo,VkRenderPassCreateInfo2"> <member values="VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -4181,7 +4329,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceCooperativeMatrixPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkShaderStageFlags</type> <name>cooperativeMatrixSupportedStages</name></member> + <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>cooperativeMatrixSupportedStages</name></member> </type> <type category="struct" name="VkCooperativeMatrixPropertiesNV"> <member values="VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> @@ -4253,7 +4401,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDevicePerformanceQueryPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member noautovalidity="true"><type>VkBool32</type> <name>allowCommandBufferQueryCopies</name><comment>Flag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkBool32</type> <name>allowCommandBufferQueryCopies</name><comment>Flag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults</comment></member> </type> <type category="struct" name="VkPerformanceCounterKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"><type>VkStructureType</type> <name>sType</name></member> @@ -4292,7 +4440,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true"><type>VkAcquireProfilingLockFlagsKHR</type> <name>flags</name><comment>Acquire profiling lock flags</comment></member> <member><type>uint64_t</type> <name>timeout</name></member> </type> - <type category="struct" name="VkPerformanceQuerySubmitInfoKHR" structextends="VkSubmitInfo"> + <type category="struct" name="VkPerformanceQuerySubmitInfoKHR" structextends="VkSubmitInfo,VkSubmitInfo2KHR"> <member values="VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_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>counterPassIndex</name><comment>Index for which counter pass to submit</comment></member> @@ -4335,7 +4483,7 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="struct" name="VkPerformanceValueINTEL"> <member><type>VkPerformanceValueTypeINTEL</type> <name>type</name></member> - <member selector="type"><type>VkPerformanceValueDataINTEL</type> <name>data</name></member> + <member selector="type" noautovalidity="true"><type>VkPerformanceValueDataINTEL</type> <name>data</name></member> </type> <type category="struct" name="VkInitializePerformanceApiInfoINTEL" > <member values="VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"><type>VkStructureType</type> <name>sType</name></member> @@ -4384,8 +4532,8 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceShaderSMBuiltinsPropertiesNV" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>shaderSMCount</name></member> - <member><type>uint32_t</type> <name>shaderWarpsPerSM</name></member> + <member limittype="max"><type>uint32_t</type> <name>shaderSMCount</name></member> + <member limittype="max"><type>uint32_t</type> <name>shaderWarpsPerSM</name></member> </type> <type category="struct" name="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV"><type>VkStructureType</type><name>sType</name></member> @@ -4454,7 +4602,7 @@ typedef void <name>CAMetalLayer</name>; <member><type>char</type> <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member> <member><type>char</type> <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member> <member><type>VkPipelineExecutableStatisticFormatKHR</type> <name>format</name></member> - <member selector="format"><type>VkPipelineExecutableStatisticValueKHR</type> <name>value</name></member> + <member selector="format" noautovalidity="true"><type>VkPipelineExecutableStatisticValueKHR</type> <name>value</name></member> </type> <type category="struct" name="VkPipelineExecutableInternalRepresentationKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR"><type>VkStructureType</type> <name>sType</name></member> @@ -4478,10 +4626,10 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkDeviceSize</type> <name>storageTexelBufferOffsetAlignmentBytes</name></member> - <member><type>VkBool32</type> <name>storageTexelBufferOffsetSingleTexelAlignment</name></member> - <member><type>VkDeviceSize</type> <name>uniformTexelBufferOffsetAlignmentBytes</name></member> - <member><type>VkBool32</type> <name>uniformTexelBufferOffsetSingleTexelAlignment</name></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>storageTexelBufferOffsetAlignmentBytes</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>storageTexelBufferOffsetSingleTexelAlignment</name></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>uniformTexelBufferOffsetAlignmentBytes</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>uniformTexelBufferOffsetSingleTexelAlignment</name></member> </type> <type category="struct" name="VkPhysicalDeviceSubgroupSizeControlFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -4492,10 +4640,10 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceSubgroupSizeControlPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member noautovalidity="true"><type>uint32_t</type> <name>minSubgroupSize</name><comment>The minimum subgroup size supported by this device</comment></member> - <member noautovalidity="true"><type>uint32_t</type> <name>maxSubgroupSize</name><comment>The maximum subgroup size supported by this device</comment></member> - <member noautovalidity="true"><type>uint32_t</type> <name>maxComputeWorkgroupSubgroups</name><comment>The maximum number of subgroups supported in a workgroup</comment></member> - <member><type>VkShaderStageFlags</type> <name>requiredSubgroupSizeStages</name><comment>The shader stages that support specifying a subgroup size</comment></member> + <member limittype="min" noautovalidity="true"><type>uint32_t</type> <name>minSubgroupSize</name><comment>The minimum subgroup size supported by this device</comment></member> + <member limittype="max" noautovalidity="true"><type>uint32_t</type> <name>maxSubgroupSize</name><comment>The maximum subgroup size supported by this device</comment></member> + <member limittype="max" noautovalidity="true"><type>uint32_t</type> <name>maxComputeWorkgroupSubgroups</name><comment>The maximum number of subgroups supported in a workgroup</comment></member> + <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>requiredSubgroupSizeStages</name><comment>The shader stages that support specifying a subgroup size</comment></member> </type> <type category="struct" name="VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT" returnedonly="true" structextends="VkPipelineShaderStageCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -4527,7 +4675,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceLineRasterizationPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>lineSubPixelPrecisionBits</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>lineSubPixelPrecisionBits</name></member> </type> <type category="struct" name="VkPipelineRasterizationLineStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -4561,21 +4709,21 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceVulkan11Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"><type>VkStructureType</type><name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint8_t</type> <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> - <member><type>uint8_t</type> <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> - <member><type>uint8_t</type> <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member> - <member><type>uint32_t</type> <name>deviceNodeMask</name></member> - <member><type>VkBool32</type> <name>deviceLUIDValid</name></member> - <member noautovalidity="true"><type>uint32_t</type> <name>subgroupSize</name><comment>The size of a subgroup for this queue.</comment></member> - <member noautovalidity="true"><type>VkShaderStageFlags</type> <name>subgroupSupportedStages</name><comment>Bitfield of what shader stages support subgroup operations</comment></member> - <member noautovalidity="true"><type>VkSubgroupFeatureFlags</type> <name>subgroupSupportedOperations</name><comment>Bitfield of what subgroup operations are supported.</comment></member> - <member noautovalidity="true"><type>VkBool32</type> <name>subgroupQuadOperationsInAllStages</name><comment>Flag to specify whether quad operations are available in all stages.</comment></member> - <member><type>VkPointClippingBehavior</type> <name>pointClippingBehavior</name></member> - <member><type>uint32_t</type> <name>maxMultiviewViewCount</name><comment>max number of views in a subpass</comment></member> - <member><type>uint32_t</type> <name>maxMultiviewInstanceIndex</name><comment>max instance index for a draw in a multiview subpass</comment></member> - <member><type>VkBool32</type> <name>protectedNoFault</name></member> - <member><type>uint32_t</type> <name>maxPerSetDescriptors</name></member> - <member><type>VkDeviceSize</type> <name>maxMemoryAllocationSize</name></member> + <member limittype="noauto"><type>uint8_t</type> <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint8_t</type> <name>driverUUID</name>[<enum>VK_UUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint8_t</type> <name>deviceLUID</name>[<enum>VK_LUID_SIZE</enum>]</member> + <member limittype="noauto"><type>uint32_t</type> <name>deviceNodeMask</name></member> + <member limittype="noauto"><type>VkBool32</type> <name>deviceLUIDValid</name></member> + <member limittype="noauto" noautovalidity="true"><type>uint32_t</type> <name>subgroupSize</name><comment>The size of a subgroup for this queue.</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkShaderStageFlags</type> <name>subgroupSupportedStages</name><comment>Bitfield of what shader stages support subgroup operations</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkSubgroupFeatureFlags</type> <name>subgroupSupportedOperations</name><comment>Bitfield of what subgroup operations are supported.</comment></member> + <member limittype="bitmask" noautovalidity="true"><type>VkBool32</type> <name>subgroupQuadOperationsInAllStages</name><comment>Flag to specify whether quad operations are available in all stages.</comment></member> + <member limittype="noauto"><type>VkPointClippingBehavior</type> <name>pointClippingBehavior</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxMultiviewViewCount</name><comment>max number of views in a subpass</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxMultiviewInstanceIndex</name><comment>max instance index for a draw in a multiview subpass</comment></member> + <member limittype="noauto"><type>VkBool32</type> <name>protectedNoFault</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerSetDescriptors</name></member> + <member limittype="max"><type>VkDeviceSize</type> <name>maxMemoryAllocationSize</name></member> </type> <type category="struct" name="VkPhysicalDeviceVulkan12Features" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"><type>VkStructureType</type><name>sType</name></member> @@ -4631,58 +4779,58 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceVulkan12Properties" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"><type>VkStructureType</type><name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkDriverId</type> <name>driverID</name></member> - <member><type>char</type> <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member> - <member><type>char</type> <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member> - <member><type>VkConformanceVersion</type> <name>conformanceVersion</name></member> - <member><type>VkShaderFloatControlsIndependence</type><name>denormBehaviorIndependence</name></member> - <member><type>VkShaderFloatControlsIndependence</type><name>roundingModeIndependence</name></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat16</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat32</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat64</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat16</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat32</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormPreserveFloat64</name><comment>An implementation can preserve denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat16</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat32</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat64</name><comment>An implementation can flush to zero denormals</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat16</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat32</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTEFloat64</name><comment>An implementation can support RTE</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat16</name><comment>An implementation can support RTZ</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat32</name><comment>An implementation can support RTZ</comment></member> - <member><type>VkBool32</type> <name>shaderRoundingModeRTZFloat64</name><comment>An implementation can support RTZ</comment></member> - <member><type>uint32_t</type> <name>maxUpdateAfterBindDescriptorsInAllPools</name></member> - <member><type>VkBool32</type> <name>shaderUniformBufferArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderSampledImageArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderStorageBufferArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderStorageImageArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>shaderInputAttachmentArrayNonUniformIndexingNative</name></member> - <member><type>VkBool32</type> <name>robustBufferAccessUpdateAfterBind</name></member> - <member><type>VkBool32</type> <name>quadDivergentImplicitLod</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSamplers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindUniformBuffers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageBuffers</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSampledImages</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageImages</name></member> - <member><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInputAttachments</name></member> - <member><type>uint32_t</type> <name>maxPerStageUpdateAfterBindResources</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSamplers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffersDynamic</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffers</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffersDynamic</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSampledImages</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageImages</name></member> - <member><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInputAttachments</name></member> - <member><type>VkResolveModeFlags</type> <name>supportedDepthResolveModes</name><comment>supported depth resolve modes</comment></member> - <member><type>VkResolveModeFlags</type> <name>supportedStencilResolveModes</name><comment>supported stencil resolve modes</comment></member> - <member><type>VkBool32</type> <name>independentResolveNone</name><comment>depth and stencil resolve modes can be set independently if one of them is none</comment></member> - <member><type>VkBool32</type> <name>independentResolve</name><comment>depth and stencil resolve modes can be set independently</comment></member> - <member><type>VkBool32</type> <name>filterMinmaxSingleComponentFormats</name></member> - <member><type>VkBool32</type> <name>filterMinmaxImageComponentMapping</name></member> - <member><type>uint64_t</type> <name>maxTimelineSemaphoreValueDifference</name></member> - <member optional="true"><type>VkSampleCountFlags</type> <name>framebufferIntegerColorSampleCounts</name></member> + <member limittype="noauto"><type>VkDriverId</type> <name>driverID</name></member> + <member limittype="noauto"><type>char</type> <name>driverName</name>[<enum>VK_MAX_DRIVER_NAME_SIZE</enum>]</member> + <member limittype="noauto"><type>char</type> <name>driverInfo</name>[<enum>VK_MAX_DRIVER_INFO_SIZE</enum>]</member> + <member limittype="noauto"><type>VkConformanceVersion</type> <name>conformanceVersion</name></member> + <member limittype="noauto"><type>VkShaderFloatControlsIndependence</type><name>denormBehaviorIndependence</name></member> + <member limittype="noauto"><type>VkShaderFloatControlsIndependence</type><name>roundingModeIndependence</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat16</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat32</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSignedZeroInfNanPreserveFloat64</name><comment>An implementation can preserve signed zero, nan, inf</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat16</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat32</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormPreserveFloat64</name><comment>An implementation can preserve denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat16</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat32</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderDenormFlushToZeroFloat64</name><comment>An implementation can flush to zero denormals</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat16</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat32</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTEFloat64</name><comment>An implementation can support RTE</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat16</name><comment>An implementation can support RTZ</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat32</name><comment>An implementation can support RTZ</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderRoundingModeRTZFloat64</name><comment>An implementation can support RTZ</comment></member> + <member limittype="max"><type>uint32_t</type> <name>maxUpdateAfterBindDescriptorsInAllPools</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderUniformBufferArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderSampledImageArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderStorageBufferArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderStorageImageArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>shaderInputAttachmentArrayNonUniformIndexingNative</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>robustBufferAccessUpdateAfterBind</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>quadDivergentImplicitLod</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSamplers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindUniformBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindSampledImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindStorageImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageDescriptorUpdateAfterBindInputAttachments</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxPerStageUpdateAfterBindResources</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSamplers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindUniformBuffersDynamic</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageBuffersDynamic</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindSampledImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindStorageImages</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxDescriptorSetUpdateAfterBindInputAttachments</name></member> + <member limittype="bitmask"><type>VkResolveModeFlags</type> <name>supportedDepthResolveModes</name><comment>supported depth resolve modes</comment></member> + <member limittype="bitmask"><type>VkResolveModeFlags</type> <name>supportedStencilResolveModes</name><comment>supported stencil resolve modes</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>independentResolveNone</name><comment>depth and stencil resolve modes can be set independently if one of them is none</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>independentResolve</name><comment>depth and stencil resolve modes can be set independently</comment></member> + <member limittype="bitmask"><type>VkBool32</type> <name>filterMinmaxSingleComponentFormats</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>filterMinmaxImageComponentMapping</name></member> + <member limittype="max"><type>uint64_t</type> <name>maxTimelineSemaphoreValueDifference</name></member> + <member limittype="bitmask" optional="true"><type>VkSampleCountFlags</type> <name>framebufferIntegerColorSampleCounts</name></member> </type> <type category="struct" name="VkPipelineCompilerControlCreateInfoAMD" structextends="VkGraphicsPipelineCreateInfo,VkComputePipelineCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member> @@ -4706,13 +4854,13 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkSamplerCustomBorderColorCreateInfoEXT" structextends="VkSamplerCreateInfo"> <member values="VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>VkClearColorValue</type> <name>customBorderColor</name></member> + <member noautovalidity="true"><type>VkClearColorValue</type> <name>customBorderColor</name></member> <member><type>VkFormat</type> <name>format</name></member> </type> <type category="struct" name="VkPhysicalDeviceCustomBorderColorPropertiesEXT" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxCustomBorderColorSamplers</name></member> + <member limittype="max"><type>uint32_t</type> <name>maxCustomBorderColorSamplers</name></member> </type> <type category="struct" name="VkPhysicalDeviceCustomBorderColorFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -4732,24 +4880,24 @@ typedef void <name>CAMetalLayer</name>; <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkFormat</type> <name>vertexFormat</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>vertexData</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>vertexData</name></member> <member><type>VkDeviceSize</type> <name>vertexStride</name></member> <member><type>uint32_t</type> <name>maxVertex</name></member> <member><type>VkIndexType</type> <name>indexType</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>indexData</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>transformData</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>indexData</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>transformData</name></member> </type> <type category="struct" name="VkAccelerationStructureGeometryAabbsDataKHR"> <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>data</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>data</name></member> <member><type>VkDeviceSize</type> <name>stride</name></member> </type> <type category="struct" name="VkAccelerationStructureGeometryInstancesDataKHR"> <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>arrayOfPointers</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>data</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>data</name></member> </type> <type category="union" name="VkAccelerationStructureGeometryDataKHR"> <member selection="VK_GEOMETRY_TYPE_TRIANGLES_KHR"><type>VkAccelerationStructureGeometryTrianglesDataKHR</type> <name>triangles</name></member> @@ -4774,7 +4922,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true"><type>uint32_t</type> <name>geometryCount</name></member> <member len="geometryCount" optional="true">const <type>VkAccelerationStructureGeometryKHR</type>* <name>pGeometries</name></member> <member len="geometryCount,1" optional="true,false">const <type>VkAccelerationStructureGeometryKHR</type>* const* <name>ppGeometries</name></member> - <member><type>VkDeviceOrHostAddressKHR</type> <name>scratchData</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressKHR</type> <name>scratchData</name></member> </type> <type category="struct" name="VkAccelerationStructureBuildRangeInfoKHR"> <member><type>uint32_t</type> <name>primitiveCount</name></member> @@ -4836,13 +4984,13 @@ typedef void <name>CAMetalLayer</name>; <member values="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkAccelerationStructureKHR</type> <name>src</name></member> - <member><type>VkDeviceOrHostAddressKHR</type> <name>dst</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressKHR</type> <name>dst</name></member> <member><type>VkCopyAccelerationStructureModeKHR</type> <name>mode</name></member> </type> <type category="struct" name="VkCopyMemoryToAccelerationStructureInfoKHR"> <member values="VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>VkDeviceOrHostAddressConstKHR</type> <name>src</name></member> + <member noautovalidity="true"><type>VkDeviceOrHostAddressConstKHR</type> <name>src</name></member> <member><type>VkAccelerationStructureKHR</type> <name>dst</name></member> <member><type>VkCopyAccelerationStructureModeKHR</type> <name>mode</name></member> </type> @@ -4904,15 +5052,15 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceRobustness2PropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkDeviceSize</type> <name>robustStorageBufferAccessSizeAlignment</name></member> - <member><type>VkDeviceSize</type> <name>robustUniformBufferAccessSizeAlignment</name></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>robustStorageBufferAccessSizeAlignment</name></member> + <member limittype="noauto"><type>VkDeviceSize</type> <name>robustUniformBufferAccessSizeAlignment</name></member> </type> <type category="struct" name="VkPhysicalDeviceImageRobustnessFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>robustImageAccess</name></member> - </type> - <type category="struct" name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + </type> + <type category="struct" name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>workgroupMemoryExplicitLayout</name></member> @@ -4942,7 +5090,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDevicePortabilitySubsetPropertiesKHR" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>minVertexInputBindingStrideAlignment</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>minVertexInputBindingStrideAlignment</name></member> </type> <type category="struct" name="VkPhysicalDevice4444FormatsFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -5078,23 +5226,23 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceFragmentShadingRatePropertiesKHR" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkExtent2D</type> <name>minFragmentShadingRateAttachmentTexelSize</name></member> - <member><type>VkExtent2D</type> <name>maxFragmentShadingRateAttachmentTexelSize</name></member> - <member><type>uint32_t</type> <name>maxFragmentShadingRateAttachmentTexelSizeAspectRatio</name></member> - <member><type>VkBool32</type> <name>primitiveFragmentShadingRateWithMultipleViewports</name></member> - <member><type>VkBool32</type> <name>layeredShadingRateAttachments</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateNonTrivialCombinerOps</name></member> - <member><type>VkExtent2D</type> <name>maxFragmentSize</name></member> - <member><type>uint32_t</type> <name>maxFragmentSizeAspectRatio</name></member> - <member><type>uint32_t</type> <name>maxFragmentShadingRateCoverageSamples</name></member> - <member><type>VkSampleCountFlagBits</type> <name>maxFragmentShadingRateRasterizationSamples</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithShaderDepthStencilWrites</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithSampleMask</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithShaderSampleMask</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithConservativeRasterization</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithFragmentShaderInterlock</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateWithCustomSampleLocations</name></member> - <member><type>VkBool32</type> <name>fragmentShadingRateStrictMultiplyCombiner</name></member> + <member limittype="min"><type>VkExtent2D</type> <name>minFragmentShadingRateAttachmentTexelSize</name></member> + <member limittype="max"><type>VkExtent2D</type> <name>maxFragmentShadingRateAttachmentTexelSize</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>maxFragmentShadingRateAttachmentTexelSizeAspectRatio</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>primitiveFragmentShadingRateWithMultipleViewports</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>layeredShadingRateAttachments</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateNonTrivialCombinerOps</name></member> + <member limittype="max"><type>VkExtent2D</type> <name>maxFragmentSize</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>maxFragmentSizeAspectRatio</name></member> + <member limittype="noauto"><type>uint32_t</type> <name>maxFragmentShadingRateCoverageSamples</name></member> + <member limittype="max"><type>VkSampleCountFlagBits</type> <name>maxFragmentShadingRateRasterizationSamples</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithShaderDepthStencilWrites</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithSampleMask</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithShaderSampleMask</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithConservativeRasterization</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithFragmentShaderInterlock</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateWithCustomSampleLocations</name></member> + <member limittype="bitmask"><type>VkBool32</type> <name>fragmentShadingRateStrictMultiplyCombiner</name></member> </type> <type category="struct" name="VkPhysicalDeviceFragmentShadingRateKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"><type>VkStructureType</type> <name>sType</name></member> @@ -5117,7 +5265,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkSampleCountFlagBits</type> <name>maxFragmentShadingRateInvocationCount</name></member> + <member limittype="bitmask"><type>VkSampleCountFlagBits</type> <name>maxFragmentShadingRateInvocationCount</name></member> </type> <type category="struct" name="VkPipelineFragmentShadingRateEnumStateCreateInfoNV" structextends="VkGraphicsPipelineCreateInfo"> <member values="VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> @@ -5148,39 +5296,521 @@ typedef void <name>CAMetalLayer</name>; <member optional="true"><type>uint32_t</type> <name>mutableDescriptorTypeListCount</name></member> <member len="mutableDescriptorTypeListCount">const <type>VkMutableDescriptorTypeListVALVE</type>* <name>pMutableDescriptorTypeLists</name></member> </type> + <type category="struct" name="VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>vertexInputDynamicState</name></member> + </type> + <type category="struct" name="VkVertexInputBindingDescription2EXT"> + <member values="VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"><type>VkStructureType</type><name>sType</name></member> + <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>binding</name></member> + <member><type>uint32_t</type> <name>stride</name></member> + <member><type>VkVertexInputRate</type> <name>inputRate</name></member> + <member><type>uint32_t</type> <name>divisor</name></member> + </type> + <type category="struct" name="VkVertexInputAttributeDescription2EXT"> + <member values="VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"><type>VkStructureType</type><name>sType</name></member> + <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>location</name><comment>location of the shader vertex attrib</comment></member> + <member><type>uint32_t</type> <name>binding</name><comment>Vertex buffer binding id</comment></member> + <member><type>VkFormat</type> <name>format</name><comment>format of source data</comment></member> + <member><type>uint32_t</type> <name>offset</name><comment>Offset of first element in bytes from base of vertex</comment></member> + </type> + <type category="struct" name="VkPhysicalDeviceColorWriteEnableFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>colorWriteEnable</name></member> + </type> + <type category="struct" name="VkPipelineColorWriteCreateInfoEXT" structextends="VkPipelineColorBlendStateCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT"><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>attachmentCount</name><comment># of pAttachments</comment></member> + <member len="attachmentCount">const <type>VkBool32</type>* <name>pColorWriteEnables</name></member> + </type> + <type category="struct" name="VkMemoryBarrier2KHR" structextends="VkSubpassDependency2"> + <member values="VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>srcStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>srcAccessMask</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>dstStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>dstAccessMask</name></member> + </type> + <type category="struct" name="VkImageMemoryBarrier2KHR"> + <member values="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>srcStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>srcAccessMask</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>dstStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>dstAccessMask</name></member> + <member><type>VkImageLayout</type> <name>oldLayout</name></member> + <member><type>VkImageLayout</type> <name>newLayout</name></member> + <member><type>uint32_t</type> <name>srcQueueFamilyIndex</name></member> + <member><type>uint32_t</type> <name>dstQueueFamilyIndex</name></member> + <member><type>VkImage</type> <name>image</name></member> + <member><type>VkImageSubresourceRange</type> <name>subresourceRange</name></member> + </type> + <type category="struct" name="VkBufferMemoryBarrier2KHR"> + <member values="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>srcStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>srcAccessMask</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>dstStageMask</name></member> + <member optional="true"><type>VkAccessFlags2KHR</type> <name>dstAccessMask</name></member> + <member><type>uint32_t</type> <name>srcQueueFamilyIndex</name></member> + <member><type>uint32_t</type> <name>dstQueueFamilyIndex</name></member> + <member><type>VkBuffer</type> <name>buffer</name></member> + <member><type>VkDeviceSize</type> <name>offset</name></member> + <member><type>VkDeviceSize</type> <name>size</name></member> + </type> + <type category="struct" name="VkDependencyInfoKHR"> + <member values="VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkDependencyFlags</type> <name>dependencyFlags</name></member> + <member optional="true"><type>uint32_t</type> <name>memoryBarrierCount</name></member> + <member len="memoryBarrierCount">const <type>VkMemoryBarrier2KHR</type>* <name>pMemoryBarriers</name></member> + <member optional="true"><type>uint32_t</type> <name>bufferMemoryBarrierCount</name></member> + <member len="bufferMemoryBarrierCount">const <type>VkBufferMemoryBarrier2KHR</type>* <name>pBufferMemoryBarriers</name></member> + <member optional="true"><type>uint32_t</type> <name>imageMemoryBarrierCount</name></member> + <member len="imageMemoryBarrierCount">const <type>VkImageMemoryBarrier2KHR</type>* <name>pImageMemoryBarriers</name></member> + </type> + <type category="struct" name="VkSemaphoreSubmitInfoKHR"> + <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkSemaphore</type> <name>semaphore</name></member> + <member><type>uint64_t</type> <name>value</name></member> + <member optional="true"><type>VkPipelineStageFlags2KHR</type> <name>stageMask</name></member> + <member><type>uint32_t</type> <name>deviceIndex</name></member> + </type> + <type category="struct" name="VkCommandBufferSubmitInfoKHR"> + <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkCommandBuffer</type> <name>commandBuffer</name></member> + <member><type>uint32_t</type> <name>deviceMask</name></member> + </type> + <type category="struct" name="VkSubmitInfo2KHR"> + <member values="VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkSubmitFlagsKHR</type> <name>flags</name></member> + <member optional="true"><type>uint32_t</type> <name>waitSemaphoreInfoCount</name></member> + <member len="waitSemaphoreInfoCount">const <type>VkSemaphoreSubmitInfoKHR</type>* <name>pWaitSemaphoreInfos</name></member> + <member optional="true"><type>uint32_t</type> <name>commandBufferInfoCount</name></member> + <member len="commandBufferInfoCount">const <type>VkCommandBufferSubmitInfoKHR</type>* <name>pCommandBufferInfos</name></member> + <member optional="true"><type>uint32_t</type> <name>signalSemaphoreInfoCount</name></member> + <member len="signalSemaphoreInfoCount">const <type>VkSemaphoreSubmitInfoKHR</type>* <name>pSignalSemaphoreInfos</name></member> + </type> + <type category="struct" name="VkQueueFamilyCheckpointProperties2NV" structextends="VkQueueFamilyProperties2" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"><type>VkStructureType</type> <name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkPipelineStageFlags2KHR</type> <name>checkpointExecutionStageMask</name></member> + </type> + <type category="struct" name="VkCheckpointData2NV" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"><type>VkStructureType</type> <name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkPipelineStageFlags2KHR</type> <name>stage</name></member> + <member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceSynchronization2FeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>synchronization2</name></member> + </type> + <type category="struct" name="VkVideoQueueFamilyProperties2KHR" structextends="VkQueueFamilyProperties2"> + <member values="VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoCodecOperationFlagsKHR</type> <name>videoCodecOperations</name></member> + </type> + <type category="struct" name="VkVideoProfilesKHR" structextends="VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>profileCount</name></member> + <member>const <type>VkVideoProfileKHR</type>* <name>pProfiles</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceVideoFormatInfoKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkImageUsageFlags</type> <name>imageUsage</name></member> + <member>const <type>VkVideoProfilesKHR</type>* <name>pVideoProfiles</name></member> + </type> + <type category="struct" name="VkVideoFormatPropertiesKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkFormat</type> <name>format</name></member> + </type> + <type category="struct" name="VkVideoProfileKHR" structextends="VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoCodecOperationFlagBitsKHR</type> <name>videoCodecOperation</name></member> + <member><type>VkVideoChromaSubsamplingFlagsKHR</type> <name>chromaSubsampling</name></member> + <member><type>VkVideoComponentBitDepthFlagsKHR</type> <name>lumaBitDepth</name></member> + <member><type>VkVideoComponentBitDepthFlagsKHR</type> <name>chromaBitDepth</name></member> + </type> + <type category="struct" name="VkVideoCapabilitiesKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoCapabilitiesFlagsKHR</type> <name>capabilityFlags</name></member> + <member><type>VkDeviceSize</type> <name>minBitstreamBufferOffsetAlignment</name></member> + <member><type>VkDeviceSize</type> <name>minBitstreamBufferSizeAlignment</name></member> + <member><type>VkExtent2D</type> <name>videoPictureExtentGranularity</name></member> + <member><type>VkExtent2D</type> <name>minExtent</name></member> + <member><type>VkExtent2D</type> <name>maxExtent</name></member> + <member><type>uint32_t</type> <name>maxReferencePicturesSlotsCount</name></member> + <member><type>uint32_t</type> <name>maxReferencePicturesActiveCount</name></member> + </type> + <type category="struct" name="VkVideoGetMemoryPropertiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>memoryBindIndex</name></member> + <member><type>VkMemoryRequirements2</type>* <name>pMemoryRequirements</name></member> + </type> + <type category="struct" name="VkVideoBindMemoryKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>memoryBindIndex</name></member> + <member><type>VkDeviceMemory</type> <name>memory</name></member> + <member><type>VkDeviceSize</type> <name>memoryOffset</name></member> + <member><type>VkDeviceSize</type> <name>memorySize</name></member> + </type> + <type category="struct" name="VkVideoPictureResourceKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkOffset2D</type> <name>codedOffset</name><comment>The offset to be used for the picture resource, currently only used in field mode</comment></member> + <member><type>VkExtent2D</type> <name>codedExtent</name><comment>The extent to be used for the picture resource</comment></member> + <member><type>uint32_t</type> <name>baseArrayLayer</name><comment>TThe first array layer to be accessed for the Decode or Encode Operations</comment></member> + <member><type>VkImageView</type> <name>imageViewBinding</name><comment>The ImageView binding of the resource</comment></member> + </type> + <type category="struct" name="VkVideoReferenceSlotKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>int8_t</type> <name>slotIndex</name><comment>The reference slot index</comment></member> + <member>const <type>VkVideoPictureResourceKHR</type>* <name>pPictureResource</name><comment>The reference picture resource</comment></member> + </type> + <type category="struct" name="VkVideoDecodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkVideoDecodeFlagsKHR</type> <name>flags</name></member> + <member><type>VkOffset2D</type> <name>codedOffset</name></member> + <member><type>VkExtent2D</type> <name>codedExtent</name></member> + <member><type>VkBuffer</type> <name>srcBuffer</name></member> + <member><type>VkDeviceSize</type> <name>srcBufferOffset</name></member> + <member><type>VkDeviceSize</type> <name>srcBufferRange</name></member> + <member><type>VkVideoPictureResourceKHR</type> <name>dstPictureResource</name></member> + <member>const <type>VkVideoReferenceSlotKHR</type>* <name>pSetupReferenceSlot</name></member> + <member><type>uint32_t</type> <name>referenceSlotCount</name></member> + <member len="referenceSlotCount">const <type>VkVideoReferenceSlotKHR</type>* <name>pReferenceSlots</name></member> + </type> + <comment>Video Decode Codec Standard specific structures</comment> + <type category="include" name="vk_video/vulkan_video_codec_h264std.h">#include "vk_video/vulkan_video_codec_h264std.h"</type> + <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ProfileIdc"/> + <type category="include" name="vk_video/vulkan_video_codec_h264std_decode.h">#include "vk_video/vulkan_video_codec_h264std_decode.h"</type> + <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264PictureInfo"/> + <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfo"/> + <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264Mvc"/> + <type category="struct" name="VkVideoDecodeH264ProfileEXT" structextends="VkVideoProfileKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>StdVideoH264ProfileIdc</type> <name>stdProfileIdc</name></member> + <member><type>VkVideoDecodeH264FieldLayoutFlagsEXT</type> <name>fieldLayout</name></member> + </type> + <type category="struct" name="VkVideoDecodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxLevel</name></member> + <member><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member> + <member><type>VkExtensionProperties</type> <name>stdExtensionVersion</name></member> + </type> + <type category="struct" name="VkVideoDecodeH264SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoDecodeH264CreateFlagsEXT</type> <name>flags</name></member> + <member>const <type>VkExtensionProperties</type>* <name>pStdExtensionVersion</name></member> + </type> + <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSet"/> + <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureParameterSet"/> + <type category="struct" name="VkVideoDecodeH264SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>spsStdCount</name></member> + <member len="spsStdCount" optional="true">const <type>StdVideoH264SequenceParameterSet</type>* <name>pSpsStd</name></member> + <member><type>uint32_t</type> <name>ppsStdCount</name></member> + <member len="ppsStdCount" optional="true">const <type>StdVideoH264PictureParameterSet</type>* <name>pPpsStd</name><comment>List of Picture Parameters associated with the spsStd, above</comment></member> + </type> + <type category="struct" name="VkVideoDecodeH264SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxSpsStdCount</name></member> + <member><type>uint32_t</type> <name>maxPpsStdCount</name></member> + <member optional="true">const <type>VkVideoDecodeH264SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member> + </type> + <type category="struct" name="VkVideoDecodeH264PictureInfoEXT" structextends="VkVideoDecodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member noautovalidity="true">const <type>void</type>* <name>pNext</name></member> + <member>const <type>StdVideoDecodeH264PictureInfo</type>* <name>pStdPictureInfo</name></member> + <member><type>uint32_t</type> <name>slicesCount</name></member> + <member len="slicesCount">const <type>uint32_t</type>* <name>pSlicesDataOffsets</name></member> + </type> + <type category="struct" name="VkVideoDecodeH264DpbSlotInfoEXT" structextends="VkVideoReferenceSlotKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member>const <type>StdVideoDecodeH264ReferenceInfo</type>* <name>pStdReferenceInfo</name></member> + </type> + <type category="struct" name="VkVideoDecodeH264MvcEXT" structextends="VkVideoDecodeH264PictureInfoEXT"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT"><type>VkStructureType</type><name>sType</name></member> + <member noautovalidity="true">const <type>void</type>*<name>pNext</name></member> + <member>const <type>StdVideoDecodeH264Mvc</type>* <name>pStdMvc</name></member> + </type> + <type category="include" name="vk_video/vulkan_video_codec_h265std.h">#include "vk_video/vulkan_video_codec_h265std.h"</type> + <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265ProfileIdc"/> + <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265VideoParameterSet"/> + <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SequenceParameterSet"/> + <type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PictureParameterSet"/> + <type category="include" name="vk_video/vulkan_video_codec_h265std_decode.h">#include "vk_video/vulkan_video_codec_h265std_decode.h"</type> + <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfo"/> + <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfo"/> + <type category="struct" name="VkVideoDecodeH265ProfileEXT" structextends="VkVideoProfileKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>StdVideoH265ProfileIdc</type> <name>stdProfileIdc</name></member> + </type> + <type category="struct" name="VkVideoDecodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxLevel</name></member> + <member><type>VkExtensionProperties</type> <name>stdExtensionVersion</name></member> + </type> + <type category="struct" name="VkVideoDecodeH265SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoDecodeH265CreateFlagsEXT</type> <name>flags</name></member> + <member>const <type>VkExtensionProperties</type>* <name>pStdExtensionVersion</name></member> + </type> + <type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>spsStdCount</name></member> + <member len="spsStdCount" optional="true">const <type>StdVideoH265SequenceParameterSet</type>* <name>pSpsStd</name></member> + <member><type>uint32_t</type> <name>ppsStdCount</name></member> + <member len="ppsStdCount" optional="true">const <type>StdVideoH265PictureParameterSet</type>* <name>pPpsStd</name><comment>List of Picture Parameters associated with the spsStd, above</comment></member> + </type> + <type category="struct" name="VkVideoDecodeH265SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxSpsStdCount</name></member> + <member><type>uint32_t</type> <name>maxPpsStdCount</name></member> + <member optional="true">const <type>VkVideoDecodeH265SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member> + </type> + <type category="struct" name="VkVideoDecodeH265PictureInfoEXT" structextends="VkVideoDecodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>StdVideoDecodeH265PictureInfo</type>* <name>pStdPictureInfo</name></member> + <member><type>uint32_t</type> <name>slicesCount</name></member> + <member len="slicesCount">const <type>uint32_t</type>* <name>pSlicesDataOffsets</name></member> + </type> + <type category="struct" name="VkVideoDecodeH265DpbSlotInfoEXT" structextends="VkVideoReferenceSlotKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member>const <type>StdVideoDecodeH265ReferenceInfo</type>* <name>pStdReferenceInfo</name></member> + </type> + <type category="struct" name="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>queueFamilyIndex</name></member> + <member optional="true"><type>VkVideoSessionCreateFlagsKHR</type> <name>flags</name></member> + <member>const <type>VkVideoProfileKHR</type>* <name>pVideoProfile</name></member> + <member><type>VkFormat</type> <name>pictureFormat</name></member> + <member><type>VkExtent2D</type> <name>maxCodedExtent</name></member> + <member><type>VkFormat</type> <name>referencePicturesFormat</name></member> + <member><type>uint32_t</type> <name>maxReferencePicturesSlotsCount</name></member> + <member><type>uint32_t</type> <name>maxReferencePicturesActiveCount</name></member> + </type> + <type category="struct" name="VkVideoSessionParametersCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoSessionParametersKHR</type> <name>videoSessionParametersTemplate</name></member> + <member><type>VkVideoSessionKHR</type> <name>videoSession</name></member> + </type> + <type category="struct" name="VkVideoSessionParametersUpdateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>updateSequenceCount</name></member> + </type> + <type category="struct" name="VkVideoBeginCodingInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkVideoBeginCodingFlagsKHR</type> <name>flags</name></member> + <member><type>VkVideoCodingQualityPresetFlagsKHR</type> <name>codecQualityPreset</name></member> + <member><type>VkVideoSessionKHR</type> <name>videoSession</name></member> + <member optional="true"><type>VkVideoSessionParametersKHR</type> <name>videoSessionParameters</name></member> + <member><type>uint32_t</type> <name>referenceSlotCount</name></member> + <member len="referenceSlotCount">const <type>VkVideoReferenceSlotKHR</type>* <name>pReferenceSlots</name></member> + </type> + <type category="struct" name="VkVideoEndCodingInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkVideoEndCodingFlagsKHR</type> <name>flags</name></member> + </type> + <type category="struct" name="VkVideoCodingControlInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkVideoCodingControlFlagsKHR</type> <name>flags</name></member> + </type> + <type category="struct" name="VkVideoEncodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>VkVideoEncodeFlagsKHR</type> <name>flags</name></member> + <member><type>uint32_t</type> <name>qualityLevel</name></member> + <member><type>VkExtent2D</type> <name>codedExtent</name></member> + <member><type>VkBuffer</type> <name>dstBitstreamBuffer</name></member> + <member><type>VkDeviceSize</type> <name>dstBitstreamBufferOffset</name></member> + <member><type>VkDeviceSize</type> <name>dstBitstreamBufferMaxRange</name></member> + <member><type>VkVideoPictureResourceKHR</type> <name>srcPictureResource</name></member> + <member>const <type>VkVideoReferenceSlotKHR</type>* <name>pSetupReferenceSlot</name></member> + <member><type>uint32_t</type> <name>referenceSlotCount</name></member> + <member len="referenceSlotCount">const <type>VkVideoReferenceSlotKHR</type>* <name>pReferenceSlots</name></member> + </type> + <type category="struct" name="VkVideoEncodeRateControlInfoKHR" structextends="VkVideoCodingControlInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeRateControlFlagsKHR</type> <name>flags</name></member> + <member><type>VkVideoEncodeRateControlModeFlagBitsKHR</type> <name>rateControlMode</name></member> + <member><type>uint32_t</type> <name>averageBitrate</name></member> + <member><type>uint16_t</type> <name>peakToAverageBitrateRatio</name></member> + <member><type>uint16_t</type> <name>frameRateNumerator</name></member> + <member><type>uint16_t</type> <name>frameRateDenominator</name></member> + <member><type>uint32_t</type> <name>virtualBufferSizeInMs</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" structextends="VkVideoCapabilitiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH264CapabilitiesFlagsEXT</type> <name>flags</name></member> + <member><type>VkVideoEncodeH264InputModeFlagsEXT</type> <name>inputModeFlags</name></member> + <member><type>VkVideoEncodeH264OutputModeFlagsEXT</type> <name>outputModeFlags</name></member> + <member><type>VkExtent2D</type> <name>minPictureSizeInMbs</name></member> + <member><type>VkExtent2D</type> <name>maxPictureSizeInMbs</name></member> + <member><type>VkExtent2D</type> <name>inputImageDataAlignment</name></member> + <member><type>uint8_t</type> <name>maxNumL0ReferenceForP</name></member> + <member><type>uint8_t</type> <name>maxNumL0ReferenceForB</name></member> + <member><type>uint8_t</type> <name>maxNumL1Reference</name></member> + <member><type>uint8_t</type> <name>qualityLevelCount</name></member> + <member><type>VkExtensionProperties</type> <name>stdExtensionVersion</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH264CreateFlagsEXT</type> <name>flags</name></member> + <member><type>VkExtent2D</type> <name>maxPictureSizeInMbs</name></member> + <member>const <type>VkExtensionProperties</type>* <name>pStdExtensionVersion</name></member> + </type> + <type category="include" name="vk_video/vulkan_video_codec_h264std_encode.h">#include "vk_video/vulkan_video_codec_h264std_encode.h"</type> + <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeader"/> + <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264PictureInfo"/> + <type category="struct" name="VkVideoEncodeH264SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>spsStdCount</name></member> + <member len="spsStdCount" optional="true">const <type>StdVideoH264SequenceParameterSet</type>* <name>pSpsStd</name></member> + <member><type>uint32_t</type> <name>ppsStdCount</name></member> + <member len="ppsStdCount" optional="true">const <type>StdVideoH264PictureParameterSet</type>* <name>pPpsStd</name><comment>List of Picture Parameters associated with the spsStd, above</comment></member> + </type> + <type category="struct" name="VkVideoEncodeH264SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>maxSpsStdCount</name></member> + <member><type>uint32_t</type> <name>maxPpsStdCount</name></member> + <member optional="true">const <type>VkVideoEncodeH264SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264DpbSlotInfoEXT"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>int8_t</type> <name>slotIndex</name></member> + <member>const <type>StdVideoEncodeH264PictureInfo</type>* <name>pStdPictureInfo</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264VclFrameInfoEXT" structextends="VkVideoEncodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint8_t</type> <name>refDefaultFinalList0EntryCount</name></member> + <member len="refDefaultFinalList0EntryCount">const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pRefDefaultFinalList0Entries</name></member> + <member><type>uint8_t</type> <name>refDefaultFinalList1EntryCount</name></member> + <member len="refDefaultFinalList1EntryCount">const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pRefDefaultFinalList1Entries</name></member> + <member><type>uint32_t</type> <name>naluSliceEntryCount</name></member> + <member len="naluSliceEntryCount">const <type>VkVideoEncodeH264NaluSliceEXT</type>* <name>pNaluSliceEntries</name></member> + <member>const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pCurrentPictureInfo</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264EmitPictureParametersEXT" structextends="VkVideoEncodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>uint8_t</type> <name>spsId</name></member> + <member><type>VkBool32</type> <name>emitSpsEnable</name></member> + <member><type>uint32_t</type> <name>ppsIdEntryCount</name></member> + <member len="ppsIdEntryCount">const <type>uint8_t</type>* <name>ppsIdEntries</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264ProfileEXT" structextends="VkVideoProfileKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>StdVideoH264ProfileIdc</type> <name>stdProfileIdc</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264NaluSliceEXT"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT"><type>VkStructureType</type><name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member>const <type>StdVideoEncodeH264SliceHeader</type>* <name>pSliceHeaderStd</name></member> + <member><type>uint32_t</type> <name>mbCount</name></member> + <member><type>uint8_t</type> <name>refFinalList0EntryCount</name></member> + <member len="refFinalList0EntryCount">const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pRefFinalList0Entries</name></member> + <member><type>uint8_t</type> <name>refFinalList1EntryCount</name></member> + <member len="refFinalList1EntryCount">const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pRefFinalList1Entries</name></member> + <member><type>uint32_t</type> <name>precedingNaluBytes</name></member> + <member><type>uint8_t</type> <name>minQp</name></member> + <member><type>uint8_t</type> <name>maxQp</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceInheritedViewportScissorFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>inheritedViewportScissor2D</name></member> + </type> + <type category="struct" name="VkCommandBufferInheritanceViewportScissorInfoNV" structextends="VkCommandBufferInheritanceInfo"> + <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> + <member>const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>viewportScissor2D</name></member> + <member><type>uint32_t</type> <name>viewportDepthCount</name></member> + <member noautovalidity="true">const <type>VkViewport</type>* <name>pViewportDepths</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>ycbcr2plane444Formats</name></member> + </type> </types> - <comment>Vulkan enumerant (token) definitions</comment> <enums name="API Constants" comment="Vulkan hardcoded constants - not an enumerated type, part of the header boilerplate"> - <enum value="256" name="VK_MAX_PHYSICAL_DEVICE_NAME_SIZE"/> - <enum value="16" name="VK_UUID_SIZE"/> - <enum value="8" name="VK_LUID_SIZE"/> - <enum name="VK_LUID_SIZE_KHR" alias="VK_LUID_SIZE"/> - <enum value="256" name="VK_MAX_EXTENSION_NAME_SIZE"/> - <enum value="256" name="VK_MAX_DESCRIPTION_SIZE"/> - <enum value="32" name="VK_MAX_MEMORY_TYPES"/> - <enum value="16" name="VK_MAX_MEMORY_HEAPS" comment="The maximum number of unique memory heaps, each of which supporting 1 or more memory types"/> - <enum value="1000.0f" name="VK_LOD_CLAMP_NONE"/> - <enum value="(~0U)" name="VK_REMAINING_MIP_LEVELS"/> - <enum value="(~0U)" name="VK_REMAINING_ARRAY_LAYERS"/> - <enum value="(~0ULL)" name="VK_WHOLE_SIZE"/> - <enum value="(~0U)" name="VK_ATTACHMENT_UNUSED"/> - <enum value="1" name="VK_TRUE"/> - <enum value="0" name="VK_FALSE"/> - <enum value="(~0U)" name="VK_QUEUE_FAMILY_IGNORED"/> - <enum value="(~0U-1)" name="VK_QUEUE_FAMILY_EXTERNAL"/> - <enum name="VK_QUEUE_FAMILY_EXTERNAL_KHR" alias="VK_QUEUE_FAMILY_EXTERNAL"/> - <enum value="(~0U-2)" name="VK_QUEUE_FAMILY_FOREIGN_EXT"/> - <enum value="(~0U)" name="VK_SUBPASS_EXTERNAL"/> - <enum value="32" name="VK_MAX_DEVICE_GROUP_SIZE"/> - <enum name="VK_MAX_DEVICE_GROUP_SIZE_KHR" alias="VK_MAX_DEVICE_GROUP_SIZE"/> - <enum value="256" name="VK_MAX_DRIVER_NAME_SIZE"/> - <enum name="VK_MAX_DRIVER_NAME_SIZE_KHR" alias="VK_MAX_DRIVER_NAME_SIZE"/> - <enum value="256" name="VK_MAX_DRIVER_INFO_SIZE"/> - <enum name="VK_MAX_DRIVER_INFO_SIZE_KHR" alias="VK_MAX_DRIVER_INFO_SIZE"/> - <enum value="(~0U)" name="VK_SHADER_UNUSED_KHR"/> - <enum name="VK_SHADER_UNUSED_NV" alias="VK_SHADER_UNUSED_KHR"/> + <enum type="uint32_t" value="256" name="VK_MAX_PHYSICAL_DEVICE_NAME_SIZE"/> + <enum type="uint32_t" value="16" name="VK_UUID_SIZE"/> + <enum type="uint32_t" value="8" name="VK_LUID_SIZE"/> + <enum name="VK_LUID_SIZE_KHR" alias="VK_LUID_SIZE"/> + <enum type="uint32_t" value="256" name="VK_MAX_EXTENSION_NAME_SIZE"/> + <enum type="uint32_t" value="256" name="VK_MAX_DESCRIPTION_SIZE"/> + <enum type="uint32_t" value="32" name="VK_MAX_MEMORY_TYPES"/> + <enum type="uint32_t" value="16" name="VK_MAX_MEMORY_HEAPS" comment="The maximum number of unique memory heaps, each of which supporting 1 or more memory types"/> + <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="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"/> + <enum type="uint32_t" value="0" name="VK_FALSE"/> + <enum type="uint32_t" value="(~0U)" name="VK_QUEUE_FAMILY_IGNORED"/> + <enum type="uint32_t" value="(~1U)" name="VK_QUEUE_FAMILY_EXTERNAL"/> + <enum name="VK_QUEUE_FAMILY_EXTERNAL_KHR" alias="VK_QUEUE_FAMILY_EXTERNAL"/> + <enum type="uint32_t" value="(~2U)" name="VK_QUEUE_FAMILY_FOREIGN_EXT"/> + <enum type="uint32_t" value="(~0U)" name="VK_SUBPASS_EXTERNAL"/> + <enum type="uint32_t" value="32" name="VK_MAX_DEVICE_GROUP_SIZE"/> + <enum name="VK_MAX_DEVICE_GROUP_SIZE_KHR" alias="VK_MAX_DEVICE_GROUP_SIZE"/> + <enum type="uint32_t" value="256" name="VK_MAX_DRIVER_NAME_SIZE"/> + <enum name="VK_MAX_DRIVER_NAME_SIZE_KHR" alias="VK_MAX_DRIVER_NAME_SIZE"/> + <enum type="uint32_t" value="256" name="VK_MAX_DRIVER_INFO_SIZE"/> + <enum name="VK_MAX_DRIVER_INFO_SIZE_KHR" alias="VK_MAX_DRIVER_INFO_SIZE"/> + <enum type="uint32_t" value="(~0U)" name="VK_SHADER_UNUSED_KHR"/> + <enum name="VK_SHADER_UNUSED_NV" alias="VK_SHADER_UNUSED_KHR"/> </enums> <comment> @@ -5780,7 +6410,7 @@ typedef void <name>CAMetalLayer</name>; <enums name="VkBufferCreateFlagBits" type="bitmask"> <enum bitpos="0" name="VK_BUFFER_CREATE_SPARSE_BINDING_BIT" comment="Buffer should support sparse backing"/> <enum bitpos="1" name="VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT" comment="Buffer should support sparse backing with partial residency"/> - <enum bitpos="2" name="VK_BUFFER_CREATE_SPARSE_ALIASED_BIT" comment="Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers"/> + <enum bitpos="2" name="VK_BUFFER_CREATE_SPARSE_ALIASED_BIT" comment="Buffer should support constant data access to physical memory ranges mapped into multiple locations of sparse buffers"/> </enums> <enums name="VkShaderStageFlagBits" type="bitmask"> <enum bitpos="0" name="VK_SHADER_STAGE_VERTEX_BIT"/> @@ -5805,7 +6435,7 @@ typedef void <name>CAMetalLayer</name>; <enums name="VkImageCreateFlagBits" type="bitmask"> <enum bitpos="0" name="VK_IMAGE_CREATE_SPARSE_BINDING_BIT" comment="Image should support sparse backing"/> <enum bitpos="1" name="VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT" comment="Image should support sparse backing with partial residency"/> - <enum bitpos="2" name="VK_IMAGE_CREATE_SPARSE_ALIASED_BIT" comment="Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images"/> + <enum bitpos="2" name="VK_IMAGE_CREATE_SPARSE_ALIASED_BIT" comment="Image should support constant data access to physical memory ranges mapped into multiple locations of sparse images"/> <enum bitpos="3" name="VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT" comment="Allows image views to have different format than the base image"/> <enum bitpos="4" name="VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT" comment="Allows creating image views with cube type from the created image"/> </enums> @@ -5813,7 +6443,7 @@ typedef void <name>CAMetalLayer</name>; </enums> <enums name="VkSamplerCreateFlagBits" type="bitmask"> </enums> - <enums name="VkPipelineCreateFlagBits" type="bitmask"> + <enums name="VkPipelineCreateFlagBits" type="bitmask" comment="Note that the gap at bitpos 10 is unused, and can be reserved"> <enum bitpos="0" name="VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"/> <enum bitpos="1" name="VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"/> <enum bitpos="2" name="VK_PIPELINE_CREATE_DERIVATIVE_BIT"/> @@ -6308,6 +6938,7 @@ typedef void <name>CAMetalLayer</name>; <enum value="12" name="VK_DRIVER_ID_BROADCOM_PROPRIETARY" comment="Broadcom Inc."/> <enum value="13" name="VK_DRIVER_ID_MESA_LLVMPIPE" comment="Mesa"/> <enum value="14" name="VK_DRIVER_ID_MOLTENVK" comment="MoltenVK"/> + <enum value="15" name="VK_DRIVER_ID_COREAVI_PROPRIETARY" comment="Core Avionics & Industrial Inc."/> </enums> <enums name="VkConditionalRenderingFlagBitsEXT" type="bitmask"> <enum bitpos="0" name="VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"/> @@ -6559,6 +7190,153 @@ typedef void <name>CAMetalLayer</name>; <enum value="0" name="VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV"/> <enum value="1" name="VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV"/> </enums> + <enums name="VkAccessFlagBits2KHR" type="bitmask" bitwidth="64"> + <enum value="0" name="VK_ACCESS_2_NONE_KHR"/> + <enum bitpos="0" name="VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR"/> + <enum bitpos="1" name="VK_ACCESS_2_INDEX_READ_BIT_KHR"/> + <enum bitpos="2" name="VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR"/> + <enum bitpos="3" name="VK_ACCESS_2_UNIFORM_READ_BIT_KHR"/> + <enum bitpos="4" name="VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR"/> + <enum bitpos="5" name="VK_ACCESS_2_SHADER_READ_BIT_KHR"/> + <enum bitpos="6" name="VK_ACCESS_2_SHADER_WRITE_BIT_KHR"/> + <enum bitpos="7" name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR"/> + <enum bitpos="8" name="VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR"/> + <enum bitpos="9" name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR"/> + <enum bitpos="10" name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR"/> + <enum bitpos="11" name="VK_ACCESS_2_TRANSFER_READ_BIT_KHR"/> + <enum bitpos="12" name="VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR"/> + <enum bitpos="13" name="VK_ACCESS_2_HOST_READ_BIT_KHR"/> + <enum bitpos="14" name="VK_ACCESS_2_HOST_WRITE_BIT_KHR"/> + <enum bitpos="15" name="VK_ACCESS_2_MEMORY_READ_BIT_KHR"/> + <enum bitpos="16" name="VK_ACCESS_2_MEMORY_WRITE_BIT_KHR"/> + <!-- bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum --> + <enum bitpos="32" name="VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR"/> + <enum bitpos="33" name="VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR"/> + <enum bitpos="34" name="VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR"/> + </enums> + <enums name="VkPipelineStageFlagBits2KHR" type="bitmask" bitwidth="64"> + <enum value="0" name="VK_PIPELINE_STAGE_2_NONE_KHR"/> + <enum bitpos="0" name="VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR"/> + <enum bitpos="1" name="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR"/> + <enum bitpos="2" name="VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR"/> + <enum bitpos="3" name="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR"/> + <enum bitpos="4" name="VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR"/> + <enum bitpos="5" name="VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR"/> + <enum bitpos="6" name="VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR"/> + <enum bitpos="7" name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR"/> + <enum bitpos="8" name="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR"/> + <enum bitpos="9" name="VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR"/> + <enum bitpos="10" name="VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR"/> + <enum bitpos="11" name="VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR"/> + <enum bitpos="12" name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/> + <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/> + <enum bitpos="13" name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR"/> + <enum bitpos="14" name="VK_PIPELINE_STAGE_2_HOST_BIT_KHR"/> + <enum bitpos="15" name="VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR"/> + <enum bitpos="16" name="VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR"/> + <!-- bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum --> + <enum bitpos="32" name="VK_PIPELINE_STAGE_2_COPY_BIT_KHR"/> + <enum bitpos="33" name="VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR"/> + <enum bitpos="34" name="VK_PIPELINE_STAGE_2_BLIT_BIT_KHR"/> + <enum bitpos="35" name="VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR"/> + <enum bitpos="36" name="VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR"/> + <enum bitpos="37" name="VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR"/> + <enum bitpos="38" name="VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR"/> + </enums> + <enums name="VkSubmitFlagBitsKHR" type="bitmask"> + <enum bitpos="0" name="VK_SUBMIT_PROTECTED_BIT_KHR"/> + </enums> + <enums name="VkEventCreateFlagBits" type="bitmask"> + </enums> + + <enums name="VkVideoCodecOperationFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR"/> + </enums> + <enums name="VkVideoChromaSubsamplingFlagBitsKHR" type="bitmask" comment="Vulkan video chroma subsampling definitions"> + <enum value="0" name="VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR"/> + <enum bitpos="1" name="VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR"/> + <enum bitpos="2" name="VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR"/> + <enum bitpos="3" name="VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR"/> + </enums> + <enums name="VkVideoComponentBitDepthFlagBitsKHR" type="bitmask" comment="Vulkan video component bit depth definitions"> + <enum value="0" name="VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR"/> + <enum bitpos="0" name="VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR"/> + <enum bitpos="2" name="VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR"/> + <enum bitpos="4" name="VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR"/> + </enums> + <enums name="VkVideoCapabilitiesFlagBitsKHR" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_CAPABILITIES_PROTECTED_CONTENT_BIT_KHR"/> + <enum bitpos="1" name="VK_VIDEO_CAPABILITIES_SEPARATE_REFERENCE_IMAGES_BIT_KHR"/> + </enums> + <enums name="VkVideoSessionCreateFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_SESSION_CREATE_DEFAULT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR"/> + </enums> + <enums name="VkVideoCodingQualityPresetFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_CODING_QUALITY_PRESET_DEFAULT_BIT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR"/> + <enum bitpos="1" name="VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR"/> + <enum bitpos="2" name="VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR"/> + </enums> + <enums name="VkVideoDecodeH264FieldLayoutFlagBitsEXT" type="bitmask"> + <enum value="0" name="VK_VIDEO_DECODE_H264_PROGRESSIVE_PICTURES_ONLY_EXT"/> + <enum bitpos="0" name="VK_VIDEO_DECODE_H264_FIELD_LAYOUT_LINE_INTERLACED_PLANE_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_DECODE_H264_FIELD_LAYOUT_SEPARATE_INTERLACED_PLANE_BIT_EXT"/> + </enums> + <enums name="VkVideoCodingControlFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_CODING_CONTROL_DEFAULT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR"/> + </enums> + <enums name="VkQueryResultStatusKHR" type="enum"> + <enum value="-1" name="VK_QUERY_RESULT_STATUS_ERROR_KHR"/> + <enum value="0" name="VK_QUERY_RESULT_STATUS_NOT_READY_KHR"/> + <enum value="1" name="VK_QUERY_RESULT_STATUS_COMPLETE_KHR"/> + </enums> + <enums name="VkVideoDecodeFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_DECODE_DEFAULT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_DECODE_RESERVED_0_BIT_KHR"/> + </enums> + <enums name="VkVideoEncodeFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_ENCODE_DEFAULT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR"/> + </enums> + <enums name="VkVideoEncodeRateControlFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR"/> + <enum bitpos="0" name="VK_VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR"/> + </enums> + <enums name="VkVideoEncodeRateControlModeFlagBitsKHR" type="bitmask"> + <enum value="0" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR"/> + <enum value="1" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR"/> + <enum value="2" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR"/> + </enums> + <enums name="VkVideoEncodeH264CapabilitiesFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"/> + <enum bitpos="5" name="VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"/> + <enum bitpos="6" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"/> + <enum bitpos="7" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"/> + <enum bitpos="8" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"/> + <enum bitpos="9" name="VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"/> + <enum bitpos="10" name="VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH264InputModeFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH264OutputModeFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH264CreateFlagBitsEXT" type="bitmask"> + <enum value="0" name="VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT"/> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT"/> + </enums> <commands comment="Vulkan command definitions"> <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER"> @@ -7387,7 +8165,7 @@ typedef void <name>CAMetalLayer</name>; <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> <param><type>VkImage</type> <name>image</name></param> <param><type>VkImageLayout</type> <name>imageLayout</name></param> - <param>const <type>VkClearColorValue</type>* <name>pColor</name></param> + <param noautovalidity="true">const <type>VkClearColorValue</type>* <name>pColor</name></param> <param><type>uint32_t</type> <name>rangeCount</name></param> <param len="rangeCount">const <type>VkImageSubresourceRange</type>* <name>pRanges</name></param> </command> @@ -7435,8 +8213,8 @@ typedef void <name>CAMetalLayer</name>; <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> <param><type>uint32_t</type> <name>eventCount</name></param> <param len="eventCount">const <type>VkEvent</type>* <name>pEvents</name></param> - <param><type>VkPipelineStageFlags</type> <name>srcStageMask</name></param> - <param><type>VkPipelineStageFlags</type> <name>dstStageMask</name></param> + <param optional="true"><type>VkPipelineStageFlags</type> <name>srcStageMask</name></param> + <param optional="true"><type>VkPipelineStageFlags</type> <name>dstStageMask</name></param> <param optional="true"><type>uint32_t</type> <name>memoryBarrierCount</name></param> <param len="memoryBarrierCount">const <type>VkMemoryBarrier</type>* <name>pMemoryBarriers</name></param> <param optional="true"><type>uint32_t</type> <name>bufferMemoryBarrierCount</name></param> @@ -7751,6 +8529,19 @@ typedef void <name>CAMetalLayer</name>; <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> <param><type>VkSurfaceKHR</type>* <name>pSurface</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkCreateScreenSurfaceQNX</name></proto> + <param><type>VkInstance</type> <name>instance</name></param> + <param>const <type>VkScreenSurfaceCreateInfoQNX</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkSurfaceKHR</type>* <name>pSurface</name></param> + </command> + <command> + <proto><type>VkBool32</type> <name>vkGetPhysicalDeviceScreenPresentationSupportQNX</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param><type>uint32_t</type> <name>queueFamilyIndex</name></param> + <param>struct <type>_screen_window</type>* <name>window</name></param> + </command> <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY"> <proto><type>VkResult</type> <name>vkCreateDebugReportCallbackEXT</name></proto> <param><type>VkInstance</type> <name>instance</name></param> @@ -7950,6 +8741,19 @@ typedef void <name>CAMetalLayer</name>; <param><type>int</type> <name>fd</name></param> <param><type>VkMemoryFdPropertiesKHR</type>* <name>pMemoryFdProperties</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY"> + <proto><type>VkResult</type> <name>vkGetMemoryZirconHandleFUCHSIA</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkMemoryGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param> + <param><type>zx_handle_t</type>* <name>pZirconHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE"> + <proto><type>VkResult</type> <name>vkGetMemoryZirconHandlePropertiesFUCHSIA</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param> + <param><type>zx_handle_t</type> <name>zirconHandle</name></param> + <param><type>VkMemoryZirconHandlePropertiesFUCHSIA</type>* <name>pMemoryZirconHandleProperties</name></param> + </command> <command> <proto><type>void</type> <name>vkGetPhysicalDeviceExternalSemaphoreProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -7979,6 +8783,17 @@ typedef void <name>CAMetalLayer</name>; <param><type>VkDevice</type> <name>device</name></param> <param>const <type>VkImportSemaphoreFdInfoKHR</type>* <name>pImportSemaphoreFdInfo</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY"> + <proto><type>VkResult</type> <name>vkGetSemaphoreZirconHandleFUCHSIA</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkSemaphoreGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param> + <param><type>zx_handle_t</type>* <name>pZirconHandle</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE"> + <proto><type>VkResult</type> <name>vkImportSemaphoreZirconHandleFUCHSIA</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkImportSemaphoreZirconHandleInfoFUCHSIA</type>* <name>pImportSemaphoreZirconHandleInfo</name></param> + </command> <command> <proto><type>void</type> <name>vkGetPhysicalDeviceExternalFenceProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -9306,13 +10121,167 @@ typedef void <name>CAMetalLayer</name>; <param optional="true" len="pBuildInfo->geometryCount">const <type>uint32_t</type>* <name>pMaxPrimitiveCounts</name></param> <param><type>VkAccelerationStructureBuildSizesInfoKHR</type>* <name>pSizeInfo</name></param> </command> + <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdSetVertexInputEXT</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param optional="true"><type>uint32_t</type> <name>vertexBindingDescriptionCount</name></param> + <param len="vertexBindingDescriptionCount">const <type>VkVertexInputBindingDescription2EXT</type>* <name>pVertexBindingDescriptions</name></param> + <param optional="true"><type>uint32_t</type> <name>vertexAttributeDescriptionCount</name></param> + <param len="vertexAttributeDescriptionCount">const <type>VkVertexInputAttributeDescription2EXT</type>* <name>pVertexAttributeDescriptions</name></param> + </command> + <command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdSetColorWriteEnableEXT</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>uint32_t</type> <name>attachmentCount</name></param> + <param len="attachmentCount">const <type>VkBool32</type>* <name>pColorWriteEnables</name></param> + </command> + <command queues="graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdSetEvent2KHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkEvent</type> <name>event</name></param> + <param>const <type>VkDependencyInfoKHR</type>* <name>pDependencyInfo</name></param> + </command> + <command queues="graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdResetEvent2KHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkEvent</type> <name>event</name></param> + <param><type>VkPipelineStageFlags2KHR</type> <name>stageMask</name></param> + </command> + <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdWaitEvents2KHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>uint32_t</type> <name>eventCount</name></param> + <param len="eventCount">const <type>VkEvent</type>* <name>pEvents</name></param> + <param len="eventCount">const <type>VkDependencyInfoKHR</type>* <name>pDependencyInfos</name></param> + </command> + <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary"> + <proto><type>void</type> <name>vkCmdPipelineBarrier2KHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkDependencyInfoKHR</type>* <name>pDependencyInfo</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST"> + <proto><type>VkResult</type> <name>vkQueueSubmit2KHR</name></proto> + <param externsync="true"><type>VkQueue</type> <name>queue</name></param> + <param optional="true"><type>uint32_t</type> <name>submitCount</name></param> + <param len="submitCount">const <type>VkSubmitInfo2KHR</type>* <name>pSubmits</name></param> + <param optional="true" externsync="true"><type>VkFence</type> <name>fence</name></param> + </command> + <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" pipeline="transfer"> + <proto><type>void</type> <name>vkCmdWriteTimestamp2KHR</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkPipelineStageFlags2KHR</type> <name>stage</name></param> + <param><type>VkQueryPool</type> <name>queryPool</name></param> + <param><type>uint32_t</type> <name>query</name></param> + </command> + <command queues="transfer,graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" pipeline="transfer"> + <proto><type>void</type> <name>vkCmdWriteBufferMarker2AMD</name></proto> + <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param><type>VkPipelineStageFlags2KHR</type> <name>stage</name></param> + <param><type>VkBuffer</type> <name>dstBuffer</name></param> + <param><type>VkDeviceSize</type> <name>dstOffset</name></param> + <param><type>uint32_t</type> <name>marker</name></param> + </command> + <command> + <proto><type>void</type> <name>vkGetQueueCheckpointData2NV</name></proto> + <param><type>VkQueue</type> <name>queue</name></param> + <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 successcodes="VK_SUCCESS" errorcodes="VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_FEATURE_NOT_PRESENT,VK_ERROR_FORMAT_NOT_SUPPORTED"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoCapabilitiesKHR</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param>const <type>VkVideoProfileKHR</type>* <name>pVideoProfile</name></param> + <param><type>VkVideoCapabilitiesKHR</type>* <name>pCapabilities</name></param> + </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_FORMAT_NOT_SUPPORTED"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoFormatPropertiesKHR</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param>const <type>VkPhysicalDeviceVideoFormatInfoKHR</type>* <name>pVideoFormatInfo</name></param> + <param><type>uint32_t</type>* <name>pVideoFormatPropertyCount</name></param> + <param optional="true" len="pVideoFormatPropertyCount"><type>VkVideoFormatPropertiesKHR</type>* <name>pVideoFormatProperties</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_INCOMPATIBLE_DRIVER,VK_ERROR_FEATURE_NOT_PRESENT"> + <proto><type>VkResult</type> <name>vkCreateVideoSessionKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkVideoSessionCreateInfoKHR</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkVideoSessionKHR</type>* <name>pVideoSession</name></param> + </command> + <command> + <proto><type>void</type> <name>vkDestroyVideoSessionKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkVideoSessionKHR</type> <name>videoSession</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,VK_ERROR_TOO_MANY_OBJECTS"> + <proto><type>VkResult</type> <name>vkCreateVideoSessionParametersKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkVideoSessionParametersCreateInfoKHR</type>* <name>pCreateInfo</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + <param><type>VkVideoSessionParametersKHR</type>* <name>pVideoSessionParameters</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_TOO_MANY_OBJECTS"> + <proto><type>VkResult</type> <name>vkUpdateVideoSessionParametersKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkVideoSessionParametersKHR</type> <name>videoSessionParameters</name></param> + <param>const <type>VkVideoSessionParametersUpdateInfoKHR</type>* <name>pUpdateInfo</name></param> + </command> + <command> + <proto><type>void</type> <name>vkDestroyVideoSessionParametersKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkVideoSessionParametersKHR</type> <name>videoSessionParameters</name></param> + <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param> + </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_INITIALIZATION_FAILED"> + <proto><type>VkResult</type> <name>vkGetVideoSessionMemoryRequirementsKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkVideoSessionKHR</type> <name>videoSession</name></param> + <param><type>uint32_t</type>* <name>pVideoSessionMemoryRequirementsCount</name></param> + <param optional="true" len="pVideoSessionMemoryRequirementsCount"><type>VkVideoGetMemoryPropertiesKHR</type>* <name>pVideoSessionMemoryRequirements</name></param> + </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED"> + <proto><type>VkResult</type> <name>vkBindVideoSessionMemoryKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param><type>VkVideoSessionKHR</type> <name>videoSession</name></param> + <param><type>uint32_t</type> <name>videoSessionBindMemoryCount</name></param> + <param len="videoSessionBindMemoryCount">const <type>VkVideoBindMemoryKHR</type>* <name>pVideoSessionBindMemories</name></param> + </command> + <command queues="decode" renderpass="outside" cmdbufferlevel="primary"> + <proto><type>void</type> <name>vkCmdDecodeVideoKHR</name></proto> + <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkVideoDecodeInfoKHR</type>* <name>pFrameInfo</name></param> + </command> + <command queues="decode,encode" renderpass="outside" cmdbufferlevel="primary"> + <proto><type>void</type> <name>vkCmdBeginVideoCodingKHR</name></proto> + <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkVideoBeginCodingInfoKHR</type>* <name>pBeginInfo</name></param> + </command> + <command queues="decode,encode" renderpass="outside" cmdbufferlevel="primary"> + <proto><type>void</type> <name>vkCmdControlVideoCodingKHR</name></proto> + <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkVideoCodingControlInfoKHR</type>* <name>pCodingControlInfo</name></param> + </command> + <command queues="decode,encode" renderpass="outside" cmdbufferlevel="primary"> + <proto><type>void</type> <name>vkCmdEndVideoCodingKHR</name></proto> + <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkVideoEndCodingInfoKHR</type>* <name>pEndCodingInfo</name></param> + </command> + <command queues="encode" renderpass="outside" cmdbufferlevel="primary"> + <proto><type>void</type> <name>vkCmdEncodeVideoKHR</name></proto> + <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param> + <param>const <type>VkVideoEncodeInfoKHR</type>* <name>pEncodeInfo</name></param> + </command> + </commands> <feature api="vulkan" 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"/> + <type name="VK_USE_64_BIT_PTR_DEFINES"/> <type name="VK_DEFINE_NON_DISPATCHABLE_HANDLE"/> + <type name="VK_NULL_HANDLE"/> </require> <require comment="Fundamental types used by many commands and structures"> <type name="VkBool32"/> @@ -9348,6 +10317,11 @@ typedef void <name>CAMetalLayer</name>; <type name="VK_VERSION_MAJOR"/> <type name="VK_VERSION_MINOR"/> <type name="VK_VERSION_PATCH"/> + <type name="VK_MAKE_API_VERSION"/> + <type name="VK_API_VERSION_VARIANT"/> + <type name="VK_API_VERSION_MAJOR"/> + <type name="VK_API_VERSION_MINOR"/> + <type name="VK_API_VERSION_PATCH"/> </require> <require comment="API constants"> <enum name="VK_ATTACHMENT_UNUSED"/> @@ -9359,7 +10333,6 @@ typedef void <name>CAMetalLayer</name>; <enum name="VK_SUBPASS_EXTERNAL"/> <enum name="VK_TRUE"/> <enum name="VK_WHOLE_SIZE"/> - <type name="VK_NULL_HANDLE"/> <type name="VkPipelineCacheHeaderVersion"/> </require> <require comment="Device initialization"> @@ -9509,6 +10482,7 @@ typedef void <name>CAMetalLayer</name>; <require comment="Event commands"> <type name="VkEvent"/> <type name="VkEventCreateFlags"/> + <type name="VkEventCreateFlagBits"/> <type name="VkEventCreateInfo"/> <command name="vkCreateEvent"/> <command name="vkDestroyEvent"/> @@ -10641,43 +11615,147 @@ typedef void <name>CAMetalLayer</name>; <command name="vkCmdDebugMarkerInsertEXT"/> </require> </extension> - <extension name="VK_AMD_extension_24" number="24" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_24_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_24"" name="VK_AMD_EXTENSION_24_EXTENSION_NAME"/> - <enum bitpos="6" extends="VkQueueFlagBits" name="VK_QUEUE_RESERVED_6_BIT_KHR"/> - <enum bitpos="27" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR"/> - <enum bitpos="30" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_30_BIT_KHR"/> - <!-- Comment this out for now to avoid warning messages. - The extension will probably change to avoid it. - <enum bitpos="31" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_31_BIT_KHR"/> - --> - <enum bitpos="15" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_15_BIT_KHR"/> - <enum bitpos="16" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_16_BIT_KHR"/> - <enum bitpos="13" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_13_BIT_KHR"/> - <enum bitpos="14" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_14_BIT_KHR"/> - <enum bitpos="15" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_15_BIT_KHR"/> - <enum bitpos="27" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_RESERVED_27_BIT_KHR"/> - <enum bitpos="28" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_RESERVED_28_BIT_KHR"/> - <enum offset="8" extends="VkQueryType" name="VK_QUERY_TYPE_RESERVED_8"/> - </require> - </extension> - <extension name="VK_AMD_extension_25" number="25" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_25_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_25"" name="VK_AMD_EXTENSION_25_EXTENSION_NAME"/> - <enum bitpos="5" extends="VkQueueFlagBits" name="VK_QUEUE_RESERVED_5_BIT_KHR"/> - <enum bitpos="26" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR"/> - <enum bitpos="28" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_28_BIT_KHR"/> - <enum bitpos="29" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_29_BIT_KHR"/> - <enum bitpos="13" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_13_BIT_KHR"/> - <enum bitpos="14" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_14_BIT_KHR"/> - <enum bitpos="10" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_10_BIT_KHR"/> - <enum bitpos="11" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_11_BIT_KHR"/> - <enum bitpos="12" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_12_BIT_KHR"/> - <enum bitpos="25" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_RESERVED_25_BIT_KHR"/> - <enum bitpos="26" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_RESERVED_26_BIT_KHR"/> - <enum offset="4" extends="VkQueryType" name="VK_QUERY_TYPE_RESERVED_4"/> + <extension name="VK_KHR_video_queue" number="24" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_sampler_ycbcr_conversion" author="KHR" contact="Tony Zlatinski @tzlatinski" provisional="true" platform="provisional" supported="vulkan"> + <require> + <enum value="1" name="VK_KHR_VIDEO_QUEUE_SPEC_VERSION"/> + <enum value=""VK_KHR_video_queue"" name="VK_KHR_VIDEO_QUEUE_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="11" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="12" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="13" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="14" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="15" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_VIDEO_SESSION_KHR" comment="VkVideoSessionKHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR" comment="VkVideoSessionParametersKHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <enum offset="0" extends="VkQueryType" name="VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="4" extends="VkQueryResultFlagBits" name="VK_QUERY_RESULT_WITH_STATUS_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <type name="VkVideoSessionKHR"/> + <type name="VkVideoSessionParametersKHR"/> + + <type name="VkVideoCodecOperationFlagBitsKHR"/> + <type name="VkVideoCodecOperationFlagsKHR"/> + <type name="VkVideoChromaSubsamplingFlagBitsKHR"/> + <type name="VkVideoChromaSubsamplingFlagsKHR"/> + <type name="VkVideoComponentBitDepthFlagBitsKHR"/> + <type name="VkVideoComponentBitDepthFlagsKHR"/> + <type name="VkVideoCapabilitiesFlagBitsKHR"/> + <type name="VkVideoCapabilitiesFlagsKHR"/> + <type name="VkVideoSessionCreateFlagBitsKHR"/> + <type name="VkVideoSessionCreateFlagsKHR"/> + <type name="VkVideoBeginCodingFlagsKHR"/> + <type name="VkVideoEndCodingFlagsKHR"/> + <type name="VkVideoCodingControlFlagBitsKHR"/> + <type name="VkVideoCodingControlFlagsKHR"/> + <type name="VkVideoCodingQualityPresetFlagBitsKHR"/> + <type name="VkVideoCodingQualityPresetFlagsKHR"/> + + <type name="VkQueryResultStatusKHR"/> + + <type name="VkVideoQueueFamilyProperties2KHR"/> + <type name="VkVideoProfileKHR"/> + <type name="VkVideoProfilesKHR"/> + <type name="VkVideoCapabilitiesKHR"/> + <type name="VkPhysicalDeviceVideoFormatInfoKHR"/> + <type name="VkVideoFormatPropertiesKHR"/> + <type name="VkVideoPictureResourceKHR"/> + <type name="VkVideoReferenceSlotKHR"/> + <type name="VkVideoGetMemoryPropertiesKHR"/> + <type name="VkVideoBindMemoryKHR"/> + <type name="VkVideoSessionCreateInfoKHR"/> + <type name="VkVideoSessionParametersCreateInfoKHR"/> + <type name="VkVideoSessionParametersUpdateInfoKHR"/> + <type name="VkVideoBeginCodingInfoKHR"/> + <type name="VkVideoEndCodingInfoKHR"/> + <type name="VkVideoCodingControlInfoKHR"/> + + <command name="vkGetPhysicalDeviceVideoCapabilitiesKHR"/> + <command name="vkGetPhysicalDeviceVideoFormatPropertiesKHR"/> + + <command name="vkCreateVideoSessionKHR"/> + <command name="vkDestroyVideoSessionKHR"/> + <command name="vkGetVideoSessionMemoryRequirementsKHR"/> + <command name="vkBindVideoSessionMemoryKHR"/> + <command name="vkCreateVideoSessionParametersKHR"/> + <command name="vkUpdateVideoSessionParametersKHR"/> + <command name="vkDestroyVideoSessionParametersKHR"/> + <command name="vkCmdBeginVideoCodingKHR"/> + <command name="vkCmdEndVideoCodingKHR"/> + <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="jake.beju@amd.com" provisional="true" platform="provisional" supported="vulkan"> + <require> + <enum value="1" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/> + <enum value=""VK_KHR_video_decode_queue"" name="VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="5" extends="VkQueueFlagBits" name="VK_QUEUE_VIDEO_DECODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="26" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS "/> + <enum bitpos="35" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> + <enum bitpos="36" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="13" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="14" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="10" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="11" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="12" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="25" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="26" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="0" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <type name="VkVideoDecodeFlagBitsKHR"/> + <type name="VkVideoDecodeFlagsKHR"/> + + <type name="VkVideoDecodeInfoKHR"/> + <command name="vkCmdDecodeVideoKHR"/> + </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.abdelkalek@amd.com" provisional="true" platform="provisional" supported="vulkan"> + <require> + <enum value="1" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> + <enum value=""VK_KHR_video_encode_queue"" name="VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME"/> + <enum bitpos="27" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> + <enum bitpos="37" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> + <enum bitpos="38" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="6" extends="VkQueueFlagBits" name="VK_QUEUE_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="15" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="16" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="13" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="14" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="15" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="27" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="28" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="0" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="0" extends="VkQueryType" name="VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <type name="VkVideoEncodeFlagBitsKHR"/> + <type name="VkVideoEncodeFlagsKHR"/> + <type name="VkVideoEncodeInfoKHR"/> + + <type name="VkVideoEncodeRateControlFlagBitsKHR"/> + <type name="VkVideoEncodeRateControlFlagsKHR"/> + <type name="VkVideoEncodeRateControlModeFlagBitsKHR"/> + <type name="VkVideoEncodeRateControlModeFlagsKHR"/> + + <type name="VkVideoEncodeRateControlInfoKHR"/> + <command name="vkCmdEncodeVideoKHR"/> </require> </extension> <extension name="VK_AMD_gcn_shader" number="26" type="device" author="AMD" contact="Dominik Witczak @dominikwitczakamd" supported="vulkan"> @@ -10799,22 +11877,65 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_AMD_shader_ballot"" name="VK_AMD_SHADER_BALLOT_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_AMD_extension_39" number="39" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_39_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_39"" name="VK_AMD_EXTENSION_39_EXTENSION_NAME"/> - </require> - </extension> - <extension name="VK_AMD_extension_40" number="40" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_40_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_40"" name="VK_AMD_EXTENSION_40_EXTENSION_NAME"/> - </require> - </extension> - <extension name="VK_AMD_extension_41" number="41" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_41_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_41"" name="VK_AMD_EXTENSION_41_EXTENSION_NAME"/> + <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"> + <require> + <enum value="1" name="VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION"/> + <enum value=""VK_EXT_video_encode_h264"" name="VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="16" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <type name="VkVideoEncodeH264CapabilitiesFlagBitsEXT"/> + <type name="VkVideoEncodeH264CapabilitiesFlagsEXT"/> + <type name="VkVideoEncodeH264InputModeFlagBitsEXT"/> + <type name="VkVideoEncodeH264InputModeFlagsEXT"/> + <type name="VkVideoEncodeH264OutputModeFlagBitsEXT"/> + <type name="VkVideoEncodeH264OutputModeFlagsEXT"/> + <type name="VkVideoEncodeH264CreateFlagBitsEXT"/> + <type name="VkVideoEncodeH264CreateFlagsEXT"/> + <type name="VkVideoEncodeH264CapabilitiesEXT"/> + <type name="VkVideoEncodeH264SessionCreateInfoEXT"/> + <type name="VkVideoEncodeH264SessionParametersCreateInfoEXT"/> + <type name="VkVideoEncodeH264SessionParametersAddInfoEXT"/> + <type name="VkVideoEncodeH264VclFrameInfoEXT"/> + <type name="VkVideoEncodeH264EmitPictureParametersEXT"/> + <type name="VkVideoEncodeH264DpbSlotInfoEXT"/> + <type name="VkVideoEncodeH264NaluSliceEXT"/> + <type name="VkVideoEncodeH264ProfileEXT"/> + </require> + </extension> + <extension name="VK_EXT_video_decode_h264" number="41" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="peter.fang@amd.com" provisional="true" platform="provisional" supported="vulkan"> + <require> + <enum value="1" name="VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION"/> + <enum value=""VK_EXT_video_decode_h264"" name="VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="0" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <type name="VkVideoDecodeH264FieldLayoutFlagBitsEXT"/> + <type name="VkVideoDecodeH264FieldLayoutFlagsEXT"/> + <type name="VkVideoDecodeH264CreateFlagsEXT"/> + <type name="VkVideoDecodeH264ProfileEXT"/> + <type name="VkVideoDecodeH264CapabilitiesEXT"/> + <type name="VkVideoDecodeH264SessionCreateInfoEXT"/> + <type name="VkVideoDecodeH264SessionParametersCreateInfoEXT"/> + <type name="VkVideoDecodeH264SessionParametersAddInfoEXT"/> + <type name="VkVideoDecodeH264PictureInfoEXT"/> + + <type name="VkVideoDecodeH264MvcEXT"/> + <type name="VkVideoDecodeH264DpbSlotInfoEXT"/> </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"> @@ -11370,7 +12491,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_KHR_incremental_present" number="85" type="device" author="KHR" requires="VK_KHR_swapchain" contact="Ian Elliott @ianelliottus" supported="vulkan"> <require> - <enum value="1" name="VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION"/> + <enum value="2" name="VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION"/> <enum value=""VK_KHR_incremental_present"" name="VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"/> <type name="VkPresentRegionsKHR"/> @@ -12538,8 +13659,8 @@ typedef void <name>CAMetalLayer</name>; <require> <enum value="1" name="VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION"/> <enum value=""VK_KHR_portability_subset"" name="VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME"/> - <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR"/> - <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <type name="VkPhysicalDevicePortabilitySubsetFeaturesKHR"/> <type name="VkPhysicalDevicePortabilitySubsetPropertiesKHR"/> </require> @@ -12849,10 +13970,28 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_AMD_extension_187"" name="VK_KHR_EXTENSION_187_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_AMD_extension_188" number="188" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> + <extension name="VK_EXT_video_decode_h265" number="188" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="peter.fang@amd.com" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="0" name="VK_KHR_EXTENSION_188_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_188"" name="VK_KHR_EXTENSION_188_EXTENSION_NAME"/> + <enum value="1" name="VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION"/> + <enum value=""VK_EXT_video_decode_h265"" name="VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="1" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + + <type name="VkVideoDecodeH265CreateFlagsEXT"/> + <type name="VkVideoDecodeH265ProfileEXT"/> + <type name="VkVideoDecodeH265CapabilitiesEXT"/> + <type name="VkVideoDecodeH265SessionCreateInfoEXT"/> + + <type name="VkVideoDecodeH265SessionParametersCreateInfoEXT"/> + <type name="VkVideoDecodeH265SessionParametersAddInfoEXT"/> + <type name="VkVideoDecodeH265PictureInfoEXT"/> + <type name="VkVideoDecodeH265DpbSlotInfoEXT"/> </require> </extension> <extension name="VK_AMD_extension_189" number="189" author="AMD" contact="Daniel Rakos @drakos-amd" supported="disabled"> @@ -13844,10 +14983,14 @@ typedef void <name>CAMetalLayer</name>; <command name="vkDestroyIndirectCommandsLayoutNV"/> </require> </extension> - <extension name="VK_NV_extension_279" number="279" type="device" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled"> + <extension name="VK_NV_inherited_viewport_scissor" number="279" type="device" author="NV" contact="David Zhao Akeley @akeley98" supported="vulkan"> <require> - <enum value="0" name="VK_NV_EXTENSION_279_SPEC_VERSION"/> - <enum value=""VK_NV_extension_279"" name="VK_NV_extension_279"/> + <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"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"/> + <type name="VkPhysicalDeviceInheritedViewportScissorFeaturesNV"/> + <type name="VkCommandBufferInheritanceViewportScissorInfoNV"/> </require> </extension> <extension name="VK_KHR_extension_280" number="280" type="device" author="KHR" contact="Kevin Petit @kevinpetit" supported="disabled"> @@ -13874,7 +15017,7 @@ typedef void <name>CAMetalLayer</name>; </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"> <require> - <enum value="1" name="VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"/> + <enum value="2" name="VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"/> <enum value=""VK_QCOM_render_pass_transform"" name="VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"/> @@ -14164,10 +15307,101 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_AMD_extension_314"" name="VK_AMD_EXTENSION_314_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_AMD_extension_315" number="315" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled"> - <require> - <enum value="0" name="VK_AMD_EXTENSION_315_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_315"" name="VK_AMD_EXTENSION_315_EXTENSION_NAME"/> + <extension name="VK_KHR_synchronization2" number="315" type="device" author="KHR" requires="VK_KHR_get_physical_device_properties2" contact="Tobias Hector @tobski" supported="vulkan"> + <require> + <enum value="1" name="VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION"/> + <enum value=""VK_KHR_synchronization2"" name="VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"/> + <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"/> + <enum bitpos="0" extends="VkEventCreateFlagBits" name="VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"/> + <enum offset="0" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR"/> + <enum offset="1" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR"/> + <enum value="0" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_NONE_KHR"/> + <enum value="0" extends="VkAccessFlagBits" name="VK_ACCESS_NONE_KHR"/> + <type name="VkPipelineStageFlags2KHR"/> + <type name="VkPipelineStageFlagBits2KHR"/> + <type name="VkAccessFlags2KHR"/> + <type name="VkAccessFlagBits2KHR"/> + <type name="VkMemoryBarrier2KHR"/> + <type name="VkBufferMemoryBarrier2KHR"/> + <type name="VkImageMemoryBarrier2KHR"/> + <type name="VkDependencyInfoKHR"/> + <type name="VkSubmitInfo2KHR"/> + <type name="VkSemaphoreSubmitInfoKHR"/> + <type name="VkCommandBufferSubmitInfoKHR"/> + <type name="VkSubmitFlagBitsKHR"/> + <type name="VkSubmitFlagsKHR"/> + <type name="VkPhysicalDeviceSynchronization2FeaturesKHR"/> + <command name="vkCmdSetEvent2KHR"/> + <command name="vkCmdResetEvent2KHR"/> + <command name="vkCmdWaitEvents2KHR"/> + <command name="vkCmdPipelineBarrier2KHR"/> + <command name="vkCmdWriteTimestamp2KHR"/> + <command name="vkQueueSubmit2KHR"/> + </require> + <require extension="VK_EXT_transform_feedback"> + <enum bitpos="24" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/> + <enum bitpos="25" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"/> + <enum bitpos="26" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"/> + <enum bitpos="27" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"/> + </require> + <require extension="VK_EXT_conditional_rendering"> + <enum bitpos="18" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT" comment="A pipeline stage for conditional rendering predicate fetch"/> + <enum bitpos="20" extends="VkAccessFlagBits2KHR" 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"> + <enum bitpos="17" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"/> + <enum bitpos="17" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV"/> + <enum bitpos="18" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV"/> + </require> + <require extension="VK_KHR_fragment_shading_rate"> + <enum bitpos="22" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> + <enum bitpos="23" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"/> + </require> + <require extension="VK_NV_shading_rate_image"> + <enum extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV" alias="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> + <enum extends="VkAccessFlagBits2KHR" 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"> + <enum bitpos="25" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> + <enum bitpos="21" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/> + <enum bitpos="22" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"/> + </require> + <require extension="VK_KHR_ray_tracing_pipeline"> + <enum bitpos="21" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/> + </require> + <require extension="VK_NV_ray_tracing"> + <enum extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"/> + <enum extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV" alias="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> + <enum extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV" alias="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"/> + <enum extends="VkAccessFlagBits2KHR" 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"> + <enum bitpos="23" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT"/> + <enum bitpos="24" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"/> + </require> + <require extension="VK_EXT_blend_operation_advanced"> + <enum bitpos="19" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"/> + </require> + <require extension="VK_NV_mesh_shader"> + <enum bitpos="19" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV"/> + <enum bitpos="20" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV"/> + </require> + <require extension="VK_AMD_buffer_marker"> + <command name="vkCmdWriteBufferMarker2AMD"/> + </require> + <require extension="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> </extension> <extension name="VK_AMD_extension_316" number="316" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled"> @@ -14259,6 +15493,7 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_NV_extension_328"" name="VK_NV_EXTENSION_328_EXTENSION_NAME"/> <enum bitpos="5" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_5_NV"/> <enum bitpos="2" extends="VkAccelerationStructureCreateFlagBitsKHR" name="VK_ACCELERATION_STRUCTURE_CREATE_RESERVED_BIT_2_NV"/> + <enum bitpos="20" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_BIT_20_NV"/> </require> </extension> <extension name="VK_NV_extension_329" number="329" author="NV" contact="Pat Brown @nvpbrown" supported="disabled"> @@ -14273,10 +15508,16 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_NV_extension_330"" name="VK_NV_EXTENSION_330_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_NV_extension_331" number="331" author="NV" contact="Tony Zlatinski @tzlatinski" supported="disabled"> + <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"> <require> - <enum value="0" name="VK_NV_EXTENSION_331_SPEC_VERSION"/> - <enum value=""VK_NV_extension_331"" name="VK_NV_EXTENSION_331_EXTENSION_NAME"/> + <enum value="1" name="VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION"/> + <enum value=""VK_EXT_ycbcr_2plane_444_formats"" name="VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT"/> + <enum offset="0" extends="VkFormat" name="VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT"/> + <enum offset="1" extends="VkFormat" name="VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT"/> + <enum offset="2" extends="VkFormat" name="VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT"/> + <enum offset="3" extends="VkFormat" name="VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT"/> + <type name="VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT"/> </require> </extension> <extension name="VK_NV_extension_332" number="332" author="NV" contact="Tony Zlatinski @tzlatinski" supported="disabled"> @@ -14298,8 +15539,8 @@ typedef void <name>CAMetalLayer</name>; </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"> <require> - <enum value="0" name="VK_QCOM_rotated_copy_commands_SPEC_VERSION"/> - <enum value=""VK_QCOM_rotated_copy_commands"" name="VK_QCOM_rotated_copy_commands_EXTENSION_NAME"/> + <enum value="0" name="VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION"/> + <enum value=""VK_QCOM_rotated_copy_commands"" name="VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM"/> <type name="VkCopyCommandTransformInfoQCOM"/> </require> @@ -14323,7 +15564,7 @@ typedef void <name>CAMetalLayer</name>; <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"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"/> - <type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/> + <type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/> </require> </extension> <extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" contact="Jeff Leger @jackohound" supported="vulkan"> @@ -14452,10 +15693,18 @@ typedef void <name>CAMetalLayer</name>; <type name="VkMutableDescriptorTypeCreateInfoVALVE"/> </require> </extension> - <extension name="VK_EXT_extension_353" number="353" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="disabled"> + <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"> <require> - <enum value="0" name="VK_EXT_EXTENSION_353_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_353"" name="VK_EXT_EXTENSION_353_EXTENSION_NAME"/> + <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"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"/> + <enum offset="0" extends="VkDynamicState" name="VK_DYNAMIC_STATE_VERTEX_INPUT_EXT"/> + <type name="VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT"/> + <type name="VkVertexInputBindingDescription2EXT"/> + <type name="VkVertexInputAttributeDescription2EXT"/> + <command name="vkCmdSetVertexInputEXT"/> </require> </extension> <extension name="VK_EXT_extension_354" number="354" author="EXT" contact="Simon Ser @emersion" supported="disabled"> @@ -14524,17 +15773,33 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_EXT_extension_364"" name="VK_EXT_EXTENSION_364_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_FUCHSIA_extension_365" number="365" author="FUCHSIA" contact="John Rosasco @rosasco" supported="disabled"> - <require> - <enum value="0" name="VK_EXT_EXTENSION_365_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_365"" name="VK_EXT_EXTENSION_365_EXTENSION_NAME"/> - </require> - </extension> - <extension name="VK_FUCHSIA_extension_366" number="366" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled"> - <require> - <enum value="0" name="VK_EXT_EXTENSION_366_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_366"" name="VK_EXT_EXTENSION_366_EXTENSION_NAME"/> - </require> + <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"> + <require> + <enum value="1" name="VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION"/> + <enum value=""VK_FUCHSIA_external_memory"" name="VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/> + <enum bitpos="11" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"/> + <type name="VkImportMemoryZirconHandleInfoFUCHSIA"/> + <type name="VkMemoryZirconHandlePropertiesFUCHSIA"/> + <type name="VkMemoryGetZirconHandleInfoFUCHSIA"/> + <command name="vkGetMemoryZirconHandleFUCHSIA"/> + <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"> + <require> + <enum value="1" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION"/> + <enum value=""VK_FUCHSIA_external_semaphore"" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/> + <enum bitpos="7" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA"/> + <type name="VkImportSemaphoreZirconHandleInfoFUCHSIA"/> + <type name="VkSemaphoreGetZirconHandleInfoFUCHSIA"/> + <command name="vkImportSemaphoreZirconHandleFUCHSIA"/> + <command name="vkGetSemaphoreZirconHandleFUCHSIA"/> + </require> </extension> <extension name="VK_FUCHSIA_extension_367" number="367" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled"> <require> @@ -14615,7 +15880,7 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_NV_extension_378"" name="VK_NV_EXTENSION_378_EXTENSION_NAME"/> </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="disabled"> + <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"> <require> <enum value="1" name="VK_QNX_SCREEN_SURFACE_SPEC_VERSION"/> <enum value=""VK_QNX_screen_surface"" name="VK_QNX_SCREEN_SURFACE_EXTENSION_NAME"/> @@ -14638,10 +15903,16 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_KHR_extension_381"" name="VK_KHR_EXTENSION_381_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_extension_382" number="382" author="EXT" contact="Sharif Elcott @selcott" supported="disabled"> + <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"> <require> - <enum value="0" name="VK_EXT_EXTENSION_382_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_382"" name="VK_EXT_EXTENSION_382_EXTENSION_NAME"/> + <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"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT"/> + <enum offset="0" extends="VkDynamicState" name="VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT"/> + <type name="VkPhysicalDeviceColorWriteEnableFeaturesEXT"/> + <type name="VkPipelineColorWriteCreateInfoEXT"/> + <command name="vkCmdSetColorWriteEnableEXT"/> </require> </extension> <extension name="VK_EXT_extension_383" number="383" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled"> @@ -14673,6 +15944,48 @@ typedef void <name>CAMetalLayer</name>; <enum value="0" name="VK_KHR_EXTENSION_387_SPEC_VERSION"/> <enum value=""VK_KHR_extension_387"" name="VK_KHR_EXTENSION_387_EXTENSION_NAME"/> </require> + </extension> + <extension name="VK_EXT_extension_388" number="388" author="EXT" contact="Alan Baker @alan-baker" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_388_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_388"" name="VK_EXT_EXTENSION_388_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_389" number="389" author="EXT" contact="Yiwei Zhang @zhangyiwei" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_389_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_389"" name="VK_EXT_EXTENSION_389_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_390" number="390" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_390_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_390"" name="VK_EXT_EXTENSION_390_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_391" number="391" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_391_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_391"" name="VK_EXT_EXTENSION_391_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_392" number="392" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_392_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_392"" name="VK_EXT_EXTENSION_392_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_MESA_multi_draw" number="393" author="MESA" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled"> + <require> + <enum value="0" name="VK_MESA_MULTI_DRAW_SPEC_VERSION"/> + <enum value=""VK_MESA_multi_draw"" name="VK_MESA_MULTI_DRAW_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_394" number="394" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_394_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_394"" name="VK_EXT_EXTENSION_394_EXTENSION_NAME"/> + </require> </extension> </extensions> <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it"> @@ -14839,10 +16152,13 @@ typedef void <name>CAMetalLayer</name>; <spirvextension name="SPV_KHR_multiview"> <enable version="VK_API_VERSION_1_1"/> <enable extension="VK_KHR_multiview"/> - </spirvextension> - <spirvextension name="SPV_KHR_workgroup_memory_explicit_layout"> + </spirvextension> + <spirvextension name="SPV_KHR_workgroup_memory_explicit_layout"> <enable extension="VK_KHR_workgroup_memory_explicit_layout"/> </spirvextension> + <spirvextension name="SPV_EXT_shader_atomic_float_add"> + <enable extension="VK_EXT_shader_atomic_float"/> + </spirvextension> </spirvextensions> <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it"> <spirvcapability name="Matrix"> @@ -14968,21 +16284,25 @@ typedef void <name>CAMetalLayer</name>; <enable struct="VkPhysicalDeviceFeatures" feature="multiViewport"/> </spirvcapability> <spirvcapability name="DrawParameters"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="shaderDrawParameters" requires="VK_VERSION_1_1"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="shaderDrawParameters" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDeviceShaderDrawParametersFeatures" feature="shaderDrawParameters" requires="VK_VERSION_1_1"/> <enable extension="VK_KHR_shader_draw_parameters"/> </spirvcapability> <spirvcapability name="MultiView"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="multiview" requires="VK_VERSION_1_1,VK_KHR_multiview"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="multiview" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDeviceMultiviewFeatures" feature="multiview" requires="VK_KHR_multiview"/> </spirvcapability> <spirvcapability name="DeviceGroup"> <enable version="VK_API_VERSION_1_1"/> <enable extension="VK_KHR_device_group"/> </spirvcapability> <spirvcapability name="VariablePointersStorageBuffer"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointersStorageBuffer" requires="VK_VERSION_1_1,VK_KHR_variable_pointers"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointersStorageBuffer" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointersStorageBuffer" requires="VK_KHR_variable_pointers"/> </spirvcapability> <spirvcapability name="VariablePointers"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointers" requires="VK_VERSION_1_1,VK_KHR_variable_pointers"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointers" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointers" requires="VK_KHR_variable_pointers"/> </spirvcapability> <spirvcapability name="ShaderClockKHR"> <enable extension="VK_KHR_shader_clock"/> @@ -15030,16 +16350,20 @@ typedef void <name>CAMetalLayer</name>; <enable extension="VK_NVX_multiview_per_view_attributes"/> </spirvcapability> <spirvcapability name="StorageBuffer16BitAccess"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageBuffer16BitAccess" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageBuffer16BitAccess" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/> </spirvcapability> <spirvcapability name="UniformAndStorageBuffer16BitAccess"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="uniformAndStorageBuffer16BitAccess" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="uniformAndStorageBuffer16BitAccess" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="uniformAndStorageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/> </spirvcapability> <spirvcapability name="StoragePushConstant16"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="storagePushConstant16" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="storagePushConstant16" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storagePushConstant16" requires="VK_KHR_16bit_storage"/> </spirvcapability> <spirvcapability name="StorageInputOutput16"> - <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageInputOutput16" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/> + <enable struct="VkPhysicalDeviceVulkan11Features" feature="storageInputOutput16" requires="VK_VERSION_1_2"/> + <enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageInputOutput16" requires="VK_KHR_16bit_storage"/> </spirvcapability> <spirvcapability name="GroupNonUniform"> <enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_BASIC_BIT" requires="VK_VERSION_1_1"/> @@ -15228,10 +16552,10 @@ typedef void <name>CAMetalLayer</name>; <spirvcapability name="WorkgroupMemoryExplicitLayoutKHR"> <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout" requires="VK_KHR_workgroup_memory_explicit_layout"/> </spirvcapability> - <spirvcapability name="WorkgroupMemoryExplicitLayoutKHR8BitAccess"> + <spirvcapability name="WorkgroupMemoryExplicitLayout8BitAccessKHR"> <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout8BitAccess" requires="VK_KHR_workgroup_memory_explicit_layout"/> </spirvcapability> - <spirvcapability name="WorkgroupMemoryExplicitLayoutKHR16BitAccess"> + <spirvcapability name="WorkgroupMemoryExplicitLayout16BitAccessKHR"> <enable struct="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" feature="workgroupMemoryExplicitLayout16BitAccess" requires="VK_KHR_workgroup_memory_explicit_layout"/> </spirvcapability> </spirvcapabilities> |