DXIL::Program added function to ProcessFunctions via callback

void ProcessFunctions(std::function<bool(const Function *)> callback) const;
This commit is contained in:
Jake Turner
2024-05-14 12:42:20 +01:00
parent 2329e68f26
commit 080c0b052e
2 changed files with 12 additions and 0 deletions
@@ -1280,6 +1280,8 @@ public:
rdcarray<ShaderEntryPoint> GetEntryPoints();
void FillEntryPointInterfaces();
rdcstr GetResourceReferenceName(ResourceClass resClass, const BindingSlot &slot) const;
// false means stop processing
void ProcessFunctions(std::function<bool(const Function *)> callback) const;
void FillRayPayloads(
Program *executable,
rdcflatmap<ShaderEntryPoint, rdcpair<DXBC::CBufferVariableType, DXBC::CBufferVariableType>>
@@ -1758,4 +1758,14 @@ const ResourceReference *Program::GetResourceReference(const rdcstr &handleStr)
return NULL;
}
void Program::ProcessFunctions(std::function<bool(const Function *)> callback) const
{
for(const DXIL::Function *f : m_Functions)
{
// false means stop processing
if(!callback(f))
break;
}
}
}; // namespace DXIL