summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/util
Commit message (Collapse)AuthorAgeFilesLines
...
| | * QShaderGraph: don't generate statements with undefined inputsNicolas Guichard2020-02-191-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the shader generation for graphs like this one: Function0 ------> Output0 (with unbound input) Input ------> Function1 ------> Output1 With those graphs, createStatements will not return any statement for nodes Function0 and Output0. Change-Id: Iec32aa51623e176b03ae23e580f06d14df80a194 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Fix QShaderGenerator crashing when a node port name prefixed another oneNicolas Guichard2020-02-191-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QShaderGenerator didn't handle substitutions like `vec4 $color = mix($color1, $color2, $fac);` Note that `$color` is a prefix to `$color1` and `$color2`. For the substitution `QByteArray::replace` was used so if `$color` was handled first and replaced by `v1`, `$color1` and `$color2` were never correctly replaced and instead became `v11` and `v12` which caused a crash later on. Change-Id: Idaf800fdac468f33c323eb722701da5f8eb918d6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-02-181-0/+45
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlinkedlist.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmscreen.cpp Change-Id: Iefca7f9f4966bdc20e7052aca736874861055738
| | * QShaderGraph: Fix statement creation for graphs with dangling branchesNicolas Guichard2020-02-171-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For graphs like this one: Input ----> Function1 ----> Output \ ---> Function2 (unbound output) We would have generated only 2 statements, for Function1 and Output. This change fixes this by treating Function2 like an output. Therefore it generates 4 statements: Input, Function1, Output and Function2. Change-Id: Iaada40b9b949d771806dd47efad4f7ef2a775b48 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Use the new QMetaType API in QVariantOlivier Goffart2020-02-251-0/+4
| | | | | | | | | | | | | | | Change-Id: I5495ee1159864ebd64083fadbfac7e07177ed406 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Regenerate projects one last time before mergewip/cmakeAlexandru Croitor2020-02-126-12/+6
| | | | | | | | | | | | | | | | | | Change-Id: Ia24cf56b79ca6dacd370a7e397024e9b663e0167 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-241-0/+1
|\| | | | | | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| * | QDoubleValidator: Fix thousand separator handlingFabian Kosmale2019-12-051-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | QDoubleValidator would accept "1,23" as valid in a locale which has ',' as a thousand separator. However, it should have been Intermediate instead, as there is still one digit missing. Fixes: QTBUG-75110 Change-Id: I6de90f0b6f1eae95dc8dfc8e5f9658e482e46db3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Regenerate rest of tests/auto/guiAlexandru Croitor2019-11-132-1/+15
| | | | | | | | | | Change-Id: Iaaea50790161715517f7a4085116d5c893fa286b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Convert remaining gui utils testsLeander Beernaert2019-11-0412-15/+174
| | | | | | | | | | | | | | | | Fixes:QTBUG-78229 Change-Id: I3bff1b562e1c146f291e5692c90d2c38f162d395 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge branch 'wip/qt6' into wip/cmakeAlexandru Croitor2019-08-151-0/+4
|\| | | | | | | Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
| * Remove usages of deprecated APIs of qtbase/guiSona Kurazyan2019-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced the usages of deprecated APIs by corresponding alternatives in the library code and documentation. - Modified the tests to make them build when deprecated APIs disabled: * Made the the parts of the tests testing the deprecated APIs to be compiled conditionally, only when the corresponding methods are enabled. * If the test-case tests only the deprecated API, but not the corresponding replacement, added tests for the replacement. Change-Id: Ic38245015377fc0c8127eb5458c184ffd4b450f1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-06-031-108/+443
|\| | | | | | | | | | | Take 5. Change-Id: Ifb2d20e95ba824e45e667fba6c2ba45389991cc3
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-05-031-31/+183
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/pcre2/qt_attribution.json Change-Id: Ibae941cb12662f27bd6962ee02bc235971c59a15
| | * Only generate temporaries when it makes sensePaul Lemire2019-05-021-31/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Never for global inputs - Otherwise only if the temporary is referenced more than once -> meaning it's actually caching the result of some operation Tests updated accordingly. Change-Id: Ic76615370d23dee3965ca6350d5257a8be5a3e22 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-04-161-100/+283
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlocale.qdoc tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Done-with: Edward Welbourne <edward.welbourne@qt.io> Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I88e0757b2d020f0a244714c87844631df4b3fd13
| | * QShaderGenerator: don't generate temporary variables for global inputsPaul Lemire2019-04-101-40/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, the QShaderGenerator would create temporary variables for uniform, attributes, const. This change makes it use the global inputs directly rather than relying on the intermediate properties. Change-Id: Ia9497367d61e536969fe87536606f309c286dbb2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * QShaderGenerator: fix substitution for attributes on GL2/ES2Paul Lemire2019-04-101-70/+147
| | | | | | | | | | | | | | | | | | | | | | | | GL2/ES2 expect it to be attribute and not in like later versions of OpenGL. Task-number: QTBUG-74829 Change-Id: Iddd22386ed315d6e6843d8225e49a4b73b6ad9ba Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-164-24/+48
|\| | | | | | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * | QTextureFileReader: add support for astc format filesEirik Aavitsland2019-02-274-24/+48
| |/ | | | | | | | | | | | | The standard astc encoder has its own file format. Change-Id: I9a2f7b1fa20ba344b79637bafb50ff2bd0596747 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* / Begin port of qtbase to CMakeSimon Hausmann2018-11-015-0/+17
|/ | | | | | | | | | | | | | | Done-by: Alexandru Croitor <alexandru.croitor@qt.io> Done-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Done-by: Kevin Funk <kevin.funk@kdab.com> Done-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Done-by: Simon Hausmann <simon.hausmann@qt.io> Done-by: Tobias Hunger <tobias.hunger@qt.io> Done-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Done-by: Volker Krause <volker.krause@kdab.com> Change-Id: Ida4f8bd190f9a4849a1af7b5b7981337a5df5310 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
* Texture file support: add mipmap reading to ktx handlerv5.12.0-alpha1Eirik Aavitsland2018-09-123-11/+26
| | | | | Change-Id: Ic2c10b3e64d63d2272a8a3922d2b3f99dfd45bdb Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add API for reading and decoding graphical texture filesEirik Aavitsland2018-07-246-1/+109
| | | | | | | | | | | | | | Add a framework for reading and decoding stored graphical texture file formats. Includes decoders for the PKM and KTX formats. This is basically the same texture file reading that was added to qtdeclarative for 5.11, but has been refactored to be independent of the scenegraph and opengl. Task-number: QTBUG-67026 Change-Id: I87d8117550d8a2112f4f58c03e9ac6b3249cbc5a Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QIntValidator: Intermediate for number if digits equal or less than maxTuomas Heimonen2018-06-291-4/+4
| | | | | | | | | | | | | | Input value which is over the highest acceptable value, but consisting of a number of digits equal to or less than the max value should be considered intermediate. [ChangeLog][QtGui][QIntValidator] Input value with over the highest acceptable value, but with equal or less amount of digits than the maximum value is now considered intermediate. Task-number: QTBUG-59650 Change-Id: I71a77c9c266f0f3b62c71ac6cb995019385c1cf5 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QDoubleValidator: Allow intermediate values as close as possible to one ↵Andy Shaw2018-04-171-0/+8
| | | | | | | | | | | | | | | | | | considered invalid The documentation states that if you have a range of 0.00-2.00 with the number of decimals set to 2 then any number up to 9.99 would be considered intermediate. This is because the number of digits still matches both before and after the decimal point. If it is 10.0 or 9.999 then it is still considered invalid. In the case of 9.999 being invalid in this case, the documentation is corrected as this was incorrectly indicated as Intermediate, as the code indicates it as Invalid. Change-Id: I07b433e856f355916a1240deafdf4ef58e680639 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Enable BuiltIn input in the shader graph builderJuan Jose Casafranca2018-04-101-0/+4
| | | | | | | | BuiltIn inputs shouldnt be translated into a code input. We comment the input line for this variables Change-Id: I3b7d2fd06afc6a122d90a999fc5a5246fc93234e Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* GLSL 1.00 ES must be selected using "#version 100"Kevin Ottens2017-08-041-3/+3
| | | | | | | | I was mistaken before, the "es" part for that version isn't optional, it *must* be omitted. Change-Id: I9e83d2317523fb0a905e40b95a56033cf693b93b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Implement graph layers support in QShaderGeneratorKevin Ottens2017-08-021-2/+185
| | | | | Change-Id: I823f7866bc5e1f3b262f1aacf4c341dabda7305d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for layers in QShaderGraphLoader formatKevin Ottens2017-08-021-8/+14
| | | | | Change-Id: I5038600e73523ac7eb37a88ddff1f942af18f18e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Implement graph layers support in QShaderGraphKevin Ottens2017-08-021-0/+117
| | | | | | | | | | | When creating the statements, it is now possible to pass a list of enabled layer names. Every node or edge which is not in the list of enabled layers will be pruned from the graph prior to traversal. Note that an empty layer list for a node or an edge means it is on all layers. Change-Id: I61a4df7d395b4beb42ee55ce08fef8ebe04263c9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add the layer concept to QShaderNode and QShaderGraph::EdgeKevin Ottens2017-08-022-2/+12
| | | | | | | This will be used in further commits Change-Id: I49977f1ea482b97dc0a159f69a0d2eda3865ec44 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for QShaderLanguage enums in QShaderGeneratorKevin Ottens2017-08-021-0/+357
| | | | | Change-Id: I93306d783309cda09fedae3713afde851df3e9a3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Extend the parameter support in QShaderGraphLoader for richer typesKevin Ottens2017-08-021-13/+28
| | | | | | | In particular, go through QMetaType/QMetaEnum to deal with enums. Change-Id: I2e847ba328eb46609b86b3dfd6c4dbf532d78b7d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Extend the parameter support in QShaderNodeLoader for richer typesKevin Ottens2017-08-021-1/+17
| | | | | | | In particular, go through QMetaType/QMetaEnum to deal with enums. Change-Id: Idbe16c913c1d471a4a91d219f77876e498c192d9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for parameters in QShaderGeneratorKevin Ottens2017-07-081-6/+7
| | | | | Change-Id: Iff8fec51ddbf9b018cb5ec3aff357125134013eb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for node parameters in QShaderGraphLoaderKevin Ottens2017-07-081-32/+39
| | | | | | | | Now the parameters from the prototypes are used as default values and the graph file can overload them. Change-Id: I9a8a73963c7e578bd0a34e96f76f147a12224f4f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for node parameters in QShaderNodesLoaderKevin Ottens2017-07-081-13/+26
| | | | | | | | This will allow to make the prototypes more extensible when referred to from a graph file while providing some sane defaults. Change-Id: I1ae10182427d8a7d29c51a64e19e99139494ea92 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add parameters to QShaderNodeKevin Ottens2017-07-081-2/+47
| | | | | | | | | This will allow to create nodes having an entry point for tuning, still need to be exploited by the loaders and the shader generator. Coming in further commits. Change-Id: I8384b0f528c9919e9f8d35102adde2b307f08b80 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Complete the QShaderGraphLoader tests to introspect nodesKevin Ottens2017-07-081-0/+45
| | | | | | | | We forgot to check that the node content was correct and complete when loading the graph. Change-Id: Id4ee6aaba6ca268b0785e7fa3fb51a19817e7c9c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Sort the keys before comparing them in the testKevin Ottens2017-06-221-1/+6
| | | | | | | | The return order of the keys is random, so let's sort both first, then we can compare the lists. Should get rid of the test flakiness. Change-Id: I2e89d3cc603da6a4667b3677350baa4d40d59b45 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* [Shader Graph Gen.] Introduce QShaderNodesLoaderKevin Ottens2017-06-203-0/+295
| | | | | | | | | This class allows to node definitions from a JSON representation. This will come in handy to ship preset prototypes for use with QShaderGraphLoader. Change-Id: I3f3b5d7852e17d484069b4814ee6e5910997c613 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderGraphLoaderKevin Ottens2017-06-203-0/+558
| | | | | | | | | | This class allows to load a shader graph from its JSON representation. To avoid duplicating the shader snippets inside of the JSON which would be a maintenance nightmare, we instead allow to register a set of node prototypes by their name and only refer to said names inside the JSON. Change-Id: I3e7b39e8b3c25f51f331a0a59dda883ac8e2bc57 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderGeneratorKevin Ottens2017-06-203-0/+360
| | | | | | | This class is meant to generate code from shader graphs Change-Id: I1cf22352387f3f9f55e7589aa77a296689836911 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderGraph::StatementKevin Ottens2017-06-201-0/+408
| | | | | | | | This is our "byte code" representing a flattened graph. It will be used as input for the code generation. Change-Id: Ie02a60d07c035f3d16872e79931eb7cde168a8d1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderGraphKevin Ottens2017-06-203-0/+257
| | | | | | | | This allows to connect our nodes together via ports. This way user code can assemble a shader from simpler blocks. Change-Id: I168dcf4af6aa11ad47b68d91e5a55e96ca922678 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderNodeKevin Ottens2017-06-201-0/+159
| | | | | | | | Nodes will allow to describe inputs, outputs or value transformations in a shader graph. Change-Id: I44f806d9595fd0e68fc9026cda2b4fa0a62af283 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderNodePortKevin Ottens2017-06-201-0/+56
| | | | | | | The ports will be used to connect nodes from our shader graphs. Change-Id: I9d4fbb1f7bd8320c4373ebb166a4fe13bd1482c9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [Shader Graph Gen.] Introduce QShaderFormatKevin Ottens2017-06-203-0/+287
| | | | | | | | | | | This is the first building block toward a node based generator for shader programs. QShaderFormat will be used by the other classes to qualify in which format the code snippets and includes used are. Change-Id: I11aefc6bb359832a853ed1b6bec302dc3516cfc4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix test for WinRTMaurice Kalinowski2016-09-231-1/+1
| | | | | | | Only on win32 we can omit creating a new window. Change-Id: Ie49ef45ccb745aaa43f58096e7810c71671124ba Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QtGui: Remove Windows CE.Friedemann Kleint2016-03-301-1/+1
| | | | | | | | | Remove #ifdef sections for Q_OS_WINCE and wince .pro file clauses in library, and tests. Task-number: QTBUG-51673 Change-Id: I55f61845c3b54027c467a5c59c122e7d16955358 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>