aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/util
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-291-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/masm/yarr/YarrJIT.cpp src/qml/compiler/qv4instr_moth.cpp src/quick/handlers/qquicksinglepointhandler_p.h src/quick/handlers/qquicktaphandler.cpp src/quick/items/context2d/qquickcontext2d.cpp Done-With: Ulf Hermann <ulf.hermann@qt.io> Change-Id: I109453131f9f0a05316ae37c7d6ed1edc8c0f9d4
| * Silent -Wdouble-promotion warningJesus Fernandez2019-01-251-2/+2
| | | | | | | | | | | | Change-Id: I44ba34365818adf6b9af022e4bf4ae9e02c3511a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-221-1/+1
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/quick/qquickpathview/tst_qquickpathview.cpp Change-Id: Ic1f5e219a255d0613f7654368a5ce3eccb8f0ee9
| * Documentation: Start using the \nullptr macroFriedemann Kleint2019-01-211-1/+1
| | | | | | | | | | | | Task-number: PYSIDE-903 Change-Id: I0c4640eb20157673eabb131e8834e79cbbf95d5c Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Privately export QQuickImageTextureProvider, QSGTextureMaterialShaderPaolo Angelelli2019-01-151-1/+1
| | | | | | | | | | | | | | | | Without this, it becomes very difficult to reimplement updatePaintNode when subclassing QQuickImage Change-Id: Ib5decca3584c89ea4ab793367b63ca70a4267c87 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-201-0/+25
|\| | | | | | | Change-Id: I939b8ddc8b24e9c9853a72eb22da317023c7a2c4
| * wasm: fix opengl layers, depth stencilLorn Potter2018-10-161-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | WebGL is more strict than OpenGL ES2 https://www.khronos.org/registry/webgl/specs/1.0/#FBO_ATTACHMENTS Task-number: QTBUG-71132 Task-number: QTBUG-71099 Fixes: QTBUG-71132 Fixes: QTBUG-71099 Change-Id: I27c31f3a9833e7187612ee4bc211d0b0b6fa935b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix -Wweak-vtables warningJesus Fernandez2018-10-173-3/+3
| | | | | | | | | | | | Change-Id: Id9f5dfe965dbd2ba42ecb981c9c2a7b3bf4380b6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-011-0/+1
|\| | | | | | | Change-Id: I2f106b4e5f73b8310bb57f81f1e325fa20db4538
| * Add missing Q_FLAG declarations in QObject subclassesShawn Rutledge2018-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | This should make debugging easier (qDebug() << value will print the name rather than the number). This patch does not address remaining enums in private classes, namespaces and non-QObject classes. Change-Id: I1d28e5b15de5a4f267e280ff1823bc5982ac29ca Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-09-061-1/+4
|\| | | | | | | | | | | | | Conflicts: tools/qmlscene/main.cpp Change-Id: Idd6e05582ade4def1a3907f9622a8e132bec6bf7
| * Fix no-opengl buildAllan Sandfeld Jensen2018-09-051-1/+4
| | | | | | | | | | Change-Id: I4b02c4ea380ca18bd62509676cec2608b923c268 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Share texture upload logic with QtGuiAllan Sandfeld Jensen2018-08-211-70/+9
|/ | | | | | | Only have the handling of OpenGL quirks one place. Change-Id: Ia9a2d2a2b986d38f37f65805167ad7a1e8185451 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Load pregenerated glyph cache in default DF cacheEskil Abrahamsen Blomfeldt2018-08-172-0/+148
| | | | | | | | | | | | | | | | | | | In order to support quick loading of scenes with lots of text, we support preloading the contents of the distance field cache from a generated file instead of creating all the distance fields on startup. The idea is that when creating a distance field cache for a specific font, the data will be prepopulated. This is stored in a table in the font file and is picked up automatically by Qt when available. [ChangeLog][Text] Support pregenerated loading distance field glyph caches to decrease startup time for applications with large amounts of text. Task-number: QTBUG-69356 Change-Id: I7cff0c4c782f819b1c893041405970ea4553fb8d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Compressed textures: Replace file decoding code with QtGui functionalityEirik Aavitsland2018-08-093-57/+25
| | | | | | | | | | The functionality for reading and decoding texture files (currently pkm and ktx formats) is now available in QtGui util API. Utilize that instead of keeping equivalent code here. Task-number: QTBUG-67026 Change-Id: Icb7c348eaa51cd15e41031508ef54164fc876c9e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove custom swizzle implementationsAllan Sandfeld Jensen2018-07-182-26/+2
| | | | | | | The QtGui one is heavily optimized, so don't duplicate it. Change-Id: I32d5987b36bda084e98ffc6c86a22414569bad14 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix transitive includeUlf Hermann2018-06-201-0/+2
| | | | | | | | qsgtexturefilehandler_p.h is included through other headers that depend on QT_CONFIG(opengl). Change-Id: Ic87482289332cb1a0215ca74362207f9941239d7 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix memory leak in compressed texture file readingEirik Aavitsland2018-02-272-0/+6
| | | | | | | 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-278-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-263-4/+1
| | | | | | | | 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-2612-47/+47
| | | | | | | | | | | | | 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>
* 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>
* doc: Add documentation for undocumented thingsMartin Smith2018-02-143-2/+21
| | | | | | | | | | 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-3/+4
| | | | | | | | 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>
* Add basic handler for ktx format texture filesEirik Aavitsland2018-02-011-0/+3
| | | | | | | | 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-312-153/+257
| | | | | | | | | | | | | 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-272-19/+48
| | | | | | | | | | | | | | 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>
* Replace Q_NULLPTR with nullptrKevin Funk2017-09-271-1/+1
| | | | | Change-Id: I0c01862dbb475494c84e39c695cb563df8cbcfa8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-08-232-5/+4
|\ | | | | | | | | | | | | Conflicts: tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp Change-Id: I31375151eb239f348bec988d2d0506c2b4d9604c
| * Fix memory leaks with threaded rendererJoni Poikelin2017-08-222-5/+4
| | | | | | | | | | | | | | | | | | | | Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync() instead after syncSceneGraph(). Task-number: QTBUG-61754 Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Roger Zanoni <rogerzanoni@gmail.com>
* | Add very basic compressed texture supportMichael Brasser2017-08-072-0/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow direct loading of pkm texture files into Image. This can be extended to additional texture types, and then eventually turned into a full plugin architexture. [ChangeLog][Qt Quick] Allow direct loading of pkm texture files into Image. For example: Image { source: "myImage.pkm" } Change-Id: I1baed6c3e85a15752da8adc675482d874c9355ab Task-number: QTBUG-59872 Task-number: QTBUG-29451 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-07-282-4/+5
|\| | | | | | | Change-Id: I7d092cce33cb009d63e7b0df7c71183089dea53f
| * Fix memory leak in QSGAtlasTexture::Manager::create()Mitch Curtis2017-07-262-4/+5
| | | | | | | | | | | | | | | | Parent the Atlas to the manager. Task-number: QTBUG-61754 Change-Id: Ida8b0622d1dbcaafa622f72a1d210969fa61d5bf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Ensure same glyph cache is used for same font at different sizesMichael Brasser2017-05-102-3/+25
| | | | | | | | | | | | Change-Id: I46b62616fd8141f65786e9e7bcb1068bed460732 Task-number: QTBUG-60696 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-05-314-2/+11
|\ \ | | | | | | | | | Change-Id: Iea0bb0788357bc615d0e9ea411087114b8b3b720
| * | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-05-024-2/+11
| |\| | | | | | | | | | Change-Id: I71275a2076c3d32ee2896571be882067320a2e9e
| | * Run includemocs in qtdeclarativeThiago Macieira2017-04-264-0/+9
| | | | | | | | | | | | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Support for Q_OS_ANDROID_EMBEDDED and android-embedded buildsOtto Ryynänen2017-04-252-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A Native Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build native Android builds (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I1007eb010545374038e2d09a053fe25f884efeba Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-04-253-1/+7
|\| | | | | | | | | | | Change-Id: If2e7c1cf0f1522f6052bbc3e3636ef62bef1b4db
| * | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-04-221-1/+3
| |\| | | | | | | | | | Change-Id: I95266fdaf5c6dc65969bd2e28403da7969367d32
| | * Silence GCC 7 warnings about implicit fallthrough in Qt codeThiago Macieira2017-04-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 devLiang Qi2017-04-211-0/+2
| |\| | | | | | | | | | Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
| | * Add \since to QSGTexture::AnisotropyLevelFriedemann Kleint2017-04-191-0/+2
| | | | | | | | | | | | | | | | | | | | | Amends change 5ef3265cd46de6579399562429e26961d6f13885. Change-Id: I6c75273e45e235084e5aea53e83669bab85798ee Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-04-071-0/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Document that wrap modes do not work with atlas texturesGunnar Sletta2017-04-041-0/+2
| | | | | | | | | | | | | | | Change-Id: Ifa417644e10b947c4ca0b9c518cfd800b63142b5 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2017-04-035-197/+8
|\| | | | | | | | | | | Change-Id: I0cbb2ba4a00580e6a74a4e4085fc4eb06d0fadae