aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMikko Harju <mikko.harju@jolla.com>2015-03-17 23:08:18 +0200
committerGunnar Sletta <gunnar@sletta.org>2015-03-18 06:47:53 +0000
commitf565159fa5cad42db2517b9bc1be708a910e8876 (patch)
treee79e38cc7df27dcd7de389c3605bfc23aa9618b0 /src
parent6ec2693d4a3c95ca9ff0c349d3c587a7f1402c05 (diff)
Restore depth buffer usage when last render node is removed
Adding a QSGRenderNode to the scene permanently disabled opaque batches by disabling depth buffer usage. Reset the depth buffer usage to the default value once last QSGRenderNode has been removed from the scene. Change-Id: I760afde83ae9eaaf1b5571c37fd0081eb23b1f20 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src')
-rw-r--r--src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
index 886e614620..32309c219a 100644
--- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
@@ -1081,6 +1081,9 @@ void Renderer::nodeWasRemoved(Node *node)
if (e) {
e->removed = true;
m_elementsToDelete.add(e);
+
+ if (m_renderNodeElements.isEmpty())
+ m_useDepthBuffer = context()->openglContext()->format().depthBufferSize() > 0;
}
}