summaryrefslogtreecommitdiffstats
path: root/src/render/renderstates/renderstateset.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2016-08-09 12:16:31 +0200
committerPaul Lemire <paul.lemire@kdab.com>2016-08-09 13:12:29 +0000
commit7039248b768179db49ff09508c4ce09bef345160 (patch)
treee327675f9a60ebb270d94d7a72febb56d046a97d /src/render/renderstates/renderstateset.cpp
parent0045f1cfdfe669dd4f9c5f78d4d7dab153e2a17b (diff)
RenderStateSet remove cache delta variables
These aren't needed and were part of an older logic. Change-Id: I3550b8c5b781ea6606b233d93a5debeb6739cc20 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderstates/renderstateset.cpp')
-rw-r--r--src/render/renderstates/renderstateset.cpp24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/render/renderstates/renderstateset.cpp b/src/render/renderstates/renderstateset.cpp
index ffe7f6ee8..992d649e8 100644
--- a/src/render/renderstates/renderstateset.cpp
+++ b/src/render/renderstates/renderstateset.cpp
@@ -94,7 +94,6 @@ namespace Render {
RenderStateSet::RenderStateSet()
: m_stateMask(0)
- , m_cachedPrevious(0)
{
}
@@ -153,24 +152,15 @@ void RenderStateSet::apply(GraphicsContext *gc)
}
qCDebug(RenderStates) << " current states " << QString::number(stateMask(), 2) << "inverse " << QString::number(invOurState, 2) << " -> states to change: " << QString::number(stateToReset, 2);
+ // Reset states that aren't active in the current state set
resetMasked(stateToReset, gc);
- if (m_cachedPrevious && previousStates == m_cachedPrevious) {
- // state-change cache hit
- for (const StateVariant &ds : qAsConst(m_cachedDeltaStates))
- ds.apply(gc);
- } else {
- // compute deltas and cache for next frame
- m_cachedDeltaStates.clear();
- m_cachedPrevious = previousStates;
-
- for (const StateVariant &ds : qAsConst(m_states)) {
- if (previousStates && previousStates->contains(ds))
- continue;
-
- m_cachedDeltaStates.push_back(ds);
- ds.apply(gc);
- }
+ // Apply states that weren't in the previous state or that have
+ // different values
+ for (const StateVariant &ds : qAsConst(m_states)) {
+ if (previousStates && previousStates->contains(ds))
+ continue;
+ ds.apply(gc);
}
}