Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qssgrendershadercodegenerator_p.h>
Public Member Functions | |
QSSGProgramGenerator ()=default | |
void | linkStages () |
void | beginProgram (QSSGShaderGeneratorStageFlags inEnabledStages=defaultFlags()) |
QSSGShaderGeneratorStageFlags | getEnabledStages () const |
QSSGStageGeneratorBase & | internalGetStage (QSSGShaderGeneratorStage inStage) |
QSSGStageGeneratorBase * | getStage (QSSGShaderGeneratorStage inStage) |
void | registerShaderMetaDataFromSource (QSSGShaderResourceMergeContext *mergeContext, const QByteArray &contents, QSSGShaderGeneratorStage stage) |
QSSGRhiShaderPipelinePtr | compileGeneratedRhiShader (const QByteArray &inMaterialInfoString, const QSSGShaderFeatures &inFeatureSet, QSSGShaderLibraryManager &shaderLibraryManager, QSSGShaderCache &theCache, QSSGRhiShaderPipeline::StageFlags stageFlags, int viewCount, bool perTargetCompilation) |
Static Public Member Functions | |
static constexpr QSSGShaderGeneratorStageFlags | defaultFlags () |
Public Attributes | |
QSSGVertexShaderGenerator | m_vs |
QSSGFragmentShaderGenerator | m_fs |
QSSGShaderGeneratorStageFlags | m_enabledStages |
Definition at line 147 of file qssgrendershadercodegenerator_p.h.
|
default |
void QSSGProgramGenerator::beginProgram | ( | QSSGShaderGeneratorStageFlags | inEnabledStages = defaultFlags() | ) |
Definition at line 397 of file qssgrendershadercodegenerator.cpp.
References QSSGStageGeneratorBase::begin(), linkStages(), m_enabledStages, m_fs, and m_vs.
Referenced by QSSGMaterialVertexPipeline::beginVertexGeneration().
QSSGRhiShaderPipelinePtr QSSGProgramGenerator::compileGeneratedRhiShader | ( | const QByteArray & | inMaterialInfoString, |
const QSSGShaderFeatures & | inFeatureSet, | ||
QSSGShaderLibraryManager & | shaderLibraryManager, | ||
QSSGShaderCache & | theCache, | ||
QSSGRhiShaderPipeline::StageFlags | stageFlags, | ||
int | viewCount, | ||
bool | perTargetCompilation ) |
Definition at line 466 of file qssgrendershadercodegenerator.cpp.
References internalGetStage(), m_enabledStages, QSSGStageGeneratorBase::m_finalBuilder, m_fs, m_vs, Q_ASSERT, registerShaderMetaDataFromSource(), QSSGShaderLibraryManager::resolveIncludeFiles(), StageCount, and QSSGShaderResourceMergeContext::viewCount.
|
inlinestaticconstexpr |
Definition at line 157 of file qssgrendershadercodegenerator_p.h.
References Fragment, and Vertex.
Referenced by QSSGMaterialVertexPipeline::beginVertexGeneration().
QSSGShaderGeneratorStageFlags QSSGProgramGenerator::getEnabledStages | ( | ) | const |
Definition at line 405 of file qssgrendershadercodegenerator.cpp.
References m_enabledStages.
QSSGStageGeneratorBase * QSSGProgramGenerator::getStage | ( | QSSGShaderGeneratorStage | inStage | ) |
Definition at line 421 of file qssgrendershadercodegenerator.cpp.
References internalGetStage(), and m_enabledStages.
Referenced by QSSGMaterialVertexPipeline::fragment(), and QSSGMaterialVertexPipeline::vertex().
QSSGStageGeneratorBase & QSSGProgramGenerator::internalGetStage | ( | QSSGShaderGeneratorStage | inStage | ) |
Definition at line 407 of file qssgrendershadercodegenerator.cpp.
References Fragment, m_fs, m_vs, Q_ASSERT, and Vertex.
Referenced by compileGeneratedRhiShader(), getStage(), and linkStages().
void QSSGProgramGenerator::linkStages | ( | ) |
Definition at line 378 of file qssgrendershadercodegenerator.cpp.
References internalGetStage(), m_enabledStages, QSSGStageGeneratorBase::m_flatOutgoing, QSSGStageGeneratorBase::m_outgoing, and StageCount.
Referenced by beginProgram().
void QSSGProgramGenerator::registerShaderMetaDataFromSource | ( | QSSGShaderResourceMergeContext * | mergeContext, |
const QByteArray & | contents, | ||
QSSGShaderGeneratorStage | stage ) |
Definition at line 428 of file qssgrendershadercodegenerator.cpp.
References QSet< T >::cbegin(), contents, Fragment, QSSGRenderShaderMetadata::getShaderMetaData(), QSSGRenderShaderMetadata::ShaderMetaData::inputs, it, QByteArray::number(), QSSGRenderShaderMetadata::ShaderMetaData::outputs, QByteArrayLiteral, qWarning, and QSSGRenderShaderMetadata::ShaderMetaData::uniforms.
Referenced by compileGeneratedRhiShader().
QSSGShaderGeneratorStageFlags QSSGProgramGenerator::m_enabledStages |
Definition at line 155 of file qssgrendershadercodegenerator_p.h.
Referenced by beginProgram(), compileGeneratedRhiShader(), getEnabledStages(), getStage(), and linkStages().
QSSGFragmentShaderGenerator QSSGProgramGenerator::m_fs |
Definition at line 153 of file qssgrendershadercodegenerator_p.h.
Referenced by beginProgram(), compileGeneratedRhiShader(), and internalGetStage().
QSSGVertexShaderGenerator QSSGProgramGenerator::m_vs |
Definition at line 152 of file qssgrendershadercodegenerator_p.h.
Referenced by beginProgram(), compileGeneratedRhiShader(), and internalGetStage().