summaryrefslogtreecommitdiffstats
path: root/src/render/renderers/opengl/renderer/renderer.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-10-10 12:44:27 +0200
committerPaul Lemire <paul.lemire@kdab.com>2019-10-10 23:57:56 +0200
commit9c34de0926081855b5469181c5180727816e8bff (patch)
treebc1738822eb2d766922aed4c05a11f0e5aad753f /src/render/renderers/opengl/renderer/renderer.cpp
parentc731ef9f457268b57871bb9cc6fc593975f4eeea (diff)
Rebuild Material Caches when Shaders are dirty
As the cache depends on both Material/FrameGraph and Shaders. Change-Id: I87c8ab20f37f111aa24c83401ee689f9e96681eb Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/render/renderers/opengl/renderer/renderer.cpp')
-rw-r--r--src/render/renderers/opengl/renderer/renderer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/render/renderers/opengl/renderer/renderer.cpp b/src/render/renderers/opengl/renderer/renderer.cpp
index 733d7d1db..42af03d11 100644
--- a/src/render/renderers/opengl/renderer/renderer.cpp
+++ b/src/render/renderers/opengl/renderer/renderer.cpp
@@ -1805,11 +1805,12 @@ QVector<Qt3DCore::QAspectJobPtr> Renderer::renderBinJobs()
const bool frameGraphDirty = dirtyBitsForFrame & AbstractRenderer::FrameGraphDirty;
const bool layersDirty = dirtyBitsForFrame & AbstractRenderer::LayersDirty;
const bool layersCacheNeedsToBeRebuilt = layersDirty || entitiesEnabledDirty || frameGraphDirty;
+ const bool shadersDirty = dirtyBitsForFrame & AbstractRenderer::ShadersDirty;
const bool materialDirty = dirtyBitsForFrame & AbstractRenderer::MaterialDirty;
const bool lightsDirty = dirtyBitsForFrame & AbstractRenderer::LightsDirty;
const bool computeableDirty = dirtyBitsForFrame & AbstractRenderer::ComputeDirty;
const bool renderableDirty = dirtyBitsForFrame & AbstractRenderer::GeometryDirty;
- const bool materialCacheNeedsToBeRebuilt = materialDirty || frameGraphDirty;
+ const bool materialCacheNeedsToBeRebuilt = shadersDirty || materialDirty || frameGraphDirty;
// Rebuild Entity Layers list if layers are dirty
if (layersDirty)