summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/Qt3DSDistanceFieldRenderer.cpp
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2019-06-17 14:33:15 +0300
committerAntti Määttä <antti.maatta@qt.io>2019-06-17 14:34:03 +0300
commitba909c8bd05fd66eb103eadd69dfd8a03072394e (patch)
tree02ad55d4ad8153c96f6408e6a2614f4f9e9346b7 /src/runtimerender/Qt3DSDistanceFieldRenderer.cpp
parentdf7ef9cc5eca1e46e00bf171ae10d5e3421f26aa (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.cpp3
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)