From: Gunnar Sletta Date: Tue, 5 Feb 2013 13:30:31 +0000 (+0100) Subject: Enable sorting of opaque items again in the default renderer. X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=a81a24e01b1fe68e8ddce65a2d6187d6542cc6e0;p=konrad%2Fqtdeclarative.git Enable sorting of opaque items again in the default renderer. This was disabled a long while back because we thought the code was broken, and it turned out the problem was that our sort function had a bug. b570d384c0704ea12364e353493eeb6f1ae34cd3 fixed the actual problem, so now we reenable it. Task-number: QTBUG-28563 Change-Id: I4032df82a1fd4cf7f775c8c64302c18239879fea Reviewed-by: Michael Brasser --- diff --git a/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp b/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp index e662c2b..1642f7f 100644 --- a/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp @@ -131,7 +131,6 @@ QSGDefaultRenderer::QSGDefaultRenderer(QSGContext *context) , m_transparentNodes(64) , m_renderGroups(4) , m_rebuild_lists(false) - , m_needs_sorting(false) , m_sort_front_to_back(false) , m_render_node_added(false) , m_currentRenderOrder(1) @@ -212,6 +211,8 @@ void QSGDefaultRenderer::render() m_currentProgram = 0; m_currentMatrix = 0; + bool sortNodes = m_rebuild_lists; + if (m_rebuild_lists) { m_opaqueNodes.reset(); m_transparentNodes.reset(); @@ -228,7 +229,7 @@ void QSGDefaultRenderer::render() int debugtimeLists = debugTimer.elapsed(); #endif - if (m_needs_sorting) { + if (sortNodes) { if (!m_opaqueNodes.isEmpty()) { bool (*lessThan)(QSGNode *, QSGNode *); lessThan = m_sort_front_to_back ? nodeLessThanWithRenderOrder : nodeLessThan; @@ -240,7 +241,6 @@ void QSGDefaultRenderer::render() start = end; } } - m_needs_sorting = false; } #ifdef RENDERER_DEBUG diff --git a/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h b/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h index 645ba93..ae759c0 100644 --- a/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h +++ b/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h @@ -76,7 +76,6 @@ private: QDataBuffer m_renderGroups; bool m_rebuild_lists; - bool m_needs_sorting; bool m_sort_front_to_back; bool m_render_node_added; int m_currentRenderOrder;