mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
Merge pull request #848 from asuessenbach/disabledExtension
Remove error checks on unknown types and commands for disabled extensions.
This commit is contained in:
commit
7648c6e0f8
@ -709,7 +709,7 @@ void warn( bool condition, int line, std::string const & message )
|
|||||||
{
|
{
|
||||||
if ( !condition )
|
if ( !condition )
|
||||||
{
|
{
|
||||||
std::cerr << "Spec warning on line " << std::to_string( line ) << " " << message << "!" << std::endl;
|
std::cerr << "Spec warning on line " << std::to_string( line ) << ": " << message << "!" << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8054,13 +8054,15 @@ void VulkanHppGenerator::readExtensionDisabledCommand( tinyxml2::XMLElement cons
|
|||||||
|
|
||||||
// first unlink the command from its class
|
// first unlink the command from its class
|
||||||
auto commandIt = m_commands.find( name );
|
auto commandIt = m_commands.find( name );
|
||||||
check( commandIt != m_commands.end(), line, "try to remove unknown command <" + name + ">" );
|
if ( commandIt != m_commands.end() )
|
||||||
auto handleIt = m_handles.find( commandIt->second.handle );
|
{
|
||||||
check( handleIt != m_handles.end(), line, "cannot find handle corresponding to command <" + name + ">" );
|
auto handleIt = m_handles.find( commandIt->second.handle );
|
||||||
handleIt->second.commands.erase( commandIt->first );
|
check( handleIt != m_handles.end(), line, "cannot find handle corresponding to command <" + name + ">" );
|
||||||
|
handleIt->second.commands.erase( commandIt->first );
|
||||||
|
|
||||||
// then erase the command from the command list
|
// then erase the command from the command list
|
||||||
m_commands.erase( commandIt );
|
m_commands.erase( commandIt );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VulkanHppGenerator::readExtensionDisabledEnum( std::string const & extensionName,
|
void VulkanHppGenerator::readExtensionDisabledEnum( std::string const & extensionName,
|
||||||
@ -8144,46 +8146,47 @@ void VulkanHppGenerator::readExtensionDisabledType( tinyxml2::XMLElement const *
|
|||||||
std::string name = attributes.find( "name" )->second;
|
std::string name = attributes.find( "name" )->second;
|
||||||
|
|
||||||
auto typeIt = m_types.find( name );
|
auto typeIt = m_types.find( name );
|
||||||
check( typeIt != m_types.end(), line, "trying to remove unknown type <" + name + ">" );
|
if ( typeIt != m_types.end() )
|
||||||
|
|
||||||
switch ( typeIt->second.category )
|
|
||||||
{
|
{
|
||||||
case TypeCategory::Bitmask:
|
switch ( typeIt->second.category )
|
||||||
{
|
{
|
||||||
auto bitmasksIt = m_bitmasks.find( name );
|
case TypeCategory::Bitmask:
|
||||||
check( bitmasksIt != m_bitmasks.end(), line, "trying to remove unknown bitmask <" + name + ">" );
|
{
|
||||||
check( bitmasksIt->second.alias.empty(),
|
auto bitmasksIt = m_bitmasks.find( name );
|
||||||
line,
|
check( bitmasksIt != m_bitmasks.end(), line, "trying to remove unknown bitmask <" + name + ">" );
|
||||||
"trying to remove disabled bitmask <" + name + "> which has alias <" + bitmasksIt->second.alias + ">" );
|
check( bitmasksIt->second.alias.empty(),
|
||||||
m_bitmasks.erase( bitmasksIt );
|
line,
|
||||||
}
|
"trying to remove disabled bitmask <" + name + "> which has alias <" + bitmasksIt->second.alias + ">" );
|
||||||
break;
|
m_bitmasks.erase( bitmasksIt );
|
||||||
case TypeCategory::Enum:
|
}
|
||||||
{
|
|
||||||
auto enumIt = m_enums.find( name );
|
|
||||||
check( enumIt != m_enums.end(), line, "trying to remove unknown enum <" + name + ">" );
|
|
||||||
check( enumIt->second.alias.empty(),
|
|
||||||
line,
|
|
||||||
"trying to remove disabled enum <" + name + "> which has alias <" + enumIt->second.alias + ">" );
|
|
||||||
m_enums.erase( enumIt );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case TypeCategory::Struct:
|
|
||||||
{
|
|
||||||
auto structIt = m_structures.find( name );
|
|
||||||
check( structIt != m_structures.end(), line, "trying to remove unknown struct <" + name + ">" );
|
|
||||||
check( structIt->second.aliases.empty(),
|
|
||||||
line,
|
|
||||||
"trying to remove disabled structure <" + name + "> which has " +
|
|
||||||
std::to_string( structIt->second.aliases.size() ) + "aliases" );
|
|
||||||
m_structures.erase( structIt );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
check( false,
|
|
||||||
line,
|
|
||||||
"trying to remove <" + name + "> of unhandled type <" + toString( typeIt->second.category ) + ">" );
|
|
||||||
break;
|
break;
|
||||||
|
case TypeCategory::Enum:
|
||||||
|
{
|
||||||
|
auto enumIt = m_enums.find( name );
|
||||||
|
check( enumIt != m_enums.end(), line, "trying to remove unknown enum <" + name + ">" );
|
||||||
|
check( enumIt->second.alias.empty(),
|
||||||
|
line,
|
||||||
|
"trying to remove disabled enum <" + name + "> which has alias <" + enumIt->second.alias + ">" );
|
||||||
|
m_enums.erase( enumIt );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case TypeCategory::Struct:
|
||||||
|
{
|
||||||
|
auto structIt = m_structures.find( name );
|
||||||
|
check( structIt != m_structures.end(), line, "trying to remove unknown struct <" + name + ">" );
|
||||||
|
check( structIt->second.aliases.empty(),
|
||||||
|
line,
|
||||||
|
"trying to remove disabled structure <" + name + "> which has " +
|
||||||
|
std::to_string( structIt->second.aliases.size() ) + "aliases" );
|
||||||
|
m_structures.erase( structIt );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
check( false,
|
||||||
|
line,
|
||||||
|
"trying to remove <" + name + "> of unhandled type <" + toString( typeIt->second.category ) + ">" );
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user