XII Release 0.1.0
Loading...
Searching...
No Matches
xiiShaderCompilerSPIRV Class Reference
Inheritance diagram for xiiShaderCompilerSPIRV:
[legend]

Public Member Functions

virtual void GetSupportedPlatforms (xiiHybridArray< xiiString, 4 > &out_platforms) override
 Returns the platforms that this shader compiler supports.
 
virtual xiiResult ModifyShaderSource (xiiGALShaderProgramData &inout_data, xiiLogInterface *pLog) override
 
virtual xiiResult Compile (xiiGALShaderProgramData &inout_data, xiiLogInterface *pLog) override
 

Protected Member Functions

virtual bool PermitCombinedImageSamplers () const
 

Member Function Documentation

◆ Compile()

xiiResult xiiShaderCompilerSPIRV::Compile ( xiiGALShaderProgramData & inout_data,
xiiLogInterface * pLog )
overridevirtual

Compiles the shader comprised of multiple stages defined in inout_data.

Parameters
inout_dataThe state of the shader compiler. m_Resources and m_ByteCode should be written to on successful return code.
pLogLogging interface to be used when outputting any errors.
Returns
Returns whether the shader was compiled successfully. On failure, errors should be written to pLog.

Implements xiiGALShaderProgramCompiler.

◆ GetSupportedPlatforms()

void xiiShaderCompilerSPIRV::GetSupportedPlatforms ( xiiHybridArray< xiiString, 4 > & out_platforms)
overridevirtual

Returns the platforms that this shader compiler supports.

Parameters
out_platformsFilled with the platforms this compiler supports.

Implements xiiGALShaderProgramCompiler.

◆ ModifyShaderSource()

xiiResult xiiShaderCompilerSPIRV::ModifyShaderSource ( xiiGALShaderProgramData & inout_data,
xiiLogInterface * pLog )
overridevirtual

Allows the shader compiler to modify the shader source before hashing and compiling. This allows it to implement custom features by injecting code before the compile process. Mostly used to define resource bindings that do not cause conflicts across shader stages.

Parameters
inout_dataThe state of the shader compiler. Only m_sShaderSource should be modified by the implementation.
pLogLogging interface to be used when outputting any errors.
Returns
Returns whether the shader could be modified. On failure, the shader won't be compiled.

Implements xiiGALShaderProgramCompiler.


The documentation for this class was generated from the following files: