mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2025-09-15 15:01:01 -04:00
Filter multiple required types for function debugReportObjectType (#2184)
This commit is contained in:
parent
7fc625d3ce
commit
87eaf785f8
@ -8760,7 +8760,7 @@ ${objectTypeCases}
|
||||
}
|
||||
)" };
|
||||
|
||||
auto const generateObjectTypeCases = [this]( std::vector<RequireData> const & requireData, std::string const & title )
|
||||
auto const generateObjectTypeCases = [this]( std::vector<RequireData> const & requireData, std::string const & title, std::set<std::string> & listedTypes )
|
||||
{
|
||||
static const std::string objectTypeCaseTemplate =
|
||||
" case VULKAN_HPP_NAMESPACE::ObjectType::${objectType} : return VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::${debugReportObjectType};\n";
|
||||
@ -8769,6 +8769,8 @@ ${objectTypeCases}
|
||||
for ( auto const & require : requireData )
|
||||
{
|
||||
for ( auto const & type : require.types )
|
||||
{
|
||||
if ( listedTypes.insert( type.name ).second ) // only handle yet unlisted types
|
||||
{
|
||||
auto handleIt = m_handles.find( type.name );
|
||||
if ( handleIt != m_handles.end() )
|
||||
@ -8779,17 +8781,19 @@ ${objectTypeCases}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return addTitleAndProtection( title, objectTypeCases );
|
||||
};
|
||||
|
||||
std::string objectTypeCases;
|
||||
std::set<std::string> listedTypes;
|
||||
for ( auto const & feature : m_features )
|
||||
{
|
||||
objectTypeCases += generateObjectTypeCases( feature.requireData, feature.name );
|
||||
objectTypeCases += generateObjectTypeCases( feature.requireData, feature.name, listedTypes );
|
||||
}
|
||||
for ( auto const & extension : m_extensions )
|
||||
{
|
||||
objectTypeCases += generateObjectTypeCases( extension.requireData, extension.name );
|
||||
objectTypeCases += generateObjectTypeCases( extension.requireData, extension.name, listedTypes );
|
||||
}
|
||||
|
||||
return replaceWithMap( objectTypeToDebugReportObjectTypeTemplate, { { "objectTypeCases", objectTypeCases } } );
|
||||
|
Loading…
x
Reference in New Issue
Block a user