aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/coreapi
Commit message (Collapse)AuthorAgeFilesLines
* webassembly: revert the bitfield patchLorn Potter2018-03-231-6/+0
| | | | | | | | | The bitfield changes are no longer needed, as the problem with variables becoming unchangable seems to have been fixed, or has cleared itself up. Change-Id: Ia681b7410922473ab26ff57894582f8386380a86 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Merge remote-tracking branch 'gerrit/5.11' into wip/webassemblyMorten Johan Sørvig2018-03-0814-218/+246
|\ | | | | | | Change-Id: I729af792166fd2f6c5843ba564e63adf8ae09a97
| * use the override keyword consistently and correctly (clang-tidy)Shawn Rutledge2018-02-273-8/+8
| | | | | | | | | | Change-Id: If9e28d143f8cba3df3c757476b4f2265e2eb8b2a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * init variables where they are declared when possible (clang-tidy)Shawn Rutledge2018-02-265-59/+35
| | | | | | | | | | | | | | | | clang-tidy -p compile_commands.json $file -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' -header-filter='qtdeclarative' -fix Change-Id: I705f3235ff129ba68b0d8dad54a083e29fcead5f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-269-124/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-181-1/+8
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp Change-Id: I7feb9772fc35066f56b7c073482b53ca8c86c70b
| | * Fix performance regressionJesus Fernandez2018-02-071-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts 2c2e7f27426cb4381f2dcaa36affe55719619753. WebGL does not support a shared index and vertex buffer. Due to a performance regression, this patch is reverted. Task-number: QTBUG-66191 Change-Id: I296d2a6c1c7b5fa66532bd7e106f5360d9d2403a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.10' into 5.11" into ↵Simon Hausmann2018-02-151-15/+20
| |\ \ | | | | | | | | | | | | refs/staging/5.11
| | * \ Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-121-15/+20
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/shapes/qquickshape.cpp src/imports/shapes/qquickshape_p_p.h src/qml/compiler/qqmlpropertycachecreator_p.h src/qml/jsruntime/qv4value_p.h src/quick/items/qquickloader_p.h tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp tools/qmlprofiler/qmlprofilerapplication.cpp Change-Id: Iafc66ae84bf78630ed72a986acb678e9d19e3a69
| | | * | Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-02-071-15/+20
| | | |\| | | | | | | | | | | | | | | | Change-Id: I3b250545e334f50dcef1a75acdef51820d34079a
| | | | * Use the GL context shared in the render contextErik Verbruggen2018-02-061-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. instead of calling QOpenGLContext::currentContext(), which in turn accesses the thread-local storage. Change-Id: I773686deb2a745e066b0878a6ccb087afb81774d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
| * | | | doc: Add documentation for undocumented thingsMartin Smith2018-02-145-7/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several undocumented elements in the API that clang-qdoc warned about. These are now documented, although original authors might want to contribute better descriptions. A few uses of a macro "qdoc" were corrected to Q_CLANG_QDOC. Change-Id: I4e1d4c5f3266a334d7286e55ed1b113319de2273 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | | | ScenGraph: Prefer printf style loggingKai Koehne2018-02-131-17/+20
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generates more compact code, saving 20480 bytes on disk (Linux 64 bit, release build). Change-Id: I73d6d88b7b61b87a5d714e131fcf86ee80c83f38 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-091-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/memory/qv4mm.cpp src/qml/qml/qqmlbinding.cpp Change-Id: I98e51ef5af12691196da5772a07d3d53d213efcc
| | * | Avoid setting DirtyOpacity flag if it has not been changedVaL Doroshchuk2017-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it compares floating point values DirtyOpacity flag could be set every time when rendering is requested. Change-Id: If4f28a196952172c2d66d7a2978f600c61acac72 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | wasm: bitfield packing fixLorn Potter2018-01-171-0/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | emscripten seems to have issues with them, acting as if they are const, and cannot be changed. Change-Id: I1b86580ca80dab08a0efbd25fbf5167625a704f9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | Make qml-debug a proper featureUlf Hermann2017-11-081-0/+1
| | | | | | | | | | | | | | | Change-Id: Iea33ff0200f0bbf43953fedba030edf91d0f1417 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-061-0/+3
|\| | | | | | | | | | | Change-Id: I1ed923d72566af663555898c3ec708191eef8ae9
| * | Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta1Liang Qi2017-10-041-0/+3
| |\| | | | | | | | | | Change-Id: I75b0099b2b9ebb5cfb6f07b43b90b598743ae033
| | * Fix uninitialized member QSGClipNode::m_is_rectangularJüri Valdmann2017-09-201-0/+3
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-62112 Change-Id: I8943baf6bd5261b91d8960bb227992b56b720554 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Replace Q_NULLPTR with nullptrKevin Funk2017-09-272-2/+2
| | | | | | | | | | | | | | | Change-Id: I0c01862dbb475494c84e39c695cb563df8cbcfa8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-252-6/+6
|/ / | | | | | | | | Change-Id: I176f91a8c51e81a2df3fe91733118261491223ee Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-09-201-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4regexpobject_p.h src/qml/types/qqmllistmodel.cpp src/quick/items/qquickanimatedimage_p.h src/quick/scenegraph/qsgrenderloop.cpp tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
| * Fix compilation with -no-openglMichal Klocek2017-09-181-0/+2
| | | | | | | | | | Change-Id: I91aab9d78ff4dced55cb118ea8f88994bd1d2c20 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-053-1/+8
|\| | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickwindow.cpp src/quick/scenegraph/qsgrenderloop.cpp Change-Id: Idd7106995b5545fcac869e9056a365ef9edb36ca
| * Make releaseResources() free the renderer's shader cacheLaszlo Agocs2017-09-043-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally all shader programs from materials are cached in a simple table that is alive as long as the renderer exists, in practice this means being tied to the QQuickWindow which is often the entire lifetime of an application. Use releaseResources(), which is mostly a no-op on the scenegraph level at the moment, to free this cache. Task-number: QTBUG-62392 Change-Id: I279e595874fee1ab4fe0dede0843a3686dea5806 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-07-281-0/+1
|\| | | | | | | Change-Id: I7d092cce33cb009d63e7b0df7c71183089dea53f
| * Add QDebugStateSaver to operator<<(QDebug, const QSGRootNode)Jesus Fernandez2017-07-271-0/+1
| | | | | | | | | | | | | | | | | | CID 54558 (#1 of 1): Not restoring ostream format (STREAM_FORMAT_STATE) 4. end_of_path: Changing format state of stream d for category basefield without later restoring it. Coverity-Id: 54558 Change-Id: Iad6e6103684c57d3ab98e78e7c91e23731632913 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-041-3/+4
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/quick/doc/src/qmltypereference.qdoc Change-Id: Ia58f1c5a98309c32ef8d8e5c893faf261215f19f
| * Fix excessive recursion in rendererGunnar Sletta2017-06-191-3/+4
| | | | | | | | | | | | Change-Id: Iffee781932773fe22c7d946b532ba74492e1e2df Task-number: QTBUG-59789 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-06-083-8/+12
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp Change-Id: Id8107cb0de0fbfe7120a90a137b49c2b915ff2d3
| * | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-063-8/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/jsruntime/qv4argumentsobject.cpp src/qml/jsruntime/qv4arraydata.cpp src/qml/jsruntime/qv4context.cpp src/qml/jsruntime/qv4context_p.h src/qml/jsruntime/qv4errorobject.cpp src/qml/jsruntime/qv4functionobject.cpp src/qml/jsruntime/qv4internalclass.cpp src/qml/jsruntime/qv4lookup.cpp src/qml/jsruntime/qv4managed.cpp src/qml/jsruntime/qv4managed_p.h src/qml/jsruntime/qv4object.cpp src/qml/jsruntime/qv4object_p.h src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4vme_moth.cpp src/qml/memory/qv4heap_p.h src/qml/memory/qv4mm.cpp src/qml/memory/qv4mm_p.h src/qml/memory/qv4mmdefs_p.h src/quick/scenegraph/util/qsgdistancefieldutil.cpp src/quick/scenegraph/util/qsgdistancefieldutil_p.h tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp Change-Id: I7ed925d4f5d308f872a58ddf51fdce0c8494ec9c
| | * Fix QSG_VISUALIZE=batchesBerthold Krevert2017-05-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since I362e1cb8e10 the batch renderer defaults to QSG_SEPARATE_INDEX_BUFFER which broke the batches visualization Change-Id: If1d51cabb0cc4a3a98ac2c01bd78789d08fe72f7 Reviewed-by: Gunnar Sletta <gunnar@crimson.no> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
| | * Doc: fix some typos in qsgrenderer.cppJüri Valdmann2017-05-041-2/+2
| | | | | | | | | | | | | | | Change-Id: I140e4e35d7841813df6425d0e418aa52660ed03b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * Doc: fix some typos in qsgnode.cppJüri Valdmann2017-05-041-6/+6
| | | | | | | | | | | | | | | Change-Id: I9ce8f7e9dffbf7fd5280841bbe46d07eaaf9e235 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-05-313-12/+34
|\| | | | | | | | | | | Change-Id: Iea0bb0788357bc615d0e9ea411087114b8b3b720
| * | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-05-022-12/+33
| |\| | | | | | | | | | Change-Id: I71275a2076c3d32ee2896571be882067320a2e9e
| | * ICC issue: cast both sides of sign-bit-changing expressions to uintThiago Macieira2017-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSGNode::DirtyForceUpdate is 0x8000, so when you shift it left by 16 positions, it becomes the sign bit. Either the result of that shift is int or sn->dirtyState is. qsgbatchrenderer.cpp(302): error #68: integer conversion resulted in a change of sign Change-Id: I84e363d735b443cb9beefffd14b958f9a622348b Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Run includemocs in qtdeclarativeThiago Macieira2017-04-262-0/+4
| | | | | | | | | | | | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * QSGBatchRenderer: Fix a performance regression noted by qmlbenchRobin Burchell2017-04-241-11/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0a88774a0f11bf96a87012ac4a83e31ced19460b switched from using client side pointers to VBOs, ostensibly for core profile support. Unfortunately, some GPUs/drivers seem to suffer quite a bit with these, so only use them if we must. Results for changing_over_isolated_with_clip_rotated.qml: eskil_linux_tx1: Before: Average: 65.6 frames; using samples; MedianAll=65; StdDev=0.894427, CoV=0.0136346 After: Average: 120 frames; using samples; MedianAll=120; StdDev=0, CoV=0 eskil_linux_focault (nvidia) has a similar regression in all branches where the original commit is present, too: 5.6 & v5.8.0 tag: 600 5.8, 5.9 & dev branches: 399 Assuming this is the sole regression in that case and we end up at the original 600 again, that would be a 50% gain there, and an 81% increase on TX1. Change-Id: I44af9e67698356200f9587e77c9409fdb756519d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
| * | Add a include to fix build for qsgshaderrewriter.cppLiang Qi2017-04-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Due to the change, 164392548e3e1c7526d4eef4896748ef5162cf2d, in qtbase. Task-number: QTBUG-60411 Change-Id: I23db9dbe185f389c042e7039963bf0dae97d197a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-04-254-1/+8
|\| | | | | | | | | | | Change-Id: If2e7c1cf0f1522f6052bbc3e3636ef62bef1b4db
| * | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-04-222-1/+2
| |\| | | | | | | | | | Change-Id: I95266fdaf5c6dc65969bd2e28403da7969367d32
| | * Silence GCC 7 warnings about implicit fallthrough in Qt codeThiago Macieira2017-04-202-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only deals with Qt code. MASM has a lot of those left. We should just update from upstream instead to get the fixes. qv4regalloc.cpp:660:52: warning: this statement may fall through [-Wimplicit-fallthrough=] if (leftSource->type == DoubleType || rightSource->type == DoubleType) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ qv4regalloc.cpp:666:13: note: here case OpBitAnd: ^~~~ Change-Id: I7814054a102a407d876ffffd14b6b0e2d6b03689 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-04-072-0/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jit/qv4assembler.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4vme_moth.cpp Change-Id: I865d794e550a263387a39ca8d051ebf48b70cbc0
| | * Doc: add new enumeration descriptionsNico Vertriest2017-03-302-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qsgmaterial.cpp:416: warning: Undocumented enum item 'DirtyCachedMaterialData' in QSGMaterialShader::RenderState::DirtyState qsgmaterial.cpp:416: warning: Undocumented enum item 'DirtyAll' in QSGMaterialShader::RenderState::DirtyState qsgnode.cpp:104: warning: Undocumented enum item 'DirtySubtreeBlocked' in QSGNode::DirtyStateBit qsgnode.cpp:139: warning: Undocumented enum item 'RenderNodeType' in QSGNode::NodeType qsgengine.cpp:75: warning: Undocumented enum item 'TextureIsOpaque' in QSGEngine::CreateTextureOption Change-Id: Ia51d414151e42eddc5fa1198d3bad3ecbc20e30a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-04-032-1/+21
|\| | | | | | | | | | | Change-Id: I0cbb2ba4a00580e6a74a4e4085fc4eb06d0fadae
| * | QSGDistanceFieldGlyphNode: Remove per-node QLinkedList of nodes to deleteRobin Burchell2017-03-152-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We avoided deleting these nodes directly due to preprocess, but this is a bit of a hack. QSGRenderer::preprocess already contains some work to allow for modification of nodes at preprocess time, but it didn't allow for detecting dead nodes. By marking a pointer as not to be touched if it is removed during preprocess, we can remove the per-node QLinkedList and delete directly, while at the same time, still not touching deleted nodes later on in preprocess. Change-Id: I99a1ea65d3fe0b73db73e4a1d10d999d56edcdc4 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-03-014-17/+3
|\| | | | | | | | | | | Change-Id: Iba540adaeffb0098fc4e1923050eb611bf47287b
| * | sources: Add missing override and remove redundant virtualAlexander Volkov2017-02-231-1/+1
| |/ | | | | | | | | | | | | Change-Id: I48e26b1491024d41ebf75d40f0d1a7e9a1b20f22 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>