OpenCoverage

qsgbatchrenderer_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Copyright (C) 2016 Jolla Ltd, author: <gunnar.sletta@jollamobile.com>-
5** Copyright (C) 2016 Robin Burchell <robin.burchell@viroteck.net>-
6** Contact: https://www.qt.io/licensing/-
7**-
8** This file is part of the QtQuick module of the Qt Toolkit.-
9**-
10** $QT_BEGIN_LICENSE:LGPL$-
11** Commercial License Usage-
12** Licensees holding valid commercial Qt licenses may use this file in-
13** accordance with the commercial license agreement provided with the-
14** Software or, alternatively, in accordance with the terms contained in-
15** a written agreement between you and The Qt Company. For licensing terms-
16** and conditions see https://www.qt.io/terms-conditions. For further-
17** information use the contact form at https://www.qt.io/contact-us.-
18**-
19** GNU Lesser General Public License Usage-
20** Alternatively, this file may be used under the terms of the GNU Lesser-
21** General Public License version 3 as published by the Free Software-
22** Foundation and appearing in the file LICENSE.LGPL3 included in the-
23** packaging of this file. Please review the following information to-
24** ensure the GNU Lesser General Public License version 3 requirements-
25** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
26**-
27** GNU General Public License Usage-
28** Alternatively, this file may be used under the terms of the GNU-
29** General Public License version 2.0 or (at your option) the GNU General-
30** Public license version 3 or any later version approved by the KDE Free-
31** Qt Foundation. The licenses are as published by the Free Software-
32** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
33** included in the packaging of this file. Please review the following-
34** information to ensure the GNU General Public License requirements will-
35** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
36** https://www.gnu.org/licenses/gpl-3.0.html.-
37**-
38** $QT_END_LICENSE$-
39**-
40****************************************************************************/-
41-
42#ifndef QSGBATCHRENDERER_P_H-
43#define QSGBATCHRENDERER_P_H-
44-
45//-
46// W A R N I N G-
47// --------------
48//-
49// This file is not part of the Qt API. It exists purely as an-
50// implementation detail. This header file may change from version to-
51// version without notice, or even be removed.-
52//-
53// We mean it.-
54//-
55-
56#include <private/qsgrenderer_p.h>-
57#include <private/qsgdefaultrendercontext_p.h>-
58#include <private/qsgnodeupdater_p.h>-
59#include <private/qsgrendernode_p.h>-
60#include <private/qdatabuffer_p.h>-
61-
62#include <QtCore/QBitArray>-
63-
64#include <QtGui/QOpenGLFunctions>-
65-
66QT_BEGIN_NAMESPACE-
67-
68class QOpenGLVertexArrayObject;-
69-
70namespace QSGBatchRenderer-
71{-
72-
73#define QSG_RENDERER_COORD_LIMIT 1000000.0f-
74-
75struct Vec;-
76struct Rect;-
77struct Buffer;-
78struct Chunk;-
79struct Batch;-
80struct Node;-
81class Updater;-
82class Renderer;-
83class ShaderManager;-
84-
85template <typename Type, int PageSize> class AllocatorPage-
86{-
87public:-
88 // The memory used by this allocator-
89 char data[sizeof(Type) * PageSize];-
90-
91 // 'blocks' contains a list of free indices which can be allocated.-
92 // The first available index is found in PageSize - available.-
93 int blocks[PageSize];-
94-
95 // 'available' is the number of available instances this page has left to allocate.-
96 int available;-
97-
98 // This is not strictly needed, but useful for sanity checking and anyway-
99 // pretty small..-
100 QBitArray allocated;-
101-
102 AllocatorPage()-
103 : available(PageSize)-
104 , allocated(PageSize)-
105 {-
106 for (int i=0; i<PageSize; ++i)
i<PageSizeDescription
TRUEevaluated 1742336 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 12827 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
12827-1742336
107 blocks[i] = i;
executed 1742336 times by 76 tests: blocks[i] = i;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1742336
108-
109 // Zero out all new pages.-
110 memset(data, 0, sizeof(data));-
111 }
executed 12827 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
12827
112-
113 const Type *at(uint index) const-
114 {-
115 return (Type *) &data[index * sizeof(Type)];
never executed: return (Type *) &data[index * sizeof(Type)];
0
116 }-
117-
118 Type *at(uint index)-
119 {-
120 return (Type *) &data[index * sizeof(Type)];
executed 3209514 times by 76 tests: return (Type *) &data[index * sizeof(Type)];
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
3209514
121 }-
122};-
123-
124template <typename Type, int PageSize> class Allocator-
125{-
126public:-
127 Allocator()-
128 {-
129 pages.push_back(new AllocatorPage<Type, PageSize>());-
130 }
executed 7166 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
7166
131-
132 ~Allocator()-
133 {-
134 qDeleteAll(pages);-
135 }
executed 7166 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
7166
136-
137 Type *allocate()-
138 {-
139 AllocatorPage<Type, PageSize> *p = 0;-
140 for (int i = m_freePage; i < pages.size(); i++) {
i < pages.size()Description
TRUEevaluated 1614977 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 5661 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
5661-1614977
141 if (pages.at(i)->available > 0) {
pages.at(i)->available > 0Description
TRUEevaluated 1599102 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 15875 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
15875-1599102
142 p = pages.at(i);-
143 m_freePage = i;-
144 break;
executed 1599102 times by 76 tests: break;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1599102
145 }-
146 }
executed 15875 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
15875
147-
148 // we couldn't find a free page from m_freePage to the last page.-
149 // either there is no free pages, or there weren't any in the area we-
150 // scanned: rescanning is expensive, so let's just assume there isn't-
151 // one. when an item is released, we'll reset m_freePage anyway.-
152 if (!p) {
!pDescription
TRUEevaluated 5661 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
FALSEevaluated 1599102 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
5661-1599102
153 p = new AllocatorPage<Type, PageSize>();-
154 m_freePage = pages.count();-
155 pages.push_back(p);-
156 }
executed 5661 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
5661
157 uint pos = p->blocks[PageSize - p->available];-
158 void *mem = p->at(pos);-
159 p->available--;-
160 p->allocated.setBit(pos);-
161 Type *t = (Type*)mem;-
162 return t;
executed 1604763 times by 76 tests: return t;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1604763
163 }-
164-
165 void releaseExplicit(uint pageIndex, uint index)-
166 {-
167 AllocatorPage<Type, PageSize> *page = pages.at(pageIndex);-
168 if (!page->allocated.testBit(index))
!page->allocat...testBit(index)Description
TRUEnever evaluated
FALSEevaluated 1604751 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
0-1604751
169 qFatal("Double delete in allocator: page=%d, index=%d", pageIndex , index);
never executed: QMessageLogger(__FILE__, 169, __PRETTY_FUNCTION__).fatal("Double delete in allocator: page=%d, index=%d", pageIndex , index);
0
170-
171 // Zero this instance as we're done with it.-
172 void *mem = page->at(index);-
173 memset(mem, 0, sizeof(Type));-
174-
175 page->allocated[index] = false;-
176 page->available++;-
177 page->blocks[PageSize - page->available] = index;-
178-
179 // Remove the pages if they are empty and they are the last ones. We need to keep the-
180 // order of pages since we have references to their index, so we can only remove-
181 // from the end.-
182 while (page->available == PageSize && pages.size() > 1 && pages.back() == page) {
page->available == PageSizeDescription
TRUEevaluated 16911 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 1593501 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
pages.size() > 1Description
TRUEevaluated 10291 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
FALSEevaluated 6620 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
pages.back() == pageDescription
TRUEevaluated 5661 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
FALSEevaluated 4630 times by 6 tests
Evaluated by:
  • tst_examples
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_scenegraph
4630-1593501
183 pages.pop_back();-
184 delete page;-
185 page = pages.back();-
186 }
executed 5661 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
5661
187-
188 // Reset the free page to force a scan for a new free point.-
189 m_freePage = 0;-
190 }
executed 1604751 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1604751
191-
192 void release(Type *t)-
193 {-
194 int pageIndex = -1;-
195 for (int i=0; i<pages.size(); ++i) {
i<pages.size()Description
TRUEevaluated 196971726 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEnever evaluated
0-196971726
196 AllocatorPage<Type, PageSize> *p = pages.at(i);-
197 if ((Type *) (&p->data[0]) <= t && (Type *) (&p->data[PageSize * sizeof(Type)]) > t) {
(Type *) (&p->data[0]) <= tDescription
TRUEevaluated 191829294 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 5142432 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
(Type *) (&p->...of(Type)]) > tDescription
TRUEevaluated 1604751 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 190224543 times by 8 tests
Evaluated by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
1604751-191829294
198 pageIndex = i;-
199 break;
executed 1604751 times by 76 tests: break;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1604751
200 }-
201 }
executed 195366975 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_scenegraph
195366975
202 Q_ASSERT(pageIndex >= 0);-
203-
204 AllocatorPage<Type, PageSize> *page = pages.at(pageIndex);-
205 int index = (quint64(t) - quint64(&page->data[0])) / sizeof(Type);-
206-
207 releaseExplicit(pageIndex, index);-
208 }
executed 1604751 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1604751
209-
210 QVector<AllocatorPage<Type, PageSize> *> pages;-
211 int m_freePage = 0;-
212};-
213-
214-
215inline bool hasMaterialWithBlending(QSGGeometryNode *n)-
216{-
217 return (n->opaqueMaterial() ? n->opaqueMaterial()->flags() & QSGMaterial::Blending
executed 545089 times by 71 tests: return (n->opaqueMaterial() ? n->opaqueMaterial()->flags() & QSGMaterial::Blending : n->material()->flags() & QSGMaterial::Blending);
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • ...
545089
218 : n->material()->flags() & QSGMaterial::Blending);
executed 545089 times by 71 tests: return (n->opaqueMaterial() ? n->opaqueMaterial()->flags() & QSGMaterial::Blending : n->material()->flags() & QSGMaterial::Blending);
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • ...
545089
219}-
220-
221struct Pt {-
222 float x, y;-
223-
224 void map(const QMatrix4x4 &mat) {-
225 Pt r;-
226 const float *m = mat.constData();-
227 r.x = x * m[0] + y * m[4] + m[12];-
228 r.y = x * m[1] + y * m[5] + m[13];-
229 x = r.x;-
230 y = r.y;-
231 }
executed 7194 times by 12 tests: end of block
Executed by:
  • tst_examples
  • tst_multipointtoucharea_interop
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquickitemlayer
  • tst_qquickmousearea
  • tst_qquickmultipointtoucharea
  • tst_qquickpathview
  • tst_qquickpincharea
  • tst_qquickspritesequence
  • tst_scenegraph
7194
232-
233 void set(float nx, float ny) {-
234 x = nx;-
235 y = ny;-
236 }
executed 1002724 times by 59 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
1002724
237};-
238-
239inline QDebug operator << (QDebug d, const Pt &p) {-
240 d << "Pt(" << p.x << p.y << ")";-
241 return d;
never executed: return d;
0
242}-
243-
244-
245-
246struct Rect {-
247 Pt tl, br; // Top-Left (min) and Bottom-Right (max)-
248-
249 void operator |= (const Pt &pt) {-
250 if (pt.x < tl.x)
pt.x < tl.xDescription
TRUEevaluated 531834 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 10682545 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
531834-10682545
251 tl.x = pt.x;
executed 531834 times by 58 tests: tl.x = pt.x;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
531834
252 if (pt.x > br.x)
pt.x > br.xDescription
TRUEevaluated 3171979 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 8042400 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
3171979-8042400
253 br.x = pt.x;
executed 3171979 times by 58 tests: br.x = pt.x;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
3171979
254 if (pt.y < tl.y)
pt.y < tl.yDescription
TRUEevaluated 667317 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 10547062 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
667317-10547062
255 tl.y = pt.y;
executed 667317 times by 58 tests: tl.y = pt.y;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
667317
256 if (pt.y > br.y)
pt.y > br.yDescription
TRUEevaluated 1345546 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 9868833 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
1345546-9868833
257 br.y = pt.y;
executed 1345546 times by 58 tests: br.y = pt.y;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
1345546
258 }
executed 11214379 times by 58 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
11214379
259-
260 void operator |= (const Rect &r) {-
261 if (r.tl.x < tl.x)
r.tl.x < tl.xDescription
TRUEevaluated 16821 times by 16 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 1437885 times by 11 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_scenegraph
16821-1437885
262 tl.x = r.tl.x;
executed 16821 times by 16 tests: tl.x = r.tl.x;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
16821
263 if (r.tl.y < tl.y)
r.tl.y < tl.yDescription
TRUEevaluated 16215 times by 16 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 1438491 times by 11 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_scenegraph
16215-1438491
264 tl.y = r.tl.y;
executed 16215 times by 16 tests: tl.y = r.tl.y;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
16215
265 if (r.br.x > br.x)
r.br.x > br.xDescription
TRUEevaluated 18743 times by 16 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 1435963 times by 10 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickgridview
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_scenegraph
18743-1435963
266 br.x = r.br.x;
executed 18743 times by 16 tests: br.x = r.br.x;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
18743
267 if (r.br.y > br.y)
r.br.y > br.yDescription
TRUEevaluated 19070 times by 16 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 1435636 times by 9 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_scenegraph
19070-1435636
268 br.y = r.br.y;
executed 19070 times by 16 tests: br.y = r.br.y;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
19070
269 }
executed 1454706 times by 16 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktaphandler
  • tst_qquicktext
  • tst_qquicktextedit
  • tst_rendernode
  • tst_scenegraph
1454706
270-
271 void map(const QMatrix4x4 &m);-
272-
273 void set(float left, float top, float right, float bottom) {-
274 tl.set(left, top);-
275 br.set(right, bottom);-
276 }
executed 501362 times by 59 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
501362
277-
278 bool intersects(const Rect &r) {-
279 bool xOverlap = r.tl.x < br.x && r.br.x > tl.x;
r.tl.x < br.xDescription
TRUEevaluated 9852 times by 11 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 546963 times by 27 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfriction
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklineextruder
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickmultipointtoucharea
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrectangleextruder
  • tst_qquickrepeater
  • tst_qquickspringanimation
  • tst_qquicktaphandler
  • tst_qquicktextedit
  • tst_qquicktextinput
  • tst_qquicktrailemitter
  • ...
r.br.x > tl.xDescription
TRUEevaluated 6924 times by 10 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquicktaphandler
  • tst_rendernode
  • tst_scenegraph
FALSEevaluated 2928 times by 3 tests
Evaluated by:
  • tst_examples
  • tst_qquickdraghandler
  • tst_qquickfocusscope
2928-546963
280 bool yOverlap = r.tl.y < br.y && r.br.y > tl.y;
r.tl.y < br.yDescription
TRUEevaluated 7283 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_scenegraph
FALSEevaluated 549532 times by 29 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfriction
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklineextruder
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickmultipointtoucharea
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrectangleextruder
  • tst_qquickrepeater
  • tst_qquickspringanimation
  • tst_qquicktaphandler
  • tst_qquicktextedit
  • tst_qquicktextinput
  • ...
r.br.y > tl.yDescription
TRUEevaluated 5105 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_scenegraph
FALSEevaluated 2178 times by 4 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qquickdraghandler
  • tst_qquicklistview
2178-549532
281 return xOverlap && yOverlap;
executed 556815 times by 29 tests: return xOverlap && yOverlap;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfriction
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquickitemlayer
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklineextruder
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickmultipointtoucharea
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrectangleextruder
  • tst_qquickrepeater
  • tst_qquickspringanimation
  • tst_qquicktaphandler
  • tst_qquicktextedit
  • tst_qquicktextinput
  • ...
556815
282 }-
283-
284 bool isOutsideFloatRange() const {-
285 return tl.x < -QSG_RENDERER_COORD_LIMIT
executed 452122 times by 58 tests: return tl.x < -1000000.0f || tl.y < -1000000.0f || br.x > 1000000.0f || br.y > 1000000.0f;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
452122
286 || tl.y < -QSG_RENDERER_COORD_LIMIT
executed 452122 times by 58 tests: return tl.x < -1000000.0f || tl.y < -1000000.0f || br.x > 1000000.0f || br.y > 1000000.0f;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
452122
287 || br.x > QSG_RENDERER_COORD_LIMIT
executed 452122 times by 58 tests: return tl.x < -1000000.0f || tl.y < -1000000.0f || br.x > 1000000.0f || br.y > 1000000.0f;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
452122
288 || br.y > QSG_RENDERER_COORD_LIMIT;
executed 452122 times by 58 tests: return tl.x < -1000000.0f || tl.y < -1000000.0f || br.x > 1000000.0f || br.y > 1000000.0f;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
452122
289 }-
290};-
291-
292inline QDebug operator << (QDebug d, const Rect &r) {-
293 d << "Rect(" << r.tl.x << r.tl.y << r.br.x << r.br.y << ")";-
294 return d;
never executed: return d;
0
295}-
296-
297struct Buffer {-
298 GLuint id;-
299 int size;-
300 // Data is only valid while preparing the upload. Exception is if we are using the-
301 // broken IBO workaround or we are using a visualization mode.-
302 char *data;-
303};-
304-
305struct Element {-
306-
307 Element()-
308 : boundsComputed(false)-
309 , boundsOutsideFloatRange(false)-
310 , translateOnlyToRoot(false)-
311 , removed(false)-
312 , orphaned(false)-
313 , isRenderNode(false)-
314 , isMaterialBlended(false)-
315 {-
316 }
executed 22 times by 1 test: end of block
Executed by:
  • tst_rendernode
22
317-
318 void setNode(QSGGeometryNode *n) {-
319 node = n;-
320 isMaterialBlended = hasMaterialWithBlending(n);-
321 }
executed 534603 times by 71 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • ...
534603
322-
323 inline void ensureBoundsValid() {-
324 if (!boundsComputed)
!boundsComputedDescription
TRUEevaluated 452822 times by 59 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 138997 times by 17 tests
Evaluated by:
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickdraghandler
  • tst_qquickfocusscope
  • tst_qquickgridview
  • tst_qquickimage
  • tst_qquickitem
  • tst_qquickitemparticle
  • tst_qquicklistview
  • tst_qquickmultipointtoucharea
  • tst_qquickpainteditem
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquicktaphandler
  • tst_qquicktextedit
  • tst_qquicktextinput
  • tst_scenegraph
138997-452822
325 computeBounds();
executed 452822 times by 59 tests: computeBounds();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
452822
326 }
executed 591819 times by 59 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
591819
327 void computeBounds();-
328-
329 QSGGeometryNode *node = nullptr;-
330 Batch *batch = nullptr;-
331 Element *nextInBatch = nullptr;-
332 Node *root = nullptr;-
333-
334 Rect bounds; // in device coordinates-
335-
336 int order = 0;-
337-
338 uint boundsComputed : 1;-
339 uint boundsOutsideFloatRange : 1;-
340 uint translateOnlyToRoot : 1;-
341 uint removed : 1;-
342 uint orphaned : 1;-
343 uint isRenderNode : 1;-
344 uint isMaterialBlended : 1;-
345};-
346-
347struct RenderNodeElement : public Element {-
348-
349 RenderNodeElement(QSGRenderNode *rn)-
350 : renderNode(rn)-
351 {-
352 isRenderNode = true;-
353 }
executed 22 times by 1 test: end of block
Executed by:
  • tst_rendernode
22
354-
355 QSGRenderNode *renderNode;-
356};-
357-
358struct BatchRootInfo {-
359 BatchRootInfo() {}-
360 QSet<Node *> subRoots;-
361 Node *parentRoot = nullptr;-
362 int lastOrder = -1;-
363 int firstOrder = -1;-
364 int availableOrders = 0;-
365};-
366-
367struct ClipBatchRootInfo : public BatchRootInfo-
368{-
369 QMatrix4x4 matrix;-
370};-
371-
372struct DrawSet-
373{-
374 DrawSet(int v, int z, int i)-
375 : vertices(v)-
376 , zorders(z)-
377 , indices(i)-
378 {-
379 }
executed 77853 times by 70 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
77853
380 DrawSet() {}-
381 int vertices = 0;-
382 int zorders = 0;-
383 int indices = 0;-
384 int indexCount = 0;-
385};-
386-
387enum BatchCompatibility-
388{-
389 BatchBreaksOnCompare,-
390 BatchIsCompatible-
391};-
392-
393struct Batch-
394{-
395 Batch() : drawSets(1) {}
executed 6621 times by 70 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
6621
396 bool geometryWasChanged(QSGGeometryNode *gn);-
397 BatchCompatibility isMaterialCompatible(Element *e) const;-
398 void invalidate();-
399 void cleanupRemovedElements();-
400-
401 bool isTranslateOnlyToRoot() const;-
402 bool isSafeToBatch() const;-
403-
404 // pseudo-constructor...-
405 void init() {-
406 first = nullptr;-
407 root = nullptr;-
408 vertexCount = 0;-
409 indexCount = 0;-
410 isOpaque = false;-
411 needsUpload = false;-
412 merged = false;-
413 positionAttribute = -1;-
414 uploadedThisFrame = false;-
415 isRenderNode = false;-
416 }
executed 71944 times by 70 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
71944
417-
418 Element *first;-
419 Node *root;-
420-
421 int positionAttribute;-
422-
423 int vertexCount;-
424 int indexCount;-
425-
426 int lastOrderInBatch;-
427-
428 uint isOpaque : 1;-
429 uint needsUpload : 1;-
430 uint merged : 1;-
431 uint isRenderNode : 1;-
432-
433 mutable uint uploadedThisFrame : 1; // solely for debugging purposes-
434-
435 Buffer vbo;-
436 Buffer ibo;-
437-
438 QDataBuffer<DrawSet> drawSets;-
439};-
440-
441// NOTE: Node is zero-allocated by the Allocator.-
442struct Node-
443{-
444 QSGNode *sgNode;-
445 void *data;-
446-
447 Node *m_parent;-
448 Node *m_child;-
449 Node *m_next;-
450 Node *m_prev;-
451-
452 Node *parent() const { return m_parent; }
executed 2933415 times by 76 tests: return m_parent;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
2933415
453-
454 void append(Node *child) {-
455 Q_ASSERT(child);-
456 Q_ASSERT(!hasChild(child));-
457 Q_ASSERT(child->m_parent == nullptr);-
458 Q_ASSERT(child->m_next == nullptr);-
459 Q_ASSERT(child->m_prev == nullptr);-
460-
461 if (!m_child) {
!m_childDescription
TRUEevaluated 561650 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 504927 times by 64 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
504927-561650
462 child->m_next = child;-
463 child->m_prev = child;-
464 m_child = child;-
465 } else {
executed 561650 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
561650
466 m_child->m_prev->m_next = child;-
467 child->m_prev = m_child->m_prev;-
468 m_child->m_prev = child;-
469 child->m_next = m_child;-
470 }
executed 504927 times by 64 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
504927
471 child->setParent(this);-
472 }
executed 1066577 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1066577
473-
474 void remove(Node *child) {-
475 Q_ASSERT(child);-
476 Q_ASSERT(hasChild(child));-
477-
478 // only child..-
479 if (child->m_next == child) {
child->m_next == childDescription
TRUEevaluated 561618 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 504923 times by 64 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
504923-561618
480 m_child = nullptr;-
481 } else {
executed 561618 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
561618
482 if (m_child == child)
m_child == childDescription
TRUEevaluated 487188 times by 64 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 17735 times by 17 tests
Evaluated by:
  • tst_multipointtoucharea_interop
  • tst_qquickanimatedsprite
  • tst_qquickgridview
  • tst_qquickitem
  • tst_qquickitem2
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickmousearea
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickshadereffect
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_qquicktextedit
  • tst_qquicktextinput
  • tst_qquickvisualdatamodel
17735-487188
483 m_child = child->m_next;
executed 487188 times by 64 tests: m_child = child->m_next;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
487188
484 child->m_next->m_prev = child->m_prev;-
485 child->m_prev->m_next = child->m_next;-
486 }
executed 504923 times by 64 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
504923
487 child->m_next = nullptr;-
488 child->m_prev = nullptr;-
489 child->setParent(nullptr);-
490 }
executed 1066541 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1066541
491-
492 Node *firstChild() const { return m_child; }
executed 6273188 times by 76 tests: return m_child;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
6273188
493-
494 Node *sibling() const {-
495 Q_ASSERT(m_parent);-
496 return m_next == m_parent->m_child ? nullptr : m_next;
executed 2147483647 times by 76 tests: return m_next == m_parent->m_child ? nullptr : m_next;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
Inf
497 }-
498-
499 void setParent(Node *p) {-
500 Q_ASSERT(m_parent == nullptr || p == nullptr);-
501 m_parent = p;-
502 }
executed 2133118 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
2133118
503-
504 bool hasChild(Node *child) const {-
505 Node *n = m_child;-
506 while (n && n != child)
nDescription
TRUEevaluated 2147483647 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
FALSEevaluated 1066577 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
n != childDescription
TRUEevaluated 2147483647 times by 64 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
FALSEevaluated 1066541 times by 76 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
1066541-Inf
507 n = n->sibling();
executed 2147483647 times by 64 tests: n = n->sibling();
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • ...
Inf
508 return n;
executed 2133118 times by 76 tests: return n;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
2133118
509 }-
510-
511-
512-
513 QSGNode::DirtyState dirtyState;-
514-
515 uint isOpaque : 1;-
516 uint isBatchRoot : 1;-
517 uint becameBatchRoot : 1;-
518-
519 inline QSGNode::NodeType type() const { return sgNode->type(); }
executed 6571193 times by 76 tests: return sgNode->type();
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
6571193
520-
521 inline Element *element() const {-
522 Q_ASSERT(sgNode->type() == QSGNode::GeometryNodeType);-
523 return (Element *) data;
executed 4229836 times by 71 tests: return (Element *) data;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • ...
4229836
524 }-
525-
526 inline RenderNodeElement *renderNodeElement() const {-
527 Q_ASSERT(sgNode->type() == QSGNode::RenderNodeType);-
528 return (RenderNodeElement *) data;
executed 44 times by 1 test: return (RenderNodeElement *) data;
Executed by:
  • tst_rendernode
44
529 }-
530-
531 inline ClipBatchRootInfo *clipInfo() const {-
532 Q_ASSERT(sgNode->type() == QSGNode::ClipNodeType);-
533 return (ClipBatchRootInfo *) data;
executed 817 times by 9 tests: return (ClipBatchRootInfo *) data;
Executed by:
  • tst_examples
  • tst_qquickgridview
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquicktableview
  • tst_qquicktextedit
  • tst_qquicktextinput
  • tst_rendernode
  • tst_scenegraph
817
534 }-
535-
536 inline BatchRootInfo *rootInfo() const {-
537 Q_ASSERT(sgNode->type() == QSGNode::ClipNodeType-
538 || (sgNode->type() == QSGNode::TransformNodeType && isBatchRoot));-
539 return (BatchRootInfo *) data;
executed 343780 times by 10 tests: return (BatchRootInfo *) data;
Executed by:
  • tst_examples
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquicktableview
  • tst_qquicktextedit
  • tst_qquicktextinput
  • tst_rendernode
  • tst_scenegraph
343780
540 }-
541};-
542-
543class Updater : public QSGNodeUpdater-
544{-
545public:-
546 Updater(Renderer *r);-
547-
548 void visitOpacityNode(Node *n);-
549 void visitTransformNode(Node *n);-
550 void visitGeometryNode(Node *n);-
551 void visitClipNode(Node *n);-
552 void updateRootTransforms(Node *n);-
553 void updateRootTransforms(Node *n, Node *root, const QMatrix4x4 &combined);-
554-
555 void updateStates(QSGNode *n) override;-
556 void visitNode(Node *n);-
557 void registerWithParentRoot(QSGNode *subRoot, QSGNode *parentRoot);-
558-
559private:-
560 Renderer *renderer;-
561-
562 QDataBuffer<Node *> m_roots;-
563 QDataBuffer<QMatrix4x4> m_rootMatrices;-
564-
565 int m_added;-
566 int m_transformChange;-
567 int m_opacityChange;-
568-
569 QMatrix4x4 m_identityMatrix;-
570};-
571-
572class ShaderManager : public QObject-
573{-
574 Q_OBJECT-
575public:-
576 struct Shader {-
577 ~Shader() { delete program; }
executed 4504 times by 70 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
4504
578 int id_zRange;-
579 int pos_order;-
580 QSGMaterialShader *program;-
581-
582 float lastOpacity;-
583 };-
584-
585 ShaderManager(QSGDefaultRenderContext *ctx) : visualizeProgram(nullptr), blitProgram(nullptr), context(ctx) { }
executed 260 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
260
586 ~ShaderManager() {-
587 qDeleteAll(rewrittenShaders);-
588 qDeleteAll(stockShaders);-
589 }
executed 260 times by 76 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_nodestest
  • tst_qqmlcomponent
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • ...
260
590-
591public Q_SLOTS:-
592 void invalidated();-
593-
594public:-
595 Shader *prepareMaterial(QSGMaterial *material);-
596 Shader *prepareMaterialNoRewrite(QSGMaterial *material);-
597-
598 QOpenGLShaderProgram *visualizeProgram;-
599-
600private:-
601 QHash<QSGMaterialType *, Shader *> rewrittenShaders;-
602 QHash<QSGMaterialType *, Shader *> stockShaders;-
603-
604 QOpenGLShaderProgram *blitProgram;-
605 QSGDefaultRenderContext *context;-
606};-
607-
608class Q_QUICK_PRIVATE_EXPORT Renderer : public QSGRenderer, public QOpenGLFunctions-
609{-
610public:-
611 Renderer(QSGDefaultRenderContext *);-
612 ~Renderer();-
613-
614 enum VisualizeMode {-
615 VisualizeNothing,-
616 VisualizeBatches,-
617 VisualizeClipping,-
618 VisualizeChanges,-
619 VisualizeOverdraw-
620 };-
621-
622protected:-
623 void nodeChanged(QSGNode *node, QSGNode::DirtyState state) override;-
624 void render() override;-
625 void releaseCachedResources() override;-
626-
627private:-
628 enum ClipTypeBit-
629 {-
630 NoClip = 0x00,-
631 ScissorClip = 0x01,-
632 StencilClip = 0x02-
633 };-
634 Q_DECLARE_FLAGS(ClipType, ClipTypeBit)-
635-
636 enum RebuildFlag {-
637 BuildRenderListsForTaggedRoots = 0x0001,-
638 BuildRenderLists = 0x0002,-
639 BuildBatches = 0x0004,-
640 FullRebuild = 0xffff-
641 };-
642-
643 friend class Updater;-
644-
645 void map(Buffer *buffer, int size, bool isIndexBuf = false);-
646 void unmap(Buffer *buffer, bool isIndexBuf = false);-
647-
648 void buildRenderListsFromScratch();-
649 void buildRenderListsForTaggedRoots();-
650 void tagSubRoots(Node *node);-
651 void buildRenderLists(QSGNode *node);-
652-
653 void deleteRemovedElements();-
654 void cleanupBatches(QDataBuffer<Batch *> *batches);-
655 void prepareOpaqueBatches();-
656 bool checkOverlap(int first, int last, const Rect &bounds);-
657 void prepareAlphaBatches();-
658 void invalidateBatchAndOverlappingRenderOrders(Batch *batch);-
659-
660 void uploadBatch(Batch *b);-
661 void uploadMergedElement(Element *e, int vaOffset, char **vertexData, char **zData, char **indexData, quint16 *iBase, int *indexCount);-
662-
663 void renderBatches();-
664 void renderMergedBatch(const Batch *batch);-
665 void renderUnmergedBatch(const Batch *batch);-
666 ClipType updateStencilClip(const QSGClipNode *clip);-
667 void updateClip(const QSGClipNode *clipList, const Batch *batch);-
668 const QMatrix4x4 &matrixForRoot(Node *node);-
669 void renderRenderNode(Batch *batch);-
670 void setActiveShader(QSGMaterialShader *program, ShaderManager::Shader *shader);-
671-
672 bool changeBatchRoot(Node *node, Node *newRoot);-
673 void registerBatchRoot(Node *childRoot, Node *parentRoot);-
674 void removeBatchRootFromParent(Node *childRoot);-
675 void nodeChangedBatchRoot(Node *node, Node *root);-
676 void turnNodeIntoBatchRoot(Node *node);-
677 void nodeWasTransformed(Node *node, int *vertexCount);-
678 void nodeWasRemoved(Node *node);-
679 void nodeWasAdded(QSGNode *node, Node *shadowParent);-
680 BatchRootInfo *batchRootInfo(Node *node);-
681 void updateLineWidth(QSGGeometry *g);-
682-
683 inline Batch *newBatch();-
684 void invalidateAndRecycleBatch(Batch *b);-
685-
686 void visualize();-
687 void visualizeBatch(Batch *b);-
688 void visualizeClipping(QSGNode *node);-
689 void visualizeChangesPrepare(Node *n, uint parentChanges = 0);-
690 void visualizeChanges(Node *n);-
691 void visualizeOverdraw();-
692 void visualizeOverdraw_helper(Node *node);-
693 void visualizeDrawGeometry(const QSGGeometry *g);-
694 void setCustomRenderMode(const QByteArray &mode) override;-
695-
696 QSGDefaultRenderContext *m_context;-
697 QSet<Node *> m_taggedRoots;-
698 QDataBuffer<Element *> m_opaqueRenderList;-
699 QDataBuffer<Element *> m_alphaRenderList;-
700 int m_nextRenderOrder;-
701 bool m_partialRebuild;-
702 QSGNode *m_partialRebuildRoot;-
703-
704 bool m_useDepthBuffer;-
705-
706 QHash<QSGRenderNode *, RenderNodeElement *> m_renderNodeElements;-
707 QDataBuffer<Batch *> m_opaqueBatches;-
708 QDataBuffer<Batch *> m_alphaBatches;-
709 QHash<QSGNode *, Node *> m_nodes;-
710-
711 QDataBuffer<Batch *> m_batchPool;-
712 QDataBuffer<Element *> m_elementsToDelete;-
713 QDataBuffer<Element *> m_tmpAlphaElements;-
714 QDataBuffer<Element *> m_tmpOpaqueElements;-
715-
716 uint m_rebuild;-
717 qreal m_zRange;-
718 int m_renderOrderRebuildLower;-
719 int m_renderOrderRebuildUpper;-
720-
721 GLuint m_bufferStrategy;-
722 int m_batchNodeThreshold;-
723 int m_batchVertexThreshold;-
724-
725 // Stuff used during rendering only...-
726 ShaderManager *m_shaderManager;-
727 QSGMaterial *m_currentMaterial;-
728 QSGMaterialShader *m_currentProgram;-
729 ShaderManager::Shader *m_currentShader;-
730-
731 QRect m_currentScissorRect;-
732 int m_currentStencilValue;-
733 QOpenGLShaderProgram m_clipProgram;-
734 int m_clipMatrixId;-
735 const QSGClipNode *m_currentClip;-
736 ClipType m_currentClipType;-
737-
738 QDataBuffer<char> m_vertexUploadPool;-
739 QDataBuffer<char> m_indexUploadPool;-
740 // For minimal OpenGL core profile support-
741 QOpenGLVertexArrayObject *m_vao;-
742-
743 QHash<Node *, uint> m_visualizeChanceSet;-
744 VisualizeMode m_visualizeMode;-
745-
746 Allocator<Node, 256> m_nodeAllocator;-
747 Allocator<Element, 64> m_elementAllocator;-
748};-
749-
750Batch *Renderer::newBatch()-
751{-
752 Batch *b;-
753 int size = m_batchPool.size();-
754 if (size) {
sizeDescription
TRUEevaluated 65323 times by 51 tests
Evaluated by:
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • tst_qquickitem2
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklineextruder
  • ...
FALSEevaluated 6621 times by 70 tests
Evaluated by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
6621-65323
755 b = m_batchPool.at(size - 1);-
756 m_batchPool.resize(size - 1);-
757 } else {
executed 65323 times by 51 tests: end of block
Executed by:
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • tst_qquickimage
  • tst_qquickimageparticle
  • tst_qquickitem
  • tst_qquickitem2
  • tst_qquickitemparticle
  • tst_qquicklayouts
  • tst_qquicklineextruder
  • ...
65323
758 b = new Batch();-
759 Q_ASSERT(offsetof(Batch, ibo) == sizeof(Buffer) + offsetof(Batch, vbo));-
760 memset(&b->vbo, 0, sizeof(Buffer) * 2); // Clear VBO & IBO-
761 }
executed 6621 times by 70 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
6621
762 b->init();-
763 return b;
executed 71944 times by 70 tests: return b;
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmltypeloader
  • tst_qquickage
  • tst_qquickangleddirection
  • tst_qquickanimatedimage
  • tst_qquickanimatedsprite
  • tst_qquickanimationcontroller
  • tst_qquickborderimage
  • tst_qquickcumulativedirection
  • tst_qquickcustomaffector
  • tst_qquickcustomparticle
  • tst_qquickdraghandler
  • tst_qquickellipseextruder
  • tst_qquickflickable
  • tst_qquickfocusscope
  • tst_qquickfontloader
  • tst_qquickfontloader_static
  • tst_qquickframebufferobject
  • tst_qquickfriction
  • tst_qquickgravity
  • tst_qquickgridview
  • tst_qquickgroupgoal
  • ...
71944
764}-
765-
766}-
767-
768QT_END_NAMESPACE-
769-
770#endif // QSGBATCHRENDERER_P_H-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0