aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph
Commit message (Collapse)AuthorAgeFilesLines
* wasm: rename Q_OS_HTML5 to Q_OS_WASM to reflect qtbasewip/webassemblyLorn Potter2018-07-181-1/+1
| | | | | Change-Id: I088ae6e7d7c16a88cc6bcf2eb97898db83df4724 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* wasm: cleanup code, remove obsolete codeLorn Potter2018-06-071-0/+1
| | | | | Change-Id: I54f406d803fa6d458ae53a78abb8c99dc76aab92 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: fix using separate index bufferLorn Potter2018-06-062-2/+2
| | | | | | | html5 platform is webgl, so we share needing separate index buffers Change-Id: Ic0d09d1ee9274f6a487923bb43d42f06ff6806c5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Merge remote-tracking branch 'gerrit/5.11' into wip/webassemblyMorten Johan Sørvig2018-06-047-94/+62
|\ | | | | | | Change-Id: I7556ac62fd8e1aeb99186c929f1225f02f9d2430
| * Fix Hidpi BorderImage in software rendererAllan Sandfeld Jensen2018-05-021-4/+7
| | | | | | | | | | | | | | | | | | | | We have to correct for the fact that sub-rects of images in QPainter are in source coordinates. Change-Id: I457527b4ff7c1df5f6b662c3ed4d690e05efb4fb Task-number: QTBUG-40366 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Add handling of device pixel ratio to animated spritesAllan Sandfeld Jensen2018-04-261-1/+1
| | | | | | | | | | | | | | Change-Id: I472f61241d1875daf0de0a597bf27c019314f48f Task-number: QTBUG-50119 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Use different buffer for indices and vertices only in the WebGL pluginJesus Fernandez2018-04-245-89/+54
| | | | | | | | | | | | | | | | | | | | | | | | This patch partially reverts 098ba086530ccd555369a9ea88f3c6668726ab81. Only QtWebGL will use separate buffers for indices and vertices. This patch gives a performance boost. Task-number: QTBUG-66191 Task-number: QTBUG-67147 Change-Id: I58b4db2bdf44cd954390e85e079de82031caf9e5 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | webassembly: fix for crash and assert on no thread and wasm buildsLorn Potter2018-05-141-3/+0
| | | | | | | | | | | | | | This change requires moveToThread change in qtbase Change-Id: Idf35af4b416f577dabb91f749929dbfe5c88a0f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.11.0' into wip/webassemblyMorten Johan Sørvig2018-05-117-10/+22
|\| | | | | | | Change-Id: Ice58db1687c0cfbd5a19e84ca9fa81b8d3fa7959
| * Make QSGLayer::grab work correctly in software rendererJan Marker2018-04-114-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix three separate issues: 1. It was possible that the QSGSoftwarePixmapRenderer's background image's rectangle was set to a non-normalized rectangle. That would have led to the damage area detection creating an empty QRegion for the damage area and QQuickItem::grabToImage would grab an empty image. 2. The QSGSoftwarePixmapRenderer was rendering the image vertically mirrored compared to what its equivalent in the OpenGL backend was doing. Therefore QSGLayer::grab was vertically mirrored, too, so QQuickItem::grabToImage would grab a mirrored image, too. Additionally QSGSoftwareInternalImageNode (used by QQuickShaderEffectSource) now has to mirror its internal texture if that one is a QSGSoftwareLayer. 3. QSGSoftwareInternalImageNode (used by QQuickShaderEffectSource) was not updating correctly when mirroring (with the fix for 2 also in case of a QSGSoftwareLayer as texture). Related to QTBUG-63185 and QTBUG-65975. Change-Id: I0d0ead7fb1c839a8ff427ff7881d8a881e538409 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * Avoid marking hidden windows as updatePending in Gui render loopDavid Edmundson2018-04-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since eeb320bbd8763f3e72f79369cc3908e999a0da3c the GL context only deletes textures when all windows with pending updates have finished rendering. renderWindow will not process any window that is not visible. This leaves a logic bug that we can have the updatePending flag set but never cleared. If we have two windows, this leaves the other window still updating normally, but lastDirtyWindow will always be false and we never call endSync. This results in an effective memory leak of all textures. This patch resets the flag on hide() a move that can be considered safe given the show() method will reset this flag anyway. Change-Id: Iab0171716e27e31077a66b5e36a00bf28a2e7a8c Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Aleix Pol Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * Correct logging of swap time in software render loopMichael Brüning2018-03-221-1/+1
| | | | | | | | | | | | | | | | The conversion from nanoseconds to milliseconds wrongly divided the swap time by 10 million instead of 1 million. Change-Id: Id2b1594fbf7abafabfeae790c7083ad1cf4064a0 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * Fix non-integer scale factors with Text native renderingDavid Edmundson2018-03-131-2/+2
| | | | | | | | | | | | Task-number: QTBUG-67007 Change-Id: Id32cc14ea1bc258cfc139a859ccae014f5893563 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | wasm: make no-tread platform independentMorten Johan Sørvig2018-04-241-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QT_NO_THREAD instead of Q_OS_HTML. This way we can test the no-thread config also on host builds. Move the render loop loopType override to after applying platform and environment settings, so that we don’t enable the threaded render loop by accident. Allow the windows render loop (whether or not this works is untested). Change-Id: I4ea76f386a3914de208a380663c665f962cd2069 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | webassembly: use default opengl backendLorn Potter2018-04-233-3/+5
| | | | | | | | | | Change-Id: Iaaa9776846ae10f5f4b04f2fd4da52deeac66f0a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | webassembly: revert the bitfield patchLorn Potter2018-03-235-36/+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-0890-985/+2082
|\| | | | | | | Change-Id: I729af792166fd2f6c5843ba564e63adf8ae09a97
| * Fix: do data size check of pkm format compressed texture filesEirik Aavitsland2018-02-281-3/+2
| | | | | | | | | | | | | | | | | | | | Reintroduce reading - and sanity checking - the data size from the file header of pkm files. This was commented out during the refactoring, since it lacked the fix for ETC2_EAC format (ref. 16cd1f8 on 5.10 branch). This commit also includes that fix. Change-Id: Id85547fb6bee254d58e49ddff4593704f7ab83ed Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Fix memory leak in compressed texture file readingEirik Aavitsland2018-02-273-0/+7
| | | | | | | | | | | | | | The format handler object would never be deleted. Change-Id: I44e0740f8ab0404ebb2951865bfedc5a4c8227f3 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * use the override keyword consistently and correctly (clang-tidy)Shawn Rutledge2018-02-2712-18/+18
| | | | | | | | | | Change-Id: If9e28d143f8cba3df3c757476b4f2265e2eb8b2a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * init variables where they are declared when possible (clang-tidy)Shawn Rutledge2018-02-2615-145/+88
| | | | | | | | | | | | | | | | 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-2650-294/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * doc: Fix remaining "Can't tie this..." errorsMartin Smith2018-02-233-16/+9
| | | | | | | | | | | | | | | | This update mostly removes qdoc comment markers from comments that should not have been qdoc comments. Change-Id: I8ccaa7fd4ae610371e25066e048fcba6cfba8038 Reviewed-by: Martin Smith <martin.smith@qt.io>
| * Software render: Fix warnings floodFriedemann Kleint2018-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | Add missing QPainter::end(), fixing: QBackingStore::endPaint() called with active painter on backingstore paint device Task-number: QTBUG-66452 Change-Id: Ia00e61953528b15015b3e41ba1868e670818cf14 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Finally really remove QT_NO_QML_DEBUGGERUlf Hermann2018-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | We don't want the JIT to ignore the debug instructions, and in qsgatlastexture.cpp qqmlglobal_p.h which defines DEFINE_BOOL_CONFIG_OPTION was implicitly included via qml_debug. Change-Id: I82329b9422f4938f097263517afadebab33a0d0c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Nodir Temirkhodjaev <nodir.temir@gmail.com>
| * Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-182-2/+9
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp Change-Id: I7feb9772fc35066f56b7c073482b53ca8c86c70b
| | * Fix performance regressionJesus Fernandez2018-02-072-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Fix crash with the software renderer and windows with QObject parentSimon Hausmann2018-02-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QQuickWindow is a child of another QObject (such as a Loader) and is scheduled for deletion using a deferred delete event, then a deletion via the parent ends up calling the window's destructor, which will finally end up in ~QObject(), which takes care of removing the posted deferred deletion event from the event queue. In the case of QQuickWindow, the destructor - called before ~QObject - calls windowDestroyed(this) on the SG render loop. The implementation in the software renderer calls QCoreApplication::sendPostedEvents() with QEvent::DeferedDelete, which ends up deleting the same window a second time and resulting in a crash. I can't see a good reason for the existence of the sendPostedEvents() call there. It is not present in the other render loops and according to git blame it stems from the very early first implementation of the software renderer where surely copy & paste from other render loop code was involved back then. The same fix is applied to the single-threaded VG and D3D12 render loops, as they are most likely copy & paste from the software render loop implementation. ASAN trace for tst_qquickwindow::unloadSubWindow() on 5.11 branch that shows invalid access to the QObjectPrivate/QQuickWindowPrivate, which follows the QObject in terms of life-cycle: ==4736==ERROR: AddressSanitizer: heap-use-after-free on address 0x617000011778 at pc 0x7fdd211cfbb3 bp 0x7fffecb47ea0 sp 0x7fffecb47e90 READ of size 8 at 0x617000011778 thread T0 #0 0x7fdd211cfbb2 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1308 #1 0x7fdd21470974 in QQuickWindowQmlImpl::~QQuickWindowQmlImpl() items/qquickwindowmodule_p.h:63 #2 0x7fdd21470974 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() .../qqmlprivate.h:103 #3 0x7fdd21470974 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() .../qqmlprivate.h:103 #4 0x7fdd1e24da24 in qDeleteInEventHandler(QObject*) kernel/qobject.cpp:4601 #5 0x7fdd1e253d2f in QObject::event(QEvent*) kernel/qobject.cpp:1240 #6 0x7fdd1fbd1d41 in QWindow::event(QEvent*) kernel/qwindow.cpp:2356 #7 0x7fdd211f778e in QQuickWindow::event(QEvent*) items/qquickwindow.cpp:1628 #8 0x7fdd1e1a4e3c in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) kernel/qcoreapplication.cpp:1216 #9 0x7fdd1e1a508b in doNotify kernel/qcoreapplication.cpp:1157 #10 0x7fdd1e1a555a in QCoreApplication::notify(QObject*, QEvent*) kernel/qcoreapplication.cpp:1143 #11 0x7fdd1fb87665 in QGuiApplication::notify(QObject*, QEvent*) kernel/qguiapplication.cpp:1723 #12 0x7fdd1e1a52fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) kernel/qcoreapplication.cpp:1067 #13 0x7fdd1e1b6ed2 in QCoreApplication::sendEvent(QObject*, QEvent*) ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #14 0x7fdd1e1b6ed2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) kernel/qcoreapplication.cpp:1764 #15 0x7fdd1e1b8cda in QCoreApplication::sendPostedEvents(QObject*, int) kernel/qcoreapplication.cpp:1618 #16 0x7fdd210cb034 in QSGSoftwareRenderLoop::windowDestroyed(QQuickWindow*) scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:100 #17 0x7fdd211cfb8c in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1305 [...] 0x617000011778 is located 632 bytes inside of 704-byte region [0x617000011500,0x6170000117c0) freed by thread T0 here: #0 0x7fdd21a8a9d8 in operator delete(void*, unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe19d8) #1 0x7fdd2146fa3c in QQuickWindowQmlImplPrivate::~QQuickWindowQmlImplPrivate() items/qquickwindowmodule.cpp:57 #2 0x7fdd1e26b252 in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) [...] #3 0x7fdd1e26b252 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() [...] #4 0x7fdd1e26b252 in QObject::~QObject() kernel/qobject.cpp:882 #5 0x7fdd1fbcf51c in QWindow::~QWindow() kernel/qwindow.cpp:211 #6 0x7fdd211d0466 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1297 #7 0x7fdd211d0644 in QQuickWindow::~QQuickWindow() items/qquickwindow.cpp:1335 #8 0x7fdd1e2666b4 in QObjectPrivate::deleteChildren() kernel/qobject.cpp:1995 #9 0x7fdd1e26b329 in QObject::~QObject() kernel/qobject.cpp:1023 [...] Change-Id: Iffa90d365d02b074e2a78c5be2895c9f86a4b80e Task-number: QTBUG-66381 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Andy Nichols <andy.nichols@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-148-9/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-139-109/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | Fix: Make Image element support detection of suitable file extensionEirik Aavitsland2018-02-132-0/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the source is a non-existent local file or resource, then instead of giving up directly, check if there exists a file/resource with the same name and a known supported image/texture file extension (suffix). [ChangeLog][QtQuick][Image] Support detection of suitable file extension Task-number: QTBUG-66127 Change-Id: I4c0edb639017e8707eed8e532ba55d29917751cb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | doc: Add template parameters to \fn commandsMartin Smith2018-02-091-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added template parameters to several \fn commands for functions in class QSGSimpleMaterialShader<State>. Change-Id: Id8c0ce98f625e83ec4935dc5ef83d3c6dbc78255 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | Fix debug builds using musl libcJan Murawski2018-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of the glib backtrace functions only when building with glibc. Task-number: QTBUG-66228 Change-Id: Icfb4bae9db00d7a8ebf34cf471479c90d8681ddb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Shawn Rutledge2018-02-065-10/+11
| |\ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| | * | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-02-025-10/+11
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp src/qml/compiler/qqmlirbuilder.cpp src/qml/compiler/qqmlirbuilder_p.h src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4codegen_p.h src/qml/compiler/qv4compileddata_p.h src/qml/compiler/qv4compiler.cpp src/qml/compiler/qv4compilercontext_p.h src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4jsir.cpp src/qml/compiler/qv4jsir_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4functionobject.cpp src/qml/jsruntime/qv4runtimecodegen.cpp src/qml/jsruntime/qv4script.cpp src/qml/jsruntime/qv4script_p.h src/qml/qml/qqmltypeloader.cpp src/quick/items/qquickanimatedimage.cpp src/quick/items/qquickanimatedimage_p_p.h src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp tests/auto/qml/qmlplugindump/qmlplugindump.pro tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp tools/qmlcachegen/qmlcachegen.cpp tools/qmljs/qmljs.cpp Done-with: Shawn Rutledge <shawn.rutledge@qt.io> Done-with: Lars Knoll <lars.knoll@qt.io> Done-with: Ulf Hermann <ulf.hermann@qt.io> Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
| | | * | Fix uploading of compressed textures of ETC2_EAC typeEirik Aavitsland2018-01-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to glCompressedTexImage2D would fail since the code did not account for the fact that the ETC2_EAC scheme uses twice the number of bytes as other ETC schemes. Change-Id: I93502f5848b112cac2f798453a0d32a2c0a2a20b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-241-1/+1
| | | |\| | | | | | | | | | | | | | | | Change-Id: I37bc7afea415261639b71e7b8dfc9177fdd4cb62
| | | | * Remove another call to QOpenGLContext::currentContext()Erik Verbruggen2018-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. by getting the context from the readily available state. Change-Id: Ie2819a112b31e080a865c657d0fc63cd1968e7a3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-244-9/+10
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata_p.h src/qml/debugger/qqmlprofiler_p.h src/qml/jsruntime/qv4engine.cpp src/qml/memory/qv4mm.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlobjectcreator_p.h src/qml/types/qqmldelegatemodel.cpp src/quick/items/qquickitem_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/BLACKLIST tests/benchmarks/qml/holistic/tst_holistic.cpp Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
| | | | * QSGSoftwarePixmapRenderer: Fix incorrect background coordinatesJüri Valdmann2018-01-124-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pixmap renderer sets up QPainter's window coordinates system but still positions the background node in device coordinates. If the window rectangle is QRect(x, y, w, h) then the background rectangle will be set to QRect(0, 0, w, h). As the rendering output is clipped to the background rectangle, this means that the image will be left with transparent bands of x pixels on the right and y pixels on the bottom. Task-number: QTBUG-62867 Change-Id: I3b2c18dafda4381b0daa64f849330f51bcc743b2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | | | Fix QML Rectangle blurryJiDe Zhang2018-02-022-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QQuickWindow::effectiveDevicePixelRatio's value is not an integer QML Rectangle is blurry if launched with —device=software Task-number: QTBUG-65934 Change-Id: Ic5cd89a4fd31ba8046534019f647a59477785d71 Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | | | Add basic handler for ktx format texture filesEirik Aavitsland2018-02-014-2/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds basic support for reading compressed textures stored in .ktx files, the Khronos texture file format. Change-Id: Iafb86cff9607eedb26a73989f9b005455ddd316f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * | | | Basic working compressed texture atlasMichael Brasser2018-01-3111-154/+591
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds experimental automatic atlasing of ETC-compressed textures (to be expanded to additional formats), similar to existing atlas support of QImages. It is off by default, and can be enabled with QSG_ENABLE_COMPRESSED_ATLAS=1. [ChangeLog] Add experimental automatic atlasing of ETC-compressed textures (can be enabled with QSG_ENABLE_COMPRESSED_ATLAS=1) Change-Id: Ia66971f51299d082a569bdfaadb662a3e522bd79 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Refactor compressed texture file readingEirik Aavitsland2018-01-278-178/+538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit expands on the basic support for compressed texture files that was added in 432e27a. It prepares for adding support for other file types than pkm by declaring a common QSGTextureFileHandler interface, and by factoring out reusable code parts in a new QSGCompressedTexture class. It also adds some more systematic logging and checking for error conditions. Change-Id: Ie5070d0a6df757fee0753f53adbe23a33d51a634 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-092-3/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/memory/qv4mm.cpp src/qml/qml/qqmlbinding.cpp Change-Id: I98e51ef5af12691196da5772a07d3d53d213efcc
| | * | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Shawn Rutledge2018-01-041-2/+2
| | |\ \ | | | | | | | | | | | | | | | refs/staging/5.10