diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index d241c1f..41f71cd 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -114,7 +114,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 230, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 231, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -377,6 +377,7 @@ namespace VULKAN_HPP_NAMESPACE template struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = false; }; template @@ -554,6 +555,31 @@ namespace VULKAN_HPP_NAMESPACE return flags.operator^( bit ); } + // bitwise operators on BitType + template ::isBitmask, bool>::type = true> + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator&( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT + { + return Flags( lhs ) & rhs; + } + + template ::isBitmask, bool>::type = true> + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator|( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT + { + return Flags( lhs ) | rhs; + } + + template ::isBitmask, bool>::type = true> + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator^( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT + { + return Flags( lhs ) ^ rhs; + } + + template ::isBitmask, bool>::type = true> + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator~( BitType bit ) VULKAN_HPP_NOEXCEPT + { + return ~( Flags( bit ) ); + } + #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template class ArrayProxy @@ -11943,6 +11969,32 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_ARM_shader_core_builtins === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + #endif // VULKAN_HPP_DISABLE_ENHANCED_MODE #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index da5c99d..b7fddd1 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -72,7 +72,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 230 +#define VK_HEADER_VERSION 231 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -1042,6 +1042,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, @@ -15498,6 +15500,24 @@ typedef struct VkAmigoProfilingSubmitInfoSEC { #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" +#define VK_ARM_shader_core_builtins 1 +#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 1 +#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" +typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { + VkStructureType sType; + void* pNext; + VkBool32 shaderCoreBuiltins; +} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; + +typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { + VkStructureType sType; + void* pNext; + uint32_t shaderCoreCount; + uint32_t shaderWarpsPerCore; +} VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; + + + #define VK_KHR_acceleration_structure 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 99eef8d..8801c65 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -15,12 +15,6 @@ namespace VULKAN_HPP_NAMESPACE { }; - template - struct isVulkanHandleType - { - static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false; - }; - //============= //=== ENUMs === //============= @@ -858,6 +852,8 @@ namespace VULKAN_HPP_NAMESPACE eAmigoProfilingSubmitInfoSEC = VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC, ePhysicalDeviceMutableDescriptorTypeFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, eMutableDescriptorTypeCreateInfoEXT = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, + ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM, + ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM, eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR, eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR, eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR, @@ -3155,13 +3151,11 @@ namespace VULKAN_HPP_NAMESPACE enum class VideoCodecOperationFlagBitsKHR : VkVideoCodecOperationFlagsKHR { - eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR, -# if defined( VK_ENABLE_BETA_EXTENSIONS ) + eNone = VK_VIDEO_CODEC_OPERATION_NONE_KHR, eEncodeH264EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, eEncodeH265EXT = VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT, eDecodeH264EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT, eDecodeH265EXT = VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ }; enum class VideoChromaSubsamplingFlagBitsKHR : VkVideoChromaSubsamplingFlagsKHR @@ -3194,11 +3188,9 @@ namespace VULKAN_HPP_NAMESPACE enum class VideoCodingControlFlagBitsKHR : VkVideoCodingControlFlagsKHR { - eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR, -# if defined( VK_ENABLE_BETA_EXTENSIONS ) + eReset = VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR, eEncodeRateControl = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR, eEncodeRateControlLayer = VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ }; enum class QueryResultStatusKHR @@ -4479,11 +4471,11 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === - using FormatFeatureFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = @@ -4509,32 +4501,13 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_ENABLE_BETA_EXTENSIONS*/ }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator|( FormatFeatureFlagBits bit0, FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator&( FormatFeatureFlagBits bit0, FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator^( FormatFeatureFlagBits bit0, FormatFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags operator~( FormatFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( FormatFeatureFlags( bits ) ); - } - - using ImageCreateFlags = Flags; + using FormatFeatureFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageCreateFlagBits::eSparseBinding ) | VkFlags( ImageCreateFlagBits::eSparseResidency ) | @@ -4548,32 +4521,13 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator|( ImageCreateFlagBits bit0, ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator&( ImageCreateFlagBits bit0, ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator^( ImageCreateFlagBits bit0, ImageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCreateFlags operator~( ImageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageCreateFlags( bits ) ); - } - - using ImageUsageFlags = Flags; + using ImageCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageUsageFlagBits::eTransferSrc ) | VkFlags( ImageUsageFlagBits::eTransferDst ) | VkFlags( ImageUsageFlagBits::eSampled ) | @@ -4593,94 +4547,37 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageUsageFlagBits::eSampleWeightQCOM ) | VkFlags( ImageUsageFlagBits::eSampleBlockMatchQCOM ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator|( ImageUsageFlagBits bit0, ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageUsageFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator&( ImageUsageFlagBits bit0, ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageUsageFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator^( ImageUsageFlagBits bit0, ImageUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageUsageFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageUsageFlags operator~( ImageUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageUsageFlags( bits ) ); - } - - using InstanceCreateFlags = Flags; + using ImageUsageFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( InstanceCreateFlagBits::eEnumeratePortabilityKHR ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR InstanceCreateFlags operator|( InstanceCreateFlagBits bit0, InstanceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return InstanceCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR InstanceCreateFlags operator&( InstanceCreateFlagBits bit0, InstanceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return InstanceCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR InstanceCreateFlags operator^( InstanceCreateFlagBits bit0, InstanceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return InstanceCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR InstanceCreateFlags operator~( InstanceCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( InstanceCreateFlags( bits ) ); - } - - using MemoryHeapFlags = Flags; + using InstanceCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( MemoryHeapFlagBits::eDeviceLocal ) | VkFlags( MemoryHeapFlagBits::eMultiInstance ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator|( MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryHeapFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator&( MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryHeapFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator^( MemoryHeapFlagBits bit0, MemoryHeapFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryHeapFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryHeapFlags operator~( MemoryHeapFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( MemoryHeapFlags( bits ) ); - } - - using MemoryPropertyFlags = Flags; + using MemoryHeapFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( MemoryPropertyFlagBits::eDeviceLocal ) | VkFlags( MemoryPropertyFlagBits::eHostVisible ) | @@ -4690,32 +4587,13 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( MemoryPropertyFlagBits::eRdmaCapableNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator|( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryPropertyFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator&( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryPropertyFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator^( MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryPropertyFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryPropertyFlags operator~( MemoryPropertyFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( MemoryPropertyFlags( bits ) ); - } - - using QueueFlags = Flags; + using MemoryPropertyFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( QueueFlagBits::eGraphics ) | VkFlags( QueueFlagBits::eCompute ) | VkFlags( QueueFlagBits::eTransfer ) | @@ -4726,32 +4604,13 @@ namespace VULKAN_HPP_NAMESPACE | VkFlags( QueueFlagBits::eOpticalFlowNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator|( QueueFlagBits bit0, QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueueFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator&( QueueFlagBits bit0, QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueueFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator^( QueueFlagBits bit0, QueueFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueueFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueueFlags operator~( QueueFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( QueueFlags( bits ) ); - } - - using SampleCountFlags = Flags; + using QueueFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SampleCountFlagBits::e1 ) | VkFlags( SampleCountFlagBits::e2 ) | VkFlags( SampleCountFlagBits::e4 ) | @@ -4759,65 +4618,37 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( SampleCountFlagBits::e64 ) }; }; + using SampleCountFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator|( SampleCountFlagBits bit0, SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return SampleCountFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator&( SampleCountFlagBits bit0, SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SampleCountFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator^( SampleCountFlagBits bit0, SampleCountFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SampleCountFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SampleCountFlags operator~( SampleCountFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SampleCountFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using DeviceCreateFlags = Flags; - using DeviceQueueCreateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DeviceQueueCreateFlagBits::eProtected ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator|( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceQueueCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator&( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceQueueCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator^( DeviceQueueCreateFlagBits bit0, DeviceQueueCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceQueueCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceQueueCreateFlags operator~( DeviceQueueCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DeviceQueueCreateFlags( bits ) ); - } - - using PipelineStageFlags = Flags; + using DeviceQueueCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineStageFlagBits::eTopOfPipe ) | VkFlags( PipelineStageFlagBits::eDrawIndirect ) | @@ -4835,34 +4666,25 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( PipelineStageFlagBits::eMeshShaderEXT ) }; }; + using PipelineStageFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator|( PipelineStageFlagBits bit0, PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return PipelineStageFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator&( PipelineStageFlagBits bit0, PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineStageFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator^( PipelineStageFlagBits bit0, PipelineStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineStageFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags operator~( PipelineStageFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineStageFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using MemoryMapFlags = Flags; - using ImageAspectFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageAspectFlagBits::eColor ) | VkFlags( ImageAspectFlagBits::eDepth ) | VkFlags( ImageAspectFlagBits::eStencil ) | @@ -4872,159 +4694,74 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageAspectFlagBits::eMemoryPlane3EXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator|( ImageAspectFlagBits bit0, ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageAspectFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator&( ImageAspectFlagBits bit0, ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageAspectFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator^( ImageAspectFlagBits bit0, ImageAspectFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageAspectFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageAspectFlags operator~( ImageAspectFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageAspectFlags( bits ) ); - } - - using SparseImageFormatFlags = Flags; + using ImageAspectFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SparseImageFormatFlagBits::eSingleMiptail ) | VkFlags( SparseImageFormatFlagBits::eAlignedMipSize ) | VkFlags( SparseImageFormatFlagBits::eNonstandardBlockSize ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator|( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseImageFormatFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator&( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseImageFormatFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator^( SparseImageFormatFlagBits bit0, SparseImageFormatFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseImageFormatFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseImageFormatFlags operator~( SparseImageFormatFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SparseImageFormatFlags( bits ) ); - } - - using SparseMemoryBindFlags = Flags; + using SparseImageFormatFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SparseMemoryBindFlagBits::eMetadata ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator|( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseMemoryBindFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator&( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseMemoryBindFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator^( SparseMemoryBindFlagBits bit0, SparseMemoryBindFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SparseMemoryBindFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SparseMemoryBindFlags operator~( SparseMemoryBindFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SparseMemoryBindFlags( bits ) ); - } - - using FenceCreateFlags = Flags; + using SparseMemoryBindFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( FenceCreateFlagBits::eSignaled ) }; }; + using FenceCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator|( FenceCreateFlagBits bit0, FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return FenceCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator&( FenceCreateFlagBits bit0, FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FenceCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator^( FenceCreateFlagBits bit0, FenceCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FenceCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceCreateFlags operator~( FenceCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( FenceCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using SemaphoreCreateFlags = Flags; - using EventCreateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( EventCreateFlagBits::eDeviceOnly ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator|( EventCreateFlagBits bit0, EventCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return EventCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator&( EventCreateFlagBits bit0, EventCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return EventCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator^( EventCreateFlagBits bit0, EventCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return EventCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR EventCreateFlags operator~( EventCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( EventCreateFlags( bits ) ); - } - - using QueryPipelineStatisticFlags = Flags; + using EventCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyVertices ) | VkFlags( QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives ) | @@ -5037,37 +4774,25 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT ) }; }; + using QueryPipelineStatisticFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator|( QueryPipelineStatisticFlagBits bit0, - QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return QueryPipelineStatisticFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator&( QueryPipelineStatisticFlagBits bit0, - QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryPipelineStatisticFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator^( QueryPipelineStatisticFlagBits bit0, - QueryPipelineStatisticFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryPipelineStatisticFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryPipelineStatisticFlags operator~( QueryPipelineStatisticFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( QueryPipelineStatisticFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using QueryPoolCreateFlags = Flags; - using QueryResultFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( QueryResultFlagBits::e64 ) | VkFlags( QueryResultFlagBits::eWait ) | VkFlags( QueryResultFlagBits::eWithAvailability ) | @@ -5077,32 +4802,13 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_ENABLE_BETA_EXTENSIONS*/ }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator|( QueryResultFlagBits bit0, QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryResultFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator&( QueryResultFlagBits bit0, QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryResultFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator^( QueryResultFlagBits bit0, QueryResultFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryResultFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryResultFlags operator~( QueryResultFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( QueryResultFlags( bits ) ); - } - - using BufferCreateFlags = Flags; + using QueryResultFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( BufferCreateFlagBits::eSparseBinding ) | VkFlags( BufferCreateFlagBits::eSparseResidency ) | @@ -5110,32 +4816,13 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( BufferCreateFlagBits::eDeviceAddressCaptureReplay ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator|( BufferCreateFlagBits bit0, BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return BufferCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator&( BufferCreateFlagBits bit0, BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return BufferCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator^( BufferCreateFlagBits bit0, BufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return BufferCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferCreateFlags operator~( BufferCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( BufferCreateFlags( bits ) ); - } - - using BufferUsageFlags = Flags; + using BufferCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( BufferUsageFlagBits::eTransferSrc ) | VkFlags( BufferUsageFlagBits::eTransferDst ) | @@ -5155,199 +4842,99 @@ namespace VULKAN_HPP_NAMESPACE | VkFlags( BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT ) | VkFlags( BufferUsageFlagBits::eMicromapStorageEXT ) }; }; + using BufferUsageFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator|( BufferUsageFlagBits bit0, BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return BufferUsageFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator&( BufferUsageFlagBits bit0, BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return BufferUsageFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator^( BufferUsageFlagBits bit0, BufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return BufferUsageFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BufferUsageFlags operator~( BufferUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( BufferUsageFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using BufferViewCreateFlags = Flags; - using ImageViewCreateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT ) | VkFlags( ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT ) }; }; + using ImageViewCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator|( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return ImageViewCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator&( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageViewCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator^( ImageViewCreateFlagBits bit0, ImageViewCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageViewCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageViewCreateFlags operator~( ImageViewCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageViewCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using ShaderModuleCreateFlags = Flags; - using PipelineCacheCreateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineCacheCreateFlagBits::eExternallySynchronized ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator|( PipelineCacheCreateFlagBits bit0, - PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCacheCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator&( PipelineCacheCreateFlagBits bit0, - PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCacheCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator^( PipelineCacheCreateFlagBits bit0, - PipelineCacheCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCacheCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCacheCreateFlags operator~( PipelineCacheCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineCacheCreateFlags( bits ) ); - } - - using ColorComponentFlags = Flags; + using PipelineCacheCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ColorComponentFlagBits::eR ) | VkFlags( ColorComponentFlagBits::eG ) | VkFlags( ColorComponentFlagBits::eB ) | VkFlags( ColorComponentFlagBits::eA ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator|( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ColorComponentFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator&( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ColorComponentFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator^( ColorComponentFlagBits bit0, ColorComponentFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ColorComponentFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ColorComponentFlags operator~( ColorComponentFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ColorComponentFlags( bits ) ); - } - - using CullModeFlags = Flags; + using ColorComponentFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CullModeFlagBits::eNone ) | VkFlags( CullModeFlagBits::eFront ) | VkFlags( CullModeFlagBits::eBack ) | VkFlags( CullModeFlagBits::eFrontAndBack ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator|( CullModeFlagBits bit0, CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CullModeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator&( CullModeFlagBits bit0, CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CullModeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator^( CullModeFlagBits bit0, CullModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CullModeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CullModeFlags operator~( CullModeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CullModeFlags( bits ) ); - } - - using PipelineColorBlendStateCreateFlags = Flags; + using CullModeFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator|( PipelineColorBlendStateCreateFlagBits bit0, - PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineColorBlendStateCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator&( PipelineColorBlendStateCreateFlagBits bit0, - PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineColorBlendStateCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator^( PipelineColorBlendStateCreateFlagBits bit0, - PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineColorBlendStateCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator~( PipelineColorBlendStateCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineColorBlendStateCreateFlags( bits ) ); - } - - using PipelineCreateFlags = Flags; + using PipelineColorBlendStateCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineCreateFlagBits::eDisableOptimization ) | VkFlags( PipelineCreateFlagBits::eAllowDerivatives ) | @@ -5368,149 +4955,134 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( PipelineCreateFlagBits::eNoProtectedAccessEXT ) | VkFlags( PipelineCreateFlagBits::eProtectedAccessOnlyEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator|( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator&( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator^( PipelineCreateFlagBits bit0, PipelineCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreateFlags operator~( PipelineCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineCreateFlags( bits ) ); - } - - using PipelineDepthStencilStateCreateFlags = Flags; + using PipelineCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT ) | VkFlags( PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT ) }; }; + using PipelineDepthStencilStateCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator|( PipelineDepthStencilStateCreateFlagBits bit0, - PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return PipelineDepthStencilStateCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator&( PipelineDepthStencilStateCreateFlagBits bit0, - PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineDepthStencilStateCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator^( PipelineDepthStencilStateCreateFlagBits bit0, - PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineDepthStencilStateCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator~( PipelineDepthStencilStateCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineDepthStencilStateCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineDynamicStateCreateFlags = Flags; - using PipelineInputAssemblyStateCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using PipelineLayoutCreateFlags = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using PipelineInputAssemblyStateCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineLayoutCreateFlagBits::eIndependentSetsEXT ) }; }; + using PipelineLayoutCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineLayoutCreateFlags operator|( PipelineLayoutCreateFlagBits bit0, - PipelineLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return PipelineLayoutCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineLayoutCreateFlags operator&( PipelineLayoutCreateFlagBits bit0, - PipelineLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineLayoutCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineLayoutCreateFlags operator^( PipelineLayoutCreateFlagBits bit0, - PipelineLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineLayoutCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineLayoutCreateFlags operator~( PipelineLayoutCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineLayoutCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineMultisampleStateCreateFlags = Flags; - using PipelineRasterizationStateCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using PipelineShaderStageCreateFlags = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using PipelineRasterizationStateCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize ) | VkFlags( PipelineShaderStageCreateFlagBits::eRequireFullSubgroups ) }; }; + using PipelineShaderStageCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags operator|( PipelineShaderStageCreateFlagBits bit0, - PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return PipelineShaderStageCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags operator&( PipelineShaderStageCreateFlagBits bit0, - PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineShaderStageCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags operator^( PipelineShaderStageCreateFlagBits bit0, - PipelineShaderStageCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineShaderStageCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateFlags operator~( PipelineShaderStageCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineShaderStageCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineTessellationStateCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineVertexInputStateCreateFlags = Flags; - using PipelineViewportStateCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using ShaderStageFlags = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using PipelineViewportStateCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ShaderStageFlagBits::eVertex ) | VkFlags( ShaderStageFlagBits::eTessellationControl ) | @@ -5522,136 +5094,64 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ShaderStageFlagBits::eSubpassShadingHUAWEI ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator|( ShaderStageFlagBits bit0, ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ShaderStageFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator&( ShaderStageFlagBits bit0, ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ShaderStageFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator^( ShaderStageFlagBits bit0, ShaderStageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ShaderStageFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ShaderStageFlags operator~( ShaderStageFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ShaderStageFlags( bits ) ); - } - - using SamplerCreateFlags = Flags; + using ShaderStageFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SamplerCreateFlagBits::eSubsampledEXT ) | VkFlags( SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT ) | VkFlags( SamplerCreateFlagBits::eNonSeamlessCubeMapEXT ) | VkFlags( SamplerCreateFlagBits::eImageProcessingQCOM ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator|( SamplerCreateFlagBits bit0, SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SamplerCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator&( SamplerCreateFlagBits bit0, SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SamplerCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator^( SamplerCreateFlagBits bit0, SamplerCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SamplerCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SamplerCreateFlags operator~( SamplerCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SamplerCreateFlags( bits ) ); - } - - using DescriptorPoolCreateFlags = Flags; + using SamplerCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DescriptorPoolCreateFlagBits::eFreeDescriptorSet ) | VkFlags( DescriptorPoolCreateFlagBits::eUpdateAfterBind ) | VkFlags( DescriptorPoolCreateFlagBits::eHostOnlyEXT ) }; }; + using DescriptorPoolCreateFlags = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator|( DescriptorPoolCreateFlagBits bit0, - DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return DescriptorPoolCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator&( DescriptorPoolCreateFlagBits bit0, - DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorPoolCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator^( DescriptorPoolCreateFlagBits bit0, - DescriptorPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorPoolCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorPoolCreateFlags operator~( DescriptorPoolCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DescriptorPoolCreateFlags( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using DescriptorPoolResetFlags = Flags; - using DescriptorSetLayoutCreateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool ) | VkFlags( DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR ) | VkFlags( DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags operator|( DescriptorSetLayoutCreateFlagBits bit0, - DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorSetLayoutCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags operator&( DescriptorSetLayoutCreateFlagBits bit0, - DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorSetLayoutCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags operator^( DescriptorSetLayoutCreateFlagBits bit0, - DescriptorSetLayoutCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorSetLayoutCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateFlags operator~( DescriptorSetLayoutCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DescriptorSetLayoutCreateFlags( bits ) ); - } - - using AccessFlags = Flags; + using DescriptorSetLayoutCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( AccessFlagBits::eIndirectCommandRead ) | VkFlags( AccessFlagBits::eIndexRead ) | VkFlags( AccessFlagBits::eVertexAttributeRead ) | @@ -5668,160 +5168,62 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( AccessFlagBits::eCommandPreprocessReadNV ) | VkFlags( AccessFlagBits::eCommandPreprocessWriteNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator|( AccessFlagBits bit0, AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator&( AccessFlagBits bit0, AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator^( AccessFlagBits bit0, AccessFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags operator~( AccessFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( AccessFlags( bits ) ); - } - - using AttachmentDescriptionFlags = Flags; + using AccessFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( AttachmentDescriptionFlagBits::eMayAlias ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator|( AttachmentDescriptionFlagBits bit0, - AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AttachmentDescriptionFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator&( AttachmentDescriptionFlagBits bit0, - AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AttachmentDescriptionFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator^( AttachmentDescriptionFlagBits bit0, - AttachmentDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return AttachmentDescriptionFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AttachmentDescriptionFlags operator~( AttachmentDescriptionFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( AttachmentDescriptionFlags( bits ) ); - } - - using DependencyFlags = Flags; + using AttachmentDescriptionFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DependencyFlagBits::eByRegion ) | VkFlags( DependencyFlagBits::eDeviceGroup ) | VkFlags( DependencyFlagBits::eViewLocal ) | VkFlags( DependencyFlagBits::eFeedbackLoopEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator|( DependencyFlagBits bit0, DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DependencyFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator&( DependencyFlagBits bit0, DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DependencyFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator^( DependencyFlagBits bit0, DependencyFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DependencyFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DependencyFlags operator~( DependencyFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DependencyFlags( bits ) ); - } - - using FramebufferCreateFlags = Flags; + using DependencyFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( FramebufferCreateFlagBits::eImageless ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator|( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FramebufferCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator&( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FramebufferCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator^( FramebufferCreateFlagBits bit0, FramebufferCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FramebufferCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FramebufferCreateFlags operator~( FramebufferCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( FramebufferCreateFlags( bits ) ); - } - - using RenderPassCreateFlags = Flags; + using FramebufferCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( RenderPassCreateFlagBits::eTransformQCOM ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator|( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderPassCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator&( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderPassCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator^( RenderPassCreateFlagBits bit0, RenderPassCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderPassCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderPassCreateFlags operator~( RenderPassCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( RenderPassCreateFlags( bits ) ); - } - - using SubpassDescriptionFlags = Flags; + using RenderPassCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SubpassDescriptionFlagBits::ePerViewAttributesNVX ) | VkFlags( SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX ) | @@ -5832,231 +5234,89 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator|( SubpassDescriptionFlagBits bit0, - SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubpassDescriptionFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator&( SubpassDescriptionFlagBits bit0, - SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubpassDescriptionFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator^( SubpassDescriptionFlagBits bit0, - SubpassDescriptionFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubpassDescriptionFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubpassDescriptionFlags operator~( SubpassDescriptionFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SubpassDescriptionFlags( bits ) ); - } - - using CommandPoolCreateFlags = Flags; + using SubpassDescriptionFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CommandPoolCreateFlagBits::eTransient ) | VkFlags( CommandPoolCreateFlagBits::eResetCommandBuffer ) | VkFlags( CommandPoolCreateFlagBits::eProtected ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator|( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolCreateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator&( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolCreateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator^( CommandPoolCreateFlagBits bit0, CommandPoolCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolCreateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolCreateFlags operator~( CommandPoolCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CommandPoolCreateFlags( bits ) ); - } - - using CommandPoolResetFlags = Flags; + using CommandPoolCreateFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CommandPoolResetFlagBits::eReleaseResources ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator|( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolResetFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator&( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolResetFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator^( CommandPoolResetFlagBits bit0, CommandPoolResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandPoolResetFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator~( CommandPoolResetFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CommandPoolResetFlags( bits ) ); - } - - using CommandBufferResetFlags = Flags; + using CommandPoolResetFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CommandBufferResetFlagBits::eReleaseResources ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator|( CommandBufferResetFlagBits bit0, - CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferResetFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator&( CommandBufferResetFlagBits bit0, - CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferResetFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator^( CommandBufferResetFlagBits bit0, - CommandBufferResetFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferResetFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferResetFlags operator~( CommandBufferResetFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CommandBufferResetFlags( bits ) ); - } - - using CommandBufferUsageFlags = Flags; + using CommandBufferResetFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CommandBufferUsageFlagBits::eOneTimeSubmit ) | VkFlags( CommandBufferUsageFlagBits::eRenderPassContinue ) | VkFlags( CommandBufferUsageFlagBits::eSimultaneousUse ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator|( CommandBufferUsageFlagBits bit0, - CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferUsageFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator&( CommandBufferUsageFlagBits bit0, - CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferUsageFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator^( CommandBufferUsageFlagBits bit0, - CommandBufferUsageFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return CommandBufferUsageFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandBufferUsageFlags operator~( CommandBufferUsageFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CommandBufferUsageFlags( bits ) ); - } - - using QueryControlFlags = Flags; + using CommandBufferUsageFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( QueryControlFlagBits::ePrecise ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator|( QueryControlFlagBits bit0, QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryControlFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator&( QueryControlFlagBits bit0, QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryControlFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator^( QueryControlFlagBits bit0, QueryControlFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return QueryControlFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR QueryControlFlags operator~( QueryControlFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( QueryControlFlags( bits ) ); - } - - using StencilFaceFlags = Flags; + using QueryControlFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( StencilFaceFlagBits::eFront ) | VkFlags( StencilFaceFlagBits::eBack ) | VkFlags( StencilFaceFlagBits::eFrontAndBack ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator|( StencilFaceFlagBits bit0, StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return StencilFaceFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator&( StencilFaceFlagBits bit0, StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return StencilFaceFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator^( StencilFaceFlagBits bit0, StencilFaceFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return StencilFaceFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR StencilFaceFlags operator~( StencilFaceFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( StencilFaceFlags( bits ) ); - } + using StencilFaceFlags = Flags; //=== VK_VERSION_1_1 === - using SubgroupFeatureFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SubgroupFeatureFlagBits::eBasic ) | VkFlags( SubgroupFeatureFlagBits::eVote ) | VkFlags( SubgroupFeatureFlagBits::eArithmetic ) | @@ -6065,108 +5325,67 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( SubgroupFeatureFlagBits::eQuad ) | VkFlags( SubgroupFeatureFlagBits::ePartitionedNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator|( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubgroupFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator&( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubgroupFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator^( SubgroupFeatureFlagBits bit0, SubgroupFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubgroupFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubgroupFeatureFlags operator~( SubgroupFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SubgroupFeatureFlags( bits ) ); - } - - using PeerMemoryFeatureFlags = Flags; + using SubgroupFeatureFlags = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PeerMemoryFeatureFlagBits::eCopySrc ) | VkFlags( PeerMemoryFeatureFlagBits::eCopyDst ) | VkFlags( PeerMemoryFeatureFlagBits::eGenericSrc ) | VkFlags( PeerMemoryFeatureFlagBits::eGenericDst ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator|( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PeerMemoryFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator&( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PeerMemoryFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator^( PeerMemoryFeatureFlagBits bit0, PeerMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PeerMemoryFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PeerMemoryFeatureFlags operator~( PeerMemoryFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PeerMemoryFeatureFlags( bits ) ); - } - + using PeerMemoryFeatureFlags = Flags; using PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags; - using MemoryAllocateFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( MemoryAllocateFlagBits::eDeviceMask ) | VkFlags( MemoryAllocateFlagBits::eDeviceAddress ) | VkFlags( MemoryAllocateFlagBits::eDeviceAddressCaptureReplay ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator|( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryAllocateFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator&( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryAllocateFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator^( MemoryAllocateFlagBits bit0, MemoryAllocateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return MemoryAllocateFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryAllocateFlags operator~( MemoryAllocateFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( MemoryAllocateFlags( bits ) ); - } - + using MemoryAllocateFlags = Flags; using MemoryAllocateFlagsKHR = MemoryAllocateFlags; - using CommandPoolTrimFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using CommandPoolTrimFlags = Flags; using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags; - using DescriptorUpdateTemplateCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using DescriptorUpdateTemplateCreateFlags = Flags; using DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags; - using ExternalMemoryHandleTypeFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) | VkFlags( ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 ) | @@ -6183,213 +5402,81 @@ namespace VULKAN_HPP_NAMESPACE | VkFlags( ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags operator|( ExternalMemoryHandleTypeFlagBits bit0, - ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags operator&( ExternalMemoryHandleTypeFlagBits bit0, - ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags operator^( ExternalMemoryHandleTypeFlagBits bit0, - ExternalMemoryHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlags operator~( ExternalMemoryHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalMemoryHandleTypeFlags( bits ) ); - } - + using ExternalMemoryHandleTypeFlags = Flags; using ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags; - using ExternalMemoryFeatureFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalMemoryFeatureFlagBits::eDedicatedOnly ) | VkFlags( ExternalMemoryFeatureFlagBits::eExportable ) | VkFlags( ExternalMemoryFeatureFlagBits::eImportable ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator|( ExternalMemoryFeatureFlagBits bit0, - ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator&( ExternalMemoryFeatureFlagBits bit0, - ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator^( ExternalMemoryFeatureFlagBits bit0, - ExternalMemoryFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlags operator~( ExternalMemoryFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalMemoryFeatureFlags( bits ) ); - } - + using ExternalMemoryFeatureFlags = Flags; using ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags; - using ExternalFenceHandleTypeFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueFd ) | VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32 ) | VkFlags( ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt ) | VkFlags( ExternalFenceHandleTypeFlagBits::eSyncFd ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator|( ExternalFenceHandleTypeFlagBits bit0, - ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceHandleTypeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator&( ExternalFenceHandleTypeFlagBits bit0, - ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceHandleTypeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator^( ExternalFenceHandleTypeFlagBits bit0, - ExternalFenceHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceHandleTypeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceHandleTypeFlags operator~( ExternalFenceHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalFenceHandleTypeFlags( bits ) ); - } - + using ExternalFenceHandleTypeFlags = Flags; using ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags; - using ExternalFenceFeatureFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalFenceFeatureFlagBits::eExportable ) | VkFlags( ExternalFenceFeatureFlagBits::eImportable ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator|( ExternalFenceFeatureFlagBits bit0, - ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator&( ExternalFenceFeatureFlagBits bit0, - ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator^( ExternalFenceFeatureFlagBits bit0, - ExternalFenceFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalFenceFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalFenceFeatureFlags operator~( ExternalFenceFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalFenceFeatureFlags( bits ) ); - } - + using ExternalFenceFeatureFlags = Flags; using ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags; - using FenceImportFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( FenceImportFlagBits::eTemporary ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator|( FenceImportFlagBits bit0, FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FenceImportFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator&( FenceImportFlagBits bit0, FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FenceImportFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator^( FenceImportFlagBits bit0, FenceImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return FenceImportFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FenceImportFlags operator~( FenceImportFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( FenceImportFlags( bits ) ); - } - + using FenceImportFlags = Flags; using FenceImportFlagsKHR = FenceImportFlags; - using SemaphoreImportFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SemaphoreImportFlagBits::eTemporary ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator|( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreImportFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator&( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreImportFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator^( SemaphoreImportFlagBits bit0, SemaphoreImportFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreImportFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreImportFlags operator~( SemaphoreImportFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SemaphoreImportFlags( bits ) ); - } - + using SemaphoreImportFlags = Flags; using SemaphoreImportFlagsKHR = SemaphoreImportFlags; - using ExternalSemaphoreHandleTypeFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) | VkFlags( ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 ) | @@ -6400,215 +5487,86 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_FUCHSIA*/ }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags operator|( ExternalSemaphoreHandleTypeFlagBits bit0, - ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreHandleTypeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags operator&( ExternalSemaphoreHandleTypeFlagBits bit0, - ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreHandleTypeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags operator^( ExternalSemaphoreHandleTypeFlagBits bit0, - ExternalSemaphoreHandleTypeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreHandleTypeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreHandleTypeFlags operator~( ExternalSemaphoreHandleTypeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalSemaphoreHandleTypeFlags( bits ) ); - } - + using ExternalSemaphoreHandleTypeFlags = Flags; using ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags; - using ExternalSemaphoreFeatureFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalSemaphoreFeatureFlagBits::eExportable ) | VkFlags( ExternalSemaphoreFeatureFlagBits::eImportable ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags operator|( ExternalSemaphoreFeatureFlagBits bit0, - ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreFeatureFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags operator&( ExternalSemaphoreFeatureFlagBits bit0, - ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreFeatureFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags operator^( ExternalSemaphoreFeatureFlagBits bit0, - ExternalSemaphoreFeatureFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalSemaphoreFeatureFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalSemaphoreFeatureFlags operator~( ExternalSemaphoreFeatureFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalSemaphoreFeatureFlags( bits ) ); - } - + using ExternalSemaphoreFeatureFlags = Flags; using ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags; //=== VK_VERSION_1_2 === - using DescriptorBindingFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DescriptorBindingFlagBits::eUpdateAfterBind ) | VkFlags( DescriptorBindingFlagBits::eUpdateUnusedWhilePending ) | VkFlags( DescriptorBindingFlagBits::ePartiallyBound ) | VkFlags( DescriptorBindingFlagBits::eVariableDescriptorCount ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator|( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorBindingFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator&( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorBindingFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator^( DescriptorBindingFlagBits bit0, DescriptorBindingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return DescriptorBindingFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DescriptorBindingFlags operator~( DescriptorBindingFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DescriptorBindingFlags( bits ) ); - } - + using DescriptorBindingFlags = Flags; using DescriptorBindingFlagsEXT = DescriptorBindingFlags; - using ResolveModeFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ResolveModeFlagBits::eNone ) | VkFlags( ResolveModeFlagBits::eSampleZero ) | VkFlags( ResolveModeFlagBits::eAverage ) | VkFlags( ResolveModeFlagBits::eMin ) | VkFlags( ResolveModeFlagBits::eMax ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator|( ResolveModeFlagBits bit0, ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ResolveModeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator&( ResolveModeFlagBits bit0, ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ResolveModeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator^( ResolveModeFlagBits bit0, ResolveModeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ResolveModeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ResolveModeFlags operator~( ResolveModeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ResolveModeFlags( bits ) ); - } - + using ResolveModeFlags = Flags; using ResolveModeFlagsKHR = ResolveModeFlags; - using SemaphoreWaitFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SemaphoreWaitFlagBits::eAny ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator|( SemaphoreWaitFlagBits bit0, SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreWaitFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator&( SemaphoreWaitFlagBits bit0, SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreWaitFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator^( SemaphoreWaitFlagBits bit0, SemaphoreWaitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SemaphoreWaitFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SemaphoreWaitFlags operator~( SemaphoreWaitFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SemaphoreWaitFlags( bits ) ); - } - + using SemaphoreWaitFlags = Flags; using SemaphoreWaitFlagsKHR = SemaphoreWaitFlags; //=== VK_VERSION_1_3 === - using PipelineCreationFeedbackFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PipelineCreationFeedbackFlagBits::eValid ) | VkFlags( PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit ) | VkFlags( PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlags operator|( PipelineCreationFeedbackFlagBits bit0, - PipelineCreationFeedbackFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreationFeedbackFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlags operator&( PipelineCreationFeedbackFlagBits bit0, - PipelineCreationFeedbackFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreationFeedbackFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlags operator^( PipelineCreationFeedbackFlagBits bit0, - PipelineCreationFeedbackFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineCreationFeedbackFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackFlags operator~( PipelineCreationFeedbackFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineCreationFeedbackFlags( bits ) ); - } - + using PipelineCreationFeedbackFlags = Flags; using PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags; - using ToolPurposeFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ToolPurposeFlagBits::eValidation ) | VkFlags( ToolPurposeFlagBits::eProfiling ) | VkFlags( ToolPurposeFlagBits::eTracing ) | @@ -6616,38 +5574,27 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ToolPurposeFlagBits::eDebugReportingEXT ) | VkFlags( ToolPurposeFlagBits::eDebugMarkersEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlags operator|( ToolPurposeFlagBits bit0, ToolPurposeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ToolPurposeFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlags operator&( ToolPurposeFlagBits bit0, ToolPurposeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ToolPurposeFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlags operator^( ToolPurposeFlagBits bit0, ToolPurposeFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return ToolPurposeFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ToolPurposeFlags operator~( ToolPurposeFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ToolPurposeFlags( bits ) ); - } - + using ToolPurposeFlags = Flags; using ToolPurposeFlagsEXT = ToolPurposeFlags; - using PrivateDataSlotCreateFlags = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using PrivateDataSlotCreateFlags = Flags; using PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags; - using PipelineStageFlags2 = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags64 { allFlags = VkFlags64( PipelineStageFlagBits2::eNone ) | VkFlags64( PipelineStageFlagBits2::eTopOfPipe ) | @@ -6674,34 +5621,14 @@ namespace VULKAN_HPP_NAMESPACE VkFlags64( PipelineStageFlagBits2::eMicromapBuildEXT ) | VkFlags64( PipelineStageFlagBits2::eOpticalFlowNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2 operator|( PipelineStageFlagBits2 bit0, PipelineStageFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineStageFlags2( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2 operator&( PipelineStageFlagBits2 bit0, PipelineStageFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineStageFlags2( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2 operator^( PipelineStageFlagBits2 bit0, PipelineStageFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return PipelineStageFlags2( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineStageFlags2 operator~( PipelineStageFlagBits2 bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PipelineStageFlags2( bits ) ); - } - + using PipelineStageFlags2 = Flags; using PipelineStageFlags2KHR = PipelineStageFlags2; - using AccessFlags2 = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags64 { allFlags = @@ -6727,101 +5654,41 @@ namespace VULKAN_HPP_NAMESPACE VkFlags64( AccessFlagBits2::eMicromapWriteEXT ) | VkFlags64( AccessFlagBits2::eOpticalFlowReadNV ) | VkFlags64( AccessFlagBits2::eOpticalFlowWriteNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2 operator|( AccessFlagBits2 bit0, AccessFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags2( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2 operator&( AccessFlagBits2 bit0, AccessFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags2( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2 operator^( AccessFlagBits2 bit0, AccessFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccessFlags2( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccessFlags2 operator~( AccessFlagBits2 bits ) VULKAN_HPP_NOEXCEPT - { - return ~( AccessFlags2( bits ) ); - } - + using AccessFlags2 = Flags; using AccessFlags2KHR = AccessFlags2; - using SubmitFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SubmitFlagBits::eProtected ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlags operator|( SubmitFlagBits bit0, SubmitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubmitFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlags operator&( SubmitFlagBits bit0, SubmitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubmitFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlags operator^( SubmitFlagBits bit0, SubmitFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return SubmitFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SubmitFlags operator~( SubmitFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SubmitFlags( bits ) ); - } - + using SubmitFlags = Flags; using SubmitFlagsKHR = SubmitFlags; - using RenderingFlags = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( RenderingFlagBits::eContentsSecondaryCommandBuffers ) | VkFlags( RenderingFlagBits::eSuspending ) | VkFlags( RenderingFlagBits::eResuming ) | VkFlags( RenderingFlagBits::eEnableLegacyDitheringEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlags operator|( RenderingFlagBits bit0, RenderingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderingFlags( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlags operator&( RenderingFlagBits bit0, RenderingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderingFlags( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlags operator^( RenderingFlagBits bit0, RenderingFlagBits bit1 ) VULKAN_HPP_NOEXCEPT - { - return RenderingFlags( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR RenderingFlags operator~( RenderingFlagBits bits ) VULKAN_HPP_NOEXCEPT - { - return ~( RenderingFlags( bits ) ); - } - + using RenderingFlags = Flags; using RenderingFlagsKHR = RenderingFlags; - using FormatFeatureFlags2 = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags64 { allFlags = VkFlags64( FormatFeatureFlagBits2::eSampledImage ) | VkFlags64( FormatFeatureFlagBits2::eStorageImage ) | @@ -6854,181 +5721,96 @@ namespace VULKAN_HPP_NAMESPACE VkFlags64( FormatFeatureFlagBits2::eOpticalFlowVectorNV ) | VkFlags64( FormatFeatureFlagBits2::eOpticalFlowCostNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags2 operator|( FormatFeatureFlagBits2 bit0, FormatFeatureFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags2( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags2 operator&( FormatFeatureFlagBits2 bit0, FormatFeatureFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags2( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags2 operator^( FormatFeatureFlagBits2 bit0, FormatFeatureFlagBits2 bit1 ) VULKAN_HPP_NOEXCEPT - { - return FormatFeatureFlags2( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR FormatFeatureFlags2 operator~( FormatFeatureFlagBits2 bits ) VULKAN_HPP_NOEXCEPT - { - return ~( FormatFeatureFlags2( bits ) ); - } - + using FormatFeatureFlags2 = Flags; using FormatFeatureFlags2KHR = FormatFeatureFlags2; //=== VK_KHR_surface === - using CompositeAlphaFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( CompositeAlphaFlagBitsKHR::eOpaque ) | VkFlags( CompositeAlphaFlagBitsKHR::ePreMultiplied ) | VkFlags( CompositeAlphaFlagBitsKHR::ePostMultiplied ) | VkFlags( CompositeAlphaFlagBitsKHR::eInherit ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator|( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return CompositeAlphaFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator&( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return CompositeAlphaFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator^( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return CompositeAlphaFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator~( CompositeAlphaFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( CompositeAlphaFlagsKHR( bits ) ); - } + using CompositeAlphaFlagsKHR = Flags; //=== VK_KHR_swapchain === - using SwapchainCreateFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions ) | VkFlags( SwapchainCreateFlagBitsKHR::eProtected ) | VkFlags( SwapchainCreateFlagBitsKHR::eMutableFormat ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator|( SwapchainCreateFlagBitsKHR bit0, - SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SwapchainCreateFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator&( SwapchainCreateFlagBitsKHR bit0, - SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SwapchainCreateFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator^( SwapchainCreateFlagBitsKHR bit0, - SwapchainCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SwapchainCreateFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SwapchainCreateFlagsKHR operator~( SwapchainCreateFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SwapchainCreateFlagsKHR( bits ) ); - } - - using DeviceGroupPresentModeFlagsKHR = Flags; + using SwapchainCreateFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocal ) | VkFlags( DeviceGroupPresentModeFlagBitsKHR::eRemote ) | VkFlags( DeviceGroupPresentModeFlagBitsKHR::eSum ) | VkFlags( DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR operator|( DeviceGroupPresentModeFlagBitsKHR bit0, - DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceGroupPresentModeFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR operator&( DeviceGroupPresentModeFlagBitsKHR bit0, - DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceGroupPresentModeFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR operator^( DeviceGroupPresentModeFlagBitsKHR bit0, - DeviceGroupPresentModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceGroupPresentModeFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceGroupPresentModeFlagsKHR operator~( DeviceGroupPresentModeFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DeviceGroupPresentModeFlagsKHR( bits ) ); - } + using DeviceGroupPresentModeFlagsKHR = Flags; //=== VK_KHR_display === - using DisplayModeCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using DisplayPlaneAlphaFlagsKHR = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using DisplayModeCreateFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DisplayPlaneAlphaFlagBitsKHR::eOpaque ) | VkFlags( DisplayPlaneAlphaFlagBitsKHR::eGlobal ) | VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixel ) | VkFlags( DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied ) }; }; + using DisplayPlaneAlphaFlagsKHR = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator|( DisplayPlaneAlphaFlagBitsKHR bit0, - DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return DisplayPlaneAlphaFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator&( DisplayPlaneAlphaFlagBitsKHR bit0, - DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return DisplayPlaneAlphaFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator^( DisplayPlaneAlphaFlagBitsKHR bit0, - DisplayPlaneAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return DisplayPlaneAlphaFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DisplayPlaneAlphaFlagsKHR operator~( DisplayPlaneAlphaFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DisplayPlaneAlphaFlagsKHR( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using DisplaySurfaceCreateFlagsKHR = Flags; - using SurfaceTransformFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SurfaceTransformFlagBitsKHR::eIdentity ) | VkFlags( SurfaceTransformFlagBitsKHR::eRotate90 ) | @@ -7038,145 +5820,125 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( SurfaceTransformFlagBitsKHR::eInherit ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator|( SurfaceTransformFlagBitsKHR bit0, - SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceTransformFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator&( SurfaceTransformFlagBitsKHR bit0, - SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceTransformFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator^( SurfaceTransformFlagBitsKHR bit0, - SurfaceTransformFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceTransformFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceTransformFlagsKHR operator~( SurfaceTransformFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SurfaceTransformFlagsKHR( bits ) ); - } + using SurfaceTransformFlagsKHR = Flags; #if defined( VK_USE_PLATFORM_XLIB_KHR ) //=== VK_KHR_xlib_surface === - using XlibSurfaceCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using XlibSurfaceCreateFlagsKHR = Flags; #endif /*VK_USE_PLATFORM_XLIB_KHR*/ #if defined( VK_USE_PLATFORM_XCB_KHR ) //=== VK_KHR_xcb_surface === - using XcbSurfaceCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using XcbSurfaceCreateFlagsKHR = Flags; #endif /*VK_USE_PLATFORM_XCB_KHR*/ #if defined( VK_USE_PLATFORM_WAYLAND_KHR ) //=== VK_KHR_wayland_surface === - using WaylandSurfaceCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using WaylandSurfaceCreateFlagsKHR = Flags; #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) //=== VK_KHR_android_surface === - using AndroidSurfaceCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using AndroidSurfaceCreateFlagsKHR = Flags; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_WIN32_KHR ) //=== VK_KHR_win32_surface === - using Win32SurfaceCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using Win32SurfaceCreateFlagsKHR = Flags; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ //=== VK_EXT_debug_report === - using DebugReportFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DebugReportFlagBitsEXT::eInformation ) | VkFlags( DebugReportFlagBitsEXT::eWarning ) | VkFlags( DebugReportFlagBitsEXT::ePerformanceWarning ) | VkFlags( DebugReportFlagBitsEXT::eError ) | VkFlags( DebugReportFlagBitsEXT::eDebug ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator|( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugReportFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator&( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugReportFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator^( DebugReportFlagBitsEXT bit0, DebugReportFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugReportFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugReportFlagsEXT operator~( DebugReportFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DebugReportFlagsEXT( bits ) ); - } + using DebugReportFlagsEXT = Flags; #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_KHR_video_queue === - using VideoCodecOperationFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { - allFlags = VkFlags( VideoCodecOperationFlagBitsKHR::eNone ) -# if defined( VK_ENABLE_BETA_EXTENSIONS ) - | VkFlags( VideoCodecOperationFlagBitsKHR::eEncodeH264EXT ) | VkFlags( VideoCodecOperationFlagBitsKHR::eEncodeH265EXT ) | - VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH264EXT ) | VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH265EXT ) -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + allFlags = VkFlags( VideoCodecOperationFlagBitsKHR::eNone ) | VkFlags( VideoCodecOperationFlagBitsKHR::eEncodeH264EXT ) | + VkFlags( VideoCodecOperationFlagBitsKHR::eEncodeH265EXT ) | VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH264EXT ) | + VkFlags( VideoCodecOperationFlagBitsKHR::eDecodeH265EXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR operator|( VideoCodecOperationFlagBitsKHR bit0, - VideoCodecOperationFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodecOperationFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR operator&( VideoCodecOperationFlagBitsKHR bit0, - VideoCodecOperationFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodecOperationFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR operator^( VideoCodecOperationFlagBitsKHR bit0, - VideoCodecOperationFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodecOperationFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodecOperationFlagsKHR operator~( VideoCodecOperationFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoCodecOperationFlagsKHR( bits ) ); - } - - using VideoChromaSubsamplingFlagsKHR = Flags; + using VideoCodecOperationFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoChromaSubsamplingFlagBitsKHR::eInvalid ) | VkFlags( VideoChromaSubsamplingFlagBitsKHR::eMonochrome ) | @@ -7184,266 +5946,158 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoChromaSubsamplingFlagBitsKHR::e444 ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR operator|( VideoChromaSubsamplingFlagBitsKHR bit0, - VideoChromaSubsamplingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoChromaSubsamplingFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR operator&( VideoChromaSubsamplingFlagBitsKHR bit0, - VideoChromaSubsamplingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoChromaSubsamplingFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR operator^( VideoChromaSubsamplingFlagBitsKHR bit0, - VideoChromaSubsamplingFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoChromaSubsamplingFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoChromaSubsamplingFlagsKHR operator~( VideoChromaSubsamplingFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoChromaSubsamplingFlagsKHR( bits ) ); - } - - using VideoComponentBitDepthFlagsKHR = Flags; + using VideoChromaSubsamplingFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoComponentBitDepthFlagBitsKHR::eInvalid ) | VkFlags( VideoComponentBitDepthFlagBitsKHR::e8 ) | VkFlags( VideoComponentBitDepthFlagBitsKHR::e10 ) | VkFlags( VideoComponentBitDepthFlagBitsKHR::e12 ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR operator|( VideoComponentBitDepthFlagBitsKHR bit0, - VideoComponentBitDepthFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoComponentBitDepthFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR operator&( VideoComponentBitDepthFlagBitsKHR bit0, - VideoComponentBitDepthFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoComponentBitDepthFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR operator^( VideoComponentBitDepthFlagBitsKHR bit0, - VideoComponentBitDepthFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoComponentBitDepthFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoComponentBitDepthFlagsKHR operator~( VideoComponentBitDepthFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoComponentBitDepthFlagsKHR( bits ) ); - } - - using VideoCapabilityFlagsKHR = Flags; + using VideoComponentBitDepthFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoCapabilityFlagBitsKHR::eProtectedContent ) | VkFlags( VideoCapabilityFlagBitsKHR::eSeparateReferenceImages ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR operator|( VideoCapabilityFlagBitsKHR bit0, - VideoCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCapabilityFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR operator&( VideoCapabilityFlagBitsKHR bit0, - VideoCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCapabilityFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR operator^( VideoCapabilityFlagBitsKHR bit0, - VideoCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCapabilityFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCapabilityFlagsKHR operator~( VideoCapabilityFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoCapabilityFlagsKHR( bits ) ); - } - - using VideoSessionCreateFlagsKHR = Flags; + using VideoCapabilityFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoSessionCreateFlagBitsKHR::eProtectedContent ) }; }; + using VideoSessionCreateFlagsKHR = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR operator|( VideoSessionCreateFlagBitsKHR bit0, - VideoSessionCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return VideoSessionCreateFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR operator&( VideoSessionCreateFlagBitsKHR bit0, - VideoSessionCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoSessionCreateFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR operator^( VideoSessionCreateFlagBitsKHR bit0, - VideoSessionCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoSessionCreateFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoSessionCreateFlagsKHR operator~( VideoSessionCreateFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoSessionCreateFlagsKHR( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using VideoSessionParametersCreateFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using VideoBeginCodingFlagsKHR = Flags; - using VideoEndCodingFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using VideoCodingControlFlagsKHR = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using VideoEndCodingFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { - allFlags = VkFlags( VideoCodingControlFlagBitsKHR::eReset ) -# if defined( VK_ENABLE_BETA_EXTENSIONS ) - | VkFlags( VideoCodingControlFlagBitsKHR::eEncodeRateControl ) | VkFlags( VideoCodingControlFlagBitsKHR::eEncodeRateControlLayer ) -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + allFlags = VkFlags( VideoCodingControlFlagBitsKHR::eReset ) | VkFlags( VideoCodingControlFlagBitsKHR::eEncodeRateControl ) | + VkFlags( VideoCodingControlFlagBitsKHR::eEncodeRateControlLayer ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR operator|( VideoCodingControlFlagBitsKHR bit0, - VideoCodingControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodingControlFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR operator&( VideoCodingControlFlagBitsKHR bit0, - VideoCodingControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodingControlFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR operator^( VideoCodingControlFlagBitsKHR bit0, - VideoCodingControlFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoCodingControlFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoCodingControlFlagsKHR operator~( VideoCodingControlFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoCodingControlFlagsKHR( bits ) ); - } - + using VideoCodingControlFlagsKHR = Flags; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_KHR_video_decode_queue === - using VideoDecodeCapabilityFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide ) | VkFlags( VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeCapabilityFlagsKHR operator|( VideoDecodeCapabilityFlagBitsKHR bit0, - VideoDecodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeCapabilityFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeCapabilityFlagsKHR operator&( VideoDecodeCapabilityFlagBitsKHR bit0, - VideoDecodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeCapabilityFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeCapabilityFlagsKHR operator^( VideoDecodeCapabilityFlagBitsKHR bit0, - VideoDecodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeCapabilityFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeCapabilityFlagsKHR operator~( VideoDecodeCapabilityFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoDecodeCapabilityFlagsKHR( bits ) ); - } - - using VideoDecodeUsageFlagsKHR = Flags; + using VideoDecodeCapabilityFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoDecodeUsageFlagBitsKHR::eDefault ) | VkFlags( VideoDecodeUsageFlagBitsKHR::eTranscoding ) | VkFlags( VideoDecodeUsageFlagBitsKHR::eOffline ) | VkFlags( VideoDecodeUsageFlagBitsKHR::eStreaming ) }; }; + using VideoDecodeUsageFlagsKHR = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeUsageFlagsKHR operator|( VideoDecodeUsageFlagBitsKHR bit0, - VideoDecodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return VideoDecodeUsageFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeUsageFlagsKHR operator&( VideoDecodeUsageFlagBitsKHR bit0, - VideoDecodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeUsageFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeUsageFlagsKHR operator^( VideoDecodeUsageFlagBitsKHR bit0, - VideoDecodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeUsageFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeUsageFlagsKHR operator~( VideoDecodeUsageFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoDecodeUsageFlagsKHR( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using VideoDecodeFlagsKHR = Flags; - #endif /*VK_ENABLE_BETA_EXTENSIONS*/ //=== VK_EXT_transform_feedback === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineRasterizationStateStreamCreateFlagsEXT = Flags; #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_EXT_video_encode_h264 === - using VideoEncodeH264CapabilityFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = @@ -7462,110 +6116,43 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eDifferentSliceType ) | VkFlags( VideoEncodeH264CapabilityFlagBitsEXT::eBFrameInL1List ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator|( VideoEncodeH264CapabilityFlagBitsEXT bit0, - VideoEncodeH264CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264CapabilityFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator&( VideoEncodeH264CapabilityFlagBitsEXT bit0, - VideoEncodeH264CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264CapabilityFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator^( VideoEncodeH264CapabilityFlagBitsEXT bit0, - VideoEncodeH264CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264CapabilityFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilityFlagsEXT operator~( VideoEncodeH264CapabilityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH264CapabilityFlagsEXT( bits ) ); - } - - using VideoEncodeH264InputModeFlagsEXT = Flags; + using VideoEncodeH264CapabilityFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eFrame ) | VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eSlice ) | VkFlags( VideoEncodeH264InputModeFlagBitsEXT::eNonVcl ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT operator|( VideoEncodeH264InputModeFlagBitsEXT bit0, - VideoEncodeH264InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264InputModeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT operator&( VideoEncodeH264InputModeFlagBitsEXT bit0, - VideoEncodeH264InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264InputModeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT operator^( VideoEncodeH264InputModeFlagBitsEXT bit0, - VideoEncodeH264InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264InputModeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264InputModeFlagsEXT operator~( VideoEncodeH264InputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH264InputModeFlagsEXT( bits ) ); - } - - using VideoEncodeH264OutputModeFlagsEXT = Flags; + using VideoEncodeH264InputModeFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eFrame ) | VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eSlice ) | VkFlags( VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator|( VideoEncodeH264OutputModeFlagBitsEXT bit0, - VideoEncodeH264OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264OutputModeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator&( VideoEncodeH264OutputModeFlagBitsEXT bit0, - VideoEncodeH264OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264OutputModeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator^( VideoEncodeH264OutputModeFlagBitsEXT bit0, - VideoEncodeH264OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH264OutputModeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH264OutputModeFlagsEXT operator~( VideoEncodeH264OutputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH264OutputModeFlagsEXT( bits ) ); - } - + using VideoEncodeH264OutputModeFlagsEXT = Flags; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_EXT_video_encode_h265 === - using VideoEncodeH265CapabilityFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = @@ -7585,181 +6172,69 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator|( VideoEncodeH265CapabilityFlagBitsEXT bit0, - VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator&( VideoEncodeH265CapabilityFlagBitsEXT bit0, - VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator^( VideoEncodeH265CapabilityFlagBitsEXT bit0, - VideoEncodeH265CapabilityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CapabilityFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilityFlagsEXT operator~( VideoEncodeH265CapabilityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH265CapabilityFlagsEXT( bits ) ); - } - - using VideoEncodeH265InputModeFlagsEXT = Flags; + using VideoEncodeH265CapabilityFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH265InputModeFlagBitsEXT::eFrame ) | VkFlags( VideoEncodeH265InputModeFlagBitsEXT::eSliceSegment ) | VkFlags( VideoEncodeH265InputModeFlagBitsEXT::eNonVcl ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265InputModeFlagsEXT operator|( VideoEncodeH265InputModeFlagBitsEXT bit0, - VideoEncodeH265InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265InputModeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265InputModeFlagsEXT operator&( VideoEncodeH265InputModeFlagBitsEXT bit0, - VideoEncodeH265InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265InputModeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265InputModeFlagsEXT operator^( VideoEncodeH265InputModeFlagBitsEXT bit0, - VideoEncodeH265InputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265InputModeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265InputModeFlagsEXT operator~( VideoEncodeH265InputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH265InputModeFlagsEXT( bits ) ); - } - - using VideoEncodeH265OutputModeFlagsEXT = Flags; + using VideoEncodeH265InputModeFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH265OutputModeFlagBitsEXT::eFrame ) | VkFlags( VideoEncodeH265OutputModeFlagBitsEXT::eSliceSegment ) | VkFlags( VideoEncodeH265OutputModeFlagBitsEXT::eNonVcl ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265OutputModeFlagsEXT operator|( VideoEncodeH265OutputModeFlagBitsEXT bit0, - VideoEncodeH265OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265OutputModeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265OutputModeFlagsEXT operator&( VideoEncodeH265OutputModeFlagBitsEXT bit0, - VideoEncodeH265OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265OutputModeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265OutputModeFlagsEXT operator^( VideoEncodeH265OutputModeFlagBitsEXT bit0, - VideoEncodeH265OutputModeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265OutputModeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265OutputModeFlagsEXT operator~( VideoEncodeH265OutputModeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH265OutputModeFlagsEXT( bits ) ); - } - - using VideoEncodeH265CtbSizeFlagsEXT = Flags; + using VideoEncodeH265OutputModeFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH265CtbSizeFlagBitsEXT::e16 ) | VkFlags( VideoEncodeH265CtbSizeFlagBitsEXT::e32 ) | VkFlags( VideoEncodeH265CtbSizeFlagBitsEXT::e64 ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT operator|( VideoEncodeH265CtbSizeFlagBitsEXT bit0, - VideoEncodeH265CtbSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CtbSizeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT operator&( VideoEncodeH265CtbSizeFlagBitsEXT bit0, - VideoEncodeH265CtbSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CtbSizeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT operator^( VideoEncodeH265CtbSizeFlagBitsEXT bit0, - VideoEncodeH265CtbSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265CtbSizeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265CtbSizeFlagsEXT operator~( VideoEncodeH265CtbSizeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH265CtbSizeFlagsEXT( bits ) ); - } - - using VideoEncodeH265TransformBlockSizeFlagsEXT = Flags; + using VideoEncodeH265CtbSizeFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeH265TransformBlockSizeFlagBitsEXT::e4 ) | VkFlags( VideoEncodeH265TransformBlockSizeFlagBitsEXT::e8 ) | VkFlags( VideoEncodeH265TransformBlockSizeFlagBitsEXT::e16 ) | VkFlags( VideoEncodeH265TransformBlockSizeFlagBitsEXT::e32 ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT - operator|( VideoEncodeH265TransformBlockSizeFlagBitsEXT bit0, VideoEncodeH265TransformBlockSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265TransformBlockSizeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT - operator&( VideoEncodeH265TransformBlockSizeFlagBitsEXT bit0, VideoEncodeH265TransformBlockSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265TransformBlockSizeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT - operator^( VideoEncodeH265TransformBlockSizeFlagBitsEXT bit0, VideoEncodeH265TransformBlockSizeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeH265TransformBlockSizeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeH265TransformBlockSizeFlagsEXT operator~( VideoEncodeH265TransformBlockSizeFlagBitsEXT bits ) - VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeH265TransformBlockSizeFlagsEXT( bits ) ); - } - + using VideoEncodeH265TransformBlockSizeFlagsEXT = Flags; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_EXT_video_decode_h264 === - using VideoDecodeH264PictureLayoutFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive ) | @@ -7767,376 +6242,298 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator|( VideoDecodeH264PictureLayoutFlagBitsEXT bit0, - VideoDecodeH264PictureLayoutFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator&( VideoDecodeH264PictureLayoutFlagBitsEXT bit0, - VideoDecodeH264PictureLayoutFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator^( VideoDecodeH264PictureLayoutFlagBitsEXT bit0, - VideoDecodeH264PictureLayoutFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoDecodeH264PictureLayoutFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureLayoutFlagsEXT operator~( VideoDecodeH264PictureLayoutFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoDecodeH264PictureLayoutFlagsEXT( bits ) ); - } - + using VideoDecodeH264PictureLayoutFlagsEXT = Flags; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_USE_PLATFORM_GGP ) //=== VK_GGP_stream_descriptor_surface === - using StreamDescriptorSurfaceCreateFlagsGGP = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using StreamDescriptorSurfaceCreateFlagsGGP = Flags; #endif /*VK_USE_PLATFORM_GGP*/ //=== VK_NV_external_memory_capabilities === - using ExternalMemoryHandleTypeFlagsNV = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 ) | VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt ) | VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image ) | VkFlags( ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV operator|( ExternalMemoryHandleTypeFlagBitsNV bit0, - ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV operator&( ExternalMemoryHandleTypeFlagBitsNV bit0, - ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV operator^( ExternalMemoryHandleTypeFlagBitsNV bit0, - ExternalMemoryHandleTypeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryHandleTypeFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryHandleTypeFlagsNV operator~( ExternalMemoryHandleTypeFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalMemoryHandleTypeFlagsNV( bits ) ); - } - - using ExternalMemoryFeatureFlagsNV = Flags; + using ExternalMemoryHandleTypeFlagsNV = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly ) | VkFlags( ExternalMemoryFeatureFlagBitsNV::eExportable ) | VkFlags( ExternalMemoryFeatureFlagBitsNV::eImportable ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator|( ExternalMemoryFeatureFlagBitsNV bit0, - ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator&( ExternalMemoryFeatureFlagBitsNV bit0, - ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator^( ExternalMemoryFeatureFlagBitsNV bit0, - ExternalMemoryFeatureFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExternalMemoryFeatureFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExternalMemoryFeatureFlagsNV operator~( ExternalMemoryFeatureFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExternalMemoryFeatureFlagsNV( bits ) ); - } + using ExternalMemoryFeatureFlagsNV = Flags; #if defined( VK_USE_PLATFORM_VI_NN ) //=== VK_NN_vi_surface === - using ViSurfaceCreateFlagsNN = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using ViSurfaceCreateFlagsNN = Flags; #endif /*VK_USE_PLATFORM_VI_NN*/ //=== VK_EXT_conditional_rendering === - using ConditionalRenderingFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ConditionalRenderingFlagBitsEXT::eInverted ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator|( ConditionalRenderingFlagBitsEXT bit0, - ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ConditionalRenderingFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator&( ConditionalRenderingFlagBitsEXT bit0, - ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ConditionalRenderingFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator^( ConditionalRenderingFlagBitsEXT bit0, - ConditionalRenderingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ConditionalRenderingFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ConditionalRenderingFlagsEXT operator~( ConditionalRenderingFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ConditionalRenderingFlagsEXT( bits ) ); - } + using ConditionalRenderingFlagsEXT = Flags; //=== VK_EXT_display_surface_counter === - using SurfaceCounterFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( SurfaceCounterFlagBitsEXT::eVblank ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator|( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceCounterFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator&( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceCounterFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator^( SurfaceCounterFlagBitsEXT bit0, SurfaceCounterFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return SurfaceCounterFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR SurfaceCounterFlagsEXT operator~( SurfaceCounterFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( SurfaceCounterFlagsEXT( bits ) ); - } + using SurfaceCounterFlagsEXT = Flags; //=== VK_NV_viewport_swizzle === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineViewportSwizzleStateCreateFlagsNV = Flags; //=== VK_EXT_discard_rectangles === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineDiscardRectangleStateCreateFlagsEXT = Flags; //=== VK_EXT_conservative_rasterization === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineRasterizationConservativeStateCreateFlagsEXT = Flags; //=== VK_EXT_depth_clip_enable === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineRasterizationDepthClipStateCreateFlagsEXT = Flags; //=== VK_KHR_performance_query === - using PerformanceCounterDescriptionFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting ) | VkFlags( PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted ) }; }; + using PerformanceCounterDescriptionFlagsKHR = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator|( PerformanceCounterDescriptionFlagBitsKHR bit0, - PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return PerformanceCounterDescriptionFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator&( PerformanceCounterDescriptionFlagBitsKHR bit0, - PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return PerformanceCounterDescriptionFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator^( PerformanceCounterDescriptionFlagBitsKHR bit0, - PerformanceCounterDescriptionFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return PerformanceCounterDescriptionFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PerformanceCounterDescriptionFlagsKHR operator~( PerformanceCounterDescriptionFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( PerformanceCounterDescriptionFlagsKHR( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using AcquireProfilingLockFlagsKHR = Flags; #if defined( VK_USE_PLATFORM_IOS_MVK ) //=== VK_MVK_ios_surface === - using IOSSurfaceCreateFlagsMVK = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using IOSSurfaceCreateFlagsMVK = Flags; #endif /*VK_USE_PLATFORM_IOS_MVK*/ #if defined( VK_USE_PLATFORM_MACOS_MVK ) //=== VK_MVK_macos_surface === - using MacOSSurfaceCreateFlagsMVK = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using MacOSSurfaceCreateFlagsMVK = Flags; #endif /*VK_USE_PLATFORM_MACOS_MVK*/ //=== VK_EXT_debug_utils === - using DebugUtilsMessageSeverityFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eVerbose ) | VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eInfo ) | VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eWarning ) | VkFlags( DebugUtilsMessageSeverityFlagBitsEXT::eError ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator|( DebugUtilsMessageSeverityFlagBitsEXT bit0, - DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugUtilsMessageSeverityFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator&( DebugUtilsMessageSeverityFlagBitsEXT bit0, - DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugUtilsMessageSeverityFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator^( DebugUtilsMessageSeverityFlagBitsEXT bit0, - DebugUtilsMessageSeverityFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugUtilsMessageSeverityFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageSeverityFlagsEXT operator~( DebugUtilsMessageSeverityFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DebugUtilsMessageSeverityFlagsEXT( bits ) ); - } - - using DebugUtilsMessageTypeFlagsEXT = Flags; + using DebugUtilsMessageSeverityFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eGeneral ) | VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eValidation ) | VkFlags( DebugUtilsMessageTypeFlagBitsEXT::ePerformance ) | VkFlags( DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding ) }; }; + using DebugUtilsMessageTypeFlagsEXT = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT operator|( DebugUtilsMessageTypeFlagBitsEXT bit0, - DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return DebugUtilsMessageTypeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT operator&( DebugUtilsMessageTypeFlagBitsEXT bit0, - DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugUtilsMessageTypeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT operator^( DebugUtilsMessageTypeFlagBitsEXT bit0, - DebugUtilsMessageTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DebugUtilsMessageTypeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DebugUtilsMessageTypeFlagsEXT operator~( DebugUtilsMessageTypeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DebugUtilsMessageTypeFlagsEXT( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using DebugUtilsMessengerCallbackDataFlagsEXT = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using DebugUtilsMessengerCreateFlagsEXT = Flags; //=== VK_NV_fragment_coverage_to_color === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineCoverageToColorStateCreateFlagsNV = Flags; //=== VK_KHR_acceleration_structure === - using GeometryFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( GeometryFlagBitsKHR::eOpaque ) | VkFlags( GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator|( GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator&( GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator^( GeometryFlagBitsKHR bit0, GeometryFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryFlagsKHR operator~( GeometryFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( GeometryFlagsKHR( bits ) ); - } - - using GeometryFlagsNV = GeometryFlagsKHR; - - using GeometryInstanceFlagsKHR = Flags; + using GeometryFlagsKHR = Flags; + using GeometryFlagsNV = GeometryFlagsKHR; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable ) | VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFlipFacing ) | @@ -8144,37 +6541,14 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT ) | VkFlags( GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator|( GeometryInstanceFlagBitsKHR bit0, - GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryInstanceFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator&( GeometryInstanceFlagBitsKHR bit0, - GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryInstanceFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator^( GeometryInstanceFlagBitsKHR bit0, - GeometryInstanceFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return GeometryInstanceFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GeometryInstanceFlagsKHR operator~( GeometryInstanceFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( GeometryInstanceFlagsKHR( bits ) ); - } - - using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR; - - using BuildAccelerationStructureFlagsKHR = Flags; + using GeometryInstanceFlagsKHR = Flags; + using GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowUpdate ) | VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowCompaction ) | @@ -8185,220 +6559,210 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator|( BuildAccelerationStructureFlagBitsKHR bit0, - BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildAccelerationStructureFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator&( BuildAccelerationStructureFlagBitsKHR bit0, - BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildAccelerationStructureFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator^( BuildAccelerationStructureFlagBitsKHR bit0, - BuildAccelerationStructureFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildAccelerationStructureFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildAccelerationStructureFlagsKHR operator~( BuildAccelerationStructureFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( BuildAccelerationStructureFlagsKHR( bits ) ); - } - - using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR; - - using AccelerationStructureCreateFlagsKHR = Flags; + using BuildAccelerationStructureFlagsKHR = Flags; + using BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay ) | VkFlags( AccelerationStructureCreateFlagBitsKHR::eMotionNV ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator|( AccelerationStructureCreateFlagBitsKHR bit0, - AccelerationStructureCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccelerationStructureCreateFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator&( AccelerationStructureCreateFlagBitsKHR bit0, - AccelerationStructureCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccelerationStructureCreateFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator^( AccelerationStructureCreateFlagBitsKHR bit0, - AccelerationStructureCreateFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return AccelerationStructureCreateFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR AccelerationStructureCreateFlagsKHR operator~( AccelerationStructureCreateFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( AccelerationStructureCreateFlagsKHR( bits ) ); - } + using AccelerationStructureCreateFlagsKHR = Flags; //=== VK_NV_framebuffer_mixed_samples === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineCoverageModulationStateCreateFlagsNV = Flags; //=== VK_EXT_validation_cache === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using ValidationCacheCreateFlagsEXT = Flags; //=== VK_AMD_pipeline_compiler_control === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineCompilerControlFlagsAMD = Flags; #if defined( VK_USE_PLATFORM_FUCHSIA ) //=== VK_FUCHSIA_imagepipe_surface === - using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using ImagePipeSurfaceCreateFlagsFUCHSIA = Flags; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_surface === - using MetalSurfaceCreateFlagsEXT = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using MetalSurfaceCreateFlagsEXT = Flags; #endif /*VK_USE_PLATFORM_METAL_EXT*/ //=== VK_AMD_shader_core_properties2 === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using ShaderCorePropertiesFlagsAMD = Flags; //=== VK_NV_coverage_reduction_mode === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using PipelineCoverageReductionStateCreateFlagsNV = Flags; //=== VK_EXT_headless_surface === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using HeadlessSurfaceCreateFlagsEXT = Flags; //=== VK_NV_device_generated_commands === - using IndirectStateFlagsNV = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( IndirectStateFlagBitsNV::eFlagFrontface ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator|( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectStateFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator&( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectStateFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator^( IndirectStateFlagBitsNV bit0, IndirectStateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectStateFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectStateFlagsNV operator~( IndirectStateFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( IndirectStateFlagsNV( bits ) ); - } - - using IndirectCommandsLayoutUsageFlagsNV = Flags; + using IndirectStateFlagsNV = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess ) | VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences ) | VkFlags( IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator|( IndirectCommandsLayoutUsageFlagBitsNV bit0, - IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectCommandsLayoutUsageFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator&( IndirectCommandsLayoutUsageFlagBitsNV bit0, - IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectCommandsLayoutUsageFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator^( IndirectCommandsLayoutUsageFlagBitsNV bit0, - IndirectCommandsLayoutUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return IndirectCommandsLayoutUsageFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutUsageFlagsNV operator~( IndirectCommandsLayoutUsageFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( IndirectCommandsLayoutUsageFlagsNV( bits ) ); - } + using IndirectCommandsLayoutUsageFlagsNV = Flags; //=== VK_EXT_device_memory_report === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using DeviceMemoryReportFlagsEXT = Flags; #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_KHR_video_encode_queue === - using VideoEncodeFlagsKHR = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using VideoEncodeCapabilityFlagsKHR = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using VideoEncodeFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeCapabilityFlagsKHR operator|( VideoEncodeCapabilityFlagBitsKHR bit0, - VideoEncodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeCapabilityFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeCapabilityFlagsKHR operator&( VideoEncodeCapabilityFlagBitsKHR bit0, - VideoEncodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeCapabilityFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeCapabilityFlagsKHR operator^( VideoEncodeCapabilityFlagBitsKHR bit0, - VideoEncodeCapabilityFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeCapabilityFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeCapabilityFlagsKHR operator~( VideoEncodeCapabilityFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeCapabilityFlagsKHR( bits ) ); - } - - using VideoEncodeUsageFlagsKHR = Flags; + using VideoEncodeCapabilityFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeUsageFlagBitsKHR::eDefault ) | VkFlags( VideoEncodeUsageFlagBitsKHR::eTranscoding ) | @@ -8406,111 +6770,54 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoEncodeUsageFlagBitsKHR::eConferencing ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeUsageFlagsKHR operator|( VideoEncodeUsageFlagBitsKHR bit0, - VideoEncodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeUsageFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeUsageFlagsKHR operator&( VideoEncodeUsageFlagBitsKHR bit0, - VideoEncodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeUsageFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeUsageFlagsKHR operator^( VideoEncodeUsageFlagBitsKHR bit0, - VideoEncodeUsageFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeUsageFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeUsageFlagsKHR operator~( VideoEncodeUsageFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeUsageFlagsKHR( bits ) ); - } - - using VideoEncodeContentFlagsKHR = Flags; + using VideoEncodeUsageFlagsKHR = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeContentFlagBitsKHR::eDefault ) | VkFlags( VideoEncodeContentFlagBitsKHR::eCamera ) | VkFlags( VideoEncodeContentFlagBitsKHR::eDesktop ) | VkFlags( VideoEncodeContentFlagBitsKHR::eRendered ) }; }; + using VideoEncodeContentFlagsKHR = Flags; - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeContentFlagsKHR operator|( VideoEncodeContentFlagBitsKHR bit0, - VideoEncodeContentFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT + template <> + struct FlagTraits { - return VideoEncodeContentFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeContentFlagsKHR operator&( VideoEncodeContentFlagBitsKHR bit0, - VideoEncodeContentFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeContentFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeContentFlagsKHR operator^( VideoEncodeContentFlagBitsKHR bit0, - VideoEncodeContentFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeContentFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeContentFlagsKHR operator~( VideoEncodeContentFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeContentFlagsKHR( bits ) ); - } + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; using VideoEncodeRateControlFlagsKHR = Flags; - using VideoEncodeRateControlModeFlagsKHR = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eNone ) | VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eCbr ) | VkFlags( VideoEncodeRateControlModeFlagBitsKHR::eVbr ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator|( VideoEncodeRateControlModeFlagBitsKHR bit0, - VideoEncodeRateControlModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeRateControlModeFlagsKHR( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator&( VideoEncodeRateControlModeFlagBitsKHR bit0, - VideoEncodeRateControlModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeRateControlModeFlagsKHR( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator^( VideoEncodeRateControlModeFlagBitsKHR bit0, - VideoEncodeRateControlModeFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT - { - return VideoEncodeRateControlModeFlagsKHR( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR VideoEncodeRateControlModeFlagsKHR operator~( VideoEncodeRateControlModeFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT - { - return ~( VideoEncodeRateControlModeFlagsKHR( bits ) ); - } - + using VideoEncodeRateControlModeFlagsKHR = Flags; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ //=== VK_NV_device_diagnostics_config === - using DeviceDiagnosticsConfigFlagsNV = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo ) | VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking ) | @@ -8518,38 +6825,16 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV operator|( DeviceDiagnosticsConfigFlagBitsNV bit0, - DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceDiagnosticsConfigFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV operator&( DeviceDiagnosticsConfigFlagBitsNV bit0, - DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceDiagnosticsConfigFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV operator^( DeviceDiagnosticsConfigFlagBitsNV bit0, - DeviceDiagnosticsConfigFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceDiagnosticsConfigFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigFlagsNV operator~( DeviceDiagnosticsConfigFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DeviceDiagnosticsConfigFlagsNV( bits ) ); - } + using DeviceDiagnosticsConfigFlagsNV = Flags; #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === - using ExportMetalObjectTypeFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ExportMetalObjectTypeFlagBitsEXT::eMetalDevice ) | VkFlags( ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue ) | @@ -8557,39 +6842,16 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface ) | VkFlags( ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExportMetalObjectTypeFlagsEXT operator|( ExportMetalObjectTypeFlagBitsEXT bit0, - ExportMetalObjectTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExportMetalObjectTypeFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExportMetalObjectTypeFlagsEXT operator&( ExportMetalObjectTypeFlagBitsEXT bit0, - ExportMetalObjectTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExportMetalObjectTypeFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExportMetalObjectTypeFlagsEXT operator^( ExportMetalObjectTypeFlagBitsEXT bit0, - ExportMetalObjectTypeFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ExportMetalObjectTypeFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ExportMetalObjectTypeFlagsEXT operator~( ExportMetalObjectTypeFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ExportMetalObjectTypeFlagsEXT( bits ) ); - } - + using ExportMetalObjectTypeFlagsEXT = Flags; #endif /*VK_USE_PLATFORM_METAL_EXT*/ //=== VK_EXT_graphics_pipeline_library === - using GraphicsPipelineLibraryFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface ) | @@ -8597,78 +6859,54 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryFlagsEXT operator|( GraphicsPipelineLibraryFlagBitsEXT bit0, - GraphicsPipelineLibraryFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return GraphicsPipelineLibraryFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryFlagsEXT operator&( GraphicsPipelineLibraryFlagBitsEXT bit0, - GraphicsPipelineLibraryFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return GraphicsPipelineLibraryFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryFlagsEXT operator^( GraphicsPipelineLibraryFlagBitsEXT bit0, - GraphicsPipelineLibraryFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return GraphicsPipelineLibraryFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryFlagsEXT operator~( GraphicsPipelineLibraryFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( GraphicsPipelineLibraryFlagsEXT( bits ) ); - } + using GraphicsPipelineLibraryFlagsEXT = Flags; //=== VK_NV_ray_tracing_motion_blur === + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using AccelerationStructureMotionInfoFlagsNV = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + + enum : VkFlags + { + allFlags = 0 + }; + }; using AccelerationStructureMotionInstanceFlagsNV = Flags; //=== VK_EXT_image_compression_control === - using ImageCompressionFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageCompressionFlagBitsEXT::eDefault ) | VkFlags( ImageCompressionFlagBitsEXT::eFixedRateDefault ) | VkFlags( ImageCompressionFlagBitsEXT::eFixedRateExplicit ) | VkFlags( ImageCompressionFlagBitsEXT::eDisabled ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFlagsEXT operator|( ImageCompressionFlagBitsEXT bit0, - ImageCompressionFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFlagsEXT operator&( ImageCompressionFlagBitsEXT bit0, - ImageCompressionFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFlagsEXT operator^( ImageCompressionFlagBitsEXT bit0, - ImageCompressionFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFlagsEXT operator~( ImageCompressionFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageCompressionFlagsEXT( bits ) ); - } - - using ImageCompressionFixedRateFlagsEXT = Flags; + using ImageCompressionFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageCompressionFixedRateFlagBitsEXT::eNone ) | VkFlags( ImageCompressionFixedRateFlagBitsEXT::e1Bpc ) | @@ -8686,83 +6924,58 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageCompressionFixedRateFlagBitsEXT::e24Bpc ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFixedRateFlagsEXT operator|( ImageCompressionFixedRateFlagBitsEXT bit0, - ImageCompressionFixedRateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFixedRateFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFixedRateFlagsEXT operator&( ImageCompressionFixedRateFlagBitsEXT bit0, - ImageCompressionFixedRateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFixedRateFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFixedRateFlagsEXT operator^( ImageCompressionFixedRateFlagBitsEXT bit0, - ImageCompressionFixedRateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageCompressionFixedRateFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageCompressionFixedRateFlagsEXT operator~( ImageCompressionFixedRateFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageCompressionFixedRateFlagsEXT( bits ) ); - } + using ImageCompressionFixedRateFlagsEXT = Flags; #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) //=== VK_EXT_directfb_surface === - using DirectFBSurfaceCreateFlagsEXT = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using DirectFBSurfaceCreateFlagsEXT = Flags; #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ //=== VK_EXT_device_address_binding_report === - using DeviceAddressBindingFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( DeviceAddressBindingFlagBitsEXT::eInternalObject ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceAddressBindingFlagsEXT operator|( DeviceAddressBindingFlagBitsEXT bit0, - DeviceAddressBindingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceAddressBindingFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceAddressBindingFlagsEXT operator&( DeviceAddressBindingFlagBitsEXT bit0, - DeviceAddressBindingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceAddressBindingFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceAddressBindingFlagsEXT operator^( DeviceAddressBindingFlagBitsEXT bit0, - DeviceAddressBindingFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return DeviceAddressBindingFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR DeviceAddressBindingFlagsEXT operator~( DeviceAddressBindingFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( DeviceAddressBindingFlagsEXT( bits ) ); - } + using DeviceAddressBindingFlagsEXT = Flags; #if defined( VK_USE_PLATFORM_FUCHSIA ) //=== VK_FUCHSIA_buffer_collection === - using ImageFormatConstraintsFlagsFUCHSIA = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - using ImageConstraintsInfoFlagsFUCHSIA = Flags; + enum : VkFlags + { + allFlags = 0 + }; + }; + using ImageFormatConstraintsFlagsFUCHSIA = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely ) | VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften ) | @@ -8770,111 +6983,59 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA operator|( ImageConstraintsInfoFlagBitsFUCHSIA bit0, - ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA operator&( ImageConstraintsInfoFlagBitsFUCHSIA bit0, - ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA operator^( ImageConstraintsInfoFlagBitsFUCHSIA bit0, - ImageConstraintsInfoFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT - { - return ImageConstraintsInfoFlagsFUCHSIA( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIA operator~( ImageConstraintsInfoFlagBitsFUCHSIA bits ) VULKAN_HPP_NOEXCEPT - { - return ~( ImageConstraintsInfoFlagsFUCHSIA( bits ) ); - } - + using ImageConstraintsInfoFlagsFUCHSIA = Flags; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_SCREEN_QNX ) //=== VK_QNX_screen_surface === - using ScreenSurfaceCreateFlagsQNX = Flags; + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags + { + allFlags = 0 + }; + }; + using ScreenSurfaceCreateFlagsQNX = Flags; #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ //=== VK_EXT_opacity_micromap === - using BuildMicromapFlagsEXT = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( BuildMicromapFlagBitsEXT::ePreferFastTrace ) | VkFlags( BuildMicromapFlagBitsEXT::ePreferFastBuild ) | VkFlags( BuildMicromapFlagBitsEXT::eAllowCompaction ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildMicromapFlagsEXT operator|( BuildMicromapFlagBitsEXT bit0, BuildMicromapFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildMicromapFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildMicromapFlagsEXT operator&( BuildMicromapFlagBitsEXT bit0, BuildMicromapFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildMicromapFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildMicromapFlagsEXT operator^( BuildMicromapFlagBitsEXT bit0, BuildMicromapFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return BuildMicromapFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR BuildMicromapFlagsEXT operator~( BuildMicromapFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( BuildMicromapFlagsEXT( bits ) ); - } - - using MicromapCreateFlagsEXT = Flags; + using BuildMicromapFlagsEXT = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MicromapCreateFlagsEXT operator|( MicromapCreateFlagBitsEXT bit0, MicromapCreateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return MicromapCreateFlagsEXT( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MicromapCreateFlagsEXT operator&( MicromapCreateFlagBitsEXT bit0, MicromapCreateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return MicromapCreateFlagsEXT( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MicromapCreateFlagsEXT operator^( MicromapCreateFlagBitsEXT bit0, MicromapCreateFlagBitsEXT bit1 ) VULKAN_HPP_NOEXCEPT - { - return MicromapCreateFlagsEXT( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MicromapCreateFlagsEXT operator~( MicromapCreateFlagBitsEXT bits ) VULKAN_HPP_NOEXCEPT - { - return ~( MicromapCreateFlagsEXT( bits ) ); - } + using MicromapCreateFlagsEXT = Flags; //=== VK_NV_optical_flow === - using OpticalFlowUsageFlagsNV = Flags; - template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( OpticalFlowUsageFlagBitsNV::eUnknown ) | VkFlags( OpticalFlowUsageFlagBitsNV::eInput ) | @@ -8882,35 +7043,13 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( OpticalFlowUsageFlagBitsNV::eGlobalFlow ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowUsageFlagsNV operator|( OpticalFlowUsageFlagBitsNV bit0, - OpticalFlowUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowUsageFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowUsageFlagsNV operator&( OpticalFlowUsageFlagBitsNV bit0, - OpticalFlowUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowUsageFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowUsageFlagsNV operator^( OpticalFlowUsageFlagBitsNV bit0, - OpticalFlowUsageFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowUsageFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowUsageFlagsNV operator~( OpticalFlowUsageFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( OpticalFlowUsageFlagsNV( bits ) ); - } - - using OpticalFlowGridSizeFlagsNV = Flags; + using OpticalFlowUsageFlagsNV = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( OpticalFlowGridSizeFlagBitsNV::eUnknown ) | VkFlags( OpticalFlowGridSizeFlagBitsNV::e1X1 ) | @@ -8918,35 +7057,13 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( OpticalFlowGridSizeFlagBitsNV::e8X8 ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowGridSizeFlagsNV operator|( OpticalFlowGridSizeFlagBitsNV bit0, - OpticalFlowGridSizeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowGridSizeFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowGridSizeFlagsNV operator&( OpticalFlowGridSizeFlagBitsNV bit0, - OpticalFlowGridSizeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowGridSizeFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowGridSizeFlagsNV operator^( OpticalFlowGridSizeFlagBitsNV bit0, - OpticalFlowGridSizeFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowGridSizeFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowGridSizeFlagsNV operator~( OpticalFlowGridSizeFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( OpticalFlowGridSizeFlagsNV( bits ) ); - } - - using OpticalFlowSessionCreateFlagsNV = Flags; + using OpticalFlowGridSizeFlagsNV = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( OpticalFlowSessionCreateFlagBitsNV::eEnableHint ) | VkFlags( OpticalFlowSessionCreateFlagBitsNV::eEnableCost ) | @@ -8954,63 +7071,18 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( OpticalFlowSessionCreateFlagBitsNV::eBothDirections ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateFlagsNV operator|( OpticalFlowSessionCreateFlagBitsNV bit0, - OpticalFlowSessionCreateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowSessionCreateFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateFlagsNV operator&( OpticalFlowSessionCreateFlagBitsNV bit0, - OpticalFlowSessionCreateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowSessionCreateFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateFlagsNV operator^( OpticalFlowSessionCreateFlagBitsNV bit0, - OpticalFlowSessionCreateFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowSessionCreateFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateFlagsNV operator~( OpticalFlowSessionCreateFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( OpticalFlowSessionCreateFlagsNV( bits ) ); - } - - using OpticalFlowExecuteFlagsNV = Flags; + using OpticalFlowSessionCreateFlagsNV = Flags; template <> struct FlagTraits { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + enum : VkFlags { allFlags = VkFlags( OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints ) }; }; - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowExecuteFlagsNV operator|( OpticalFlowExecuteFlagBitsNV bit0, - OpticalFlowExecuteFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowExecuteFlagsNV( bit0 ) | bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowExecuteFlagsNV operator&( OpticalFlowExecuteFlagBitsNV bit0, - OpticalFlowExecuteFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowExecuteFlagsNV( bit0 ) & bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowExecuteFlagsNV operator^( OpticalFlowExecuteFlagBitsNV bit0, - OpticalFlowExecuteFlagBitsNV bit1 ) VULKAN_HPP_NOEXCEPT - { - return OpticalFlowExecuteFlagsNV( bit0 ) ^ bit1; - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR OpticalFlowExecuteFlagsNV operator~( OpticalFlowExecuteFlagBitsNV bits ) VULKAN_HPP_NOEXCEPT - { - return ~( OpticalFlowExecuteFlagsNV( bits ) ); - } - + using OpticalFlowExecuteFlagsNV = Flags; } // namespace VULKAN_HPP_NAMESPACE #endif diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index c0bab2c..b81194b 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1510,10 +1510,20 @@ namespace VULKAN_HPP_NAMESPACE struct MutableDescriptorTypeCreateInfoEXT; using MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT; + //=== VK_ARM_shader_core_builtins === + struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM; + struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM; + //=============== //=== HANDLEs === //=============== + template + struct isVulkanHandleType + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false; + }; + class SurfaceKHR { public: diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index 8e2d114..054ab21 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -9264,6 +9264,35 @@ namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & physicalDeviceShaderCoreBuiltinsFeaturesARM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsFeaturesARM.shaderCoreBuiltins ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & physicalDeviceShaderCoreBuiltinsPropertiesARM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.shaderCoreCount ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderCoreBuiltinsPropertiesARM.shaderWarpsPerCore ); + return seed; + } + }; + template <> struct hash { diff --git a/include/vulkan/vulkan_static_assertions.hpp b/include/vulkan/vulkan_static_assertions.hpp index 013e2c2..b6a1e9a 100644 --- a/include/vulkan/vulkan_static_assertions.hpp +++ b/include/vulkan/vulkan_static_assertions.hpp @@ -6084,4 +6084,22 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "MutableDescriptorTypeCreateInfoEXT is not nothrow_move_constructible!" ); +//=== VK_ARM_shader_core_builtins === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsFeaturesARM ) == + sizeof( VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderCoreBuiltinsFeaturesARM is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsPropertiesARM ) == + sizeof( VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderCoreBuiltinsPropertiesARM is not nothrow_move_constructible!" ); + #endif diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index eb83a4e..bdd7240 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -3556,19 +3556,19 @@ namespace VULKAN_HPP_NAMESPACE , indexBuffer( indexBuffer_ ) , indexStride( indexStride_ ) , baseTriangle( baseTriangle_ ) - , usageCountsCount( static_cast( usageCounts_.size() ) ) + , usageCountsCount( static_cast( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) ) , pUsageCounts( usageCounts_.data() ) , ppUsageCounts( pUsageCounts_.data() ) , micromap( micromap_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS - VULKAN_HPP_ASSERT( usageCounts_.empty() || pUsageCounts_.empty() || ( usageCounts_.size() == pUsageCounts_.size() ) ); + VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 ); # else - if ( !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() ) ) + if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING - "::AccelerationStructureTrianglesOpacityMicromapEXT::AccelerationStructureTrianglesOpacityMicromapEXT: !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() )" ); + "::AccelerationStructureTrianglesOpacityMicromapEXT::AccelerationStructureTrianglesOpacityMicromapEXT: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } @@ -45136,7 +45136,7 @@ namespace VULKAN_HPP_NAMESPACE , flags( flags_ ) , mode( mode_ ) , dstMicromap( dstMicromap_ ) - , usageCountsCount( static_cast( usageCounts_.size() ) ) + , usageCountsCount( static_cast( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) ) , pUsageCounts( usageCounts_.data() ) , ppUsageCounts( pUsageCounts_.data() ) , data( data_ ) @@ -45145,13 +45145,11 @@ namespace VULKAN_HPP_NAMESPACE , triangleArrayStride( triangleArrayStride_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS - VULKAN_HPP_ASSERT( usageCounts_.empty() || pUsageCounts_.empty() || ( usageCounts_.size() == pUsageCounts_.size() ) ); + VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 ); # else - if ( !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() ) ) + if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) ) { - throw LogicError( - VULKAN_HPP_NAMESPACE_STRING - "::MicromapBuildInfoEXT::MicromapBuildInfoEXT: !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() )" ); + throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::MicromapBuildInfoEXT::MicromapBuildInfoEXT: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } @@ -67474,6 +67472,191 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceShaderClockFeaturesKHR; }; + struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM + { + using NativeType = VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsFeaturesARM( VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , shaderCoreBuiltins( shaderCoreBuiltins_ ) + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsFeaturesARM( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderCoreBuiltinsFeaturesARM( VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderCoreBuiltinsFeaturesARM( *reinterpret_cast( &rhs ) ) + { + } +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceShaderCoreBuiltinsFeaturesARM & operator=( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderCoreBuiltinsFeaturesARM & operator=( VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCoreBuiltinsFeaturesARM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCoreBuiltinsFeaturesARM & + setShaderCoreBuiltins( VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins_ ) VULKAN_HPP_NOEXCEPT + { + shaderCoreBuiltins = shaderCoreBuiltins_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, shaderCoreBuiltins ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreBuiltins == rhs.shaderCoreBuiltins ); +# endif + } + + bool operator!=( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins = {}; + }; + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderCoreBuiltinsFeaturesARM; + }; + + struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM + { + using NativeType = VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsPropertiesARM( uint32_t shaderCoreCount_ = {}, + uint32_t shaderWarpsPerCore_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , shaderCoreCount( shaderCoreCount_ ) + , shaderWarpsPerCore( shaderWarpsPerCore_ ) + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceShaderCoreBuiltinsPropertiesARM( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderCoreBuiltinsPropertiesARM( VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderCoreBuiltinsPropertiesARM( *reinterpret_cast( &rhs ) ) + { + } +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceShaderCoreBuiltinsPropertiesARM & operator=( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderCoreBuiltinsPropertiesARM & operator=( VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, shaderCoreCount, shaderWarpsPerCore ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreCount == rhs.shaderCoreCount ) && ( shaderWarpsPerCore == rhs.shaderWarpsPerCore ); +# endif + } + + bool operator!=( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM; + void * pNext = {}; + uint32_t shaderCoreCount = {}; + uint32_t shaderWarpsPerCore = {}; + }; + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderCoreBuiltinsPropertiesARM; + }; + struct PhysicalDeviceShaderCoreProperties2AMD { using NativeType = VkPhysicalDeviceShaderCoreProperties2AMD; diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp index 24fa9c2..2bcc89d 100644 --- a/include/vulkan/vulkan_to_string.hpp +++ b/include/vulkan/vulkan_to_string.hpp @@ -4005,6 +4005,8 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eAmigoProfilingSubmitInfoSEC: return "AmigoProfilingSubmitInfoSEC"; case StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesEXT: return "PhysicalDeviceMutableDescriptorTypeFeaturesEXT"; case StructureType::eMutableDescriptorTypeCreateInfoEXT: return "MutableDescriptorTypeCreateInfoEXT"; + case StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM: return "PhysicalDeviceShaderCoreBuiltinsFeaturesARM"; + case StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM: return "PhysicalDeviceShaderCoreBuiltinsPropertiesARM"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; } } diff --git a/registry/validusage.json b/registry/validusage.json index 72800a0..5d513d2 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.230", - "comment": "from git branch: github-main commit: ac3762095459e0190a75c433af1f85d2f6023d44", - "date": "2022-09-29 03:46:53Z" + "api version": "1.3.231", + "comment": "from git branch: github-main commit: 7a319840243ea33aa4caa42cdce0143b150e02bb", + "date": "2022-10-13 07:21:21Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -250,7 +250,7 @@ }, { "vuid": "VUID-VkPhysicalDeviceProperties2-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPhysicalDeviceAccelerationStructurePropertiesKHR, VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, VkPhysicalDeviceConservativeRasterizationPropertiesEXT, VkPhysicalDeviceCooperativeMatrixPropertiesNV, VkPhysicalDeviceCustomBorderColorPropertiesEXT, VkPhysicalDeviceDepthStencilResolveProperties, VkPhysicalDeviceDescriptorIndexingProperties, VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV, VkPhysicalDeviceDiscardRectanglePropertiesEXT, VkPhysicalDeviceDriverProperties, VkPhysicalDeviceDrmPropertiesEXT, VkPhysicalDeviceExtendedDynamicState3PropertiesEXT, VkPhysicalDeviceExternalMemoryHostPropertiesEXT, VkPhysicalDeviceFloatControlsProperties, VkPhysicalDeviceFragmentDensityMap2PropertiesEXT, VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, VkPhysicalDeviceFragmentDensityMapPropertiesEXT, VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR, VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV, VkPhysicalDeviceFragmentShadingRatePropertiesKHR, VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, VkPhysicalDeviceIDProperties, VkPhysicalDeviceImageProcessingPropertiesQCOM, VkPhysicalDeviceInlineUniformBlockProperties, VkPhysicalDeviceLineRasterizationPropertiesEXT, VkPhysicalDeviceMaintenance3Properties, VkPhysicalDeviceMaintenance4Properties, VkPhysicalDeviceMeshShaderPropertiesEXT, VkPhysicalDeviceMeshShaderPropertiesNV, VkPhysicalDeviceMultiDrawPropertiesEXT, VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, VkPhysicalDeviceMultiviewProperties, VkPhysicalDeviceOpacityMicromapPropertiesEXT, VkPhysicalDeviceOpticalFlowPropertiesNV, VkPhysicalDevicePCIBusInfoPropertiesEXT, VkPhysicalDevicePerformanceQueryPropertiesKHR, VkPhysicalDevicePipelineRobustnessPropertiesEXT, VkPhysicalDevicePointClippingProperties, VkPhysicalDevicePortabilitySubsetPropertiesKHR, VkPhysicalDeviceProtectedMemoryProperties, VkPhysicalDeviceProvokingVertexPropertiesEXT, VkPhysicalDevicePushDescriptorPropertiesKHR, VkPhysicalDeviceRayTracingPipelinePropertiesKHR, VkPhysicalDeviceRayTracingPropertiesNV, VkPhysicalDeviceRobustness2PropertiesEXT, VkPhysicalDeviceSampleLocationsPropertiesEXT, VkPhysicalDeviceSamplerFilterMinmaxProperties, VkPhysicalDeviceShaderCoreProperties2AMD, VkPhysicalDeviceShaderCorePropertiesAMD, VkPhysicalDeviceShaderIntegerDotProductProperties, VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV, VkPhysicalDeviceShadingRateImagePropertiesNV, VkPhysicalDeviceSubgroupProperties, VkPhysicalDeviceSubgroupSizeControlProperties, VkPhysicalDeviceSubpassShadingPropertiesHUAWEI, VkPhysicalDeviceTexelBufferAlignmentProperties, VkPhysicalDeviceTimelineSemaphoreProperties, VkPhysicalDeviceTransformFeedbackPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, VkPhysicalDeviceVulkan11Properties, VkPhysicalDeviceVulkan12Properties, or VkPhysicalDeviceVulkan13Properties" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPhysicalDeviceAccelerationStructurePropertiesKHR, VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, VkPhysicalDeviceConservativeRasterizationPropertiesEXT, VkPhysicalDeviceCooperativeMatrixPropertiesNV, VkPhysicalDeviceCustomBorderColorPropertiesEXT, VkPhysicalDeviceDepthStencilResolveProperties, VkPhysicalDeviceDescriptorIndexingProperties, VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV, VkPhysicalDeviceDiscardRectanglePropertiesEXT, VkPhysicalDeviceDriverProperties, VkPhysicalDeviceDrmPropertiesEXT, VkPhysicalDeviceExtendedDynamicState3PropertiesEXT, VkPhysicalDeviceExternalMemoryHostPropertiesEXT, VkPhysicalDeviceFloatControlsProperties, VkPhysicalDeviceFragmentDensityMap2PropertiesEXT, VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, VkPhysicalDeviceFragmentDensityMapPropertiesEXT, VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR, VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV, VkPhysicalDeviceFragmentShadingRatePropertiesKHR, VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, VkPhysicalDeviceIDProperties, VkPhysicalDeviceImageProcessingPropertiesQCOM, VkPhysicalDeviceInlineUniformBlockProperties, VkPhysicalDeviceLineRasterizationPropertiesEXT, VkPhysicalDeviceMaintenance3Properties, VkPhysicalDeviceMaintenance4Properties, VkPhysicalDeviceMeshShaderPropertiesEXT, VkPhysicalDeviceMeshShaderPropertiesNV, VkPhysicalDeviceMultiDrawPropertiesEXT, VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, VkPhysicalDeviceMultiviewProperties, VkPhysicalDeviceOpacityMicromapPropertiesEXT, VkPhysicalDeviceOpticalFlowPropertiesNV, VkPhysicalDevicePCIBusInfoPropertiesEXT, VkPhysicalDevicePerformanceQueryPropertiesKHR, VkPhysicalDevicePipelineRobustnessPropertiesEXT, VkPhysicalDevicePointClippingProperties, VkPhysicalDevicePortabilitySubsetPropertiesKHR, VkPhysicalDeviceProtectedMemoryProperties, VkPhysicalDeviceProvokingVertexPropertiesEXT, VkPhysicalDevicePushDescriptorPropertiesKHR, VkPhysicalDeviceRayTracingPipelinePropertiesKHR, VkPhysicalDeviceRayTracingPropertiesNV, VkPhysicalDeviceRobustness2PropertiesEXT, VkPhysicalDeviceSampleLocationsPropertiesEXT, VkPhysicalDeviceSamplerFilterMinmaxProperties, VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM, VkPhysicalDeviceShaderCoreProperties2AMD, VkPhysicalDeviceShaderCorePropertiesAMD, VkPhysicalDeviceShaderIntegerDotProductProperties, VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV, VkPhysicalDeviceShadingRateImagePropertiesNV, VkPhysicalDeviceSubgroupProperties, VkPhysicalDeviceSubgroupSizeControlProperties, VkPhysicalDeviceSubpassShadingPropertiesHUAWEI, VkPhysicalDeviceTexelBufferAlignmentProperties, VkPhysicalDeviceTimelineSemaphoreProperties, VkPhysicalDeviceTransformFeedbackPropertiesEXT, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, VkPhysicalDeviceVulkan11Properties, VkPhysicalDeviceVulkan12Properties, or VkPhysicalDeviceVulkan13Properties" }, { "vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique", @@ -670,7 +670,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthClampZeroOneFeaturesEXT, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, VkPhysicalDevicePipelineRobustnessFeaturesEXT, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -1906,10 +1906,6 @@ "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-parameter", "text": " If waitSemaphoreCount is not 0, pWaitDstStageMask must be a valid pointer to an array of waitSemaphoreCount valid combinations of VkPipelineStageFlagBits values" }, - { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-requiredbitmask", - "text": " Each element of pWaitDstStageMask must not be 0" - }, { "vuid": "VUID-VkSubmitInfo-pCommandBuffers-parameter", "text": " If commandBufferCount is not 0, pCommandBuffers must be a valid pointer to an array of commandBufferCount valid VkCommandBuffer handles" @@ -2280,6 +2276,10 @@ "vuid": "VUID-vkCmdExecuteCommands-pCommandBuffers-00105", "text": " Each element of pCommandBuffers must not begin any query types that are active in commandBuffer" }, + { + "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-07594", + "text": " commandBuffer must not have any queries other than VK_QUERY_TYPE_OCCLUSION and VK_QUERY_TYPE_PIPELINE_STATISTICS active" + }, { "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-06533", "text": " If vkCmdExecuteCommands is being called within a render pass instance and any recorded command in commandBuffer in the current subpass will write to an image subresource as an attachment, commands recorded in elements of pCommandBuffers must not read from the memory backing that image subresource in any other way" @@ -20969,8 +20969,8 @@ "VkSamplerCustomBorderColorCreateInfoEXT": { "(VK_EXT_custom_border_color)": [ { - "vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-04013", - "text": " If provided format is not VK_FORMAT_UNDEFINED then the VkSamplerCreateInfo::borderColor type must match the sampled type of the provided format, as shown in the SPIR-V Sampled Type column of the Interpretation of Numeric Format table" + "vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-07605", + "text": " If format is not VK_FORMAT_UNDEFINED and format is not a combined depth stencil format then the VkSamplerCreateInfo::borderColor type must match the sampled type of the provided format, as shown in the SPIR-V Sampled Type column of the Interpretation of Numeric Format table" }, { "vuid": "VUID-VkSamplerCustomBorderColorCreateInfoEXT-format-04014", @@ -24174,7 +24174,7 @@ }, { "vuid": "VUID-PrimitivePointIndicesEXT-PrimitivePointIndicesEXT-07042", - "text": " The PrimitivePointIndicesEXT decoration must be used only with the the OutputPoints {ExecutionMode}" + "text": " The PrimitivePointIndicesEXT decoration must be used with the OutputPoints {ExecutionMode}" }, { "vuid": "VUID-PrimitivePointIndicesEXT-PrimitivePointIndicesEXT-07043", @@ -24202,7 +24202,7 @@ }, { "vuid": "VUID-PrimitiveLineIndicesEXT-PrimitiveLineIndicesEXT-07048", - "text": " The PrimitiveLineIndicesEXT decoration must be used only with the the OutputLinesEXT {ExecutionMode}" + "text": " The PrimitiveLineIndicesEXT decoration must be used with the OutputLinesEXT {ExecutionMode}" }, { "vuid": "VUID-PrimitiveLineIndicesEXT-PrimitiveLineIndicesEXT-07049", @@ -24230,7 +24230,7 @@ }, { "vuid": "VUID-PrimitiveTriangleIndicesEXT-PrimitiveTriangleIndicesEXT-07054", - "text": " The PrimitiveTriangleIndicesEXT decoration must be used only with the the OutputTrianglesEXT {ExecutionMode}" + "text": " The PrimitiveTriangleIndicesEXT decoration must be used with the OutputTrianglesEXT {ExecutionMode}" }, { "vuid": "VUID-PrimitiveTriangleIndicesEXT-PrimitiveTriangleIndicesEXT-07055", @@ -24800,6 +24800,66 @@ } ] }, + "CoreCountARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-CoreCountARM-CoreCountARM-07595", + "text": " The variable decorated with CoreCountARM must be declared using the Input {StorageClass}" + }, + { + "vuid": "VUID-CoreCountARM-CoreCountARM-07596", + "text": " The variable decorated with CoreCountARM must be declared as a scalar 32-bit integer value" + } + ] + }, + "CoreMaxIDARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-CoreMaxIDARM-CoreMaxIDARM-07597", + "text": " The variable decorated with CoreMaxIDARM must be declared using the Input {StorageClass}" + }, + { + "vuid": "VUID-CoreMaxIDARM-CoreMaxIDARM-07598", + "text": " The variable decorated with CoreMaxIDARM must be declared as a scalar 32-bit integer value" + } + ] + }, + "CoreIDARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-CoreIDARM-CoreIDARM-07599", + "text": " The variable decorated with CoreIDARM must be declared using the Input {StorageClass}" + }, + { + "vuid": "VUID-CoreIDARM-CoreIDARM-07600", + "text": " The variable decorated with CoreIDARM must be declared as a scalar 32-bit integer value" + } + ] + }, + "WarpMaxIDARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-WarpMaxIDARM-WarpMaxIDARM-07601", + "text": " The variable decorated with WarpMaxIDARM must be declared using the Input {StorageClass}" + }, + { + "vuid": "VUID-WarpMaxIDARM-WarpMaxIDARM-07602", + "text": " The variable decorated with WarpMaxIDARM must be declared as a scalar 32-bit integer value" + } + ] + }, + "WarpIDARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-WarpIDARM-WarpIDARM-07603", + "text": " The variable decorated with WarpIDARM must be declared using the Input {StorageClass}" + }, + { + "vuid": "VUID-WarpIDARM-WarpIDARM-07604", + "text": " The variable decorated with WarpIDARM must be declared as a scalar 32-bit integer value" + } + ] + }, "vkCreateQueryPool": { "core": [ { @@ -26538,7 +26598,7 @@ }, { "vuid": "VUID-vkCmdClearAttachments-pRects-06937", - "text": " The layers specified by each element of pRects must be contained within every attachment that pAttachments refers to, i.e. for each element of pRects, VkClearRect::baseArrayLayer
VkClearRect::layerCount must be less than or equal to the number of layers rendered to in the current render pass instance" + "text": " The layers specified by each element of pRects must be contained within every attachment that pAttachments refers to, i.e. for each element of pRects, VkClearRect::baseArrayLayer + VkClearRect::layerCount must be less than or equal to the number of layers rendered to in the current render pass instance" }, { "vuid": "VUID-vkCmdClearAttachments-layerCount-01934", @@ -28448,7 +28508,7 @@ }, { "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04554", - "text": " If the image region specified by each element of pRegions contains VkCopyCommandTransformInfoQCOM in its pNext chain, the rotated destination region as described in Buffer and Image Addressing with Rotation must be contained within dstImage" + "text": " If the image region specified by each element of pRegions contains VkCopyCommandTransformInfoQCOM in its pNext chain, the rotated destination region as described in [copies-buffers-images-rotation-addressing] must be contained within dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-04555", @@ -28728,7 +28788,7 @@ }, { "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04557", - "text": " If the image region specified by each element of pRegions contains VkCopyCommandTransformInfoQCOM in its pNext chain, the rotated source region as described in Buffer and Image Addressing with Rotation must be contained within srcImage" + "text": " If the image region specified by each element of pRegions contains VkCopyCommandTransformInfoQCOM in its pNext chain, the rotated source region as described in [copies-buffers-images-rotation-addressing] must be contained within srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2KHR-pRegions-04558", @@ -59198,6 +59258,14 @@ } ] }, + "VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM" + } + ] + }, "VkPhysicalDevicePushDescriptorPropertiesKHR": { "(VK_KHR_push_descriptor)": [ { @@ -59634,6 +59702,14 @@ } ] }, + "VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM": { + "(VK_ARM_shader_core_builtins)": [ + { + "vuid": "VUID-VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM" + } + ] + }, "vkGetPhysicalDeviceMultisamplePropertiesEXT": { "(VK_EXT_sample_locations)": [ { diff --git a/registry/vk.xml b/registry/vk.xml index 9113aac..9d6cc21 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -159,7 +159,7 @@ branch of the member gitlab server. // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 230 +#define VK_HEADER_VERSION 231 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -1889,7 +1889,7 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores - const VkPipelineStageFlags* pWaitDstStageMask + const VkPipelineStageFlags* pWaitDstStageMask uint32_t commandBufferCount const VkCommandBuffer* pCommandBuffers uint32_t signalSemaphoreCount @@ -7477,6 +7477,17 @@ typedef void* MTLSharedEvent_id; uint32_t applicationVersion uint32_t engineNameOffset + + VkStructureType sType + void* pNext + uint32_t shaderCoreCount + uint32_t shaderWarpsPerCore + + + VkStructureType sType + void* pNext + VkBool32 shaderCoreBuiltins + @@ -20409,6 +20420,22 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + @@ -22283,6 +22310,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -22451,5 +22481,8 @@ typedef void* MTLSharedEvent_id; + + +