Add support for a new type of functions. (#1492)

This commit is contained in:
Andreas Süßenbach 2023-01-23 16:41:43 +01:00 committed by GitHub
parent 6bae28a680
commit db11b8b62b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7070,16 +7070,33 @@ std::string VulkanHppGenerator::generateRAIIHandleCommandVoid( std::map<std::str
{
case 0: return generateRAIIHandleCommandEnhanced( commandIt, initialSkipCount, returnParams, vectorParams, definition );
case 1:
if ( commandIt->second.params[returnParams[0]].type.postfix == "**" )
if ( commandIt->second.params[returnParams[0]].type.type == "void" )
{
// get a pointer to something
if ( commandIt->second.params[returnParams[0]].type.type == "void" )
if ( commandIt->second.params[returnParams[0]].type.postfix == "**" )
{
// get a pointer to something
if ( vectorParams.empty() )
{
return generateRAIIHandleCommandEnhanced( commandIt, initialSkipCount, returnParams, vectorParams, definition );
}
}
else
{
switch ( vectorParams.size() )
{
case 0: return generateRAIIHandleCommandEnhanced( commandIt, initialSkipCount, returnParams, vectorParams, definition );
case 1:
{
auto returnVectorParamIt = vectorParams.find( returnParams[0] );
if ( returnVectorParamIt != vectorParams.end() )
{
return generateRAIIHandleCommandEnhanced(
commandIt, initialSkipCount, returnParams, vectorParams, definition, CommandFlavourFlagBits::singular );
}
}
break;
}
}
}
else if ( isHandleType( commandIt->second.params[returnParams[0]].type.type ) )
{
@ -7088,10 +7105,6 @@ std::string VulkanHppGenerator::generateRAIIHandleCommandVoid( std::map<std::str
return generateRAIIHandleCommandFactory( commandIt, initialSkipCount, returnParams, vectorParams, definition );
}
}
else if ( commandIt->second.params[returnParams[0]].type.type == "void" )
{
return generateRAIIHandleCommandEnhanced( commandIt, initialSkipCount, returnParams, vectorParams, definition, CommandFlavourFlagBits::singular );
}
else
{
auto returnVectorParamIt = vectorParams.find( returnParams[0] );
@ -11706,7 +11719,8 @@ std::pair<VulkanHppGenerator::NameData, VulkanHppGenerator::TypeInfo> VulkanHppG
( strcmp( child->NextSibling()->Value(), "]" ) == 0 ),
line,
std::string( "array specifiation is ill-formatted: <" ) + nameData.arraySizes.back() + ">" );
checkForError( m_constants.find( nameData.arraySizes.back() ) != m_constants.end(), line, "using unknown enum value <" + nameData.arraySizes.back() + ">" );
checkForError(
m_constants.find( nameData.arraySizes.back() ) != m_constants.end(), line, "using unknown enum value <" + nameData.arraySizes.back() + ">" );
}
else if ( value == "name" )
{