summaryrefslogtreecommitdiffstats
path: root/src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp')
-rw-r--r--src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp b/src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp
index 6455d2e10..72c27de1d 100644
--- a/src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp
+++ b/src/plugins/renderers/rhi/renderer/renderviewbuilder.cpp
@@ -466,9 +466,13 @@ public:
m_renderer->cache()->leafNodeCache[m_leafNode];
dataCacheForLeaf.materialParameterGatherer.clear();
- for (const auto &materialGatherer : qAsConst(m_materialParameterGathererJobs))
- dataCacheForLeaf.materialParameterGatherer.unite(
- materialGatherer->materialToPassAndParameter());
+ for (const auto &materialGatherer : qAsConst(m_materialParameterGathererJobs)) {
+ const MaterialParameterGathererData &source = materialGatherer->materialToPassAndParameter();
+ for (auto it = std::begin(source); it != std::end(source); ++it) {
+ Q_ASSERT(!dataCacheForLeaf.materialParameterGatherer.contains(it.key()));
+ dataCacheForLeaf.materialParameterGatherer.insert(it.key(), it.value());
+ }
+ }
}
private: