mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-10 04:18:48 -04:00
Filter out multiply spec'ed handles for UniqueHandles types. (#2188)
This commit is contained in:
parent
5bac8fc8fc
commit
8ee3f2fabd
@ -12820,7 +12820,9 @@ ${aliasHandle})";
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string VulkanHppGenerator::generateUniqueHandle( std::vector<RequireData> const & requireData, std::string const & title ) const
|
std::string VulkanHppGenerator::generateUniqueHandle( std::vector<RequireData> const & requireData,
|
||||||
|
std::string const & title,
|
||||||
|
std::set<std::string> & listedHandles ) const
|
||||||
{
|
{
|
||||||
std::string str;
|
std::string str;
|
||||||
for ( auto const & require : requireData )
|
for ( auto const & require : requireData )
|
||||||
@ -12828,7 +12830,7 @@ std::string VulkanHppGenerator::generateUniqueHandle( std::vector<RequireData> c
|
|||||||
for ( auto const & type : require.types )
|
for ( auto const & type : require.types )
|
||||||
{
|
{
|
||||||
auto handleIt = m_handles.find( type.name );
|
auto handleIt = m_handles.find( type.name );
|
||||||
if ( handleIt != m_handles.end() )
|
if ( ( handleIt != m_handles.end() ) && listedHandles.insert( handleIt->first ).second )
|
||||||
{
|
{
|
||||||
str += generateUniqueHandle( *handleIt );
|
str += generateUniqueHandle( *handleIt );
|
||||||
}
|
}
|
||||||
@ -12850,13 +12852,14 @@ ${uniqueHandles}
|
|||||||
)";
|
)";
|
||||||
|
|
||||||
std::string uniqueHandles;
|
std::string uniqueHandles;
|
||||||
|
std::set<std::string> listedHandles;
|
||||||
for ( auto const & feature : m_features )
|
for ( auto const & feature : m_features )
|
||||||
{
|
{
|
||||||
uniqueHandles += generateUniqueHandle( feature.requireData, feature.name );
|
uniqueHandles += generateUniqueHandle( feature.requireData, feature.name, listedHandles );
|
||||||
}
|
}
|
||||||
for ( auto const & extension : m_extensions )
|
for ( auto const & extension : m_extensions )
|
||||||
{
|
{
|
||||||
uniqueHandles += generateUniqueHandle( extension.requireData, extension.name );
|
uniqueHandles += generateUniqueHandle( extension.requireData, extension.name, listedHandles );
|
||||||
}
|
}
|
||||||
if ( uniqueHandles.back() == '\n' )
|
if ( uniqueHandles.back() == '\n' )
|
||||||
{
|
{
|
||||||
|
@ -1062,7 +1062,7 @@ private:
|
|||||||
CommandFlavourFlags flavourFlags ) const;
|
CommandFlavourFlags flavourFlags ) const;
|
||||||
std::string generateUnion( std::pair<std::string, StructureData> const & structure ) const;
|
std::string generateUnion( std::pair<std::string, StructureData> const & structure ) const;
|
||||||
std::string generateUniqueHandle( std::pair<std::string, HandleData> const & handleData ) const;
|
std::string generateUniqueHandle( std::pair<std::string, HandleData> const & handleData ) const;
|
||||||
std::string generateUniqueHandle( std::vector<RequireData> const & requireData, std::string const & title ) const;
|
std::string generateUniqueHandle( std::vector<RequireData> const & requireData, std::string const & title, std::set<std::string> & listedHandles ) const;
|
||||||
std::string generateUniqueHandles() const;
|
std::string generateUniqueHandles() const;
|
||||||
std::string generateSharedHandle( std::pair<std::string, HandleData> const & handleData ) const;
|
std::string generateSharedHandle( std::pair<std::string, HandleData> const & handleData ) const;
|
||||||
std::string generateSharedHandle( std::vector<RequireData> const & requireData, std::string const & title ) const;
|
std::string generateSharedHandle( std::vector<RequireData> const & requireData, std::string const & title ) const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user