aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-02-22 10:45:53 +1000
committerQt by Nokia <qt-info@nokia.com>2012-06-06 02:16:24 +0200
commit2896a434715d70c73409042d78ecc2e92b8b093b (patch)
treeaf93408fe56c9dac1986ebf90c0a378fe9bb1941 /src/quick
parent2b249427b0323b7cfb0fc2a2a01361dac460d228 (diff)
Remove unused performance flags.
Change-Id: I9a9111703e2480af02b1af7033ea6bb12e7a75a5 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquickcanvas.cpp5
-rw-r--r--src/quick/items/qquickitem.cpp4
-rw-r--r--src/quick/items/qquickitem_p.h7
-rw-r--r--src/quick/items/qquickitemview.cpp1
-rw-r--r--src/quick/items/qquickpositioners_p_p.h1
-rw-r--r--src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp98
-rw-r--r--src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h26
-rw-r--r--src/quick/scenegraph/coreapi/qsgnode.cpp9
-rw-r--r--src/quick/scenegraph/coreapi/qsgnode.h4
9 files changed, 7 insertions, 148 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp
index c2b1fe5bf7..7b8d916a54 100644
--- a/src/quick/items/qquickcanvas.cpp
+++ b/src/quick/items/qquickcanvas.cpp
@@ -2040,11 +2040,6 @@ void QQuickCanvasPrivate::updateDirtyNode(QQuickItem *item)
}
}
- if ((dirty & (QQuickItemPrivate::PerformanceHints | QQuickItemPrivate::Canvas)) && itemPriv->groupNode) {
- itemPriv->groupNode->setFlag(QSGNode::ChildrenDoNotOverlap, itemPriv->childrenDoNotOverlap);
- itemPriv->groupNode->setFlag(QSGNode::StaticSubtreeGeometry, itemPriv->staticSubtreeGeometry);
- }
-
#ifndef QT_NO_DEBUG
// Check consistency.
const QSGNode *nodeChain[] = {
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 747f1a1da9..15271d5f8f 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -2433,8 +2433,7 @@ QQuickItemPrivate::QQuickItemPrivate()
notifiedActiveFocus(false), filtersChildMouseEvents(false), explicitVisible(true),
effectiveVisible(true), explicitEnable(true), effectiveEnable(true), polishScheduled(false),
inheritedLayoutMirror(false), effectiveLayoutMirror(false), isMirrorImplicit(true),
- inheritMirrorFromParent(false), inheritMirrorFromItem(false), childrenDoNotOverlap(false),
- staticSubtreeGeometry(false),
+ inheritMirrorFromParent(false), inheritMirrorFromItem(false),
isAccessible(false),
dirtyAttributes(0), nextDirtyItem(0), prevDirtyItem(0),
@@ -4314,7 +4313,6 @@ QString QQuickItemPrivate::dirtyToString() const
DIRTY_TO_STRING(EffectReference);
DIRTY_TO_STRING(Visible);
DIRTY_TO_STRING(HideReference);
- DIRTY_TO_STRING(PerformanceHints);
return rv;
}
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h
index 8699a56b66..e7c449b975 100644
--- a/src/quick/items/qquickitem_p.h
+++ b/src/quick/items/qquickitem_p.h
@@ -405,10 +405,8 @@ public:
bool isMirrorImplicit:1;
bool inheritMirrorFromParent:1;
bool inheritMirrorFromItem:1;
- bool childrenDoNotOverlap:1;
- bool staticSubtreeGeometry:1;
bool isAccessible:1;
- // bool dummy:1
+ // bool dummy:3
// Bit 32
enum DirtyType {
@@ -432,7 +430,6 @@ public:
EffectReference = 0x00008000,
Visible = 0x00010000,
HideReference = 0x00020000,
- PerformanceHints = 0x00040000,
// When you add an attribute here, don't forget to update
// dirtyToString()
@@ -895,8 +892,6 @@ QSGNode *QQuickItemPrivate::childContainerNode()
opacityNode()->appendChildNode(groupNode);
else
itemNode()->appendChildNode(groupNode);
- groupNode->setFlag(QSGNode::ChildrenDoNotOverlap, childrenDoNotOverlap);
- groupNode->setFlag(QSGNode::StaticSubtreeGeometry, staticSubtreeGeometry);
#ifdef QML_RUNTIME_TESTING
groupNode->description = QLatin1String("group");
#endif
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 1774931e68..9ea2aad8fb 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1547,7 +1547,6 @@ int QQuickItemViewPrivate::mapFromModel(int modelIndex) const
void QQuickItemViewPrivate::init()
{
Q_Q(QQuickItemView);
- QQuickItemPrivate::get(contentItem)->childrenDoNotOverlap = true;
q->setFlag(QQuickItem::ItemIsFocusScope);
QObject::connect(q, SIGNAL(movementEnded()), q, SLOT(animStopped()));
q->setFlickableDirection(QQuickFlickable::VerticalFlick);
diff --git a/src/quick/items/qquickpositioners_p_p.h b/src/quick/items/qquickpositioners_p_p.h
index 8c6bf7f101..066caf59ea 100644
--- a/src/quick/items/qquickpositioners_p_p.h
+++ b/src/quick/items/qquickpositioners_p_p.h
@@ -83,7 +83,6 @@ public:
void init(QQuickBasePositioner::PositionerType at)
{
type = at;
- childrenDoNotOverlap = true;
}
qreal spacing;
diff --git a/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp b/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp
index c04afd7a32..f0c90e364a 100644
--- a/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp
@@ -125,58 +125,10 @@ static bool nodeLessThanWithRenderOrder(QSGNode *nodeA, QSGNode *nodeB)
return a->matrix() < b->matrix();
}
-
-QSGDefaultRenderer::IndexNodePair::IndexNodePair(int i, QSGNode *node)
- : QPair<int, QSGNode *>(i, node)
-{
-}
-
-bool QSGDefaultRenderer::IndexNodePair::operator < (const QSGDefaultRenderer::IndexNodePair &other) const
-{
- return nodeLessThan(second, other.second);
-}
-
-
-QSGDefaultRenderer::IndexNodePairHeap::IndexNodePairHeap()
- : v(64)
-{
-}
-
-void QSGDefaultRenderer::IndexNodePairHeap::insert(const QSGDefaultRenderer::IndexNodePair &x)
-{
- int i = v.size();
- v.add(x);
- while (i != 0 && v.at(i) < v.at(parent(i))) {
- qSwap(v.at(parent(i)), v.at(i));
- i = parent(i);
- }
-}
-
-QSGDefaultRenderer::IndexNodePair QSGDefaultRenderer::IndexNodePairHeap::pop()
-{
- IndexNodePair x = top();
- if (v.size() > 1)
- qSwap(v.first(), v.last());
- v.pop_back();
- int i = 0;
- while (left(i) < v.size()) {
- int low = left(i);
- if (right(i) < v.size() && v.at(right(i)) < v.at(low))
- low = right(i);
- if (!(v.at(low) < v.at(i)))
- break;
- qSwap(v.at(i), v.at(low));
- i = low;
- }
- return x;
-}
-
-
QSGDefaultRenderer::QSGDefaultRenderer(QSGContext *context)
: QSGRenderer(context)
, m_opaqueNodes(64)
, m_transparentNodes(64)
- , m_tempNodes(64)
, m_renderGroups(4)
, m_rebuild_lists(false)
, m_needs_sorting(false)
@@ -197,7 +149,7 @@ void QSGDefaultRenderer::nodeChanged(QSGNode *node, QSGNode::DirtyState state)
const quint32 rebuildBits = QSGNode::DirtyNodeAdded | QSGNode::DirtyNodeRemoved
| QSGNode::DirtyMaterial | QSGNode::DirtyOpacity
- | QSGNode::DirtyForceUpdate | QSGNode::DirtyChildrenDoNotOverlap;
+ | QSGNode::DirtyForceUpdate;
if (state & rebuildBits)
m_rebuild_lists = true;
@@ -410,52 +362,8 @@ void QSGDefaultRenderer::buildLists(QSGNode *node)
if (!node->firstChild())
return;
-#ifdef FORCE_NO_REORDER
- static bool reorder = false;
-#else
- static bool reorder = qApp->arguments().contains(QLatin1String("--reorder"));
-#endif
-
- if (reorder && node->firstChild() != node->lastChild() && (node->flags() & QSGNode::ChildrenDoNotOverlap)) {
- QVarLengthArray<int, 16> beginIndices;
- QVarLengthArray<int, 16> endIndices;
- int baseCount = m_transparentNodes.size();
- int baseGroupCount = m_renderGroups.size();
- int count = 0;
- for (QSGNode *c = node->firstChild(); c; c = c->nextSibling()) {
- beginIndices.append(m_transparentNodes.size());
- buildLists(c);
- endIndices.append(m_transparentNodes.size());
- ++count;
- }
-
- int childNodeCount = m_transparentNodes.size() - baseCount;
- // Don't reorder if new render groups were added.
- if (m_renderGroups.size() == baseGroupCount && childNodeCount) {
- m_tempNodes.reset();
- m_tempNodes.reserve(childNodeCount);
- while (childNodeCount) {
- for (int i = 0; i < count; ++i) {
- if (beginIndices[i] != endIndices[i])
- m_heap.insert(IndexNodePair(i, m_transparentNodes.at(beginIndices[i]++)));
- }
- while (!m_heap.isEmpty()) {
- IndexNodePair pair = m_heap.pop();
- m_tempNodes.add(pair.second);
- --childNodeCount;
- int i = pair.first;
- if (beginIndices[i] != endIndices[i] && !nodeLessThan(m_transparentNodes.at(beginIndices[i]), pair.second))
- m_heap.insert(IndexNodePair(i, m_transparentNodes.at(beginIndices[i]++)));
- }
- }
- Q_ASSERT(m_tempNodes.size() == m_transparentNodes.size() - baseCount);
-
- memcpy(&m_transparentNodes.at(baseCount), &m_tempNodes.at(0), m_tempNodes.size() * sizeof(QSGGeometryNode *));
- }
- } else {
- for (QSGNode *c = node->firstChild(); c; c = c->nextSibling())
- buildLists(c);
- }
+ for (QSGNode *c = node->firstChild(); c; c = c->nextSibling())
+ buildLists(c);
}
void QSGDefaultRenderer::renderNodes(QSGNode *const *nodes, int count)
diff --git a/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h b/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h
index 53384bf99f..464e17b583 100644
--- a/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h
+++ b/src/quick/scenegraph/coreapi/qsgdefaultrenderer_p.h
@@ -55,30 +55,6 @@ class Q_QUICK_PRIVATE_EXPORT QSGDefaultRenderer : public QSGRenderer
{
Q_OBJECT
public:
- class IndexNodePair : public QPair<int, QSGNode *>
- {
- public:
- IndexNodePair(int i, QSGNode *n);
- bool operator < (const IndexNodePair &other) const;
- };
-
-
- // Minimum heap.
- class IndexNodePairHeap
- {
- public:
- IndexNodePairHeap();
- void insert(const IndexNodePair &x);
- const IndexNodePair &top() const { return v.first(); }
- IndexNodePair pop();
- bool isEmpty() const { return v.isEmpty(); }
- private:
- static int parent(int i) { return (i - 1) >> 1; }
- static int left(int i) { return (i << 1) | 1; }
- static int right(int i) { return (i + 1) << 1; }
- QDataBuffer<IndexNodePair> v;
- };
-
QSGDefaultRenderer(QSGContext *context);
void render();
@@ -98,10 +74,8 @@ private:
const QMatrix4x4 *m_currentMatrix;
QDataBuffer<QSGNode *> m_opaqueNodes;
QDataBuffer<QSGNode *> m_transparentNodes;
- QDataBuffer<QSGNode *> m_tempNodes;
struct RenderGroup { int opaqueEnd, transparentEnd; };
QDataBuffer<RenderGroup> m_renderGroups;
- IndexNodePairHeap m_heap;
bool m_rebuild_lists;
bool m_needs_sorting;
diff --git a/src/quick/scenegraph/coreapi/qsgnode.cpp b/src/quick/scenegraph/coreapi/qsgnode.cpp
index a10e963c46..ba0246cd37 100644
--- a/src/quick/scenegraph/coreapi/qsgnode.cpp
+++ b/src/quick/scenegraph/coreapi/qsgnode.cpp
@@ -435,9 +435,7 @@ void QSGNode::setFlag(Flag f, bool enabled)
return;
m_nodeFlags ^= f;
Q_ASSERT(int(UsePreprocess) == int(DirtyUsePreprocess));
- Q_ASSERT(int(ChildrenDoNotOverlap) == int(DirtyChildrenDoNotOverlap));
- Q_ASSERT(int(StaticSubtreeGeometry) == int(DirtyStaticSubtreeGeometry));
- int changedFlag = f & (UsePreprocess | ChildrenDoNotOverlap | StaticSubtreeGeometry);
+ int changedFlag = f & UsePreprocess;
if (changedFlag)
markDirty(DirtyState(changedFlag));
}
@@ -458,10 +456,7 @@ void QSGNode::setFlags(Flags f, bool enabled)
else
m_nodeFlags &= ~f;
Q_ASSERT(int(UsePreprocess) == int(DirtyUsePreprocess));
- Q_ASSERT(int(ChildrenDoNotOverlap) == int(DirtyChildrenDoNotOverlap));
- Q_ASSERT(int(StaticSubtreeGeometry) == int(DirtyStaticSubtreeGeometry));
- int changedFlags = (oldFlags ^ m_nodeFlags)
- & (UsePreprocess | ChildrenDoNotOverlap | StaticSubtreeGeometry);
+ int changedFlags = (oldFlags ^ m_nodeFlags) & UsePreprocess;
if (changedFlags)
markDirty(DirtyState(changedFlags));
}
diff --git a/src/quick/scenegraph/coreapi/qsgnode.h b/src/quick/scenegraph/coreapi/qsgnode.h
index 6ba110b91e..7403b626e6 100644
--- a/src/quick/scenegraph/coreapi/qsgnode.h
+++ b/src/quick/scenegraph/coreapi/qsgnode.h
@@ -81,8 +81,6 @@ public:
// Lower 16 bites reserved for general node
OwnedByParent = 0x0001,
UsePreprocess = 0x0002,
- ChildrenDoNotOverlap = 0x0004,
- StaticSubtreeGeometry = 0x0008, // Subtree nodes have fixed matrix and vertex data.
// Upper 16 bits reserved for node subclasses
@@ -95,8 +93,6 @@ public:
enum DirtyStateBit {
DirtyUsePreprocess = UsePreprocess,
- DirtyChildrenDoNotOverlap = ChildrenDoNotOverlap,
- DirtyStaticSubtreeGeometry = StaticSubtreeGeometry,
DirtyMatrix = 0x0100,
DirtyClipList = 0x0200,