Class for managing shaders. More...
#include <ShaderManager.hpp>
Collaboration diagram for cae::ShaderManager:Public Member Functions | |
| ShaderManager (const std::vector< std::function< std::shared_ptr< IShaderFrontend >()> > &shaderFrontendFactories, const std::function< std::shared_ptr< IShaderIR >()> &shaderIRFactory=nullptr) | |
| ~ShaderManager ()=default | |
| ShaderManager (const ShaderManager &)=delete | |
| ShaderManager & | operator= (const ShaderManager &)=delete |
| ShaderManager (ShaderManager &&)=delete | |
| ShaderManager & | operator= (ShaderManager &&)=delete |
| std::unordered_map< ShaderID, ShaderIRModule > | build (const std::vector< ShaderSourceDesc > &sources, const ShaderSourceType targetIR) const |
| template<std::ranges::input_range R> | |
| void | optimizeAll (const ShaderSourceType irType, R &&modules) const |
Private Member Functions | |
| void | registerFrontend (const std::shared_ptr< IShaderFrontend > &f) |
| void | registerIR (const std::shared_ptr< IShaderIR > &ir) |
Private Attributes | |
| std::unordered_map< ShaderSourceType, std::shared_ptr< IShaderFrontend > > | m_frontends |
| std::unordered_map< ShaderSourceType, std::shared_ptr< IShaderIR > > | m_irs |
Class for managing shaders.
Definition at line 20 of file ShaderManager.hpp.
|
inlineexplicit |
Definition at line 23 of file ShaderManager.hpp.
References registerFrontend(), and registerIR().
Here is the call graph for this function:
|
default |
|
delete |
|
delete |
|
inline |
Definition at line 44 of file ShaderManager.hpp.
References m_frontends, and m_irs.
|
delete |
|
delete |
|
inline |
Definition at line 61 of file ShaderManager.hpp.
References m_irs.
|
inlineprivate |
Definition at line 88 of file ShaderManager.hpp.
References m_frontends.
Referenced by ShaderManager().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 89 of file ShaderManager.hpp.
References m_irs.
Referenced by ShaderManager().
Here is the caller graph for this function:
|
private |
Definition at line 91 of file ShaderManager.hpp.
Referenced by build(), and registerFrontend().
|
private |
Definition at line 92 of file ShaderManager.hpp.
Referenced by build(), optimizeAll(), and registerIR().