diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2013-09-05 14:12:53 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-09 22:58:45 +0200 |
commit | ddc822547782623cc9b210aa28ba3bb039df5c64 (patch) | |
tree | 9ae020cb67b1b30228f6f9a6347c7c8062c223e7 /src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h | |
parent | 755b44a4cb90e146333f1898aec91f1912a08f59 (diff) |
Fix partial rebuilds and geometry changes.
When we do partial rebuilds, we need to update the render order
for the entire subtree unconditionally. The previous logic
was to reuse existing render orders beneath batch roots, which
caused overlapping orders to be used.
When geometry of an alpha batch changes, we need to rebuild
everything under the current root. Otherwise, we might end
up with previously batched content which incorrectly
overlaps the changed geometry.
Change-Id: I7b6de5ce34a02434294ac5ae29ae1b87eb3c4464
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h')
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h b/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h index 6f7694deac..1aa165281a 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h @@ -450,7 +450,8 @@ private: QDataBuffer<Element *> m_opaqueRenderList; QDataBuffer<Element *> m_alphaRenderList; int m_nextRenderOrder; - bool m_explicitOrdering; + bool m_partialRebuild; + QSGNode *m_partialRebuildRoot; QHash<QSGRenderNode *, RenderNodeElement *> m_renderNodeElements; QDataBuffer<Batch *> m_opaqueBatches; |