mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
Cleanup on platform protection handling. (#312)
This commit is contained in:
parent
fba738079a
commit
bcc02a1cb0
@ -34,13 +34,11 @@ std::string createEnumValueName(std::string const& name, std::string const& pref
|
|||||||
std::string determineCommandName(std::string const& vulkanCommandName, std::string const& firstArgumentType);
|
std::string determineCommandName(std::string const& vulkanCommandName, std::string const& firstArgumentType);
|
||||||
std::set<size_t> determineSkippedParams(size_t returnParamIndex, std::map<size_t, size_t> const& vectorParamIndices);
|
std::set<size_t> determineSkippedParams(size_t returnParamIndex, std::map<size_t, size_t> const& vectorParamIndices);
|
||||||
bool determineStructureChaining(std::string const& structType, std::set<std::string> const& extendedStructs, std::map<std::string, std::string> const& structureAliases);
|
bool determineStructureChaining(std::string const& structType, std::set<std::string> const& extendedStructs, std::map<std::string, std::string> const& structureAliases);
|
||||||
void enterProtect(std::ostream &os, std::string const& protect);
|
|
||||||
std::string findTag(std::set<std::string> const& tags, std::string const& name, std::string const& postfix = "");
|
std::string findTag(std::set<std::string> const& tags, std::string const& name, std::string const& postfix = "");
|
||||||
std::map<std::string, std::string> getAttributes(tinyxml2::XMLElement const* element);
|
std::map<std::string, std::string> getAttributes(tinyxml2::XMLElement const* element);
|
||||||
std::vector<tinyxml2::XMLElement const*> getChildElements(tinyxml2::XMLElement const* element);
|
std::vector<tinyxml2::XMLElement const*> getChildElements(tinyxml2::XMLElement const* element);
|
||||||
std::string getEnumPostfix(std::string const& name, std::set<std::string> const& tags, std::string & prefix);
|
std::string getEnumPostfix(std::string const& name, std::set<std::string> const& tags, std::string & prefix);
|
||||||
std::string getEnumPrefix(std::string const& name, bool bitmask);
|
std::string getEnumPrefix(std::string const& name, bool bitmask);
|
||||||
void leaveProtect(std::ostream &os, std::string const& protect);
|
|
||||||
std::string readArraySize(tinyxml2::XMLNode const* node);
|
std::string readArraySize(tinyxml2::XMLNode const* node);
|
||||||
void readStructStructExtends(std::map<std::string, std::string> const& attributes, std::vector<std::string> & structExtends, std::set<std::string> & extendedStructs);
|
void readStructStructExtends(std::map<std::string, std::string> const& attributes, std::vector<std::string> & structExtends, std::set<std::string> & extendedStructs);
|
||||||
std::string readTypePostfix(tinyxml2::XMLNode const* node);
|
std::string readTypePostfix(tinyxml2::XMLNode const* node);
|
||||||
@ -248,14 +246,6 @@ bool determineStructureChaining(std::string const& structType, std::set<std::str
|
|||||||
return isStructureChained;
|
return isStructureChained;
|
||||||
}
|
}
|
||||||
|
|
||||||
void enterProtect(std::ostream &os, std::string const& protect)
|
|
||||||
{
|
|
||||||
if (!protect.empty())
|
|
||||||
{
|
|
||||||
os << "#ifdef " << protect << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string findTag(std::set<std::string> const& tags, std::string const& name, std::string const& postfix)
|
std::string findTag(std::set<std::string> const& tags, std::string const& name, std::string const& postfix)
|
||||||
{
|
{
|
||||||
auto tagIt = std::find_if(tags.begin(), tags.end(), [&name, &postfix](std::string const& t) { return endsWith(name, t + postfix); });
|
auto tagIt = std::find_if(tags.begin(), tags.end(), [&name, &postfix](std::string const& t) { return endsWith(name, t + postfix); });
|
||||||
@ -342,14 +332,6 @@ std::string extractTag(std::string const& name, std::set<std::string> const& tag
|
|||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
void leaveProtect(std::ostream &os, std::string const& protect)
|
|
||||||
{
|
|
||||||
if (!protect.empty())
|
|
||||||
{
|
|
||||||
os << "#endif /*" << protect << "*/" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string readArraySize(tinyxml2::XMLNode const* node)
|
std::string readArraySize(tinyxml2::XMLNode const* node)
|
||||||
{
|
{
|
||||||
if (node && node->ToText())
|
if (node && node->ToText())
|
||||||
@ -1569,10 +1551,9 @@ void VulkanHppGenerator::readExtensionRequireType(tinyxml2::XMLElement const* el
|
|||||||
auto stit = m_structures.find(name);
|
auto stit = m_structures.find(name);
|
||||||
if (stit != m_structures.end())
|
if (stit != m_structures.end())
|
||||||
{
|
{
|
||||||
assert(stit->second.protect.empty());
|
|
||||||
assert(m_handles.find(name) == m_handles.end());
|
assert(m_handles.find(name) == m_handles.end());
|
||||||
std::string protect = m_platforms.find(platform)->second;
|
assert(stit->second.platform.empty());
|
||||||
stit->second.protect = protect;
|
stit->second.platform = platform;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2255,11 +2236,6 @@ void VulkanHppGenerator::writeBitmasks(std::ostream & os) const
|
|||||||
|
|
||||||
void VulkanHppGenerator::writeCommand(std::ostream & os, std::string const& indentation, std::string const& name, std::pair<std::string, CommandData> const& commandData, bool definition) const
|
void VulkanHppGenerator::writeCommand(std::ostream & os, std::string const& indentation, std::string const& name, std::pair<std::string, CommandData> const& commandData, bool definition) const
|
||||||
{
|
{
|
||||||
os << std::endl;
|
|
||||||
assert(m_platforms.find(commandData.second.platform) != m_platforms.end());
|
|
||||||
std::string const& protect = m_platforms.find(commandData.second.platform)->second;
|
|
||||||
enterProtect(os, protect);
|
|
||||||
|
|
||||||
bool twoStep = isTwoStepAlgorithm(commandData.second.params);
|
bool twoStep = isTwoStepAlgorithm(commandData.second.params);
|
||||||
std::map<size_t, size_t> vectorParamIndices = determineVectorParamIndices(commandData.second.params);
|
std::map<size_t, size_t> vectorParamIndices = determineVectorParamIndices(commandData.second.params);
|
||||||
|
|
||||||
@ -2354,8 +2330,6 @@ void VulkanHppGenerator::writeCommand(std::ostream & os, std::string const& inde
|
|||||||
<< enhancedString
|
<< enhancedString
|
||||||
<< "#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/" << std::endl;
|
<< "#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
leaveProtect(os, protect);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
||||||
@ -2369,10 +2343,9 @@ void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
|||||||
{
|
{
|
||||||
for (auto const& command : handle.second.commands)
|
for (auto const& command : handle.second.commands)
|
||||||
{
|
{
|
||||||
std::string const& protect = m_platforms.find(command.second.platform)->second;
|
writePlatformEnter(os, command.second.platform);
|
||||||
enterProtect(os, protect);
|
|
||||||
os << " PFN_" << command.first << " " << command.first << " = 0;" << std::endl;
|
os << " PFN_" << command.first << " " << command.first << " = 0;" << std::endl;
|
||||||
leaveProtect(os, protect);
|
writePlatformLeave(os, command.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2414,8 +2387,7 @@ void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
|||||||
{
|
{
|
||||||
if ((command.first != "vkGetDeviceProcAddr") && (command.first != "vkGetInstanceProcAddr"))
|
if ((command.first != "vkGetDeviceProcAddr") && (command.first != "vkGetInstanceProcAddr"))
|
||||||
{
|
{
|
||||||
std::string const& protect = m_platforms.find(command.second.platform)->second;
|
writePlatformEnter(os, command.second.platform);
|
||||||
enterProtect(os, protect);
|
|
||||||
if (!command.second.params.empty()
|
if (!command.second.params.empty()
|
||||||
&& m_handles.find(command.second.params[0].type.type) != m_handles.end()
|
&& m_handles.find(command.second.params[0].type.type) != m_handles.end()
|
||||||
&& command.second.params[0].type.type != "VkInstance"
|
&& command.second.params[0].type.type != "VkInstance"
|
||||||
@ -2428,7 +2400,7 @@ void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
|||||||
{
|
{
|
||||||
os << " " << command.first << " = PFN_" << command.first << "( vkGetInstanceProcAddr( instance, \"" << command.first << "\" ) );" << std::endl;
|
os << " " << command.first << " = PFN_" << command.first << "( vkGetInstanceProcAddr( instance, \"" << command.first << "\" ) );" << std::endl;
|
||||||
}
|
}
|
||||||
leaveProtect(os, protect);
|
writePlatformLeave(os, command.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2438,12 +2410,12 @@ void VulkanHppGenerator::writeDispatchLoaderDynamic(std::ostream &os)
|
|||||||
|
|
||||||
void VulkanHppGenerator::writeDispatchLoaderStatic(std::ostream &os)
|
void VulkanHppGenerator::writeDispatchLoaderStatic(std::ostream &os)
|
||||||
{
|
{
|
||||||
static const std::string commandTemplate = R"(${enterProtect}
|
static const std::string commandTemplate =
|
||||||
${returnType} vk${commandName}( ${parameterList} ) const
|
R"( ${returnType} vk${commandName}( ${parameterList} ) const
|
||||||
{
|
{
|
||||||
return ::vk${commandName}( ${parameters} );
|
return ::vk${commandName}( ${parameters} );
|
||||||
}
|
}
|
||||||
${leaveProtect})";
|
)";
|
||||||
|
|
||||||
std::ostringstream commands;
|
std::ostringstream commands;
|
||||||
for (auto const& handle : m_handles)
|
for (auto const& handle : m_handles)
|
||||||
@ -2468,16 +2440,16 @@ ${leaveProtect})";
|
|||||||
firstParam = false;
|
firstParam = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string const& protect = m_platforms.find(command.second.platform)->second;
|
commands << std::endl;
|
||||||
|
writePlatformEnter(commands, command.second.platform);
|
||||||
commands << replaceWithMap(commandTemplate,
|
commands << replaceWithMap(commandTemplate,
|
||||||
{
|
{
|
||||||
{ "enterProtect", protect.empty() ? "" : ("\n#ifdef " + protect) },
|
|
||||||
{ "returnType", command.second.returnType },
|
{ "returnType", command.second.returnType },
|
||||||
{ "commandName", stripPrefix(command.first, "vk") },
|
{ "commandName", stripPrefix(command.first, "vk") },
|
||||||
{ "parameterList", parameterList },
|
{ "parameterList", parameterList },
|
||||||
{ "parameters", parameters },
|
{ "parameters", parameters },
|
||||||
{ "leaveProtect", protect.empty() ? "" : ("#endif /*" + protect + "*/\n") }
|
|
||||||
});
|
});
|
||||||
|
writePlatformLeave(commands, command.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2581,13 +2553,13 @@ void VulkanHppGenerator::writeForwardDeclarations(std::ostream & os) const
|
|||||||
os << std::endl;
|
os << std::endl;
|
||||||
for (auto const& structure : m_structures)
|
for (auto const& structure : m_structures)
|
||||||
{
|
{
|
||||||
enterProtect(os, structure.second.protect);
|
writePlatformEnter(os, structure.second.platform);
|
||||||
os << " " << (structure.second.isUnion ? "union" : "struct") << " " << stripPrefix(structure.first, "Vk") << ";" << std::endl;
|
os << " " << (structure.second.isUnion ? "union" : "struct") << " " << stripPrefix(structure.first, "Vk") << ";" << std::endl;
|
||||||
for (std::string const& alias : structure.second.aliases)
|
for (std::string const& alias : structure.second.aliases)
|
||||||
{
|
{
|
||||||
os << " using " << stripPrefix(alias, "Vk") << " = " << stripPrefix(structure.first, "Vk") << ";" << std::endl;
|
os << " using " << stripPrefix(alias, "Vk") << " = " << stripPrefix(structure.first, "Vk") << ";" << std::endl;
|
||||||
}
|
}
|
||||||
leaveProtect(os, structure.second.protect);
|
writePlatformLeave(os, structure.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3405,7 +3377,10 @@ void VulkanHppGenerator::writeHandle(std::ostream & os, std::pair<std::string, H
|
|||||||
|
|
||||||
writeUniqueTypes(os, "", { "VkInstance" });
|
writeUniqueTypes(os, "", { "VkInstance" });
|
||||||
}
|
}
|
||||||
|
os << std::endl;
|
||||||
|
writePlatformEnter(os, command.second.platform);
|
||||||
writeCommand(os, " ", commandName, command, false);
|
writeCommand(os, " ", commandName, command, false);
|
||||||
|
writePlatformLeave(os, command.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3425,6 +3400,8 @@ void VulkanHppGenerator::writeHandle(std::ostream & os, std::pair<std::string, H
|
|||||||
// list all the commands that are mapped to members of this class
|
// list all the commands that are mapped to members of this class
|
||||||
for (auto const& command : handleData.second.commands)
|
for (auto const& command : handleData.second.commands)
|
||||||
{
|
{
|
||||||
|
commands << std::endl;
|
||||||
|
writePlatformEnter(commands, command.second.platform);
|
||||||
std::string commandName = determineCommandName(command.first, command.second.params[0].type.type);
|
std::string commandName = determineCommandName(command.first, command.second.params[0].type.type);
|
||||||
writeCommand(commands, " ", commandName, command, false);
|
writeCommand(commands, " ", commandName, command, false);
|
||||||
|
|
||||||
@ -3432,8 +3409,10 @@ void VulkanHppGenerator::writeHandle(std::ostream & os, std::pair<std::string, H
|
|||||||
if (!command.second.isAlias && (((command.first.substr(2, 7) == "Destroy") && (commandName != "destroy")) || (command.first.substr(2, 4) == "Free")))
|
if (!command.second.isAlias && (((command.first.substr(2, 7) == "Destroy") && (commandName != "destroy")) || (command.first.substr(2, 4) == "Free")))
|
||||||
{
|
{
|
||||||
commandName = (command.first.substr(2, 7) == "Destroy") ? "destroy" : "free";
|
commandName = (command.first.substr(2, 7) == "Destroy") ? "destroy" : "free";
|
||||||
|
commands << std::endl;
|
||||||
writeCommand(commands, " ", commandName, command, false);
|
writeCommand(commands, " ", commandName, command, false);
|
||||||
}
|
}
|
||||||
|
writePlatformLeave(commands, command.second.platform);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const std::string templateString = R"(
|
static const std::string templateString = R"(
|
||||||
@ -3508,23 +3487,6 @@ ${commands}
|
|||||||
{ "commands", commands.str() }
|
{ "commands", commands.str() }
|
||||||
});
|
});
|
||||||
|
|
||||||
#if 0
|
|
||||||
// and finally the commands, that are member functions of this handle
|
|
||||||
for (auto const& command : handleData.second.commands)
|
|
||||||
{
|
|
||||||
std::string commandName = determineCommandName(command.first, command.second.params[0].type.type);
|
|
||||||
std::string strippedName = startLowerCase(stripPrefix(command.first, "vk"));
|
|
||||||
writeCommand(os, " ", commandName, command, true);
|
|
||||||
|
|
||||||
// special handling for destroy functions
|
|
||||||
if (!command.second.isAlias && (((command.first.substr(2, 7) == "Destroy") && (commandName != "destroy")) || (command.first.substr(2, 4) == "Free")))
|
|
||||||
{
|
|
||||||
commandName = (command.first.substr(2, 7) == "Destroy") ? "destroy" : "free";
|
|
||||||
writeCommand(os, " ", commandName, command, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!handleData.second.alias.empty())
|
if (!handleData.second.alias.empty())
|
||||||
{
|
{
|
||||||
os << " using " << stripPrefix(handleData.second.alias, "Vk") << " = " << stripPrefix(handleData.first, "Vk") << ";" << std::endl;
|
os << " using " << stripPrefix(handleData.second.alias, "Vk") << " = " << stripPrefix(handleData.first, "Vk") << ";" << std::endl;
|
||||||
@ -3549,6 +3511,8 @@ void VulkanHppGenerator::writeHandlesCommandDefintions(std::ostream & os) const
|
|||||||
// finally the commands, that are member functions of this handle
|
// finally the commands, that are member functions of this handle
|
||||||
for (auto const& command : handle.second.commands)
|
for (auto const& command : handle.second.commands)
|
||||||
{
|
{
|
||||||
|
os << std::endl;
|
||||||
|
writePlatformEnter(os, command.second.platform);
|
||||||
std::string commandName = determineCommandName(command.first, command.second.params[0].type.type);
|
std::string commandName = determineCommandName(command.first, command.second.params[0].type.type);
|
||||||
std::string strippedName = startLowerCase(stripPrefix(command.first, "vk"));
|
std::string strippedName = startLowerCase(stripPrefix(command.first, "vk"));
|
||||||
writeCommand(os, " ", commandName, command, true);
|
writeCommand(os, " ", commandName, command, true);
|
||||||
@ -3557,8 +3521,10 @@ void VulkanHppGenerator::writeHandlesCommandDefintions(std::ostream & os) const
|
|||||||
if (!command.second.isAlias && (((command.first.substr(2, 7) == "Destroy") && (commandName != "destroy")) || (command.first.substr(2, 4) == "Free")))
|
if (!command.second.isAlias && (((command.first.substr(2, 7) == "Destroy") && (commandName != "destroy")) || (command.first.substr(2, 4) == "Free")))
|
||||||
{
|
{
|
||||||
commandName = (command.first.substr(2, 7) == "Destroy") ? "destroy" : "free";
|
commandName = (command.first.substr(2, 7) == "Destroy") ? "destroy" : "free";
|
||||||
|
os << std::endl;
|
||||||
writeCommand(os, " ", commandName, command, true);
|
writeCommand(os, " ", commandName, command, true);
|
||||||
}
|
}
|
||||||
|
writePlatformLeave(os, command.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
@ -3919,8 +3885,8 @@ void VulkanHppGenerator::writeStructure(std::ostream & os, std::pair<std::string
|
|||||||
std::ostringstream members;
|
std::ostringstream members;
|
||||||
writeStructMembers(members, structure.second);
|
writeStructMembers(members, structure.second);
|
||||||
|
|
||||||
static const std::string structureTemplate = R"(
|
static const std::string structureTemplate =
|
||||||
${enterProtect} struct ${name}
|
R"( struct ${name}
|
||||||
{${constructorAndSetters}
|
{${constructorAndSetters}
|
||||||
operator ${vkName} const&() const
|
operator ${vkName} const&() const
|
||||||
{
|
{
|
||||||
@ -3934,18 +3900,19 @@ ${enterProtect} struct ${name}
|
|||||||
${compareOperators}
|
${compareOperators}
|
||||||
${members} };
|
${members} };
|
||||||
static_assert( sizeof( ${name} ) == sizeof( ${vkName} ), "struct and wrapper have different size!" );
|
static_assert( sizeof( ${name} ) == sizeof( ${vkName} ), "struct and wrapper have different size!" );
|
||||||
${leaveProtect})";
|
)";
|
||||||
|
|
||||||
|
os << std::endl;
|
||||||
|
writePlatformEnter(os, structure.second.platform);
|
||||||
os << replaceWithMap(structureTemplate,
|
os << replaceWithMap(structureTemplate,
|
||||||
{
|
{
|
||||||
{ "enterProtect", structure.second.protect.empty() ? "" : ("#ifdef " + structure.second.protect + "\n") },
|
|
||||||
{ "name", stripPrefix(structure.first, "Vk") },
|
{ "name", stripPrefix(structure.first, "Vk") },
|
||||||
{ "constructorAndSetters", constructorAndSetters.str() },
|
{ "constructorAndSetters", constructorAndSetters.str() },
|
||||||
{ "vkName", structure.first },
|
{ "vkName", structure.first },
|
||||||
{ "compareOperators", compareOperators.str() },
|
{ "compareOperators", compareOperators.str() },
|
||||||
{ "members", members.str() },
|
{ "members", members.str() },
|
||||||
{ "leaveProtect", structure.second.protect.empty() ? "" : ("#endif /*" + structure.second.protect + "*/\n") }
|
|
||||||
});
|
});
|
||||||
|
writePlatformLeave(os, structure.second.platform);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VulkanHppGenerator::writeStructureChainValidation(std::ostream & os)
|
void VulkanHppGenerator::writeStructureChainValidation(std::ostream & os)
|
||||||
@ -3955,7 +3922,7 @@ void VulkanHppGenerator::writeStructureChainValidation(std::ostream & os)
|
|||||||
{
|
{
|
||||||
if (!structure.second.structExtends.empty())
|
if (!structure.second.structExtends.empty())
|
||||||
{
|
{
|
||||||
enterProtect(os, structure.second.protect);
|
writePlatformEnter(os, structure.second.platform);
|
||||||
|
|
||||||
// write out allowed structure chains
|
// write out allowed structure chains
|
||||||
for (auto extendName : structure.second.structExtends)
|
for (auto extendName : structure.second.structExtends)
|
||||||
@ -3976,19 +3943,19 @@ void VulkanHppGenerator::writeStructureChainValidation(std::ostream & os)
|
|||||||
errorString << std::endl;
|
errorString << std::endl;
|
||||||
throw std::runtime_error(errorString.str());
|
throw std::runtime_error(errorString.str());
|
||||||
}
|
}
|
||||||
if (structure.second.protect != itExtend->second.protect)
|
if (structure.second.platform != itExtend->second.platform)
|
||||||
{
|
{
|
||||||
enterProtect(os, itExtend->second.protect);
|
writePlatformEnter(os, itExtend->second.platform);
|
||||||
}
|
}
|
||||||
|
|
||||||
os << " template <> struct isStructureChainValid<" << stripPrefix(extendName, "Vk") << ", " << stripPrefix(structure.first, "Vk") << ">{ enum { value = true }; };" << std::endl;
|
os << " template <> struct isStructureChainValid<" << stripPrefix(extendName, "Vk") << ", " << stripPrefix(structure.first, "Vk") << ">{ enum { value = true }; };" << std::endl;
|
||||||
|
|
||||||
if (structure.second.protect != itExtend->second.protect)
|
if (structure.second.platform != itExtend->second.platform)
|
||||||
{
|
{
|
||||||
leaveProtect(os, itExtend->second.protect);
|
writePlatformLeave(os, itExtend->second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
leaveProtect(os, structure.second.protect);
|
writePlatformLeave(os, structure.second.platform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ class VulkanHppGenerator
|
|||||||
bool returnedOnly;
|
bool returnedOnly;
|
||||||
bool isUnion;
|
bool isUnion;
|
||||||
std::vector<MemberData> members;
|
std::vector<MemberData> members;
|
||||||
std::string protect;
|
std::string platform;
|
||||||
std::vector<std::string> structExtends;
|
std::vector<std::string> structExtends;
|
||||||
std::vector<std::string> aliases;
|
std::vector<std::string> aliases;
|
||||||
std::string subStruct;
|
std::string subStruct;
|
||||||
|
Loading…
Reference in New Issue
Block a user