Class for the GLSL plugin. More...
#include <GLSL.hpp>
Inheritance diagram for cae::GLSL:
Collaboration diagram for cae::GLSL:Public Member Functions | |
| GLSL ()=default | |
| ~GLSL () override=default | |
| GLSL (const GLSL &)=delete | |
| GLSL & | operator= (const GLSL &)=delete |
| GLSL (GLSL &&)=delete | |
| GLSL & | operator= (GLSL &&)=delete |
| std::string | getName () const override |
| Get the name of the plugin. | |
| utl::PluginType | getType () const override |
| Get the type of the plugin. | |
| utl::PluginPlatform | getPlatform () const override |
| Get the handled platform of the plugin. | |
| ShaderSourceType | sourceType () const override |
| Get the source type this frontend handles. | |
| ShaderIRModule | compile (const ShaderSourceDesc &desc) override |
| Compile shader source to intermediate representation. | |
Public Member Functions inherited from cae::AShaderFrontend | |
| ~AShaderFrontend () override=default | |
Public Member Functions inherited from cae::IShaderFrontend | |
| ~IShaderFrontend () override=default | |
Public Member Functions inherited from utl::IPlugin | |
| virtual | ~IPlugin ()=default |
Static Private Member Functions | |
| static EShLanguage | shaderStageToESh (const ShaderStage stage) |
| static std::vector< uint32_t > | compileGLSLtoSPIRV (const std::string &src, ShaderStage stage) |
|
default |
|
overridedefault |
|
delete |
|
delete |
|
inlineoverridevirtual |
Compile shader source to intermediate representation.
| desc | Shader source description |
Implements cae::IShaderFrontend.
Definition at line 43 of file GLSL.hpp.
References compileGLSLtoSPIRV(), cae::ShaderIRModule::entryPoint, cae::ShaderIRModule::id, cae::ShaderSourceDesc::id, cae::ShaderSourceDesc::source, cae::ShaderIRModule::spirv, cae::ShaderIRModule::stage, and cae::ShaderSourceDesc::stage.
Here is the call graph for this function:
|
staticprivate |
Definition at line 5 of file glsl.cpp.
References shaderStageToESh(), and cae::VERSION.
Referenced by compile().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinenodiscardoverridevirtual |
|
inlinenodiscardoverridevirtual |
Get the handled platform of the plugin.
Implements utl::IPlugin.
Definition at line 39 of file GLSL.hpp.
References utl::ALL.
|
inlinenodiscardoverridevirtual |
Get the type of the plugin.
Implements utl::IPlugin.
Definition at line 38 of file GLSL.hpp.
References utl::SHADER_FRONTEND.
|
inlinestaticprivate |
Definition at line 54 of file GLSL.hpp.
References cae::COMPUTE, cae::FRAGMENT, cae::GEOMETRY, and cae::VERTEX.
Referenced by compileGLSLtoSPIRV().
Here is the caller graph for this function:
|
inlinenodiscardoverridevirtual |
Get the source type this frontend handles.
Implements cae::IShaderFrontend.
Definition at line 41 of file GLSL.hpp.
References cae::GLSL.