diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-06-17 14:33:15 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-06-17 14:34:03 +0300 |
commit | ba909c8bd05fd66eb103eadd69dfd8a03072394e (patch) | |
tree | 02ad55d4ad8153c96f6408e6a2614f4f9e9346b7 /src/runtimerender/Qt3DSDistanceFieldRenderer.cpp | |
parent | df7ef9cc5eca1e46e00bf171ae10d5e3421f26aa (diff) |
Do not build distance field shaders if they are not used
Task-number: QT3DS-3665
Change-Id: I6c826ff8d562fa7884431832ad6e6967876e2ee4
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/runtimerender/Qt3DSDistanceFieldRenderer.cpp')
-rw-r--r-- | src/runtimerender/Qt3DSDistanceFieldRenderer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/runtimerender/Qt3DSDistanceFieldRenderer.cpp b/src/runtimerender/Qt3DSDistanceFieldRenderer.cpp index 7ec3834..d445a3f 100644 --- a/src/runtimerender/Qt3DSDistanceFieldRenderer.cpp +++ b/src/runtimerender/Qt3DSDistanceFieldRenderer.cpp @@ -611,6 +611,8 @@ static QVector<T> fillIndexBuffer(uint quadCount) void Q3DSDistanceFieldRenderer::buildShaders() { + if (m_shader.program) + return; IShaderProgramGenerator &gen = m_context->GetShaderProgramGenerator(); gen.BeginProgram(); IShaderStageGenerator &vertexGenerator(*gen.GetStage(ShaderGeneratorStages::Vertex)); @@ -961,7 +963,6 @@ void Q3DSDistanceFieldRenderer::setContext(IQt3DSRenderContext &context) { m_context = &context; m_glyphCacheManager.setContext(context); - buildShaders(); } ITextRendererCore &ITextRendererCore::createDistanceFieldRenderer(NVFoundationBase &fnd) |