Introduce support of VkFlags64

+ add support of structExtends via alias'ed structures
+ add support of alias'ed commands via already alias'ed commands
This commit is contained in:
asuessenbach 2020-03-04 13:33:52 +01:00 committed by Markus Tavenrath
parent 1b22ac9658
commit cd554ce9e0
3 changed files with 103 additions and 87 deletions

View File

@ -827,7 +827,7 @@ void VulkanHppGenerator::appendBaseTypes(std::string & str) const
assert(!m_baseTypes.empty()); assert(!m_baseTypes.empty());
for (auto const& baseType : m_baseTypes) for (auto const& baseType : m_baseTypes)
{ {
if (baseType.first != "VkFlags") // filter out VkFlags if ((baseType.first != "VkFlags") && (baseType.first != "VkFlags64")) // filter out VkFlags and VkFlags64, as they are mapped to our own Flags class
{ {
str += " using " + stripPrefix(baseType.first, "Vk") + " = " + baseType.second.type + ";\n"; str += " using " + stripPrefix(baseType.first, "Vk") + " = " + baseType.second.type + ";\n";
} }
@ -847,13 +847,13 @@ void VulkanHppGenerator::appendBitmasks(std::string & str) const
str += "\n"; str += "\n";
appendPlatformEnter(str, !bitmask.second.alias.empty(), bitmask.second.platform); appendPlatformEnter(str, !bitmask.second.alias.empty(), bitmask.second.platform);
appendBitmask(str, strippedBitmaskName, bitmask.second.alias, strippedEnumName, hasBits ? bitmaskBits->second.values : std::vector<EnumValueData>()); appendBitmask(str, strippedBitmaskName, bitmask.second.type, bitmask.second.alias, strippedEnumName, hasBits ? bitmaskBits->second.values : std::vector<EnumValueData>());
appendBitmaskToStringFunction(str, strippedBitmaskName, strippedEnumName, hasBits ? bitmaskBits->second.values : std::vector<EnumValueData>()); appendBitmaskToStringFunction(str, strippedBitmaskName, strippedEnumName, hasBits ? bitmaskBits->second.values : std::vector<EnumValueData>());
appendPlatformLeave(str, !bitmask.second.alias.empty(), bitmask.second.platform); appendPlatformLeave(str, !bitmask.second.alias.empty(), bitmask.second.platform);
} }
} }
void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bitmaskName, std::string const& bitmaskAlias, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bitmaskName, std::string const& bitmaskType, std::string const& bitmaskAlias, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const
{ {
// each Flags class is using the class 'Flags' with the corresponding FlagBits enum as the template parameter // each Flags class is using the class 'Flags' with the corresponding FlagBits enum as the template parameter
// if there's no enum for the FlagBits, introduce an artificial empty one // if there's no enum for the FlagBits, introduce an artificial empty one
@ -868,7 +868,7 @@ void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bit
// if this emptyEnumName is not in the list of enums, list it here // if this emptyEnumName is not in the list of enums, list it here
if (m_enums.find("Vk" + emptyEnumName) == m_enums.end()) if (m_enums.find("Vk" + emptyEnumName) == m_enums.end())
{ {
const std::string templateString = R"x( enum class ${enumName} : VkFlags const std::string templateString = R"x( enum class ${enumName} : ${bitmaskType}
{}; {};
VULKAN_HPP_INLINE std::string to_string( ${enumName} ) VULKAN_HPP_INLINE std::string to_string( ${enumName} )
@ -877,7 +877,7 @@ void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bit
} }
)x"; )x";
str += replaceWithMap(templateString, { { "enumName", emptyEnumName } }); str += replaceWithMap(templateString, { { "enumName", emptyEnumName }, { "bitmaskType", bitmaskType } });
} }
} }
std::string name = (enumName.empty() ? emptyEnumName : enumName); std::string name = (enumName.empty() ? emptyEnumName : enumName);
@ -893,13 +893,13 @@ void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bit
{ {
allFlags += " | "; allFlags += " | ";
} }
allFlags += "VkFlags(" + enumName + "::" + value.vkValue + ")"; allFlags += bitmaskType + "(" + enumName + "::" + value.vkValue + ")";
} }
static const std::string bitmaskOperatorsTemplate = R"( static const std::string bitmaskOperatorsTemplate = R"(
template <> struct FlagTraits<${enumName}> template <> struct FlagTraits<${enumName}>
{ {
enum enum : ${bitmaskType}
{ {
allFlags = ${allFlags} allFlags = ${allFlags}
}; };
@ -926,7 +926,7 @@ void VulkanHppGenerator::appendBitmask(std::string & str, std::string const& bit
} }
)"; )";
str += replaceWithMap(bitmaskOperatorsTemplate, { { "bitmaskName", bitmaskName },{ "enumName", enumName },{ "allFlags", allFlags } }); str += replaceWithMap(bitmaskOperatorsTemplate, { { "bitmaskName", bitmaskName }, { "bitmaskType", bitmaskType }, { "enumName", enumName }, { "allFlags", allFlags } });
} }
if (!bitmaskAlias.empty()) if (!bitmaskAlias.empty())
@ -3175,6 +3175,11 @@ void VulkanHppGenerator::appendStructureChainValidation(std::string & str)
{ {
std::map<std::string, StructureData>::const_iterator itExtend = m_structures.find(extendName); std::map<std::string, StructureData>::const_iterator itExtend = m_structures.find(extendName);
if (itExtend == m_structures.end()) if (itExtend == m_structures.end())
{
// look if the extendName acutally is an alias of some other structure
itExtend = std::find_if(m_structures.begin(), m_structures.end(), [extendName](auto const& sd) { return sd.second.aliases.find(extendName) != sd.second.aliases.end(); });
}
if (itExtend == m_structures.end())
{ {
std::string errorString; std::string errorString;
errorString = "<" + extendName + "> does not specify a struct in structextends field."; errorString = "<" + extendName + "> does not specify a struct in structextends field.";
@ -3185,7 +3190,7 @@ void VulkanHppGenerator::appendStructureChainValidation(std::string & str)
{ {
errorString += " The symbol is an alias and maps to <" + itAlias->first + ">."; errorString += " The symbol is an alias and maps to <" + itAlias->first + ">.";
} }
check(true, structure.second.xmlLine, errorString); check(false, structure.second.xmlLine, errorString);
} }
if (structure.second.platform != itExtend->second.platform) if (structure.second.platform != itExtend->second.platform)
{ {
@ -3785,13 +3790,13 @@ void VulkanHppGenerator::readBitmask(tinyxml2::XMLElement const* element, std::m
check(beginsWith(nameData.name, "Vk"), line, "name <" + nameData.name + "> does not begin with <Vk>"); check(beginsWith(nameData.name, "Vk"), line, "name <" + nameData.name + "> does not begin with <Vk>");
check(nameData.arraySizes.empty(), line, "name <" + nameData.name + "> with unsupported arraySizes"); check(nameData.arraySizes.empty(), line, "name <" + nameData.name + "> with unsupported arraySizes");
check(nameData.bitCount.empty(), line, "name <" + nameData.name + "> with unsupported bitCount <" + nameData.bitCount + ">"); check(nameData.bitCount.empty(), line, "name <" + nameData.name + "> with unsupported bitCount <" + nameData.bitCount + ">");
check(typeData.type == "VkFlags", line, "unexpected bitmask type <" + typeData.type + ">"); warn((typeData.type == "VkFlags") || (typeData.type == "VkFlags64"), line, "unexpected bitmask type <" + typeData.type + ">");
check(typeData.prefix == "typedef", line, "unexpected type prefix <" + typeData.prefix + ">"); check(typeData.prefix == "typedef", line, "unexpected type prefix <" + typeData.prefix + ">");
check(typeData.postfix.empty(), line, "unexpected type postfix <" + typeData.postfix + ">"); check(typeData.postfix.empty(), line, "unexpected type postfix <" + typeData.postfix + ">");
check(m_commandToHandle.find(nameData.name) == m_commandToHandle.end(), line, "command <" + nameData.name + "> already specified"); check(m_commandToHandle.find(nameData.name) == m_commandToHandle.end(), line, "command <" + nameData.name + "> already specified");
m_bitmasks.insert(std::make_pair(nameData.name, BitmaskData(requirements, line))); m_bitmasks.insert(std::make_pair(nameData.name, BitmaskData(requirements, typeData.type, line)));
check(m_types.insert(nameData.name).second, line, "bitmask <" + nameData.name + "> already specified as a type"); check(m_types.insert(nameData.name).second, line, "bitmask <" + nameData.name + "> already specified as a type");
} }
} }
@ -3913,8 +3918,17 @@ void VulkanHppGenerator::readCommandAlias(tinyxml2::XMLElement const* element, s
auto handleIt = m_handles.find(commandToHandleIt->second); auto handleIt = m_handles.find(commandToHandleIt->second);
check(handleIt != m_handles.end(), line, "missing handle <" + commandToHandleIt->second + ">"); check(handleIt != m_handles.end(), line, "missing handle <" + commandToHandleIt->second + ">");
auto commandsIt = handleIt->second.commands.find(alias); auto commandsIt = handleIt->second.commands.find(alias);
if (commandsIt == handleIt->second.commands.end())
{
// look, if this command is aliases and already aliased command
commandsIt = std::find_if(handleIt->second.commands.begin(), handleIt->second.commands.end(), [&alias](auto const& cd) { return cd.second.aliases.find(alias) != cd.second.aliases.end(); });
}
check(commandsIt != handleIt->second.commands.end(), line, "missing command <" + alias + "> in handle <" + handleIt->first + ">"); check(commandsIt != handleIt->second.commands.end(), line, "missing command <" + alias + "> in handle <" + handleIt->first + ">");
check(commandsIt->second.aliases.insert(name).second, line, "alias <" + name + "> for command <" + alias + "> already specified"); check(commandsIt->second.aliases.insert(name).second, line, "alias <" + name + "> for command <" + alias + "> already specified");
// and store the alias in the command-to-handle map
check(m_commandToHandle.find(name) == m_commandToHandle.end(), line, "command to handle mapping already holds the command <" + name + ">");
m_commandToHandle[name] = handleIt->first;
} }
VulkanHppGenerator::ParamData VulkanHppGenerator::readCommandParam(tinyxml2::XMLElement const* element, std::vector<ParamData> const& params) VulkanHppGenerator::ParamData VulkanHppGenerator::readCommandParam(tinyxml2::XMLElement const* element, std::vector<ParamData> const& params)
@ -5920,7 +5934,7 @@ int main(int argc, char **argv)
} }
template<typename ClassTypeA, typename ClassTypeB, typename ...ClassTypes> template<typename ClassTypeA, typename ClassTypeB, typename ...ClassTypes>
std::tuple<const ClassTypeA&, const ClassTypeB&, ClassTypes&...> get() const std::tuple<const ClassTypeA&, const ClassTypeB&, const ClassTypes&...> get() const
{ {
return std::tie(get<ClassTypeA>(), get<ClassTypeB>(), get<ClassTypes>()...); return std::tie(get<ClassTypeA>(), get<ClassTypeB>(), get<ClassTypes>()...);
} }

View File

@ -56,14 +56,16 @@ class VulkanHppGenerator
struct BitmaskData struct BitmaskData
{ {
BitmaskData(std::string const& r, int line) BitmaskData(std::string const& r, std::string const& t, int line)
: requirements(r) : requirements(r)
, type(t)
, xmlLine(line) , xmlLine(line)
{} {}
std::string requirements; // original vulkan name: VK*FlagBits std::string requirements;
std::string type;
std::string platform; std::string platform;
std::string alias; // original vulkan name std::string alias;
int xmlLine; int xmlLine;
}; };
@ -220,7 +222,7 @@ class VulkanHppGenerator
void appendArguments(std::string & str, CommandData const& commandData, size_t returnParamIndex, size_t templateParamIndex, std::map<size_t, size_t> const& vectorParamIndices, bool twoStep, bool firstCall, bool singular, size_t from, size_t to) const; void appendArguments(std::string & str, CommandData const& commandData, size_t returnParamIndex, size_t templateParamIndex, std::map<size_t, size_t> const& vectorParamIndices, bool twoStep, bool firstCall, bool singular, size_t from, size_t to) const;
void appendArgumentVector(std::string & str, size_t paramIndex, ParamData const& paramData, size_t returnParamIndex, size_t templateParamIndex, bool twoStep, bool firstCall, bool singular) const; void appendArgumentVector(std::string & str, size_t paramIndex, ParamData const& paramData, size_t returnParamIndex, size_t templateParamIndex, bool twoStep, bool firstCall, bool singular) const;
void appendArgumentVulkanType(std::string & str, ParamData const& paramData) const; void appendArgumentVulkanType(std::string & str, ParamData const& paramData) const;
void appendBitmask(std::string & os, std::string const& bitmaskName, std::string const& bitmaskAlias, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const; void appendBitmask(std::string & os, std::string const& bitmaskName, std::string const& bitmaskType, std::string const& bitmaskAlias, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const;
void appendBitmaskToStringFunction(std::string & str, std::string const& flagsName, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const; void appendBitmaskToStringFunction(std::string & str, std::string const& flagsName, std::string const& enumName, std::vector<EnumValueData> const& enumValues) const;
void appendCall(std::string &str, std::pair<std::string, CommandData> const& commandData, size_t returnParamIndex, size_t templateParamIndex, std::map<size_t, size_t> const& vectorParamIndices, bool twoStep, bool firstCall, bool singular) const; void appendCall(std::string &str, std::pair<std::string, CommandData> const& commandData, size_t returnParamIndex, size_t templateParamIndex, std::map<size_t, size_t> const& vectorParamIndices, bool twoStep, bool firstCall, bool singular) const;
void appendCommand(std::string & str, std::string const& indentation, std::string const& name, std::pair<std::string, CommandData> const& commandData, bool definition) const; void appendCommand(std::string & str, std::string const& indentation, std::string const& name, std::pair<std::string, CommandData> const& commandData, bool definition) const;

View File

@ -8378,7 +8378,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<AccessFlagBits> template <> struct FlagTraits<AccessFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(AccessFlagBits::eIndirectCommandRead) | VkFlags(AccessFlagBits::eIndexRead) | VkFlags(AccessFlagBits::eVertexAttributeRead) | VkFlags(AccessFlagBits::eUniformRead) | VkFlags(AccessFlagBits::eInputAttachmentRead) | VkFlags(AccessFlagBits::eShaderRead) | VkFlags(AccessFlagBits::eShaderWrite) | VkFlags(AccessFlagBits::eColorAttachmentRead) | VkFlags(AccessFlagBits::eColorAttachmentWrite) | VkFlags(AccessFlagBits::eDepthStencilAttachmentRead) | VkFlags(AccessFlagBits::eDepthStencilAttachmentWrite) | VkFlags(AccessFlagBits::eTransferRead) | VkFlags(AccessFlagBits::eTransferWrite) | VkFlags(AccessFlagBits::eHostRead) | VkFlags(AccessFlagBits::eHostWrite) | VkFlags(AccessFlagBits::eMemoryRead) | VkFlags(AccessFlagBits::eMemoryWrite) | VkFlags(AccessFlagBits::eTransformFeedbackWriteEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterReadEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterWriteEXT) | VkFlags(AccessFlagBits::eConditionalRenderingReadEXT) | VkFlags(AccessFlagBits::eCommandProcessReadNVX) | VkFlags(AccessFlagBits::eCommandProcessWriteNVX) | VkFlags(AccessFlagBits::eColorAttachmentReadNoncoherentEXT) | VkFlags(AccessFlagBits::eShadingRateImageReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureWriteNV) | VkFlags(AccessFlagBits::eFragmentDensityMapReadEXT) allFlags = VkFlags(AccessFlagBits::eIndirectCommandRead) | VkFlags(AccessFlagBits::eIndexRead) | VkFlags(AccessFlagBits::eVertexAttributeRead) | VkFlags(AccessFlagBits::eUniformRead) | VkFlags(AccessFlagBits::eInputAttachmentRead) | VkFlags(AccessFlagBits::eShaderRead) | VkFlags(AccessFlagBits::eShaderWrite) | VkFlags(AccessFlagBits::eColorAttachmentRead) | VkFlags(AccessFlagBits::eColorAttachmentWrite) | VkFlags(AccessFlagBits::eDepthStencilAttachmentRead) | VkFlags(AccessFlagBits::eDepthStencilAttachmentWrite) | VkFlags(AccessFlagBits::eTransferRead) | VkFlags(AccessFlagBits::eTransferWrite) | VkFlags(AccessFlagBits::eHostRead) | VkFlags(AccessFlagBits::eHostWrite) | VkFlags(AccessFlagBits::eMemoryRead) | VkFlags(AccessFlagBits::eMemoryWrite) | VkFlags(AccessFlagBits::eTransformFeedbackWriteEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterReadEXT) | VkFlags(AccessFlagBits::eTransformFeedbackCounterWriteEXT) | VkFlags(AccessFlagBits::eConditionalRenderingReadEXT) | VkFlags(AccessFlagBits::eCommandProcessReadNVX) | VkFlags(AccessFlagBits::eCommandProcessWriteNVX) | VkFlags(AccessFlagBits::eColorAttachmentReadNoncoherentEXT) | VkFlags(AccessFlagBits::eShadingRateImageReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureReadNV) | VkFlags(AccessFlagBits::eAccelerationStructureWriteNV) | VkFlags(AccessFlagBits::eFragmentDensityMapReadEXT)
}; };
@ -8468,7 +8468,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<AttachmentDescriptionFlagBits> template <> struct FlagTraits<AttachmentDescriptionFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(AttachmentDescriptionFlagBits::eMayAlias) allFlags = VkFlags(AttachmentDescriptionFlagBits::eMayAlias)
}; };
@ -8507,7 +8507,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<BufferCreateFlagBits> template <> struct FlagTraits<BufferCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(BufferCreateFlagBits::eSparseBinding) | VkFlags(BufferCreateFlagBits::eSparseResidency) | VkFlags(BufferCreateFlagBits::eSparseAliased) | VkFlags(BufferCreateFlagBits::eProtected) | VkFlags(BufferCreateFlagBits::eDeviceAddressCaptureReplayKHR) allFlags = VkFlags(BufferCreateFlagBits::eSparseBinding) | VkFlags(BufferCreateFlagBits::eSparseResidency) | VkFlags(BufferCreateFlagBits::eSparseAliased) | VkFlags(BufferCreateFlagBits::eProtected) | VkFlags(BufferCreateFlagBits::eDeviceAddressCaptureReplayKHR)
}; };
@ -8550,7 +8550,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<BufferUsageFlagBits> template <> struct FlagTraits<BufferUsageFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(BufferUsageFlagBits::eTransferSrc) | VkFlags(BufferUsageFlagBits::eTransferDst) | VkFlags(BufferUsageFlagBits::eUniformTexelBuffer) | VkFlags(BufferUsageFlagBits::eStorageTexelBuffer) | VkFlags(BufferUsageFlagBits::eUniformBuffer) | VkFlags(BufferUsageFlagBits::eStorageBuffer) | VkFlags(BufferUsageFlagBits::eIndexBuffer) | VkFlags(BufferUsageFlagBits::eVertexBuffer) | VkFlags(BufferUsageFlagBits::eIndirectBuffer) | VkFlags(BufferUsageFlagBits::eTransformFeedbackBufferEXT) | VkFlags(BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT) | VkFlags(BufferUsageFlagBits::eConditionalRenderingEXT) | VkFlags(BufferUsageFlagBits::eRayTracingNV) | VkFlags(BufferUsageFlagBits::eShaderDeviceAddressKHR) allFlags = VkFlags(BufferUsageFlagBits::eTransferSrc) | VkFlags(BufferUsageFlagBits::eTransferDst) | VkFlags(BufferUsageFlagBits::eUniformTexelBuffer) | VkFlags(BufferUsageFlagBits::eStorageTexelBuffer) | VkFlags(BufferUsageFlagBits::eUniformBuffer) | VkFlags(BufferUsageFlagBits::eStorageBuffer) | VkFlags(BufferUsageFlagBits::eIndexBuffer) | VkFlags(BufferUsageFlagBits::eVertexBuffer) | VkFlags(BufferUsageFlagBits::eIndirectBuffer) | VkFlags(BufferUsageFlagBits::eTransformFeedbackBufferEXT) | VkFlags(BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT) | VkFlags(BufferUsageFlagBits::eConditionalRenderingEXT) | VkFlags(BufferUsageFlagBits::eRayTracingNV) | VkFlags(BufferUsageFlagBits::eShaderDeviceAddressKHR)
}; };
@ -8609,7 +8609,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<BuildAccelerationStructureFlagBitsNV> template <> struct FlagTraits<BuildAccelerationStructureFlagBitsNV>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(BuildAccelerationStructureFlagBitsNV::eAllowUpdate) | VkFlags(BuildAccelerationStructureFlagBitsNV::eAllowCompaction) | VkFlags(BuildAccelerationStructureFlagBitsNV::ePreferFastTrace) | VkFlags(BuildAccelerationStructureFlagBitsNV::ePreferFastBuild) | VkFlags(BuildAccelerationStructureFlagBitsNV::eLowMemory) allFlags = VkFlags(BuildAccelerationStructureFlagBitsNV::eAllowUpdate) | VkFlags(BuildAccelerationStructureFlagBitsNV::eAllowCompaction) | VkFlags(BuildAccelerationStructureFlagBitsNV::ePreferFastTrace) | VkFlags(BuildAccelerationStructureFlagBitsNV::ePreferFastBuild) | VkFlags(BuildAccelerationStructureFlagBitsNV::eLowMemory)
}; };
@ -8652,7 +8652,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ColorComponentFlagBits> template <> struct FlagTraits<ColorComponentFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ColorComponentFlagBits::eR) | VkFlags(ColorComponentFlagBits::eG) | VkFlags(ColorComponentFlagBits::eB) | VkFlags(ColorComponentFlagBits::eA) allFlags = VkFlags(ColorComponentFlagBits::eR) | VkFlags(ColorComponentFlagBits::eG) | VkFlags(ColorComponentFlagBits::eB) | VkFlags(ColorComponentFlagBits::eA)
}; };
@ -8694,7 +8694,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CommandBufferResetFlagBits> template <> struct FlagTraits<CommandBufferResetFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CommandBufferResetFlagBits::eReleaseResources) allFlags = VkFlags(CommandBufferResetFlagBits::eReleaseResources)
}; };
@ -8733,7 +8733,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CommandBufferUsageFlagBits> template <> struct FlagTraits<CommandBufferUsageFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CommandBufferUsageFlagBits::eOneTimeSubmit) | VkFlags(CommandBufferUsageFlagBits::eRenderPassContinue) | VkFlags(CommandBufferUsageFlagBits::eSimultaneousUse) allFlags = VkFlags(CommandBufferUsageFlagBits::eOneTimeSubmit) | VkFlags(CommandBufferUsageFlagBits::eRenderPassContinue) | VkFlags(CommandBufferUsageFlagBits::eSimultaneousUse)
}; };
@ -8774,7 +8774,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CommandPoolCreateFlagBits> template <> struct FlagTraits<CommandPoolCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CommandPoolCreateFlagBits::eTransient) | VkFlags(CommandPoolCreateFlagBits::eResetCommandBuffer) | VkFlags(CommandPoolCreateFlagBits::eProtected) allFlags = VkFlags(CommandPoolCreateFlagBits::eTransient) | VkFlags(CommandPoolCreateFlagBits::eResetCommandBuffer) | VkFlags(CommandPoolCreateFlagBits::eProtected)
}; };
@ -8815,7 +8815,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CommandPoolResetFlagBits> template <> struct FlagTraits<CommandPoolResetFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CommandPoolResetFlagBits::eReleaseResources) allFlags = VkFlags(CommandPoolResetFlagBits::eReleaseResources)
}; };
@ -8871,7 +8871,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CompositeAlphaFlagBitsKHR> template <> struct FlagTraits<CompositeAlphaFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CompositeAlphaFlagBitsKHR::eOpaque) | VkFlags(CompositeAlphaFlagBitsKHR::ePreMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::ePostMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::eInherit) allFlags = VkFlags(CompositeAlphaFlagBitsKHR::eOpaque) | VkFlags(CompositeAlphaFlagBitsKHR::ePreMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::ePostMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::eInherit)
}; };
@ -8913,7 +8913,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ConditionalRenderingFlagBitsEXT> template <> struct FlagTraits<ConditionalRenderingFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ConditionalRenderingFlagBitsEXT::eInverted) allFlags = VkFlags(ConditionalRenderingFlagBitsEXT::eInverted)
}; };
@ -8952,7 +8952,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<CullModeFlagBits> template <> struct FlagTraits<CullModeFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(CullModeFlagBits::eNone) | VkFlags(CullModeFlagBits::eFront) | VkFlags(CullModeFlagBits::eBack) | VkFlags(CullModeFlagBits::eFrontAndBack) allFlags = VkFlags(CullModeFlagBits::eNone) | VkFlags(CullModeFlagBits::eFront) | VkFlags(CullModeFlagBits::eBack) | VkFlags(CullModeFlagBits::eFrontAndBack)
}; };
@ -8992,7 +8992,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DebugReportFlagBitsEXT> template <> struct FlagTraits<DebugReportFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DebugReportFlagBitsEXT::eInformation) | VkFlags(DebugReportFlagBitsEXT::eWarning) | VkFlags(DebugReportFlagBitsEXT::ePerformanceWarning) | VkFlags(DebugReportFlagBitsEXT::eError) | VkFlags(DebugReportFlagBitsEXT::eDebug) allFlags = VkFlags(DebugReportFlagBitsEXT::eInformation) | VkFlags(DebugReportFlagBitsEXT::eWarning) | VkFlags(DebugReportFlagBitsEXT::ePerformanceWarning) | VkFlags(DebugReportFlagBitsEXT::eError) | VkFlags(DebugReportFlagBitsEXT::eDebug)
}; };
@ -9035,7 +9035,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT> template <> struct FlagTraits<DebugUtilsMessageSeverityFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eVerbose) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eInfo) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eWarning) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eError) allFlags = VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eVerbose) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eInfo) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eWarning) | VkFlags(DebugUtilsMessageSeverityFlagBitsEXT::eError)
}; };
@ -9077,7 +9077,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT> template <> struct FlagTraits<DebugUtilsMessageTypeFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eGeneral) | VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eValidation) | VkFlags(DebugUtilsMessageTypeFlagBitsEXT::ePerformance) allFlags = VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eGeneral) | VkFlags(DebugUtilsMessageTypeFlagBitsEXT::eValidation) | VkFlags(DebugUtilsMessageTypeFlagBitsEXT::ePerformance)
}; };
@ -9148,7 +9148,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DependencyFlagBits> template <> struct FlagTraits<DependencyFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DependencyFlagBits::eByRegion) | VkFlags(DependencyFlagBits::eDeviceGroup) | VkFlags(DependencyFlagBits::eViewLocal) allFlags = VkFlags(DependencyFlagBits::eByRegion) | VkFlags(DependencyFlagBits::eDeviceGroup) | VkFlags(DependencyFlagBits::eViewLocal)
}; };
@ -9189,7 +9189,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DescriptorBindingFlagBitsEXT> template <> struct FlagTraits<DescriptorBindingFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DescriptorBindingFlagBitsEXT::eUpdateAfterBind) | VkFlags(DescriptorBindingFlagBitsEXT::eUpdateUnusedWhilePending) | VkFlags(DescriptorBindingFlagBitsEXT::ePartiallyBound) | VkFlags(DescriptorBindingFlagBitsEXT::eVariableDescriptorCount) allFlags = VkFlags(DescriptorBindingFlagBitsEXT::eUpdateAfterBind) | VkFlags(DescriptorBindingFlagBitsEXT::eUpdateUnusedWhilePending) | VkFlags(DescriptorBindingFlagBitsEXT::ePartiallyBound) | VkFlags(DescriptorBindingFlagBitsEXT::eVariableDescriptorCount)
}; };
@ -9231,7 +9231,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DescriptorPoolCreateFlagBits> template <> struct FlagTraits<DescriptorPoolCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DescriptorPoolCreateFlagBits::eFreeDescriptorSet) | VkFlags(DescriptorPoolCreateFlagBits::eUpdateAfterBindEXT) allFlags = VkFlags(DescriptorPoolCreateFlagBits::eFreeDescriptorSet) | VkFlags(DescriptorPoolCreateFlagBits::eUpdateAfterBindEXT)
}; };
@ -9286,7 +9286,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DescriptorSetLayoutCreateFlagBits> template <> struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR) | VkFlags(DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPoolEXT) allFlags = VkFlags(DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR) | VkFlags(DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPoolEXT)
}; };
@ -9350,7 +9350,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR> template <> struct FlagTraits<DeviceGroupPresentModeFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocal) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eRemote) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eSum) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice) allFlags = VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocal) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eRemote) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eSum) | VkFlags(DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice)
}; };
@ -9392,7 +9392,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DeviceQueueCreateFlagBits> template <> struct FlagTraits<DeviceQueueCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DeviceQueueCreateFlagBits::eProtected) allFlags = VkFlags(DeviceQueueCreateFlagBits::eProtected)
}; };
@ -9446,7 +9446,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR> template <> struct FlagTraits<DisplayPlaneAlphaFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(DisplayPlaneAlphaFlagBitsKHR::eOpaque) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::eGlobal) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixel) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied) allFlags = VkFlags(DisplayPlaneAlphaFlagBitsKHR::eOpaque) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::eGlobal) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixel) | VkFlags(DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied)
}; };
@ -9518,7 +9518,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalFenceFeatureFlagBits> template <> struct FlagTraits<ExternalFenceFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalFenceFeatureFlagBits::eExportable) | VkFlags(ExternalFenceFeatureFlagBits::eImportable) allFlags = VkFlags(ExternalFenceFeatureFlagBits::eExportable) | VkFlags(ExternalFenceFeatureFlagBits::eImportable)
}; };
@ -9560,7 +9560,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalFenceHandleTypeFlagBits> template <> struct FlagTraits<ExternalFenceHandleTypeFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalFenceHandleTypeFlagBits::eSyncFd) allFlags = VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalFenceHandleTypeFlagBits::eSyncFd)
}; };
@ -9604,7 +9604,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalMemoryFeatureFlagBits> template <> struct FlagTraits<ExternalMemoryFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalMemoryFeatureFlagBits::eDedicatedOnly) | VkFlags(ExternalMemoryFeatureFlagBits::eExportable) | VkFlags(ExternalMemoryFeatureFlagBits::eImportable) allFlags = VkFlags(ExternalMemoryFeatureFlagBits::eDedicatedOnly) | VkFlags(ExternalMemoryFeatureFlagBits::eExportable) | VkFlags(ExternalMemoryFeatureFlagBits::eImportable)
}; };
@ -9647,7 +9647,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalMemoryFeatureFlagBitsNV> template <> struct FlagTraits<ExternalMemoryFeatureFlagBitsNV>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly) | VkFlags(ExternalMemoryFeatureFlagBitsNV::eExportable) | VkFlags(ExternalMemoryFeatureFlagBitsNV::eImportable) allFlags = VkFlags(ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly) | VkFlags(ExternalMemoryFeatureFlagBitsNV::eExportable) | VkFlags(ExternalMemoryFeatureFlagBitsNV::eImportable)
}; };
@ -9688,7 +9688,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBits> template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11Texture) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Heap) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Resource) | VkFlags(ExternalMemoryHandleTypeFlagBits::eDmaBufEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT) allFlags = VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11Texture) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Heap) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Resource) | VkFlags(ExternalMemoryHandleTypeFlagBits::eDmaBufEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT)
}; };
@ -9739,7 +9739,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV> template <> struct FlagTraits<ExternalMemoryHandleTypeFlagBitsNV>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt) allFlags = VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image) | VkFlags(ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt)
}; };
@ -9781,7 +9781,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalSemaphoreFeatureFlagBits> template <> struct FlagTraits<ExternalSemaphoreFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalSemaphoreFeatureFlagBits::eExportable) | VkFlags(ExternalSemaphoreFeatureFlagBits::eImportable) allFlags = VkFlags(ExternalSemaphoreFeatureFlagBits::eExportable) | VkFlags(ExternalSemaphoreFeatureFlagBits::eImportable)
}; };
@ -9823,7 +9823,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits> template <> struct FlagTraits<ExternalSemaphoreHandleTypeFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eSyncFd) allFlags = VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence) | VkFlags(ExternalSemaphoreHandleTypeFlagBits::eSyncFd)
}; };
@ -9868,7 +9868,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<FenceCreateFlagBits> template <> struct FlagTraits<FenceCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(FenceCreateFlagBits::eSignaled) allFlags = VkFlags(FenceCreateFlagBits::eSignaled)
}; };
@ -9907,7 +9907,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<FenceImportFlagBits> template <> struct FlagTraits<FenceImportFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(FenceImportFlagBits::eTemporary) allFlags = VkFlags(FenceImportFlagBits::eTemporary)
}; };
@ -9948,7 +9948,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<FormatFeatureFlagBits> template <> struct FlagTraits<FormatFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(FormatFeatureFlagBits::eSampledImage) | VkFlags(FormatFeatureFlagBits::eStorageImage) | VkFlags(FormatFeatureFlagBits::eStorageImageAtomic) | VkFlags(FormatFeatureFlagBits::eUniformTexelBuffer) | VkFlags(FormatFeatureFlagBits::eStorageTexelBuffer) | VkFlags(FormatFeatureFlagBits::eStorageTexelBufferAtomic) | VkFlags(FormatFeatureFlagBits::eVertexBuffer) | VkFlags(FormatFeatureFlagBits::eColorAttachment) | VkFlags(FormatFeatureFlagBits::eColorAttachmentBlend) | VkFlags(FormatFeatureFlagBits::eDepthStencilAttachment) | VkFlags(FormatFeatureFlagBits::eBlitSrc) | VkFlags(FormatFeatureFlagBits::eBlitDst) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterLinear) | VkFlags(FormatFeatureFlagBits::eTransferSrc) | VkFlags(FormatFeatureFlagBits::eTransferDst) | VkFlags(FormatFeatureFlagBits::eMidpointChromaSamples) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable) | VkFlags(FormatFeatureFlagBits::eDisjoint) | VkFlags(FormatFeatureFlagBits::eCositedChromaSamples) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterCubicIMG) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterMinmaxEXT) | VkFlags(FormatFeatureFlagBits::eFragmentDensityMapEXT) allFlags = VkFlags(FormatFeatureFlagBits::eSampledImage) | VkFlags(FormatFeatureFlagBits::eStorageImage) | VkFlags(FormatFeatureFlagBits::eStorageImageAtomic) | VkFlags(FormatFeatureFlagBits::eUniformTexelBuffer) | VkFlags(FormatFeatureFlagBits::eStorageTexelBuffer) | VkFlags(FormatFeatureFlagBits::eStorageTexelBufferAtomic) | VkFlags(FormatFeatureFlagBits::eVertexBuffer) | VkFlags(FormatFeatureFlagBits::eColorAttachment) | VkFlags(FormatFeatureFlagBits::eColorAttachmentBlend) | VkFlags(FormatFeatureFlagBits::eDepthStencilAttachment) | VkFlags(FormatFeatureFlagBits::eBlitSrc) | VkFlags(FormatFeatureFlagBits::eBlitDst) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterLinear) | VkFlags(FormatFeatureFlagBits::eTransferSrc) | VkFlags(FormatFeatureFlagBits::eTransferDst) | VkFlags(FormatFeatureFlagBits::eMidpointChromaSamples) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit) | VkFlags(FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable) | VkFlags(FormatFeatureFlagBits::eDisjoint) | VkFlags(FormatFeatureFlagBits::eCositedChromaSamples) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterCubicIMG) | VkFlags(FormatFeatureFlagBits::eSampledImageFilterMinmaxEXT) | VkFlags(FormatFeatureFlagBits::eFragmentDensityMapEXT)
}; };
@ -10011,7 +10011,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<FramebufferCreateFlagBits> template <> struct FlagTraits<FramebufferCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(FramebufferCreateFlagBits::eImagelessKHR) allFlags = VkFlags(FramebufferCreateFlagBits::eImagelessKHR)
}; };
@ -10050,7 +10050,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<GeometryFlagBitsNV> template <> struct FlagTraits<GeometryFlagBitsNV>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(GeometryFlagBitsNV::eOpaque) | VkFlags(GeometryFlagBitsNV::eNoDuplicateAnyHitInvocation) allFlags = VkFlags(GeometryFlagBitsNV::eOpaque) | VkFlags(GeometryFlagBitsNV::eNoDuplicateAnyHitInvocation)
}; };
@ -10090,7 +10090,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<GeometryInstanceFlagBitsNV> template <> struct FlagTraits<GeometryInstanceFlagBitsNV>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(GeometryInstanceFlagBitsNV::eTriangleCullDisable) | VkFlags(GeometryInstanceFlagBitsNV::eTriangleFrontCounterclockwise) | VkFlags(GeometryInstanceFlagBitsNV::eForceOpaque) | VkFlags(GeometryInstanceFlagBitsNV::eForceNoOpaque) allFlags = VkFlags(GeometryInstanceFlagBitsNV::eTriangleCullDisable) | VkFlags(GeometryInstanceFlagBitsNV::eTriangleFrontCounterclockwise) | VkFlags(GeometryInstanceFlagBitsNV::eForceOpaque) | VkFlags(GeometryInstanceFlagBitsNV::eForceNoOpaque)
}; };
@ -10164,7 +10164,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ImageAspectFlagBits> template <> struct FlagTraits<ImageAspectFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ImageAspectFlagBits::eColor) | VkFlags(ImageAspectFlagBits::eDepth) | VkFlags(ImageAspectFlagBits::eStencil) | VkFlags(ImageAspectFlagBits::eMetadata) | VkFlags(ImageAspectFlagBits::ePlane0) | VkFlags(ImageAspectFlagBits::ePlane1) | VkFlags(ImageAspectFlagBits::ePlane2) | VkFlags(ImageAspectFlagBits::eMemoryPlane0EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane1EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane2EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane3EXT) allFlags = VkFlags(ImageAspectFlagBits::eColor) | VkFlags(ImageAspectFlagBits::eDepth) | VkFlags(ImageAspectFlagBits::eStencil) | VkFlags(ImageAspectFlagBits::eMetadata) | VkFlags(ImageAspectFlagBits::ePlane0) | VkFlags(ImageAspectFlagBits::ePlane1) | VkFlags(ImageAspectFlagBits::ePlane2) | VkFlags(ImageAspectFlagBits::eMemoryPlane0EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane1EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane2EXT) | VkFlags(ImageAspectFlagBits::eMemoryPlane3EXT)
}; };
@ -10213,7 +10213,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ImageCreateFlagBits> template <> struct FlagTraits<ImageCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ImageCreateFlagBits::eSparseBinding) | VkFlags(ImageCreateFlagBits::eSparseResidency) | VkFlags(ImageCreateFlagBits::eSparseAliased) | VkFlags(ImageCreateFlagBits::eMutableFormat) | VkFlags(ImageCreateFlagBits::eCubeCompatible) | VkFlags(ImageCreateFlagBits::eAlias) | VkFlags(ImageCreateFlagBits::eSplitInstanceBindRegions) | VkFlags(ImageCreateFlagBits::e2DArrayCompatible) | VkFlags(ImageCreateFlagBits::eBlockTexelViewCompatible) | VkFlags(ImageCreateFlagBits::eExtendedUsage) | VkFlags(ImageCreateFlagBits::eProtected) | VkFlags(ImageCreateFlagBits::eDisjoint) | VkFlags(ImageCreateFlagBits::eCornerSampledNV) | VkFlags(ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT) | VkFlags(ImageCreateFlagBits::eSubsampledEXT) allFlags = VkFlags(ImageCreateFlagBits::eSparseBinding) | VkFlags(ImageCreateFlagBits::eSparseResidency) | VkFlags(ImageCreateFlagBits::eSparseAliased) | VkFlags(ImageCreateFlagBits::eMutableFormat) | VkFlags(ImageCreateFlagBits::eCubeCompatible) | VkFlags(ImageCreateFlagBits::eAlias) | VkFlags(ImageCreateFlagBits::eSplitInstanceBindRegions) | VkFlags(ImageCreateFlagBits::e2DArrayCompatible) | VkFlags(ImageCreateFlagBits::eBlockTexelViewCompatible) | VkFlags(ImageCreateFlagBits::eExtendedUsage) | VkFlags(ImageCreateFlagBits::eProtected) | VkFlags(ImageCreateFlagBits::eDisjoint) | VkFlags(ImageCreateFlagBits::eCornerSampledNV) | VkFlags(ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT) | VkFlags(ImageCreateFlagBits::eSubsampledEXT)
}; };
@ -10283,7 +10283,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ImageUsageFlagBits> template <> struct FlagTraits<ImageUsageFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ImageUsageFlagBits::eTransferSrc) | VkFlags(ImageUsageFlagBits::eTransferDst) | VkFlags(ImageUsageFlagBits::eSampled) | VkFlags(ImageUsageFlagBits::eStorage) | VkFlags(ImageUsageFlagBits::eColorAttachment) | VkFlags(ImageUsageFlagBits::eDepthStencilAttachment) | VkFlags(ImageUsageFlagBits::eTransientAttachment) | VkFlags(ImageUsageFlagBits::eInputAttachment) | VkFlags(ImageUsageFlagBits::eShadingRateImageNV) | VkFlags(ImageUsageFlagBits::eFragmentDensityMapEXT) allFlags = VkFlags(ImageUsageFlagBits::eTransferSrc) | VkFlags(ImageUsageFlagBits::eTransferDst) | VkFlags(ImageUsageFlagBits::eSampled) | VkFlags(ImageUsageFlagBits::eStorage) | VkFlags(ImageUsageFlagBits::eColorAttachment) | VkFlags(ImageUsageFlagBits::eDepthStencilAttachment) | VkFlags(ImageUsageFlagBits::eTransientAttachment) | VkFlags(ImageUsageFlagBits::eInputAttachment) | VkFlags(ImageUsageFlagBits::eShadingRateImageNV) | VkFlags(ImageUsageFlagBits::eFragmentDensityMapEXT)
}; };
@ -10331,7 +10331,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ImageViewCreateFlagBits> template <> struct FlagTraits<ImageViewCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT) allFlags = VkFlags(ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT)
}; };
@ -10370,7 +10370,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNVX> template <> struct FlagTraits<IndirectCommandsLayoutUsageFlagBitsNVX>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eUnorderedSequences) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eSparseSequences) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eEmptyExecutions) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eIndexedSequences) allFlags = VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eUnorderedSequences) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eSparseSequences) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eEmptyExecutions) | VkFlags(IndirectCommandsLayoutUsageFlagBitsNVX::eIndexedSequences)
}; };
@ -10436,7 +10436,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<MemoryAllocateFlagBits> template <> struct FlagTraits<MemoryAllocateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(MemoryAllocateFlagBits::eDeviceMask) | VkFlags(MemoryAllocateFlagBits::eDeviceAddressKHR) | VkFlags(MemoryAllocateFlagBits::eDeviceAddressCaptureReplayKHR) allFlags = VkFlags(MemoryAllocateFlagBits::eDeviceMask) | VkFlags(MemoryAllocateFlagBits::eDeviceAddressKHR) | VkFlags(MemoryAllocateFlagBits::eDeviceAddressCaptureReplayKHR)
}; };
@ -10479,7 +10479,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<MemoryHeapFlagBits> template <> struct FlagTraits<MemoryHeapFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(MemoryHeapFlagBits::eDeviceLocal) | VkFlags(MemoryHeapFlagBits::eMultiInstance) allFlags = VkFlags(MemoryHeapFlagBits::eDeviceLocal) | VkFlags(MemoryHeapFlagBits::eMultiInstance)
}; };
@ -10534,7 +10534,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<MemoryPropertyFlagBits> template <> struct FlagTraits<MemoryPropertyFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(MemoryPropertyFlagBits::eDeviceLocal) | VkFlags(MemoryPropertyFlagBits::eHostVisible) | VkFlags(MemoryPropertyFlagBits::eHostCoherent) | VkFlags(MemoryPropertyFlagBits::eHostCached) | VkFlags(MemoryPropertyFlagBits::eLazilyAllocated) | VkFlags(MemoryPropertyFlagBits::eProtected) | VkFlags(MemoryPropertyFlagBits::eDeviceCoherentAMD) | VkFlags(MemoryPropertyFlagBits::eDeviceUncachedAMD) allFlags = VkFlags(MemoryPropertyFlagBits::eDeviceLocal) | VkFlags(MemoryPropertyFlagBits::eHostVisible) | VkFlags(MemoryPropertyFlagBits::eHostCoherent) | VkFlags(MemoryPropertyFlagBits::eHostCached) | VkFlags(MemoryPropertyFlagBits::eLazilyAllocated) | VkFlags(MemoryPropertyFlagBits::eProtected) | VkFlags(MemoryPropertyFlagBits::eDeviceCoherentAMD) | VkFlags(MemoryPropertyFlagBits::eDeviceUncachedAMD)
}; };
@ -10597,7 +10597,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ObjectEntryUsageFlagBitsNVX> template <> struct FlagTraits<ObjectEntryUsageFlagBitsNVX>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ObjectEntryUsageFlagBitsNVX::eGraphics) | VkFlags(ObjectEntryUsageFlagBitsNVX::eCompute) allFlags = VkFlags(ObjectEntryUsageFlagBitsNVX::eGraphics) | VkFlags(ObjectEntryUsageFlagBitsNVX::eCompute)
}; };
@ -10637,7 +10637,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PeerMemoryFeatureFlagBits> template <> struct FlagTraits<PeerMemoryFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PeerMemoryFeatureFlagBits::eCopySrc) | VkFlags(PeerMemoryFeatureFlagBits::eCopyDst) | VkFlags(PeerMemoryFeatureFlagBits::eGenericSrc) | VkFlags(PeerMemoryFeatureFlagBits::eGenericDst) allFlags = VkFlags(PeerMemoryFeatureFlagBits::eCopySrc) | VkFlags(PeerMemoryFeatureFlagBits::eCopyDst) | VkFlags(PeerMemoryFeatureFlagBits::eGenericSrc) | VkFlags(PeerMemoryFeatureFlagBits::eGenericDst)
}; };
@ -10681,7 +10681,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR> template <> struct FlagTraits<PerformanceCounterDescriptionFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting) | VkFlags(PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted) allFlags = VkFlags(PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting) | VkFlags(PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted)
}; };
@ -10787,7 +10787,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PipelineCreateFlagBits> template <> struct FlagTraits<PipelineCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PipelineCreateFlagBits::eDisableOptimization) | VkFlags(PipelineCreateFlagBits::eAllowDerivatives) | VkFlags(PipelineCreateFlagBits::eDerivative) | VkFlags(PipelineCreateFlagBits::eViewIndexFromDeviceIndex) | VkFlags(PipelineCreateFlagBits::eDispatchBase) | VkFlags(PipelineCreateFlagBits::eDeferCompileNV) | VkFlags(PipelineCreateFlagBits::eCaptureStatisticsKHR) | VkFlags(PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR) allFlags = VkFlags(PipelineCreateFlagBits::eDisableOptimization) | VkFlags(PipelineCreateFlagBits::eAllowDerivatives) | VkFlags(PipelineCreateFlagBits::eDerivative) | VkFlags(PipelineCreateFlagBits::eViewIndexFromDeviceIndex) | VkFlags(PipelineCreateFlagBits::eDispatchBase) | VkFlags(PipelineCreateFlagBits::eDeferCompileNV) | VkFlags(PipelineCreateFlagBits::eCaptureStatisticsKHR) | VkFlags(PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR)
}; };
@ -10833,7 +10833,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PipelineCreationFeedbackFlagBitsEXT> template <> struct FlagTraits<PipelineCreationFeedbackFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PipelineCreationFeedbackFlagBitsEXT::eValid) | VkFlags(PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit) | VkFlags(PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration) allFlags = VkFlags(PipelineCreationFeedbackFlagBitsEXT::eValid) | VkFlags(PipelineCreationFeedbackFlagBitsEXT::eApplicationPipelineCacheHit) | VkFlags(PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration)
}; };
@ -10976,7 +10976,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PipelineShaderStageCreateFlagBits> template <> struct FlagTraits<PipelineShaderStageCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT) | VkFlags(PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT) allFlags = VkFlags(PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSizeEXT) | VkFlags(PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT)
}; };
@ -11016,7 +11016,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<PipelineStageFlagBits> template <> struct FlagTraits<PipelineStageFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(PipelineStageFlagBits::eTopOfPipe) | VkFlags(PipelineStageFlagBits::eDrawIndirect) | VkFlags(PipelineStageFlagBits::eVertexInput) | VkFlags(PipelineStageFlagBits::eVertexShader) | VkFlags(PipelineStageFlagBits::eTessellationControlShader) | VkFlags(PipelineStageFlagBits::eTessellationEvaluationShader) | VkFlags(PipelineStageFlagBits::eGeometryShader) | VkFlags(PipelineStageFlagBits::eFragmentShader) | VkFlags(PipelineStageFlagBits::eEarlyFragmentTests) | VkFlags(PipelineStageFlagBits::eLateFragmentTests) | VkFlags(PipelineStageFlagBits::eColorAttachmentOutput) | VkFlags(PipelineStageFlagBits::eComputeShader) | VkFlags(PipelineStageFlagBits::eTransfer) | VkFlags(PipelineStageFlagBits::eBottomOfPipe) | VkFlags(PipelineStageFlagBits::eHost) | VkFlags(PipelineStageFlagBits::eAllGraphics) | VkFlags(PipelineStageFlagBits::eAllCommands) | VkFlags(PipelineStageFlagBits::eTransformFeedbackEXT) | VkFlags(PipelineStageFlagBits::eConditionalRenderingEXT) | VkFlags(PipelineStageFlagBits::eCommandProcessNVX) | VkFlags(PipelineStageFlagBits::eShadingRateImageNV) | VkFlags(PipelineStageFlagBits::eRayTracingShaderNV) | VkFlags(PipelineStageFlagBits::eAccelerationStructureBuildNV) | VkFlags(PipelineStageFlagBits::eTaskShaderNV) | VkFlags(PipelineStageFlagBits::eMeshShaderNV) | VkFlags(PipelineStageFlagBits::eFragmentDensityProcessEXT) allFlags = VkFlags(PipelineStageFlagBits::eTopOfPipe) | VkFlags(PipelineStageFlagBits::eDrawIndirect) | VkFlags(PipelineStageFlagBits::eVertexInput) | VkFlags(PipelineStageFlagBits::eVertexShader) | VkFlags(PipelineStageFlagBits::eTessellationControlShader) | VkFlags(PipelineStageFlagBits::eTessellationEvaluationShader) | VkFlags(PipelineStageFlagBits::eGeometryShader) | VkFlags(PipelineStageFlagBits::eFragmentShader) | VkFlags(PipelineStageFlagBits::eEarlyFragmentTests) | VkFlags(PipelineStageFlagBits::eLateFragmentTests) | VkFlags(PipelineStageFlagBits::eColorAttachmentOutput) | VkFlags(PipelineStageFlagBits::eComputeShader) | VkFlags(PipelineStageFlagBits::eTransfer) | VkFlags(PipelineStageFlagBits::eBottomOfPipe) | VkFlags(PipelineStageFlagBits::eHost) | VkFlags(PipelineStageFlagBits::eAllGraphics) | VkFlags(PipelineStageFlagBits::eAllCommands) | VkFlags(PipelineStageFlagBits::eTransformFeedbackEXT) | VkFlags(PipelineStageFlagBits::eConditionalRenderingEXT) | VkFlags(PipelineStageFlagBits::eCommandProcessNVX) | VkFlags(PipelineStageFlagBits::eShadingRateImageNV) | VkFlags(PipelineStageFlagBits::eRayTracingShaderNV) | VkFlags(PipelineStageFlagBits::eAccelerationStructureBuildNV) | VkFlags(PipelineStageFlagBits::eTaskShaderNV) | VkFlags(PipelineStageFlagBits::eMeshShaderNV) | VkFlags(PipelineStageFlagBits::eFragmentDensityProcessEXT)
}; };
@ -11116,7 +11116,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<QueryControlFlagBits> template <> struct FlagTraits<QueryControlFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(QueryControlFlagBits::ePrecise) allFlags = VkFlags(QueryControlFlagBits::ePrecise)
}; };
@ -11155,7 +11155,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<QueryPipelineStatisticFlagBits> template <> struct FlagTraits<QueryPipelineStatisticFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyVertices) | VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eVertexShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eClippingInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eClippingPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eFragmentShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches) | VkFlags(QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eComputeShaderInvocations) allFlags = VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyVertices) | VkFlags(QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eVertexShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eClippingInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eClippingPrimitives) | VkFlags(QueryPipelineStatisticFlagBits::eFragmentShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches) | VkFlags(QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations) | VkFlags(QueryPipelineStatisticFlagBits::eComputeShaderInvocations)
}; };
@ -11211,7 +11211,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<QueryResultFlagBits> template <> struct FlagTraits<QueryResultFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(QueryResultFlagBits::e64) | VkFlags(QueryResultFlagBits::eWait) | VkFlags(QueryResultFlagBits::eWithAvailability) | VkFlags(QueryResultFlagBits::ePartial) allFlags = VkFlags(QueryResultFlagBits::e64) | VkFlags(QueryResultFlagBits::eWait) | VkFlags(QueryResultFlagBits::eWithAvailability) | VkFlags(QueryResultFlagBits::ePartial)
}; };
@ -11253,7 +11253,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<QueueFlagBits> template <> struct FlagTraits<QueueFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(QueueFlagBits::eGraphics) | VkFlags(QueueFlagBits::eCompute) | VkFlags(QueueFlagBits::eTransfer) | VkFlags(QueueFlagBits::eSparseBinding) | VkFlags(QueueFlagBits::eProtected) allFlags = VkFlags(QueueFlagBits::eGraphics) | VkFlags(QueueFlagBits::eCompute) | VkFlags(QueueFlagBits::eTransfer) | VkFlags(QueueFlagBits::eSparseBinding) | VkFlags(QueueFlagBits::eProtected)
}; };
@ -11303,7 +11303,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ResolveModeFlagBitsKHR> template <> struct FlagTraits<ResolveModeFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ResolveModeFlagBitsKHR::eNone) | VkFlags(ResolveModeFlagBitsKHR::eSampleZero) | VkFlags(ResolveModeFlagBitsKHR::eAverage) | VkFlags(ResolveModeFlagBitsKHR::eMin) | VkFlags(ResolveModeFlagBitsKHR::eMax) allFlags = VkFlags(ResolveModeFlagBitsKHR::eNone) | VkFlags(ResolveModeFlagBitsKHR::eSampleZero) | VkFlags(ResolveModeFlagBitsKHR::eAverage) | VkFlags(ResolveModeFlagBitsKHR::eMin) | VkFlags(ResolveModeFlagBitsKHR::eMax)
}; };
@ -11345,7 +11345,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SampleCountFlagBits> template <> struct FlagTraits<SampleCountFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SampleCountFlagBits::e1) | VkFlags(SampleCountFlagBits::e2) | VkFlags(SampleCountFlagBits::e4) | VkFlags(SampleCountFlagBits::e8) | VkFlags(SampleCountFlagBits::e16) | VkFlags(SampleCountFlagBits::e32) | VkFlags(SampleCountFlagBits::e64) allFlags = VkFlags(SampleCountFlagBits::e1) | VkFlags(SampleCountFlagBits::e2) | VkFlags(SampleCountFlagBits::e4) | VkFlags(SampleCountFlagBits::e8) | VkFlags(SampleCountFlagBits::e16) | VkFlags(SampleCountFlagBits::e32) | VkFlags(SampleCountFlagBits::e64)
}; };
@ -11390,7 +11390,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SamplerCreateFlagBits> template <> struct FlagTraits<SamplerCreateFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SamplerCreateFlagBits::eSubsampledEXT) | VkFlags(SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT) allFlags = VkFlags(SamplerCreateFlagBits::eSubsampledEXT) | VkFlags(SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT)
}; };
@ -11437,7 +11437,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SemaphoreImportFlagBits> template <> struct FlagTraits<SemaphoreImportFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SemaphoreImportFlagBits::eTemporary) allFlags = VkFlags(SemaphoreImportFlagBits::eTemporary)
}; };
@ -11478,7 +11478,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SemaphoreWaitFlagBitsKHR> template <> struct FlagTraits<SemaphoreWaitFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SemaphoreWaitFlagBitsKHR::eAny) allFlags = VkFlags(SemaphoreWaitFlagBitsKHR::eAny)
}; };
@ -11531,7 +11531,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ShaderStageFlagBits> template <> struct FlagTraits<ShaderStageFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ShaderStageFlagBits::eVertex) | VkFlags(ShaderStageFlagBits::eTessellationControl) | VkFlags(ShaderStageFlagBits::eTessellationEvaluation) | VkFlags(ShaderStageFlagBits::eGeometry) | VkFlags(ShaderStageFlagBits::eFragment) | VkFlags(ShaderStageFlagBits::eCompute) | VkFlags(ShaderStageFlagBits::eAllGraphics) | VkFlags(ShaderStageFlagBits::eAll) | VkFlags(ShaderStageFlagBits::eRaygenNV) | VkFlags(ShaderStageFlagBits::eAnyHitNV) | VkFlags(ShaderStageFlagBits::eClosestHitNV) | VkFlags(ShaderStageFlagBits::eMissNV) | VkFlags(ShaderStageFlagBits::eIntersectionNV) | VkFlags(ShaderStageFlagBits::eCallableNV) | VkFlags(ShaderStageFlagBits::eTaskNV) | VkFlags(ShaderStageFlagBits::eMeshNV) allFlags = VkFlags(ShaderStageFlagBits::eVertex) | VkFlags(ShaderStageFlagBits::eTessellationControl) | VkFlags(ShaderStageFlagBits::eTessellationEvaluation) | VkFlags(ShaderStageFlagBits::eGeometry) | VkFlags(ShaderStageFlagBits::eFragment) | VkFlags(ShaderStageFlagBits::eCompute) | VkFlags(ShaderStageFlagBits::eAllGraphics) | VkFlags(ShaderStageFlagBits::eAll) | VkFlags(ShaderStageFlagBits::eRaygenNV) | VkFlags(ShaderStageFlagBits::eAnyHitNV) | VkFlags(ShaderStageFlagBits::eClosestHitNV) | VkFlags(ShaderStageFlagBits::eMissNV) | VkFlags(ShaderStageFlagBits::eIntersectionNV) | VkFlags(ShaderStageFlagBits::eCallableNV) | VkFlags(ShaderStageFlagBits::eTaskNV) | VkFlags(ShaderStageFlagBits::eMeshNV)
}; };
@ -11583,7 +11583,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SparseImageFormatFlagBits> template <> struct FlagTraits<SparseImageFormatFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SparseImageFormatFlagBits::eSingleMiptail) | VkFlags(SparseImageFormatFlagBits::eAlignedMipSize) | VkFlags(SparseImageFormatFlagBits::eNonstandardBlockSize) allFlags = VkFlags(SparseImageFormatFlagBits::eSingleMiptail) | VkFlags(SparseImageFormatFlagBits::eAlignedMipSize) | VkFlags(SparseImageFormatFlagBits::eNonstandardBlockSize)
}; };
@ -11624,7 +11624,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SparseMemoryBindFlagBits> template <> struct FlagTraits<SparseMemoryBindFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SparseMemoryBindFlagBits::eMetadata) allFlags = VkFlags(SparseMemoryBindFlagBits::eMetadata)
}; };
@ -11663,7 +11663,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<StencilFaceFlagBits> template <> struct FlagTraits<StencilFaceFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(StencilFaceFlagBits::eFront) | VkFlags(StencilFaceFlagBits::eBack) | VkFlags(StencilFaceFlagBits::eFrontAndBack) allFlags = VkFlags(StencilFaceFlagBits::eFront) | VkFlags(StencilFaceFlagBits::eBack) | VkFlags(StencilFaceFlagBits::eFrontAndBack)
}; };
@ -11720,7 +11720,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SubgroupFeatureFlagBits> template <> struct FlagTraits<SubgroupFeatureFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SubgroupFeatureFlagBits::eBasic) | VkFlags(SubgroupFeatureFlagBits::eVote) | VkFlags(SubgroupFeatureFlagBits::eArithmetic) | VkFlags(SubgroupFeatureFlagBits::eBallot) | VkFlags(SubgroupFeatureFlagBits::eShuffle) | VkFlags(SubgroupFeatureFlagBits::eShuffleRelative) | VkFlags(SubgroupFeatureFlagBits::eClustered) | VkFlags(SubgroupFeatureFlagBits::eQuad) | VkFlags(SubgroupFeatureFlagBits::ePartitionedNV) allFlags = VkFlags(SubgroupFeatureFlagBits::eBasic) | VkFlags(SubgroupFeatureFlagBits::eVote) | VkFlags(SubgroupFeatureFlagBits::eArithmetic) | VkFlags(SubgroupFeatureFlagBits::eBallot) | VkFlags(SubgroupFeatureFlagBits::eShuffle) | VkFlags(SubgroupFeatureFlagBits::eShuffleRelative) | VkFlags(SubgroupFeatureFlagBits::eClustered) | VkFlags(SubgroupFeatureFlagBits::eQuad) | VkFlags(SubgroupFeatureFlagBits::ePartitionedNV)
}; };
@ -11767,7 +11767,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SubpassDescriptionFlagBits> template <> struct FlagTraits<SubpassDescriptionFlagBits>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SubpassDescriptionFlagBits::ePerViewAttributesNVX) | VkFlags(SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX) allFlags = VkFlags(SubpassDescriptionFlagBits::ePerViewAttributesNVX) | VkFlags(SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX)
}; };
@ -11807,7 +11807,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SurfaceCounterFlagBitsEXT> template <> struct FlagTraits<SurfaceCounterFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SurfaceCounterFlagBitsEXT::eVblank) allFlags = VkFlags(SurfaceCounterFlagBitsEXT::eVblank)
}; };
@ -11846,7 +11846,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SurfaceTransformFlagBitsKHR> template <> struct FlagTraits<SurfaceTransformFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SurfaceTransformFlagBitsKHR::eIdentity) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate90) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate180) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate270) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirror) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270) | VkFlags(SurfaceTransformFlagBitsKHR::eInherit) allFlags = VkFlags(SurfaceTransformFlagBitsKHR::eIdentity) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate90) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate180) | VkFlags(SurfaceTransformFlagBitsKHR::eRotate270) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirror) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180) | VkFlags(SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270) | VkFlags(SurfaceTransformFlagBitsKHR::eInherit)
}; };
@ -11893,7 +11893,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<SwapchainCreateFlagBitsKHR> template <> struct FlagTraits<SwapchainCreateFlagBitsKHR>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions) | VkFlags(SwapchainCreateFlagBitsKHR::eProtected) | VkFlags(SwapchainCreateFlagBitsKHR::eMutableFormat) allFlags = VkFlags(SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions) | VkFlags(SwapchainCreateFlagBitsKHR::eProtected) | VkFlags(SwapchainCreateFlagBitsKHR::eMutableFormat)
}; };
@ -11934,7 +11934,7 @@ namespace VULKAN_HPP_NAMESPACE
template <> struct FlagTraits<ToolPurposeFlagBitsEXT> template <> struct FlagTraits<ToolPurposeFlagBitsEXT>
{ {
enum enum : VkFlags
{ {
allFlags = VkFlags(ToolPurposeFlagBitsEXT::eValidation) | VkFlags(ToolPurposeFlagBitsEXT::eProfiling) | VkFlags(ToolPurposeFlagBitsEXT::eTracing) | VkFlags(ToolPurposeFlagBitsEXT::eAdditionalFeatures) | VkFlags(ToolPurposeFlagBitsEXT::eModifyingFeatures) | VkFlags(ToolPurposeFlagBitsEXT::eDebugReporting) | VkFlags(ToolPurposeFlagBitsEXT::eDebugMarkers) allFlags = VkFlags(ToolPurposeFlagBitsEXT::eValidation) | VkFlags(ToolPurposeFlagBitsEXT::eProfiling) | VkFlags(ToolPurposeFlagBitsEXT::eTracing) | VkFlags(ToolPurposeFlagBitsEXT::eAdditionalFeatures) | VkFlags(ToolPurposeFlagBitsEXT::eModifyingFeatures) | VkFlags(ToolPurposeFlagBitsEXT::eDebugReporting) | VkFlags(ToolPurposeFlagBitsEXT::eDebugMarkers)
}; };