diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 0913072..21a2ccf 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -3832,6 +3832,7 @@ void VulkanHppGenerator::appendStructure( std::string & static const std::string structureTemplate = R"( struct ${structureName} { +${allowDuplicate} ${structureType} ${constructorAndSetters} @@ -3854,14 +3855,17 @@ ${members} )"; std::string structureName = stripPrefix( structure.first, "Vk" ); - std::string structureType; + std::string allowDuplicate, structureType; if ( !sTypeValue.empty() ) { + allowDuplicate = std::string( " static const bool allowDuplicate = " ) + + ( structure.second.allowDuplicate ? "true;" : "false;" ); structureType = " static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::" + sTypeValue + ";\n"; } str += replaceWithMap( structureTemplate, - { { "structureName", structureName }, + { { "allowDuplicate", allowDuplicate }, + { "structureName", structureName }, { "structureType", structureType }, { "constructorAndSetters", constructorAndSetters }, { "vkName", structure.first }, @@ -3932,8 +3936,8 @@ void VulkanHppGenerator::appendStructureChainValidation( std::string & str ) str += subEnter; } - str += " template <> struct isStructureChainValid<" + stripPrefix( extendName, "Vk" ) + ", " + - stripPrefix( structure.first, "Vk" ) + ">{ enum { value = true }; };\n"; + str += " template <> struct StructExtends<" + stripPrefix( structure.first, "Vk" ) + ", " + + stripPrefix( extendName, "Vk" ) + ">{ enum { value = true }; };\n"; if ( leave != subLeave ) { @@ -6215,10 +6219,16 @@ void VulkanHppGenerator::readStruct( tinyxml2::XMLElement const * std::string category, name; std::vector structExtends; - bool returnedOnly = false; + bool allowDuplicate = false; + bool returnedOnly = false; for ( auto const & attribute : attributes ) { - if ( attribute.first == "category" ) + if ( attribute.first == "allowduplicate" ) + { + assert( attribute.second == "true" ); + allowDuplicate = true; + } + else if ( attribute.first == "category" ) { category = attribute.second; } @@ -6238,12 +6248,17 @@ void VulkanHppGenerator::readStruct( tinyxml2::XMLElement const * } } assert( !name.empty() ); + // make this warn a check, as soon as vk.xml has been fixed on attribute "allowduplicate" ! + warn( !allowDuplicate || !structExtends.empty(), + line, + "attribute is true, but no structures are listed in " ); check( m_structures.find( name ) == m_structures.end(), line, "struct <" + name + "> already specfied" ); std::map::iterator it = m_structures.insert( std::make_pair( name, StructureData( structExtends, line ) ) ).first; - it->second.returnedOnly = returnedOnly; - it->second.isUnion = isUnion; + it->second.allowDuplicate = allowDuplicate; + it->second.isUnion = isUnion; + it->second.returnedOnly = returnedOnly; for ( auto child : children ) { @@ -7261,186 +7276,227 @@ int main( int argc, char ** argv ) )"; static const std::string classStructureChain = R"( - template struct isStructureChainValid { enum { value = false }; }; - - template - struct TypeList - { - using list = P; - using last = T; - }; - - template - struct extendCheck - { - static const bool valid = isStructureChainValid::value || extendCheck::valid; - }; - - template - struct extendCheck,X> - { - static const bool valid = isStructureChainValid::value; - }; - - template - struct extendCheck - { - static const bool valid = true; - }; + template struct StructExtends { enum { value = false }; }; template - struct isPartOfStructureChain + struct IsPartOfStructureChain { static const bool valid = false; }; template - struct isPartOfStructureChain + struct IsPartOfStructureChain { - static const bool valid = std::is_same::value || isPartOfStructureChain::valid; + static const bool valid = std::is_same::value || IsPartOfStructureChain::valid; }; - template - class StructureChainElement + template + struct StructureChainContains { - public: - explicit operator Element&() VULKAN_HPP_NOEXCEPT { return value; } - explicit operator const Element&() const VULKAN_HPP_NOEXCEPT { return value; } - private: - Element value; + static const bool value = std::is_same>::type>::value || + StructureChainContains::value; }; - template - class StructureChain : private StructureChainElement... + template + struct StructureChainContains<0, T, ChainElements...> + { + static const bool value = std::is_same>::type>::value; + }; + + template + struct StructureChainValidation + { + using TestType = typename std::tuple_element>::type; + static const bool valid = + StructExtends>::type>::value && + ( TestType::allowDuplicate || !StructureChainContains::value ) && + StructureChainValidation::valid; + }; + + template + struct StructureChainValidation<0, ChainElements...> + { + static const bool valid = true; + }; + + template + class StructureChain : public std::tuple { public: StructureChain() VULKAN_HPP_NOEXCEPT { - link(); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } - StructureChain(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT + StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple( rhs ) { - linkAndCopy(rhs); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } - StructureChain(StructureElements const &... elems) VULKAN_HPP_NOEXCEPT + StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT + : std::tuple( std::forward>( rhs ) ) { - linkAndCopyElements(elems...); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } - StructureChain& operator=(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT + StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple( elems... ) { - linkAndCopy(rhs); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); + } + + StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT + { + std::tuple::operator=( rhs ); + link(); return *this; } - template ClassType& get() VULKAN_HPP_NOEXCEPT { return static_cast(*this);} + StructureChain & operator=( StructureChain && rhs ) = delete; - template const ClassType& get() const VULKAN_HPP_NOEXCEPT { return static_cast(*this);} - - template - std::tuple get() + template + T & get() VULKAN_HPP_NOEXCEPT { - return std::tie(get(), get(), get()...); + return std::get::value>( *this ); } - template - std::tuple get() const + template + T const & get() const VULKAN_HPP_NOEXCEPT { - return std::tie(get(), get(), get()...); + return std::get::value>( *this ); } - template - void unlink() VULKAN_HPP_NOEXCEPT + template + std::tuple get() VULKAN_HPP_NOEXCEPT { - static_assert(isPartOfStructureChain::valid, "Can't unlink Structure that's not part of this StructureChain!"); - static_assert(!std::is_same>::type>::value, "It's not allowed to unlink the first element!"); - VkBaseOutStructure * ptr = reinterpret_cast(&get()); - VULKAN_HPP_ASSERT(ptr != nullptr); - VkBaseOutStructure ** ppNext = &(reinterpret_cast(this)->pNext); - VULKAN_HPP_ASSERT(*ppNext != nullptr); - while (*ppNext != ptr) - { - ppNext = &(*ppNext)->pNext; - VULKAN_HPP_ASSERT(*ppNext != nullptr); // fires, if the ClassType member has already been unlinked ! - } - VULKAN_HPP_ASSERT(*ppNext == ptr); - *ppNext = (*ppNext)->pNext; + return std::tie( get(), get(), get()... ); } - template + template + std::tuple get() const VULKAN_HPP_NOEXCEPT + { + return std::tie( get(), get(), get()... ); + } + + template void relink() VULKAN_HPP_NOEXCEPT { - static_assert(isPartOfStructureChain::valid, "Can't relink Structure that's not part of this StructureChain!"); - static_assert(!std::is_same>::type>::value, "It's not allowed to have the first element unlinked!"); - VkBaseOutStructure * ptr = reinterpret_cast(&get()); - VULKAN_HPP_ASSERT(ptr != nullptr); - VkBaseOutStructure ** ppNext = &(reinterpret_cast(this)->pNext); - VULKAN_HPP_ASSERT(*ppNext != nullptr); -#if !defined(NDEBUG) - while (*ppNext) - { - VULKAN_HPP_ASSERT(*ppNext != ptr); // fires, if the ClassType member has not been unlinked before - ppNext = &(*ppNext)->pNext; - } - ppNext = &(reinterpret_cast(this)->pNext); -#endif - ptr->pNext = *ppNext; - *ppNext = ptr; + static_assert( IsPartOfStructureChain::valid, + "Can't relink Structure that's not part of this StructureChain!" ); + static_assert( + !std::is_same>::type>::value || (Which != 0), + "It's not allowed to have the first element unlinked!" ); + + auto pNext = reinterpret_cast( &get() ); + VULKAN_HPP_ASSERT( !isLinked( pNext ) ); + auto & headElement = std::get<0>( *this ); + pNext->pNext = reinterpret_cast(headElement.pNext); + headElement.pNext = pNext; + } + + template + void unlink() VULKAN_HPP_NOEXCEPT + { + static_assert( IsPartOfStructureChain::valid, + "Can't unlink Structure that's not part of this StructureChain!" ); + static_assert( + !std::is_same>::type>::value || (Which != 0), + "It's not allowed to unlink the first element!" ); + + unlink( reinterpret_cast( &get() ) ); } private: - template - void link() VULKAN_HPP_NOEXCEPT + template + struct ChainElementIndex : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : std::integral_constant + {}; + + bool isLinked( VkBaseInStructure const * pNext ) { - static_assert(extendCheck::valid, "The structure chain is not valid!"); + VkBaseInStructure const * elementPtr = reinterpret_cast(&std::get<0>( *this )); + while ( elementPtr ) + { + if ( elementPtr->pNext == pNext ) + { + return true; + } + elementPtr = elementPtr->pNext; + } + return false; } - template - void link() VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT { - static_assert(extendCheck::valid, "The structure chain is not valid!"); - X& x = static_cast(*this); - Y& y = static_cast(*this); - x.pNext = &y; - link, Y, Z...>(); + auto & x = std::get( *this ); + x.pNext = &std::get( *this ); + link(); } - template - void linkAndCopy(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT + {} + + template + typename std::enable_if::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT { - static_assert(extendCheck::valid, "The structure chain is not valid!"); - static_cast(*this) = static_cast(rhs); + auto & element = std::get( *this ); + if ( element.pNext == pNext ) + { + element.pNext = pNext->pNext; + } + else + { + unlink( pNext ); + } } - template - void linkAndCopy(StructureChain const &rhs) VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT { - static_assert(extendCheck::valid, "The structure chain is not valid!"); - X& x = static_cast(*this); - Y& y = static_cast(*this); - x = static_cast(rhs); - x.pNext = &y; - linkAndCopy, Y, Z...>(rhs); - } - - template - void linkAndCopyElements(X const &xelem) VULKAN_HPP_NOEXCEPT - { - static_assert(extendCheck::valid, "The structure chain is not valid!"); - static_cast(*this) = xelem; - } - - template - void linkAndCopyElements(X const &xelem, Y const &yelem, Z const &... zelem) VULKAN_HPP_NOEXCEPT - { - static_assert(extendCheck::valid, "The structure chain is not valid!"); - X& x = static_cast(*this); - Y& y = static_cast(*this); - x = xelem; - x.pNext = &y; - linkAndCopyElements, Y, Z...>(yelem, zelem...); + auto & element = std::get<0>( *this ); + if ( element.pNext == pNext ) + { + element.pNext = pNext->pNext; + } + else + { + VULKAN_HPP_ASSERT( false ); // fires, if the ClassType member has already been unlinked ! + } } }; )"; diff --git a/VulkanHppGenerator.hpp b/VulkanHppGenerator.hpp index ae7e1c4..dbf92a1 100644 --- a/VulkanHppGenerator.hpp +++ b/VulkanHppGenerator.hpp @@ -208,11 +208,12 @@ private: struct StructureData { StructureData( std::vector const & extends, int line ) - : returnedOnly( false ), isUnion( false ), structExtends( extends ), xmlLine( line ) + : structExtends( extends ), xmlLine( line ) {} - bool returnedOnly; - bool isUnion; + bool allowDuplicate = false; + bool isUnion = false; + bool returnedOnly = false; std::vector members; std::vector structExtends; std::set aliases; diff --git a/tests/StructureChain/StructureChain.cpp b/tests/StructureChain/StructureChain.cpp index e418cb0..2aea587 100644 --- a/tests/StructureChain/StructureChain.cpp +++ b/tests/StructureChain/StructureChain.cpp @@ -72,29 +72,40 @@ int main( int /*argc*/, char ** /*argv*/ ) sc7; // some invalid StructureChains - // vk::StructureChain x; - // vk::StructureChain x; vk::StructureChain x; - // vk::StructureChain - // x; vk::StructureChain x; + // clang-format off + //vk::StructureChain x; + //vk::StructureChain + // x; + //vk::StructureChain + // x; + //vk::StructureChain x; + //vk::StructureChain x; + // clang-format on // unlink a struct from a StructureChain sc7.unlink(); // some invalid unlink calls - // sc7.unlink(); // assertion fires on trying to unlink some already - // unlinked structure sc7.unlink(); - // sc1.unlink(); + // clang-format off + //sc7.unlink(); // assertion fires on trying to unlink some already + // // unlinked structure + //sc7.unlink(); + //sc1.unlink(); + // clang-format on // re-link a struct sc7.relink(); // invalid re-linking - // sc7.relink(); - // sc1.relink(); - // sc1.relink(); // assertion fires on trying to relink some structure - // that hasn't been unlinked + // clang-format off + //sc7.relink(); + //sc1.relink(); + //sc1.relink(); // assertion fires on trying to relink some structure that hasn't been unlinked + // clang-format on // simple call, passing structures in vk::PhysicalDeviceFeatures2 pdf; @@ -125,6 +136,28 @@ int main( int /*argc*/, char ** /*argv*/ ) using AllocatorType = std::vector::allocator_type; auto qfd = physicalDevice.getQueueFamilyProperties2( VULKAN_HPP_DEFAULT_DISPATCHER ); unused( qfd ); + + // some tests with structures with allowDuplicate == true + // include them as soon as vk.xml has been fixed on attribute "allowduplicate" ! +#if 0 + vk::StructureChain + dci0; + auto dci1( dci0 ); + + vk::DeviceCreateInfo dci; + vk::DevicePrivateDataCreateInfoEXT dpdci0; + vk::DevicePrivateDataCreateInfoEXT dpdci1; + vk::StructureChain + dci2( dci, dpdci0, dpdci1 ); + + dci2 = dci1; + + auto & dpdci = dci0.get(); + auto const & dpdcic = dci0.get(); + + dci2.unlink(); + dci2.relink(); +#endif } catch ( vk::SystemError const & err ) { diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 42ec451..5537ce9 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -636,7 +636,7 @@ namespace VULKAN_HPP_NAMESPACE }; template - struct isStructureChainValid + struct StructExtends { enum { @@ -644,206 +644,230 @@ namespace VULKAN_HPP_NAMESPACE }; }; - template - struct TypeList - { - using list = P; - using last = T; - }; - - template - struct extendCheck - { - static const bool valid = - isStructureChainValid::value || extendCheck::valid; - }; - - template - struct extendCheck, X> - { - static const bool valid = isStructureChainValid::value; - }; - - template - struct extendCheck - { - static const bool valid = true; - }; - template - struct isPartOfStructureChain + struct IsPartOfStructureChain { static const bool valid = false; }; template - struct isPartOfStructureChain + struct IsPartOfStructureChain { - static const bool valid = std::is_same::value || isPartOfStructureChain::valid; + static const bool valid = std::is_same::value || IsPartOfStructureChain::valid; }; - template - class StructureChainElement + template + struct StructureChainContains { - public: - explicit operator Element &() VULKAN_HPP_NOEXCEPT - { - return value; - } - explicit operator const Element &() const VULKAN_HPP_NOEXCEPT - { - return value; - } - - private: - Element value; + static const bool value = + std::is_same>::type>::value || + StructureChainContains::value; }; - template - class StructureChain : private StructureChainElement... + template + struct StructureChainContains<0, T, ChainElements...> + { + static const bool value = + std::is_same>::type>::value; + }; + + template + struct StructureChainValidation + { + using TestType = typename std::tuple_element>::type; + static const bool valid = + StructExtends>::type>::value && + ( TestType::allowDuplicate || !StructureChainContains::value ) && + StructureChainValidation::valid; + }; + + template + struct StructureChainValidation<0, ChainElements...> + { + static const bool valid = true; + }; + + template + class StructureChain : public std::tuple { public: StructureChain() VULKAN_HPP_NOEXCEPT { - link(); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } - StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT + StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple( rhs ) { - linkAndCopy( rhs ); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } - StructureChain( StructureElements const &... elems ) VULKAN_HPP_NOEXCEPT + StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT + : std::tuple( std::forward>( rhs ) ) { - linkAndCopyElements( elems... ); + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); + } + + StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple( elems... ) + { + static_assert( StructureChainValidation::valid, + "The structure chain is not valid!" ); + link(); } StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT { - linkAndCopy( rhs ); + std::tuple::operator=( rhs ); + link(); return *this; } - template - ClassType & get() VULKAN_HPP_NOEXCEPT + StructureChain & operator=( StructureChain && rhs ) = delete; + + template + T & get() VULKAN_HPP_NOEXCEPT { - return static_cast( *this ); + return std::get::value>( *this ); } - template - const ClassType & get() const VULKAN_HPP_NOEXCEPT + template + T const & get() const VULKAN_HPP_NOEXCEPT { - return static_cast( *this ); + return std::get::value>( *this ); } - template - std::tuple get() + template + std::tuple get() VULKAN_HPP_NOEXCEPT { - return std::tie( get(), get(), get()... ); + return std::tie( get(), get(), get()... ); } - template - std::tuple get() const + template + std::tuple get() const VULKAN_HPP_NOEXCEPT { - return std::tie( get(), get(), get()... ); + return std::tie( get(), get(), get()... ); } - template - void unlink() VULKAN_HPP_NOEXCEPT - { - static_assert( isPartOfStructureChain::valid, - "Can't unlink Structure that's not part of this StructureChain!" ); - static_assert( - !std::is_same>::type>::value, - "It's not allowed to unlink the first element!" ); - VkBaseOutStructure * ptr = reinterpret_cast( &get() ); - VULKAN_HPP_ASSERT( ptr != nullptr ); - VkBaseOutStructure ** ppNext = &( reinterpret_cast( this )->pNext ); - VULKAN_HPP_ASSERT( *ppNext != nullptr ); - while ( *ppNext != ptr ) - { - ppNext = &( *ppNext )->pNext; - VULKAN_HPP_ASSERT( *ppNext != nullptr ); // fires, if the ClassType member has already been unlinked ! - } - VULKAN_HPP_ASSERT( *ppNext == ptr ); - *ppNext = ( *ppNext )->pNext; - } - - template + template void relink() VULKAN_HPP_NOEXCEPT { - static_assert( isPartOfStructureChain::valid, + static_assert( IsPartOfStructureChain::valid, "Can't relink Structure that's not part of this StructureChain!" ); static_assert( - !std::is_same>::type>::value, + !std::is_same>::type>::value || + ( Which != 0 ), "It's not allowed to have the first element unlinked!" ); - VkBaseOutStructure * ptr = reinterpret_cast( &get() ); - VULKAN_HPP_ASSERT( ptr != nullptr ); - VkBaseOutStructure ** ppNext = &( reinterpret_cast( this )->pNext ); - VULKAN_HPP_ASSERT( *ppNext != nullptr ); -#if !defined( NDEBUG ) - while ( *ppNext ) - { - VULKAN_HPP_ASSERT( *ppNext != ptr ); // fires, if the ClassType member has not been unlinked before - ppNext = &( *ppNext )->pNext; - } - ppNext = &( reinterpret_cast( this )->pNext ); -#endif - ptr->pNext = *ppNext; - *ppNext = ptr; + + auto pNext = reinterpret_cast( &get() ); + VULKAN_HPP_ASSERT( !isLinked( pNext ) ); + auto & headElement = std::get<0>( *this ); + pNext->pNext = reinterpret_cast( headElement.pNext ); + headElement.pNext = pNext; + } + + template + void unlink() VULKAN_HPP_NOEXCEPT + { + static_assert( IsPartOfStructureChain::valid, + "Can't unlink Structure that's not part of this StructureChain!" ); + static_assert( + !std::is_same>::type>::value || + ( Which != 0 ), + "It's not allowed to unlink the first element!" ); + + unlink( + reinterpret_cast( &get() ) ); } private: - template - void link() VULKAN_HPP_NOEXCEPT + template + struct ChainElementIndex : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : ChainElementIndex + {}; + + template + struct ChainElementIndex::value, void>::type, + First, + Types...> : std::integral_constant + {}; + + bool isLinked( VkBaseInStructure const * pNext ) { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); + VkBaseInStructure const * elementPtr = reinterpret_cast( &std::get<0>( *this ) ); + while ( elementPtr ) + { + if ( elementPtr->pNext == pNext ) + { + return true; + } + elementPtr = elementPtr->pNext; + } + return false; } - template - void link() VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); - X & x = static_cast( *this ); - Y & y = static_cast( *this ); - x.pNext = &y; - link, Y, Z...>(); + auto & x = std::get( *this ); + x.pNext = &std::get( *this ); + link(); } - template - void linkAndCopy( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT + {} + + template + typename std::enable_if::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); - static_cast( *this ) = static_cast( rhs ); + auto & element = std::get( *this ); + if ( element.pNext == pNext ) + { + element.pNext = pNext->pNext; + } + else + { + unlink( pNext ); + } } - template - void linkAndCopy( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT + template + typename std::enable_if::type unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); - X & x = static_cast( *this ); - Y & y = static_cast( *this ); - x = static_cast( rhs ); - x.pNext = &y; - linkAndCopy, Y, Z...>( rhs ); - } - - template - void linkAndCopyElements( X const & xelem ) VULKAN_HPP_NOEXCEPT - { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); - static_cast( *this ) = xelem; - } - - template - void linkAndCopyElements( X const & xelem, Y const & yelem, Z const &... zelem ) VULKAN_HPP_NOEXCEPT - { - static_assert( extendCheck::valid, "The structure chain is not valid!" ); - X & x = static_cast( *this ); - Y & y = static_cast( *this ); - x = xelem; - x.pNext = &y; - linkAndCopyElements, Y, Z...>( yelem, zelem... ); + auto & element = std::get<0>( *this ); + if ( element.pNext == pNext ) + { + element.pNext = pNext->pNext; + } + else + { + VULKAN_HPP_ASSERT( false ); // fires, if the ClassType member has already been unlinked ! + } } }; @@ -26539,6 +26563,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureGeometryTrianglesDataKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryTrianglesDataKHR; @@ -26664,6 +26689,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureGeometryAabbsDataKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryAabbsDataKHR; @@ -26748,6 +26774,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureGeometryInstancesDataKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryInstancesDataKHR; @@ -26906,6 +26933,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureGeometryKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryKHR; AccelerationStructureGeometryKHR( @@ -27046,6 +27074,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureBuildGeometryInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureBuildGeometryInfoKHR; @@ -27288,6 +27317,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureCreateGeometryTypeInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCreateGeometryTypeInfoKHR; @@ -27429,6 +27459,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureCreateInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCreateInfoKHR; @@ -27566,7 +27597,8 @@ namespace VULKAN_HPP_NAMESPACE struct GeometryTrianglesNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryTrianglesNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryTrianglesNV; VULKAN_HPP_CONSTEXPR GeometryTrianglesNV( VULKAN_HPP_NAMESPACE::Buffer vertexData_ = {}, @@ -27738,7 +27770,8 @@ namespace VULKAN_HPP_NAMESPACE struct GeometryAABBNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryAabbNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryAabbNV; VULKAN_HPP_CONSTEXPR GeometryAABBNV( VULKAN_HPP_NAMESPACE::Buffer aabbData_ = {}, uint32_t numAABBs_ = {}, @@ -27903,7 +27936,8 @@ namespace VULKAN_HPP_NAMESPACE struct GeometryNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryNV; VULKAN_HPP_CONSTEXPR GeometryNV( VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_ = VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles, @@ -27998,7 +28032,8 @@ namespace VULKAN_HPP_NAMESPACE struct AccelerationStructureInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureInfoNV; VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_ = {}, @@ -28117,6 +28152,7 @@ namespace VULKAN_HPP_NAMESPACE struct AccelerationStructureCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCreateInfoNV; @@ -28211,6 +28247,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureDeviceAddressInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureDeviceAddressInfoKHR; @@ -28463,6 +28500,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureMemoryRequirementsInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureMemoryRequirementsInfoKHR; @@ -28576,6 +28614,7 @@ namespace VULKAN_HPP_NAMESPACE struct AccelerationStructureMemoryRequirementsInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureMemoryRequirementsInfoNV; @@ -28675,7 +28714,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct AccelerationStructureVersionKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureVersionKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureVersionKHR; VULKAN_HPP_CONSTEXPR AccelerationStructureVersionKHR( const uint8_t * versionData_ = {} ) VULKAN_HPP_NOEXCEPT : versionData( versionData_ ) @@ -28755,7 +28795,8 @@ namespace VULKAN_HPP_NAMESPACE struct AcquireNextImageInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireNextImageInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireNextImageInfoKHR; VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {}, uint64_t timeout_ = {}, @@ -28869,7 +28910,8 @@ namespace VULKAN_HPP_NAMESPACE struct AcquireProfilingLockInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireProfilingLockInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireProfilingLockInfoKHR; VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR( VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_ = {}, uint64_t timeout_ = {} ) VULKAN_HPP_NOEXCEPT @@ -29143,6 +29185,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct AndroidHardwareBufferFormatPropertiesANDROID { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID; @@ -29248,6 +29291,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct AndroidHardwareBufferPropertiesANDROID { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferPropertiesANDROID; @@ -29325,6 +29369,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct AndroidHardwareBufferUsageANDROID { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferUsageANDROID; @@ -29397,7 +29442,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct AndroidSurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidSurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidSurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ = {}, struct ANativeWindow * window_ = {} ) VULKAN_HPP_NOEXCEPT @@ -29486,7 +29532,8 @@ namespace VULKAN_HPP_NAMESPACE struct ApplicationInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eApplicationInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eApplicationInfo; VULKAN_HPP_CONSTEXPR ApplicationInfo( const char * pApplicationName_ = {}, uint32_t applicationVersion_ = {}, @@ -29732,7 +29779,8 @@ namespace VULKAN_HPP_NAMESPACE struct AttachmentDescription2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentDescription2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentDescription2; VULKAN_HPP_CONSTEXPR AttachmentDescription2( VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_ = {}, @@ -29887,6 +29935,7 @@ namespace VULKAN_HPP_NAMESPACE struct AttachmentDescriptionStencilLayout { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentDescriptionStencilLayout; @@ -30046,7 +30095,8 @@ namespace VULKAN_HPP_NAMESPACE struct AttachmentReference2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReference2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReference2; VULKAN_HPP_CONSTEXPR AttachmentReference2( uint32_t attachment_ = {}, @@ -30142,6 +30192,7 @@ namespace VULKAN_HPP_NAMESPACE struct AttachmentReferenceStencilLayout { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReferenceStencilLayout; VULKAN_HPP_CONSTEXPR @@ -30347,7 +30398,8 @@ namespace VULKAN_HPP_NAMESPACE struct SampleLocationsInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSampleLocationsInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSampleLocationsInfoEXT; VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_ = @@ -30629,6 +30681,7 @@ namespace VULKAN_HPP_NAMESPACE struct BindAccelerationStructureMemoryInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindAccelerationStructureMemoryInfoKHR; @@ -30754,7 +30807,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindBufferMemoryDeviceGroupInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryDeviceGroupInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryDeviceGroupInfo; VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {}, const uint32_t * pDeviceIndices_ = {} ) VULKAN_HPP_NOEXCEPT @@ -30843,7 +30897,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindBufferMemoryInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryInfo; VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, @@ -31061,7 +31116,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindImageMemoryDeviceGroupInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryDeviceGroupInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryDeviceGroupInfo; VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {}, @@ -31173,7 +31229,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindImageMemoryInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryInfo; VULKAN_HPP_CONSTEXPR BindImageMemoryInfo( VULKAN_HPP_NAMESPACE::Image image_ = {}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, @@ -31268,7 +31325,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindImageMemorySwapchainInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemorySwapchainInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemorySwapchainInfoKHR; VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {}, uint32_t imageIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -31357,7 +31415,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindImagePlaneMemoryInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImagePlaneMemoryInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImagePlaneMemoryInfo; VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_ = @@ -32200,7 +32259,8 @@ namespace VULKAN_HPP_NAMESPACE struct BindSparseInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindSparseInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindSparseInfo; VULKAN_HPP_CONSTEXPR BindSparseInfo( uint32_t waitSemaphoreCount_ = {}, @@ -32511,7 +32571,8 @@ namespace VULKAN_HPP_NAMESPACE struct BufferCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCreateInfo; VULKAN_HPP_CONSTEXPR BufferCreateInfo( VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_ = {}, @@ -32636,6 +32697,7 @@ namespace VULKAN_HPP_NAMESPACE struct BufferDeviceAddressCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressCreateInfoEXT; VULKAN_HPP_CONSTEXPR @@ -32717,7 +32779,8 @@ namespace VULKAN_HPP_NAMESPACE struct BufferDeviceAddressInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressInfo; VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT : buffer( buffer_ ) @@ -32976,7 +33039,8 @@ namespace VULKAN_HPP_NAMESPACE struct BufferMemoryBarrier { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryBarrier; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryBarrier; VULKAN_HPP_CONSTEXPR BufferMemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {}, @@ -33109,7 +33173,8 @@ namespace VULKAN_HPP_NAMESPACE struct BufferMemoryRequirementsInfo2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryRequirementsInfo2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryRequirementsInfo2; VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT : buffer( buffer_ ) @@ -33188,6 +33253,7 @@ namespace VULKAN_HPP_NAMESPACE struct BufferOpaqueCaptureAddressCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferOpaqueCaptureAddressCreateInfo; @@ -33271,7 +33337,8 @@ namespace VULKAN_HPP_NAMESPACE struct BufferViewCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferViewCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferViewCreateInfo; VULKAN_HPP_CONSTEXPR BufferViewCreateInfo( VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_ = {}, @@ -33385,7 +33452,8 @@ namespace VULKAN_HPP_NAMESPACE struct CalibratedTimestampInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCalibratedTimestampInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCalibratedTimestampInfoEXT; VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoEXT( VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_ = @@ -33465,7 +33533,8 @@ namespace VULKAN_HPP_NAMESPACE struct CheckpointDataNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCheckpointDataNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCheckpointDataNV; VULKAN_HPP_CONSTEXPR CheckpointDataNV( VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage_ = VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe, @@ -33985,7 +34054,8 @@ namespace VULKAN_HPP_NAMESPACE struct CommandBufferAllocateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferAllocateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferAllocateInfo; VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo( VULKAN_HPP_NAMESPACE::CommandPool commandPool_ = {}, @@ -34082,7 +34152,8 @@ namespace VULKAN_HPP_NAMESPACE struct CommandBufferInheritanceInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceInfo; VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, @@ -34212,7 +34283,8 @@ namespace VULKAN_HPP_NAMESPACE struct CommandBufferBeginInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferBeginInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferBeginInfo; VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo( VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_ = {}, @@ -34300,6 +34372,7 @@ namespace VULKAN_HPP_NAMESPACE struct CommandBufferInheritanceConditionalRenderingInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT; @@ -34390,6 +34463,7 @@ namespace VULKAN_HPP_NAMESPACE struct CommandBufferInheritanceRenderPassTransformInfoQCOM { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM; @@ -34492,7 +34566,8 @@ namespace VULKAN_HPP_NAMESPACE struct CommandPoolCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandPoolCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandPoolCreateInfo; VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo( VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -34732,7 +34807,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineShaderStageCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageCreateInfo; VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo( VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_ = {}, @@ -34851,7 +34927,8 @@ namespace VULKAN_HPP_NAMESPACE struct ComputePipelineCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eComputePipelineCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eComputePipelineCreateInfo; VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {}, VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage_ = {}, @@ -34968,6 +35045,7 @@ namespace VULKAN_HPP_NAMESPACE struct ConditionalRenderingBeginInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eConditionalRenderingBeginInfoEXT; VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT( @@ -35149,7 +35227,8 @@ namespace VULKAN_HPP_NAMESPACE struct CooperativeMatrixPropertiesNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixPropertiesNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixPropertiesNV; VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV( uint32_t MSize_ = {}, @@ -35295,6 +35374,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct CopyAccelerationStructureInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyAccelerationStructureInfoKHR; VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR( @@ -35399,6 +35479,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct CopyAccelerationStructureToMemoryInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyAccelerationStructureToMemoryInfoKHR; @@ -35495,7 +35576,8 @@ namespace VULKAN_HPP_NAMESPACE struct CopyDescriptorSet { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyDescriptorSet; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyDescriptorSet; VULKAN_HPP_CONSTEXPR CopyDescriptorSet( VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_ = {}, uint32_t srcBinding_ = {}, @@ -35629,6 +35711,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct CopyMemoryToAccelerationStructureInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryToAccelerationStructureInfoKHR; @@ -35726,7 +35809,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct D3D12FenceSubmitInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eD3D12FenceSubmitInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eD3D12FenceSubmitInfoKHR; VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( uint32_t waitSemaphoreValuesCount_ = {}, const uint64_t * pWaitSemaphoreValues_ = {}, @@ -35834,7 +35918,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugMarkerMarkerInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerMarkerInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerMarkerInfoEXT; VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT( const char * pMarkerName_ = {}, std::array const & color_ = {} ) VULKAN_HPP_NOEXCEPT @@ -35920,7 +36005,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugMarkerObjectNameInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectNameInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectNameInfoEXT; VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ = VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown, @@ -36020,7 +36106,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugMarkerObjectTagInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectTagInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectTagInfoEXT; VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_ = VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown, @@ -36139,6 +36226,7 @@ namespace VULKAN_HPP_NAMESPACE struct DebugReportCallbackCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugReportCallbackCreateInfoEXT; VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_ = {}, @@ -36237,7 +36325,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugUtilsLabelEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsLabelEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsLabelEXT; VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT( const char * pLabelName_ = {}, std::array const & color_ = {} ) VULKAN_HPP_NOEXCEPT @@ -36323,7 +36412,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugUtilsObjectNameInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectNameInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectNameInfoEXT; VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_ = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, @@ -36421,6 +36511,7 @@ namespace VULKAN_HPP_NAMESPACE struct DebugUtilsMessengerCallbackDataEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCallbackDataEXT; @@ -36593,6 +36684,7 @@ namespace VULKAN_HPP_NAMESPACE struct DebugUtilsMessengerCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCreateInfoEXT; VULKAN_HPP_CONSTEXPR @@ -36715,7 +36807,8 @@ namespace VULKAN_HPP_NAMESPACE struct DebugUtilsObjectTagInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectTagInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectTagInfoEXT; VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT( VULKAN_HPP_NAMESPACE::ObjectType objectType_ = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, @@ -36832,6 +36925,7 @@ namespace VULKAN_HPP_NAMESPACE struct DedicatedAllocationBufferCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationBufferCreateInfoNV; @@ -36916,6 +37010,7 @@ namespace VULKAN_HPP_NAMESPACE struct DedicatedAllocationImageCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationImageCreateInfoNV; @@ -37001,6 +37096,7 @@ namespace VULKAN_HPP_NAMESPACE struct DedicatedAllocationMemoryAllocateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationMemoryAllocateInfoNV; @@ -37096,7 +37192,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct DeferredOperationInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeferredOperationInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeferredOperationInfoKHR; VULKAN_HPP_CONSTEXPR DeferredOperationInfoKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR operationHandle_ = {} ) VULKAN_HPP_NOEXCEPT @@ -37384,7 +37481,8 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorPoolCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorPoolCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorPoolCreateInfo; VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ = {}, @@ -37490,6 +37588,7 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorPoolInlineUniformBlockCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorPoolInlineUniformBlockCreateInfoEXT; @@ -37578,7 +37677,8 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetAllocateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetAllocateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetAllocateInfo; VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_ = {}, @@ -37773,6 +37873,7 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetLayoutBindingFlagsCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo; @@ -37870,7 +37971,8 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetLayoutCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutCreateInfo; VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_ = {}, @@ -37971,7 +38073,8 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetLayoutSupport { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutSupport; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutSupport; VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport( VULKAN_HPP_NAMESPACE::Bool32 supported_ = {} ) VULKAN_HPP_NOEXCEPT : supported( supported_ ) @@ -38037,6 +38140,7 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetVariableDescriptorCountAllocateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo; @@ -38135,6 +38239,7 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorSetVariableDescriptorCountLayoutSupport { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport; @@ -38315,6 +38420,7 @@ namespace VULKAN_HPP_NAMESPACE struct DescriptorUpdateTemplateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorUpdateTemplateCreateInfo; @@ -38473,7 +38579,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceQueueCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueCreateInfo; VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {}, @@ -39192,7 +39299,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceCreateInfo; VULKAN_HPP_CONSTEXPR DeviceCreateInfo( VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_ = {}, uint32_t queueCreateInfoCount_ = {}, @@ -39338,6 +39446,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceDiagnosticsConfigCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV; @@ -39421,7 +39530,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceEventInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceEventInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceEventInfoEXT; VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT( VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_ = @@ -39499,7 +39609,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupBindSparseInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupBindSparseInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupBindSparseInfo; VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo( uint32_t resourceDeviceIndex_ = {}, uint32_t memoryDeviceIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -39586,6 +39697,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupCommandBufferBeginInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupCommandBufferBeginInfo; @@ -39666,7 +39778,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupDeviceCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupDeviceCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupDeviceCreateInfo; VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo( uint32_t physicalDeviceCount_ = {}, @@ -39756,6 +39869,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupPresentCapabilitiesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentCapabilitiesKHR; @@ -39829,7 +39943,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupPresentInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentInfoKHR; VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR( uint32_t swapchainCount_ = {}, @@ -39929,7 +40044,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupRenderPassBeginInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupRenderPassBeginInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupRenderPassBeginInfo; VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_ = {}, uint32_t deviceRenderAreaCount_ = {}, @@ -40029,7 +40145,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupSubmitInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSubmitInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSubmitInfo; VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo( uint32_t waitSemaphoreCount_ = {}, @@ -40159,6 +40276,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceGroupSwapchainCreateInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSwapchainCreateInfoKHR; @@ -40240,6 +40358,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceMemoryOpaqueCaptureAddressInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo; @@ -40324,6 +40443,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceMemoryOverallocationCreateInfoAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD; @@ -40413,7 +40533,8 @@ namespace VULKAN_HPP_NAMESPACE struct DevicePrivateDataCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDevicePrivateDataCreateInfoEXT; + static const bool allowDuplicate = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDevicePrivateDataCreateInfoEXT; VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfoEXT( uint32_t privateDataSlotRequestCount_ = {} ) VULKAN_HPP_NOEXCEPT @@ -40495,6 +40616,7 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceQueueGlobalPriorityCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueGlobalPriorityCreateInfoEXT; @@ -40581,7 +40703,8 @@ namespace VULKAN_HPP_NAMESPACE struct DeviceQueueInfo2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueInfo2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueInfo2; VULKAN_HPP_CONSTEXPR DeviceQueueInfo2( VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {}, @@ -40747,7 +40870,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayEventInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayEventInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayEventInfoEXT; VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT( VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_ = @@ -40889,7 +41013,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayModeCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeCreateInfoKHR; VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR( VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_ = {}, @@ -41029,7 +41154,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayModeProperties2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeProperties2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeProperties2KHR; VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR displayModeProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -41095,6 +41221,7 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayNativeHdrSurfaceCapabilitiesAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD; @@ -41245,7 +41372,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayPlaneCapabilities2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneCapabilities2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneCapabilities2KHR; VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR( VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities_ = {} ) VULKAN_HPP_NOEXCEPT @@ -41312,7 +41440,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayPlaneInfo2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneInfo2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneInfo2KHR; VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_ = {}, uint32_t planeIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -41450,7 +41579,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayPlaneProperties2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneProperties2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneProperties2KHR; VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -41518,7 +41648,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayPowerInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPowerInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPowerInfoEXT; VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT( VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_ = VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff ) VULKAN_HPP_NOEXCEPT @@ -41595,7 +41726,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayPresentInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPresentInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPresentInfoKHR; VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR( VULKAN_HPP_NAMESPACE::Rect2D srcRect_ = {}, VULKAN_HPP_NAMESPACE::Rect2D dstRect_ = {}, @@ -41760,7 +41892,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplayProperties2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayProperties2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayProperties2KHR; VULKAN_HPP_CONSTEXPR DisplayProperties2KHR( VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -41825,7 +41958,8 @@ namespace VULKAN_HPP_NAMESPACE struct DisplaySurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplaySurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplaySurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_ = {}, @@ -42276,6 +42410,7 @@ namespace VULKAN_HPP_NAMESPACE struct DrmFormatModifierPropertiesListEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDrmFormatModifierPropertiesListEXT; @@ -42351,7 +42486,8 @@ namespace VULKAN_HPP_NAMESPACE struct EventCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eEventCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eEventCreateInfo; VULKAN_HPP_CONSTEXPR EventCreateInfo( VULKAN_HPP_NAMESPACE::EventCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ ) @@ -42426,7 +42562,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExportFenceCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceCreateInfo; VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -42505,7 +42642,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ExportFenceWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, @@ -42604,7 +42742,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExportMemoryAllocateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfo; VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -42682,7 +42821,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExportMemoryAllocateInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfoNV; VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -42763,7 +42903,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ExportMemoryWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, @@ -42863,7 +43004,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ExportMemoryWin32HandleInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoNV; VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {} ) VULKAN_HPP_NOEXCEPT @@ -42953,7 +43095,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExportSemaphoreCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreCreateInfo; VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43033,6 +43176,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ExportSemaphoreWin32HandleInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreWin32HandleInfoKHR; @@ -43242,7 +43386,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalBufferProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalBufferProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalBufferProperties; VULKAN_HPP_CONSTEXPR ExternalBufferProperties( VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43308,7 +43453,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalFenceProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFenceProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFenceProperties; VULKAN_HPP_CONSTEXPR ExternalFenceProperties( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags exportFromImportedHandleTypes_ = {}, @@ -43383,7 +43529,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct ExternalFormatANDROID { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFormatANDROID; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFormatANDROID; VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( uint64_t externalFormat_ = {} ) VULKAN_HPP_NOEXCEPT : externalFormat( externalFormat_ ) @@ -43460,7 +43607,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalImageFormatProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalImageFormatProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalImageFormatProperties; VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties( VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43654,7 +43802,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalMemoryBufferCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryBufferCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryBufferCreateInfo; VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43735,7 +43884,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalMemoryImageCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfo; VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43816,7 +43966,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalMemoryImageCreateInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfoNV; VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_ = {} ) VULKAN_HPP_NOEXCEPT @@ -43897,7 +44048,8 @@ namespace VULKAN_HPP_NAMESPACE struct ExternalSemaphoreProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalSemaphoreProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalSemaphoreProperties; VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties( VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes_ = {}, @@ -43973,7 +44125,8 @@ namespace VULKAN_HPP_NAMESPACE struct FenceCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceCreateInfo; VULKAN_HPP_CONSTEXPR FenceCreateInfo( VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ ) @@ -44048,7 +44201,8 @@ namespace VULKAN_HPP_NAMESPACE struct FenceGetFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetFdInfoKHR; VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR( VULKAN_HPP_NAMESPACE::Fence fence_ = {}, @@ -44139,7 +44293,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct FenceGetWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::Fence fence_ = {}, @@ -44232,6 +44387,7 @@ namespace VULKAN_HPP_NAMESPACE struct FilterCubicImageViewImageFormatPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT; @@ -44366,7 +44522,8 @@ namespace VULKAN_HPP_NAMESPACE struct FormatProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties2; VULKAN_HPP_CONSTEXPR FormatProperties2( VULKAN_HPP_NAMESPACE::FormatProperties formatProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -44431,7 +44588,8 @@ namespace VULKAN_HPP_NAMESPACE struct FramebufferAttachmentImageInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentImageInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentImageInfo; VULKAN_HPP_CONSTEXPR FramebufferAttachmentImageInfo( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ = {}, @@ -44568,6 +44726,7 @@ namespace VULKAN_HPP_NAMESPACE struct FramebufferAttachmentsCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentsCreateInfo; VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo( @@ -44661,7 +44820,8 @@ namespace VULKAN_HPP_NAMESPACE struct FramebufferCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferCreateInfo; VULKAN_HPP_CONSTEXPR FramebufferCreateInfo( VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_ = {}, VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, @@ -44794,6 +44954,7 @@ namespace VULKAN_HPP_NAMESPACE struct FramebufferMixedSamplesCombinationNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferMixedSamplesCombinationNV; @@ -44943,7 +45104,8 @@ namespace VULKAN_HPP_NAMESPACE struct GeneratedCommandsInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeneratedCommandsInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeneratedCommandsInfoNV; VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_ = VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, @@ -45144,6 +45306,7 @@ namespace VULKAN_HPP_NAMESPACE struct GeneratedCommandsMemoryRequirementsInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeneratedCommandsMemoryRequirementsInfoNV; @@ -45421,6 +45584,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineVertexInputStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineVertexInputStateCreateInfo; @@ -45549,6 +45713,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineInputAssemblyStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineInputAssemblyStateCreateInfo; @@ -45655,6 +45820,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineTessellationStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineTessellationStateCreateInfo; @@ -45848,7 +46014,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportStateCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportStateCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportStateCreateInfo; VULKAN_HPP_CONSTEXPR PipelineViewportStateCreateInfo( VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_ = {}, @@ -45969,6 +46136,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateCreateInfo; @@ -46157,6 +46325,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineMultisampleStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineMultisampleStateCreateInfo; @@ -46413,6 +46582,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineDepthStencilStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDepthStencilStateCreateInfo; @@ -46718,6 +46888,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineColorBlendStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineColorBlendStateCreateInfo; @@ -46850,7 +47021,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineDynamicStateCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDynamicStateCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDynamicStateCreateInfo; VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo( VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_ = {}, @@ -46951,7 +47123,8 @@ namespace VULKAN_HPP_NAMESPACE struct GraphicsPipelineCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineCreateInfo; VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {}, @@ -47193,7 +47366,8 @@ namespace VULKAN_HPP_NAMESPACE struct GraphicsShaderGroupCreateInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsShaderGroupCreateInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsShaderGroupCreateInfoNV; VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV( uint32_t stageCount_ = {}, @@ -47305,6 +47479,7 @@ namespace VULKAN_HPP_NAMESPACE struct GraphicsPipelineShaderGroupsCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV; @@ -47482,7 +47657,8 @@ namespace VULKAN_HPP_NAMESPACE struct HdrMetadataEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHdrMetadataEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHdrMetadataEXT; VULKAN_HPP_CONSTEXPR HdrMetadataEXT( VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed_ = {}, VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen_ = {}, @@ -47627,7 +47803,8 @@ namespace VULKAN_HPP_NAMESPACE struct HeadlessSurfaceCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHeadlessSurfaceCreateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHeadlessSurfaceCreateInfoEXT; VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ ) @@ -47707,7 +47884,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_IOS_MVK struct IOSSurfaceCreateInfoMVK { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIosSurfaceCreateInfoMVK; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIosSurfaceCreateInfoMVK; VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ = {}, const void * pView_ = {} ) VULKAN_HPP_NOEXCEPT @@ -47969,7 +48147,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCreateInfo; VULKAN_HPP_CONSTEXPR ImageCreateInfo( VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_ = {}, @@ -48220,6 +48399,7 @@ namespace VULKAN_HPP_NAMESPACE struct ImageDrmFormatModifierExplicitCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT; @@ -48329,6 +48509,7 @@ namespace VULKAN_HPP_NAMESPACE struct ImageDrmFormatModifierListCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierListCreateInfoEXT; @@ -48427,6 +48608,7 @@ namespace VULKAN_HPP_NAMESPACE struct ImageDrmFormatModifierPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierPropertiesEXT; @@ -48497,7 +48679,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageFormatListCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatListCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatListCreateInfo; VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo( uint32_t viewFormatCount_ = {}, @@ -48586,7 +48769,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageFormatProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatProperties2; VULKAN_HPP_CONSTEXPR ImageFormatProperties2( VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -48743,7 +48927,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageMemoryBarrier { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryBarrier; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryBarrier; VULKAN_HPP_CONSTEXPR ImageMemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {}, @@ -48888,7 +49073,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageMemoryRequirementsInfo2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryRequirementsInfo2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryRequirementsInfo2; VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2( VULKAN_HPP_NAMESPACE::Image image_ = {} ) VULKAN_HPP_NOEXCEPT : image( image_ ) @@ -48967,6 +49153,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_FUCHSIA struct ImagePipeSurfaceCreateInfoFUCHSIA { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImagepipeSurfaceCreateInfoFUCHSIA; @@ -49060,6 +49247,7 @@ namespace VULKAN_HPP_NAMESPACE struct ImagePlaneMemoryRequirementsInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImagePlaneMemoryRequirementsInfo; VULKAN_HPP_CONSTEXPR @@ -49234,6 +49422,7 @@ namespace VULKAN_HPP_NAMESPACE struct ImageSparseMemoryRequirementsInfo2 { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSparseMemoryRequirementsInfo2; @@ -49316,7 +49505,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageStencilUsageCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageStencilUsageCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageStencilUsageCreateInfo; VULKAN_HPP_CONSTEXPR ImageStencilUsageCreateInfo( VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_ = {} ) VULKAN_HPP_NOEXCEPT @@ -49396,7 +49586,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageSwapchainCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSwapchainCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSwapchainCreateInfoKHR; VULKAN_HPP_CONSTEXPR ImageSwapchainCreateInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_ = {} ) VULKAN_HPP_NOEXCEPT @@ -49475,7 +49666,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageViewASTCDecodeModeEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAstcDecodeModeEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAstcDecodeModeEXT; VULKAN_HPP_CONSTEXPR ImageViewASTCDecodeModeEXT( VULKAN_HPP_NAMESPACE::Format decodeMode_ = VULKAN_HPP_NAMESPACE::Format::eUndefined ) VULKAN_HPP_NOEXCEPT @@ -49554,7 +49746,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageViewAddressPropertiesNVX { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAddressPropertiesNVX; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAddressPropertiesNVX; VULKAN_HPP_CONSTEXPR ImageViewAddressPropertiesNVX( VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {}, @@ -49626,7 +49819,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageViewCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewCreateInfo; VULKAN_HPP_CONSTEXPR ImageViewCreateInfo( VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_ = {}, @@ -49752,7 +49946,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageViewHandleInfoNVX { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewHandleInfoNVX; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewHandleInfoNVX; VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX( VULKAN_HPP_NAMESPACE::ImageView imageView_ = {}, @@ -49849,7 +50044,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImageViewUsageCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewUsageCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewUsageCreateInfo; VULKAN_HPP_CONSTEXPR ImageViewUsageCreateInfo( VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_ = {} ) VULKAN_HPP_NOEXCEPT @@ -49927,6 +50123,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct ImportAndroidHardwareBufferInfoANDROID { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportAndroidHardwareBufferInfoANDROID; @@ -50012,7 +50209,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImportFenceFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceFdInfoKHR; VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR( VULKAN_HPP_NAMESPACE::Fence fence_ = {}, VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ = {}, @@ -50120,7 +50318,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ImportFenceWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR ImportFenceWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::Fence fence_ = {}, @@ -50241,7 +50440,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImportMemoryFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryFdInfoKHR; VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ = VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, @@ -50329,7 +50529,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImportMemoryHostPointerInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryHostPointerInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryHostPointerInfoEXT; VULKAN_HPP_CONSTEXPR ImportMemoryHostPointerInfoEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ = @@ -50423,7 +50624,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ImportMemoryWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_ = @@ -50527,7 +50729,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ImportMemoryWin32HandleInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoNV; VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_ = {}, @@ -50619,7 +50822,8 @@ namespace VULKAN_HPP_NAMESPACE struct ImportSemaphoreFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreFdInfoKHR; VULKAN_HPP_CONSTEXPR ImportSemaphoreFdInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, @@ -50728,6 +50932,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct ImportSemaphoreWin32HandleInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreWin32HandleInfoKHR; @@ -50852,7 +51057,8 @@ namespace VULKAN_HPP_NAMESPACE struct IndirectCommandsLayoutTokenNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIndirectCommandsLayoutTokenNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIndirectCommandsLayoutTokenNV; VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutTokenNV( VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_ = @@ -51055,6 +51261,7 @@ namespace VULKAN_HPP_NAMESPACE struct IndirectCommandsLayoutCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIndirectCommandsLayoutCreateInfoNV; @@ -51188,6 +51395,7 @@ namespace VULKAN_HPP_NAMESPACE struct InitializePerformanceApiInfoINTEL { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eInitializePerformanceApiInfoINTEL; @@ -51344,7 +51552,8 @@ namespace VULKAN_HPP_NAMESPACE struct InstanceCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eInstanceCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eInstanceCreateInfo; VULKAN_HPP_CONSTEXPR InstanceCreateInfo( VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_ = {}, const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo_ = {}, @@ -51529,7 +51738,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_MACOS_MVK struct MacOSSurfaceCreateInfoMVK { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMacosSurfaceCreateInfoMVK; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMacosSurfaceCreateInfoMVK; VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ = {}, const void * pView_ = {} ) VULKAN_HPP_NOEXCEPT @@ -51616,7 +51826,8 @@ namespace VULKAN_HPP_NAMESPACE struct MappedMemoryRange { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMappedMemoryRange; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMappedMemoryRange; VULKAN_HPP_CONSTEXPR MappedMemoryRange( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {}, @@ -51711,7 +51922,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryAllocateFlagsInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateFlagsInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateFlagsInfo; VULKAN_HPP_CONSTEXPR MemoryAllocateFlagsInfo( VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_ = {}, uint32_t deviceMask_ = {} ) VULKAN_HPP_NOEXCEPT @@ -51797,7 +52009,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryAllocateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateInfo; VULKAN_HPP_CONSTEXPR MemoryAllocateInfo( VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {}, uint32_t memoryTypeIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -51883,7 +52096,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryBarrier { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryBarrier; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryBarrier; VULKAN_HPP_CONSTEXPR MemoryBarrier( VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {} ) VULKAN_HPP_NOEXCEPT @@ -51968,7 +52182,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryDedicatedAllocateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedAllocateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedAllocateInfo; VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo( VULKAN_HPP_NAMESPACE::Image image_ = {}, VULKAN_HPP_NAMESPACE::Buffer buffer_ = {} ) VULKAN_HPP_NOEXCEPT @@ -52055,7 +52270,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryDedicatedRequirements { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedRequirements; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedRequirements; VULKAN_HPP_CONSTEXPR MemoryDedicatedRequirements( VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation_ = {}, @@ -52127,7 +52343,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryFdPropertiesKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryFdPropertiesKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryFdPropertiesKHR; VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT : memoryTypeBits( memoryTypeBits_ ) @@ -52192,6 +52409,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR struct MemoryGetAndroidHardwareBufferInfoANDROID { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID; @@ -52280,7 +52498,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryGetFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetFdInfoKHR; VULKAN_HPP_CONSTEXPR MemoryGetFdInfoKHR( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, @@ -52371,7 +52590,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct MemoryGetWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, @@ -52514,7 +52734,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryHostPointerPropertiesEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryHostPointerPropertiesEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryHostPointerPropertiesEXT; VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT : memoryTypeBits( memoryTypeBits_ ) @@ -52581,6 +52802,7 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryOpaqueCaptureAddressAllocateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryOpaqueCaptureAddressAllocateInfo; @@ -52666,7 +52888,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryPriorityAllocateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryPriorityAllocateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryPriorityAllocateInfoEXT; VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT( float priority_ = {} ) VULKAN_HPP_NOEXCEPT : priority( priority_ ) @@ -52799,7 +53022,8 @@ namespace VULKAN_HPP_NAMESPACE struct MemoryRequirements2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryRequirements2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryRequirements2; VULKAN_HPP_CONSTEXPR MemoryRequirements2( VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements_ = {} ) VULKAN_HPP_NOEXCEPT @@ -52915,7 +53139,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct MemoryWin32HandlePropertiesKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryWin32HandlePropertiesKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryWin32HandlePropertiesKHR; VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR( uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT : memoryTypeBits( memoryTypeBits_ ) @@ -52984,7 +53209,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_METAL_EXT struct MetalSurfaceCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMetalSurfaceCreateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMetalSurfaceCreateInfoEXT; VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ = {}, const CAMetalLayer * pLayer_ = {} ) VULKAN_HPP_NOEXCEPT @@ -53071,7 +53297,8 @@ namespace VULKAN_HPP_NAMESPACE struct MultisamplePropertiesEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultisamplePropertiesEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultisamplePropertiesEXT; VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {} ) VULKAN_HPP_NOEXCEPT @@ -53200,6 +53427,7 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceConfigurationAcquireInfoINTEL { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceConfigurationAcquireInfoINTEL; @@ -53289,6 +53517,7 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceCounterDescriptionKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterDescriptionKHR; VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR( @@ -53367,7 +53596,8 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceCounterKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterKHR; VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR( VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit_ = VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric, @@ -53526,7 +53756,8 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceMarkerInfoINTEL { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceMarkerInfoINTEL; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceMarkerInfoINTEL; VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL( uint64_t marker_ = {} ) VULKAN_HPP_NOEXCEPT : marker( marker_ ) {} @@ -53602,7 +53833,8 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceOverrideInfoINTEL { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceOverrideInfoINTEL; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceOverrideInfoINTEL; VULKAN_HPP_CONSTEXPR PerformanceOverrideInfoINTEL( VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_ = @@ -53703,7 +53935,8 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceQuerySubmitInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceQuerySubmitInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceQuerySubmitInfoKHR; VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR( uint32_t counterPassIndex_ = {} ) VULKAN_HPP_NOEXCEPT : counterPassIndex( counterPassIndex_ ) @@ -53782,6 +54015,7 @@ namespace VULKAN_HPP_NAMESPACE struct PerformanceStreamMarkerInfoINTEL { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceStreamMarkerInfoINTEL; VULKAN_HPP_CONSTEXPR PerformanceStreamMarkerInfoINTEL( uint32_t marker_ = {} ) VULKAN_HPP_NOEXCEPT @@ -53988,6 +54222,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevice16BitStorageFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevice16BitStorageFeatures; @@ -54105,6 +54340,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevice8BitStorageFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevice8BitStorageFeatures; @@ -54210,6 +54446,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceASTCDecodeFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT; @@ -54295,6 +54532,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT; @@ -54383,6 +54621,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT; @@ -54479,6 +54718,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceBufferDeviceAddressFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressFeatures; @@ -54588,6 +54828,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceBufferDeviceAddressFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT; @@ -54697,6 +54938,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCoherentMemoryFeaturesAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD; @@ -54783,6 +55025,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceComputeShaderDerivativesFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV; @@ -54882,6 +55125,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceConditionalRenderingFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT; @@ -54980,6 +55224,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceConservativeRasterizationPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT; @@ -55089,6 +55334,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCooperativeMatrixFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV; @@ -55187,6 +55433,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCooperativeMatrixPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV; @@ -55262,6 +55509,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCornerSampledImageFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV; @@ -55349,6 +55597,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCoverageReductionModeFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV; @@ -55436,6 +55685,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCustomBorderColorFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT; @@ -55534,6 +55784,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceCustomBorderColorPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT; @@ -55609,6 +55860,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; @@ -55699,6 +55951,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDepthClipEnableFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT; @@ -55786,6 +56039,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDepthStencilResolveProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthStencilResolveProperties; @@ -55873,6 +56127,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDescriptorIndexingFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorIndexingFeatures; @@ -56174,6 +56429,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDescriptorIndexingProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorIndexingProperties; @@ -56349,6 +56605,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV; @@ -56437,6 +56694,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV; @@ -56545,6 +56803,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDiagnosticsConfigFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV; @@ -56632,6 +56891,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDiscardRectanglePropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT; @@ -56706,7 +56966,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceDriverProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDriverProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDriverProperties; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties( VULKAN_HPP_NAMESPACE::DriverId driverID_ = VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary, @@ -56785,6 +57046,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExclusiveScissorFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV; @@ -56871,6 +57133,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExternalBufferInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalBufferInfo; VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalBufferInfo( @@ -56973,7 +57236,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExternalFenceInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalFenceInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalFenceInfo; VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalFenceInfo( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ = @@ -57056,6 +57320,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExternalImageFormatInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalImageFormatInfo; @@ -57143,6 +57408,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExternalMemoryHostPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT; @@ -57218,6 +57484,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceExternalSemaphoreInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalSemaphoreInfo; @@ -57304,7 +57571,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFeatures2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFeatures2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFeatures2; VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures2( VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features_ = {} ) VULKAN_HPP_NOEXCEPT @@ -57382,6 +57650,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFloatControlsProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFloatControlsProperties; @@ -57523,6 +57792,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFragmentDensityMapFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT; @@ -57605,6 +57875,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFragmentDensityMapPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT; @@ -57688,6 +57959,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesNV; @@ -57777,6 +58049,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT; @@ -57887,7 +58160,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceGroupProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGroupProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGroupProperties; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties( uint32_t physicalDeviceCount_ = {}, @@ -57963,6 +58237,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceHostQueryResetFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceHostQueryResetFeatures; @@ -58048,7 +58323,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceIDProperties { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceIdProperties; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceIdProperties; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties( std::array const & deviceUUID_ = {}, @@ -58129,6 +58405,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceImageDrmFormatModifierInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT; @@ -58248,7 +58525,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceImageFormatInfo2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageFormatInfo2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageFormatInfo2; VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2( VULKAN_HPP_NAMESPACE::Format format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, @@ -58365,6 +58643,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceImageViewImageFormatInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT; @@ -58453,6 +58732,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceImagelessFramebufferFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImagelessFramebufferFeatures; @@ -58540,6 +58820,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceIndexTypeUint8FeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT; @@ -58626,6 +58907,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceInlineUniformBlockFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInlineUniformBlockFeaturesEXT; @@ -58725,6 +59007,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceInlineUniformBlockPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInlineUniformBlockPropertiesEXT; @@ -59281,6 +59564,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceLineRasterizationFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT; @@ -59422,6 +59706,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceLineRasterizationPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT; @@ -59497,6 +59782,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMaintenance3Properties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMaintenance3Properties; @@ -59573,6 +59859,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMemoryBudgetPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT; @@ -59650,6 +59937,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMemoryPriorityFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT; @@ -59796,7 +60084,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMemoryProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryProperties2; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -59864,6 +60153,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMeshShaderFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderFeaturesNV; @@ -59956,6 +60246,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMeshShaderPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderPropertiesNV; @@ -60077,7 +60368,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMultiviewFeatures { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewFeatures; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewFeatures; VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures( VULKAN_HPP_NAMESPACE::Bool32 multiview_ = {}, @@ -60179,6 +60471,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; @@ -60256,6 +60549,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceMultiviewProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewProperties; @@ -60330,6 +60624,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePCIBusInfoPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePciBusInfoPropertiesEXT; @@ -60411,6 +60706,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePerformanceQueryFeaturesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR; @@ -60510,6 +60806,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePerformanceQueryPropertiesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR; @@ -60585,6 +60882,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineCreationCacheControlFeaturesEXT; @@ -60675,6 +60973,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR; @@ -60765,6 +61064,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePointClippingProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePointClippingProperties; @@ -60839,6 +61139,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePrivateDataFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePrivateDataFeaturesEXT; @@ -61066,7 +61367,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProperties2; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2( VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -61132,6 +61434,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceProtectedMemoryFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProtectedMemoryFeatures; @@ -61217,6 +61520,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceProtectedMemoryProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProtectedMemoryProperties; @@ -61290,6 +61594,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePushDescriptorPropertiesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePushDescriptorPropertiesKHR; @@ -61365,6 +61670,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct PhysicalDeviceRayTracingFeaturesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingFeaturesKHR; @@ -61536,6 +61842,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct PhysicalDeviceRayTracingPropertiesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingPropertiesKHR; @@ -61640,6 +61947,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceRayTracingPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingPropertiesNV; @@ -61739,6 +62047,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV; @@ -61829,6 +62138,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceRobustness2FeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRobustness2FeaturesEXT; @@ -61935,6 +62245,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceRobustness2PropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRobustness2PropertiesEXT; @@ -62012,6 +62323,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSampleLocationsPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT; @@ -62103,6 +62415,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSamplerFilterMinmaxProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties; @@ -62182,6 +62495,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSamplerYcbcrConversionFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures; @@ -62270,6 +62584,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceScalarBlockLayoutFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceScalarBlockLayoutFeatures; @@ -62355,6 +62670,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures; @@ -62444,6 +62760,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderAtomicInt64Features { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderAtomicInt64Features; @@ -62542,6 +62859,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderClockFeaturesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderClockFeaturesKHR; @@ -62638,6 +62956,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderCoreProperties2AMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreProperties2AMD; @@ -62714,6 +63033,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderCorePropertiesAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCorePropertiesAMD; @@ -62833,6 +63153,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; @@ -62923,6 +63244,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderDrawParametersFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderDrawParametersFeatures; @@ -63010,6 +63332,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderFloat16Int8Features { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderFloat16Int8Features; @@ -63107,6 +63430,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderImageFootprintFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV; @@ -63193,6 +63517,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; @@ -63283,6 +63608,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderSMBuiltinsFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV; @@ -63369,6 +63695,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderSMBuiltinsPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV; @@ -63447,6 +63774,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures; @@ -63536,6 +63864,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShadingRateImageFeaturesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShadingRateImageFeaturesNV; @@ -63634,6 +63963,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShadingRateImagePropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShadingRateImagePropertiesNV; @@ -63716,6 +64046,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSparseImageFormatInfo2 { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSparseImageFormatInfo2; @@ -63838,6 +64169,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSubgroupProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupProperties; VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupProperties( @@ -63917,6 +64249,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSubgroupSizeControlFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupSizeControlFeaturesEXT; @@ -64015,6 +64348,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSubgroupSizeControlPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupSizeControlPropertiesEXT; @@ -64101,7 +64435,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceSurfaceInfo2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSurfaceInfo2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSurfaceInfo2KHR; VULKAN_HPP_CONSTEXPR PhysicalDeviceSurfaceInfo2KHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ = {} ) VULKAN_HPP_NOEXCEPT @@ -64181,6 +64516,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT; @@ -64268,6 +64604,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTexelBufferAlignmentPropertiesEXT; @@ -64355,6 +64692,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeaturesEXT; @@ -64445,6 +64783,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTimelineSemaphoreFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTimelineSemaphoreFeatures; @@ -64530,6 +64869,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTimelineSemaphoreProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTimelineSemaphoreProperties; @@ -64604,7 +64944,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceToolPropertiesEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceToolPropertiesEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceToolPropertiesEXT; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolPropertiesEXT( std::array const & name_ = {}, @@ -64685,6 +65026,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTransformFeedbackFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT; @@ -64783,6 +65125,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceTransformFeedbackPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT; @@ -64894,6 +65237,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceUniformBufferStandardLayoutFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures; @@ -64983,6 +65327,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVariablePointersFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVariablePointersFeatures; @@ -65080,6 +65425,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT; @@ -65179,6 +65525,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT; @@ -65255,7 +65602,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVulkan11Features { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Features; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Features; VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan11Features( VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_ = {}, @@ -65455,6 +65803,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVulkan11Properties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Properties; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties( @@ -65577,7 +65926,8 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVulkan12Features { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Features; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Features; VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features( VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_ = {}, @@ -66163,6 +66513,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVulkan12Properties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Properties; VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties( @@ -66451,6 +66802,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceVulkanMemoryModelFeatures { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkanMemoryModelFeatures; @@ -66559,6 +66911,7 @@ namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceYcbcrImageArraysFeaturesEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT; @@ -66645,7 +66998,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCacheCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCacheCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCacheCreateInfo; VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo( VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_ = {}, size_t initialDataSize_ = {}, @@ -66740,6 +67094,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineColorBlendAdvancedStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT; @@ -66849,6 +67204,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCompilerControlCreateInfoAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCompilerControlCreateInfoAMD; @@ -66934,6 +67290,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCoverageModulationStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageModulationStateCreateInfoNV; @@ -67067,6 +67424,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCoverageReductionStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageReductionStateCreateInfoNV; @@ -67167,6 +67525,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCoverageToColorStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageToColorStateCreateInfoNV; @@ -67329,6 +67688,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineCreationFeedbackCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCreationFeedbackCreateInfoEXT; @@ -67437,6 +67797,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineDiscardRectangleStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDiscardRectangleStateCreateInfoEXT; @@ -67558,7 +67919,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineExecutableInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableInfoKHR; VULKAN_HPP_CONSTEXPR PipelineExecutableInfoKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {}, uint32_t executableIndex_ = {} ) VULKAN_HPP_NOEXCEPT @@ -67645,6 +68007,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineExecutableInternalRepresentationKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableInternalRepresentationKHR; @@ -67733,7 +68096,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineExecutablePropertiesKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutablePropertiesKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutablePropertiesKHR; VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR( VULKAN_HPP_NAMESPACE::ShaderStageFlags stages_ = {}, @@ -67881,7 +68245,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineExecutableStatisticKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableStatisticKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableStatisticKHR; PipelineExecutableStatisticKHR( std::array const & name_ = {}, std::array const & description_ = {}, @@ -67946,7 +68311,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineInfoKHR; VULKAN_HPP_CONSTEXPR PipelineInfoKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {} ) VULKAN_HPP_NOEXCEPT : pipeline( pipeline_ ) @@ -68093,7 +68459,8 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineLayoutCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLayoutCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLayoutCreateInfo; VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo( VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_ = {}, @@ -68212,7 +68579,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct PipelineLibraryCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLibraryCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLibraryCreateInfoKHR; VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR( uint32_t libraryCount_ = {}, @@ -68303,6 +68671,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationConservativeStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT; @@ -68416,6 +68785,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationDepthClipStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT; @@ -68514,6 +68884,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationLineStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationLineStateCreateInfoEXT; @@ -68636,6 +69007,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationStateRasterizationOrderAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateRasterizationOrderAMD; @@ -68725,6 +69097,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRasterizationStateStreamCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateStreamCreateInfoEXT; @@ -68823,6 +69196,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineRepresentativeFragmentTestStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV; @@ -68913,6 +69287,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineSampleLocationsStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineSampleLocationsStateCreateInfoEXT; @@ -69012,6 +69387,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; @@ -69088,6 +69464,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineTessellationDomainOriginStateCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineTessellationDomainOriginStateCreateInfo; @@ -69242,6 +69619,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineVertexInputDivisorStateCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT; @@ -69343,6 +69721,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportCoarseSampleOrderStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV; @@ -69456,6 +69835,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportExclusiveScissorStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV; @@ -69621,6 +70001,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportShadingRateImageStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV; @@ -69816,6 +70197,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportSwizzleStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportSwizzleStateCreateInfoNV; @@ -69985,6 +70367,7 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineViewportWScalingStateCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportWScalingStateCreateInfoNV; @@ -70094,7 +70477,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_GGP struct PresentFrameTokenGGP { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentFrameTokenGGP; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentFrameTokenGGP; VULKAN_HPP_CONSTEXPR PresentFrameTokenGGP( GgpFrameToken frameToken_ = {} ) VULKAN_HPP_NOEXCEPT : frameToken( frameToken_ ) @@ -70171,7 +70555,8 @@ namespace VULKAN_HPP_NAMESPACE struct PresentInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentInfoKHR; VULKAN_HPP_CONSTEXPR PresentInfoKHR( uint32_t waitSemaphoreCount_ = {}, const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ = {}, @@ -70433,7 +70818,8 @@ namespace VULKAN_HPP_NAMESPACE struct PresentRegionsKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentRegionsKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentRegionsKHR; VULKAN_HPP_CONSTEXPR PresentRegionsKHR( uint32_t swapchainCount_ = {}, @@ -70583,7 +70969,8 @@ namespace VULKAN_HPP_NAMESPACE struct PresentTimesInfoGOOGLE { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentTimesInfoGOOGLE; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentTimesInfoGOOGLE; VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE( uint32_t swapchainCount_ = {}, @@ -70670,7 +71057,8 @@ namespace VULKAN_HPP_NAMESPACE struct PrivateDataSlotCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePrivateDataSlotCreateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePrivateDataSlotCreateInfoEXT; VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfoEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlagsEXT flags_ = {} ) VULKAN_HPP_NOEXCEPT : flags( flags_ ) @@ -70749,7 +71137,8 @@ namespace VULKAN_HPP_NAMESPACE struct ProtectedSubmitInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eProtectedSubmitInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eProtectedSubmitInfo; VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo( VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_ = {} ) VULKAN_HPP_NOEXCEPT : protectedSubmit( protectedSubmit_ ) @@ -70825,7 +71214,8 @@ namespace VULKAN_HPP_NAMESPACE struct QueryPoolCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolCreateInfo; VULKAN_HPP_CONSTEXPR QueryPoolCreateInfo( VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_ = {}, @@ -70932,6 +71322,7 @@ namespace VULKAN_HPP_NAMESPACE struct QueryPoolPerformanceCreateInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolPerformanceCreateInfoKHR; @@ -71031,6 +71422,7 @@ namespace VULKAN_HPP_NAMESPACE struct QueryPoolPerformanceQueryCreateInfoINTEL { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL; @@ -71121,6 +71513,7 @@ namespace VULKAN_HPP_NAMESPACE struct QueueFamilyCheckpointPropertiesNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyCheckpointPropertiesNV; @@ -71251,7 +71644,8 @@ namespace VULKAN_HPP_NAMESPACE struct QueueFamilyProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyProperties2; VULKAN_HPP_CONSTEXPR QueueFamilyProperties2( VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -71317,6 +71711,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct RayTracingShaderGroupCreateInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingShaderGroupCreateInfoKHR; @@ -71453,6 +71848,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct RayTracingPipelineInterfaceCreateInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineInterfaceCreateInfoKHR; @@ -71559,7 +71955,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_ENABLE_BETA_EXTENSIONS struct RayTracingPipelineCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoKHR; VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {}, @@ -71740,6 +72137,7 @@ namespace VULKAN_HPP_NAMESPACE struct RayTracingShaderGroupCreateInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingShaderGroupCreateInfoNV; @@ -71862,7 +72260,8 @@ namespace VULKAN_HPP_NAMESPACE struct RayTracingPipelineCreateInfoNV { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoNV; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoNV; VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoNV( VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_ = {}, @@ -72069,7 +72468,8 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassAttachmentBeginInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassAttachmentBeginInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassAttachmentBeginInfo; VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo( uint32_t attachmentCount_ = {}, @@ -72160,7 +72560,8 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassBeginInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassBeginInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassBeginInfo; VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, @@ -72534,7 +72935,8 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo; VULKAN_HPP_CONSTEXPR RenderPassCreateInfo( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ = {}, @@ -72671,7 +73073,8 @@ namespace VULKAN_HPP_NAMESPACE struct SubpassDescription2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDescription2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDescription2; VULKAN_HPP_CONSTEXPR SubpassDescription2( VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_ = {}, @@ -72850,7 +73253,8 @@ namespace VULKAN_HPP_NAMESPACE struct SubpassDependency2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDependency2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDependency2; VULKAN_HPP_CONSTEXPR SubpassDependency2( uint32_t srcSubpass_ = {}, uint32_t dstSubpass_ = {}, @@ -72994,7 +73398,8 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassCreateInfo2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo2; VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2( VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_ = {}, uint32_t attachmentCount_ = {}, @@ -73150,6 +73555,7 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassFragmentDensityMapCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassFragmentDensityMapCreateInfoEXT; @@ -73238,6 +73644,7 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassInputAttachmentAspectCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassInputAttachmentAspectCreateInfo; @@ -73336,7 +73743,8 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassMultiviewCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassMultiviewCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassMultiviewCreateInfo; VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo( uint32_t subpassCount_ = {}, const uint32_t * pViewMasks_ = {}, @@ -73529,6 +73937,7 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassSampleLocationsBeginInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassSampleLocationsBeginInfoEXT; @@ -73649,6 +74058,7 @@ namespace VULKAN_HPP_NAMESPACE struct RenderPassTransformBeginInfoQCOM { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassTransformBeginInfoQCOM; VULKAN_HPP_CONSTEXPR RenderPassTransformBeginInfoQCOM( @@ -73731,7 +74141,8 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCreateInfo; VULKAN_HPP_CONSTEXPR SamplerCreateInfo( VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_ = {}, @@ -73951,6 +74362,7 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerCustomBorderColorCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCustomBorderColorCreateInfoEXT; @@ -74031,7 +74443,8 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerReductionModeCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerReductionModeCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerReductionModeCreateInfo; VULKAN_HPP_CONSTEXPR SamplerReductionModeCreateInfo( VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_ = @@ -74114,6 +74527,7 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerYcbcrConversionCreateInfo { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionCreateInfo; VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionCreateInfo( @@ -74268,6 +74682,7 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerYcbcrConversionImageFormatProperties { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionImageFormatProperties; @@ -74343,7 +74758,8 @@ namespace VULKAN_HPP_NAMESPACE struct SamplerYcbcrConversionInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionInfo; VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionInfo( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_ = {} ) VULKAN_HPP_NOEXCEPT @@ -74423,7 +74839,8 @@ namespace VULKAN_HPP_NAMESPACE struct SemaphoreCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreCreateInfo; VULKAN_HPP_CONSTEXPR SemaphoreCreateInfo( VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT @@ -74500,7 +74917,8 @@ namespace VULKAN_HPP_NAMESPACE struct SemaphoreGetFdInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetFdInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetFdInfoKHR; VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_ = @@ -74591,7 +75009,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct SemaphoreGetWin32HandleInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetWin32HandleInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetWin32HandleInfoKHR; VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, @@ -74685,7 +75104,8 @@ namespace VULKAN_HPP_NAMESPACE struct SemaphoreSignalInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreSignalInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreSignalInfo; VULKAN_HPP_CONSTEXPR SemaphoreSignalInfo( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, uint64_t value_ = {} ) VULKAN_HPP_NOEXCEPT @@ -74771,7 +75191,8 @@ namespace VULKAN_HPP_NAMESPACE struct SemaphoreTypeCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreTypeCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreTypeCreateInfo; VULKAN_HPP_CONSTEXPR SemaphoreTypeCreateInfo( VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_ = VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary, @@ -74858,7 +75279,8 @@ namespace VULKAN_HPP_NAMESPACE struct SemaphoreWaitInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreWaitInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreWaitInfo; VULKAN_HPP_CONSTEXPR SemaphoreWaitInfo( VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_ = {}, uint32_t semaphoreCount_ = {}, @@ -75016,7 +75438,8 @@ namespace VULKAN_HPP_NAMESPACE struct ShaderModuleCreateInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleCreateInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleCreateInfo; VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo( VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_ = {}, size_t codeSize_ = {}, @@ -75111,6 +75534,7 @@ namespace VULKAN_HPP_NAMESPACE struct ShaderModuleValidationCacheCreateInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleValidationCacheCreateInfoEXT; @@ -75331,6 +75755,7 @@ namespace VULKAN_HPP_NAMESPACE struct SharedPresentSurfaceCapabilitiesKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSharedPresentSurfaceCapabilitiesKHR; @@ -75459,7 +75884,8 @@ namespace VULKAN_HPP_NAMESPACE struct SparseImageFormatProperties2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageFormatProperties2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageFormatProperties2; VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2( VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties_ = {} ) VULKAN_HPP_NOEXCEPT @@ -75590,7 +76016,8 @@ namespace VULKAN_HPP_NAMESPACE struct SparseImageMemoryRequirements2 { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageMemoryRequirements2; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageMemoryRequirements2; VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2( VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements_ = {} ) VULKAN_HPP_NOEXCEPT @@ -75659,6 +76086,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_GGP struct StreamDescriptorSurfaceCreateInfoGGP { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eStreamDescriptorSurfaceCreateInfoGGP; @@ -75848,7 +76276,8 @@ namespace VULKAN_HPP_NAMESPACE struct SubmitInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubmitInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubmitInfo; VULKAN_HPP_CONSTEXPR SubmitInfo( uint32_t waitSemaphoreCount_ = {}, @@ -75982,7 +76411,8 @@ namespace VULKAN_HPP_NAMESPACE struct SubpassBeginInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassBeginInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassBeginInfo; VULKAN_HPP_CONSTEXPR SubpassBeginInfo( VULKAN_HPP_NAMESPACE::SubpassContents contents_ = VULKAN_HPP_NAMESPACE::SubpassContents::eInline ) VULKAN_HPP_NOEXCEPT @@ -76059,6 +76489,7 @@ namespace VULKAN_HPP_NAMESPACE struct SubpassDescriptionDepthStencilResolve { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDescriptionDepthStencilResolve; @@ -76166,7 +76597,8 @@ namespace VULKAN_HPP_NAMESPACE struct SubpassEndInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassEndInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassEndInfo; VULKAN_HPP_CONSTEXPR SubpassEndInfo() VULKAN_HPP_NOEXCEPT {} @@ -76232,7 +76664,8 @@ namespace VULKAN_HPP_NAMESPACE struct SurfaceCapabilities2EXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2EXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2EXT; VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT( uint32_t minImageCount_ = {}, @@ -76419,7 +76852,8 @@ namespace VULKAN_HPP_NAMESPACE struct SurfaceCapabilities2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2KHR; VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR( VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities_ = {} ) VULKAN_HPP_NOEXCEPT @@ -76485,6 +76919,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct SurfaceCapabilitiesFullScreenExclusiveEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT; @@ -76627,7 +77062,8 @@ namespace VULKAN_HPP_NAMESPACE struct SurfaceFormat2KHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFormat2KHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFormat2KHR; VULKAN_HPP_CONSTEXPR SurfaceFormat2KHR( VULKAN_HPP_NAMESPACE::SurfaceFormatKHR surfaceFormat_ = {} ) VULKAN_HPP_NOEXCEPT @@ -76693,6 +77129,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct SurfaceFullScreenExclusiveInfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFullScreenExclusiveInfoEXT; @@ -76779,6 +77216,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct SurfaceFullScreenExclusiveWin32InfoEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT; @@ -76863,7 +77301,8 @@ namespace VULKAN_HPP_NAMESPACE struct SurfaceProtectedCapabilitiesKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceProtectedCapabilitiesKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceProtectedCapabilitiesKHR; VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_ = {} ) VULKAN_HPP_NOEXCEPT @@ -76944,7 +77383,8 @@ namespace VULKAN_HPP_NAMESPACE struct SwapchainCounterCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCounterCreateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCounterCreateInfoEXT; VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT( VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_ = {} ) VULKAN_HPP_NOEXCEPT @@ -77025,7 +77465,8 @@ namespace VULKAN_HPP_NAMESPACE struct SwapchainCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCreateInfoKHR; VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR( VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_ = {}, @@ -77252,6 +77693,7 @@ namespace VULKAN_HPP_NAMESPACE struct SwapchainDisplayNativeHdrCreateInfoAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD; @@ -77336,6 +77778,7 @@ namespace VULKAN_HPP_NAMESPACE struct TextureLODGatherFormatPropertiesAMD { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTextureLodGatherFormatPropertiesAMD; @@ -77408,7 +77851,8 @@ namespace VULKAN_HPP_NAMESPACE struct TimelineSemaphoreSubmitInfo { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTimelineSemaphoreSubmitInfo; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTimelineSemaphoreSubmitInfo; VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo( uint32_t waitSemaphoreValueCount_ = {}, @@ -77599,7 +78043,8 @@ namespace VULKAN_HPP_NAMESPACE struct ValidationCacheCreateInfoEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationCacheCreateInfoEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationCacheCreateInfoEXT; VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT( VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_ = {}, size_t initialDataSize_ = {}, @@ -77697,7 +78142,8 @@ namespace VULKAN_HPP_NAMESPACE struct ValidationFeaturesEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFeaturesEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFeaturesEXT; VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT( uint32_t enabledValidationFeatureCount_ = {}, @@ -77809,7 +78255,8 @@ namespace VULKAN_HPP_NAMESPACE struct ValidationFlagsEXT { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFlagsEXT; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFlagsEXT; VULKAN_HPP_CONSTEXPR ValidationFlagsEXT( uint32_t disabledValidationCheckCount_ = {}, @@ -77899,7 +78346,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_VI_NN struct ViSurfaceCreateInfoNN { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eViSurfaceCreateInfoNN; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eViSurfaceCreateInfoNN; VULKAN_HPP_CONSTEXPR ViSurfaceCreateInfoNN( VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ = {}, void * window_ = {} ) VULKAN_HPP_NOEXCEPT @@ -77986,7 +78434,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WAYLAND_KHR struct WaylandSurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWaylandSurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWaylandSurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_ = {}, struct wl_display * display_ = {}, @@ -78086,6 +78535,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct Win32KeyedMutexAcquireReleaseInfoKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR; @@ -78231,6 +78681,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct Win32KeyedMutexAcquireReleaseInfoNV { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32KeyedMutexAcquireReleaseInfoNV; @@ -78377,7 +78828,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_WIN32_KHR struct Win32SurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32SurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32SurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_ = {}, HINSTANCE hinstance_ = {}, @@ -78474,7 +78926,8 @@ namespace VULKAN_HPP_NAMESPACE struct WriteDescriptorSet { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSet; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSet; VULKAN_HPP_CONSTEXPR WriteDescriptorSet( VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_ = {}, @@ -78621,6 +79074,7 @@ namespace VULKAN_HPP_NAMESPACE struct WriteDescriptorSetAccelerationStructureKHR { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSetAccelerationStructureKHR; @@ -78720,6 +79174,7 @@ namespace VULKAN_HPP_NAMESPACE struct WriteDescriptorSetInlineUniformBlockEXT { + static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSetInlineUniformBlockEXT; @@ -78814,7 +79269,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_XCB_KHR struct XcbSurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXcbSurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXcbSurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_ = {}, xcb_connection_t * connection_ = {}, @@ -78911,7 +79367,8 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_XLIB_KHR struct XlibSurfaceCreateInfoKHR { - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXlibSurfaceCreateInfoKHR; + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXlibSurfaceCreateInfoKHR; VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ = {}, Display * dpy_ = {}, @@ -94162,7 +94619,7 @@ namespace VULKAN_HPP_NAMESPACE #ifdef VK_USE_PLATFORM_ANDROID_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94172,7 +94629,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #ifdef VK_USE_PLATFORM_ANDROID_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94181,7 +94638,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94189,7 +94646,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94197,7 +94654,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94205,7 +94662,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94213,7 +94670,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94221,7 +94678,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94229,7 +94686,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94237,7 +94694,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94245,7 +94702,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94253,7 +94710,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94262,7 +94719,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94271,7 +94728,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94279,7 +94736,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94287,7 +94744,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94295,7 +94752,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94303,7 +94760,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94312,7 +94769,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_ENABLE_BETA_EXTENSIONS template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94320,7 +94777,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94328,7 +94785,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94336,7 +94793,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94344,7 +94801,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94353,7 +94810,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94361,7 +94818,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94369,7 +94826,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94377,7 +94834,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94385,7 +94842,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94393,7 +94850,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94401,7 +94858,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94409,7 +94866,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94417,7 +94874,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94425,7 +94882,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94433,7 +94890,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94441,7 +94898,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94449,7 +94906,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94457,7 +94914,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94465,7 +94922,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94473,7 +94930,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94481,7 +94938,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94489,7 +94946,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94498,7 +94955,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94507,7 +94964,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94515,7 +94972,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94524,7 +94981,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94534,7 +94991,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94543,7 +95000,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94552,7 +95009,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94562,7 +95019,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_ANDROID_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94570,7 +95027,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94579,7 +95036,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94587,7 +95044,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94595,7 +95052,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94603,7 +95060,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94611,7 +95068,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94619,7 +95076,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94627,7 +95084,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94635,7 +95092,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94643,7 +95100,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94651,7 +95108,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94659,7 +95116,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94667,7 +95124,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94675,7 +95132,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94683,7 +95140,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94691,7 +95148,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94699,7 +95156,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94707,7 +95164,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94715,7 +95172,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94724,7 +95181,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_ANDROID_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94733,7 +95190,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94741,7 +95198,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94750,7 +95207,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94760,7 +95217,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94769,7 +95226,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94777,7 +95234,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94785,7 +95242,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94793,7 +95250,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94801,7 +95258,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94809,7 +95266,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94817,7 +95274,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94825,7 +95282,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94833,7 +95290,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94841,7 +95298,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94849,7 +95306,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94857,7 +95314,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94865,7 +95322,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94873,7 +95330,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94881,7 +95338,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94889,7 +95346,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94897,7 +95354,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94905,7 +95362,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94913,7 +95370,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94921,7 +95378,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94929,7 +95386,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94937,7 +95394,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94945,7 +95402,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94953,7 +95410,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94961,7 +95418,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94969,7 +95426,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94977,7 +95434,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94985,7 +95442,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -94993,7 +95450,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95001,7 +95458,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95009,7 +95466,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95017,7 +95474,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95025,7 +95482,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95033,7 +95490,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95041,7 +95498,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95049,7 +95506,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95057,7 +95514,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95065,7 +95522,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95073,7 +95530,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95081,7 +95538,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95089,7 +95546,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95097,7 +95554,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95105,7 +95562,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95113,7 +95570,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95121,7 +95578,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95129,7 +95586,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95137,7 +95594,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95145,7 +95602,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95153,7 +95610,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95161,7 +95618,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95169,7 +95626,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95177,7 +95634,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95185,7 +95642,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95193,7 +95650,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95201,7 +95658,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95209,7 +95666,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95217,7 +95674,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95225,7 +95682,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95233,7 +95690,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95241,7 +95698,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95249,7 +95706,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95257,7 +95714,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95265,7 +95722,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95273,7 +95730,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95281,7 +95738,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95289,7 +95746,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95297,7 +95754,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95305,7 +95762,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95313,7 +95770,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95321,7 +95778,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95329,7 +95786,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95337,7 +95794,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95345,7 +95802,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95353,7 +95810,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95361,7 +95818,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95369,7 +95826,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95377,7 +95834,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95385,7 +95842,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95393,7 +95850,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95401,7 +95858,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95409,7 +95866,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95417,7 +95874,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95425,7 +95882,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95433,7 +95890,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95441,7 +95898,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95449,7 +95906,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95457,7 +95914,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95465,7 +95922,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95473,7 +95930,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95481,7 +95938,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95489,7 +95946,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95497,7 +95954,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95505,7 +95962,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95513,7 +95970,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95521,7 +95978,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95529,7 +95986,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95537,7 +95994,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95545,7 +96002,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95553,7 +96010,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95561,7 +96018,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95569,7 +96026,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95577,7 +96034,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95585,7 +96042,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95594,7 +96051,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_ENABLE_BETA_EXTENSIONS template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95602,7 +96059,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95612,7 +96069,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #ifdef VK_ENABLE_BETA_EXTENSIONS template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95621,7 +96078,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95629,7 +96086,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95637,7 +96094,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95645,7 +96102,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95653,7 +96110,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95661,7 +96118,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95669,7 +96126,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95677,7 +96134,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95685,7 +96142,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95693,7 +96150,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95701,7 +96158,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95709,7 +96166,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95717,7 +96174,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95725,7 +96182,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95733,7 +96190,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95741,7 +96198,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95749,7 +96206,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95757,7 +96214,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95765,7 +96222,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95773,7 +96230,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95781,7 +96238,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95789,7 +96246,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95797,7 +96254,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95805,7 +96262,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95813,7 +96270,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95821,7 +96278,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95829,7 +96286,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95837,7 +96294,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95845,7 +96302,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95853,7 +96310,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95861,7 +96318,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95869,7 +96326,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95877,7 +96334,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95885,7 +96342,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95893,7 +96350,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95901,7 +96358,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95909,7 +96366,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95917,7 +96374,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95925,7 +96382,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95933,7 +96390,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95941,7 +96398,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95949,7 +96406,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95957,7 +96414,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95965,7 +96422,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95973,7 +96430,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95981,7 +96438,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95989,7 +96446,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -95997,7 +96454,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96005,7 +96462,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96013,7 +96470,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96021,7 +96478,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96029,7 +96486,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96037,7 +96494,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96045,7 +96502,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96053,7 +96510,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96061,7 +96518,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96069,7 +96526,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96077,7 +96534,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96085,7 +96542,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96093,7 +96550,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96101,7 +96558,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96109,7 +96566,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96117,7 +96574,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96125,7 +96582,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96133,7 +96590,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96141,7 +96598,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96149,7 +96606,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96157,7 +96614,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96165,7 +96622,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96173,7 +96630,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96181,7 +96638,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96189,7 +96646,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96197,7 +96654,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96205,7 +96662,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96213,7 +96670,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96221,7 +96678,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96229,7 +96686,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96237,7 +96694,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96245,7 +96702,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96254,7 +96711,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_ENABLE_BETA_EXTENSIONS template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96263,7 +96720,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96271,8 +96728,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96280,7 +96736,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96288,7 +96744,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96296,7 +96752,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96304,7 +96760,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96312,7 +96768,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96320,7 +96776,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96328,7 +96784,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96336,7 +96792,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96344,7 +96800,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96352,7 +96808,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96360,7 +96816,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96368,7 +96824,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96376,7 +96832,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96384,7 +96840,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96393,7 +96849,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_GGP template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96402,7 +96858,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_GGP*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96410,7 +96866,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96418,7 +96874,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96426,7 +96882,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96434,7 +96890,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96442,7 +96898,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96450,7 +96906,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96458,7 +96914,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96466,7 +96922,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96474,7 +96930,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96482,7 +96938,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96490,7 +96946,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96498,7 +96954,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96506,7 +96962,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96514,7 +96970,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96522,7 +96978,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96530,7 +96986,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96538,7 +96994,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96546,7 +97002,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96554,7 +97010,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96562,7 +97018,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96570,7 +97026,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96578,7 +97034,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96586,7 +97042,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96595,7 +97051,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96605,7 +97061,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96613,7 +97069,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96623,7 +97079,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96631,7 +97087,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96640,7 +97096,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96648,7 +97104,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96656,7 +97112,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96664,7 +97120,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96672,7 +97128,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96680,7 +97136,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96688,7 +97144,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96696,7 +97152,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96705,7 +97161,7 @@ namespace VULKAN_HPP_NAMESPACE }; #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96715,7 +97171,7 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96724,7 +97180,7 @@ namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ template <> - struct isStructureChainValid + struct StructExtends { enum { @@ -96732,7 +97188,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct isStructureChainValid + struct StructExtends { enum {