summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Use qRadiansToDegrees() and qDegreesToRadians() more widelyEdward Welbourne2017-07-054-14/+7
| | | | | | | | | | | | | | | | Especially in examples, where we should show off our convenience functions, prefer calling these functions over doing arithmetic with M_PI (or approximations thereto) and 180 (give or take simple factors). This incidentally documents what's going on, just by the name of the function used (and reveals at least one place where variables were misnamed; the return from atan is in radians, *not* degrees). Task-number: QTBUG-58083 Change-Id: I6e5d66721cafab423378f970af525400423e971e Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-0446-151/+286
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/util/util.pri tests/auto/corelib/thread/qthread/qthread.pro tests/auto/corelib/thread/qthread/tst_qthread.cpp Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
| * Skip QThread stress test on QemuSami Nurmenniemi2017-07-022-0/+8
| | | | | | | | | | | | | | | | | | | | Qemu uses some memory for each generated thread. This test creates > 80000 threads and consumes about 10Gb of memory which is too heavy for a VM. Task-number: QTBUG-59966 Change-Id: I1bb8a0d7955778f5201948b41befcb9f1f391514 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Convert features.filesystemmodel to QT_[REQUIRE_]CONFIGStephan Binner2017-07-021-2/+2
| | | | | | | | | | Change-Id: I862510387e79d04221ec075f3e79896908ee9d8f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix moving a hidden QOpenGLWidget to another windowSérgio Martins2017-07-021-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | A visibile QOpenGLWidget receives a QEvent::WindowChangeInternal which triggers a QOpenGLWidget::reset(). A hidden QOpenGLWidget never received this event so it was never reset, resulting in a black rendering. Includes unit-test that fails without this patch. Change-Id: I9d2c57d66fa629f631a9829a5ebf4de09998ad75 Task-Id: QTBUG-60896 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * macOS: Blacklist tst_QProgressDialog::autoShow()Friedemann Kleint2017-07-021-2/+2
| | | | | | | | | | | | | | The test is apparently flaky. Change-Id: Ib0161fb18cdef1d532c81ac7196c57af1f7c8ee1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Convert features.filedialog to QT_[REQUIRE_]CONFIGStephan Binner2017-06-291-2/+2
| | | | | | | | | | Change-Id: I9bc229b0d1430b81eeb2cfca2b24474736d5d561 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * QTabBar: fix expanded tabs appearanceOleg Yadrov2017-06-281-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix regression introduced by 175f33ed8. 'expanding' property set to true was ignored when QStyle::styleHint() returned Qt::AlignRight for SH_TabBar_Alignment. When we calculate tabs geometry, we put an empty tab at the front and back and set its expansive attribute depending on tab alignment AND 'expanding' property. Task-number: QTBUG-61480 Change-Id: I6a1827ae8a3f2c6bee5124c18c7f2b1c0a7862f3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * Fix some MSVC warnings in testsFriedemann Kleint2017-06-284-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | tst_qvariant.cpp(80): warning C4309: 'initializing': truncation of constant value tst_qvariant.cpp(4635): warning C4309: 'initializing': truncation of constant value tst_qbytearray.cpp(1438): warning C4267: 'argument': conversion from 'size_t' to 'uint', possible loss of data tst_qbytearray.cpp(1440): warning C4267: 'argument': conversion from 'size_t' to 'uint', possible loss of data http2srv.cpp(64): warning C4018: '<=': signed/unsigned mismatch tst_qinputdialog.cpp(352): warning C4804: '<=': unsafe use of type 'bool' in operation Change-Id: Id012d88b7b20c5c9f128f2ef53753cc1d479f358 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tests: Add Q_FALLTHROUGH to unmarked fallthroughs seen by GCC 7Friedemann Kleint2017-06-282-35/+110
| | | | | | | | | | Change-Id: I70c87912476372097517fc20b3740416c24cb819 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QSocks5SocketEngine::downloadBigFile(): Output elapsed timeFriedemann Kleint2017-06-281-7/+8
| | | | | | | | | | | | | | | | | | Print time in the error handler to get some diagnostics about when the network connection is dropped. Task-number: QTBUG-61673 Change-Id: I376bec81f52d75c9b601f2af9b7e0b63f5883bb0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * tst_QSharedPointer: Terminate hanging qmake-processesFriedemann Kleint2017-06-281-0/+2
| | | | | | | | | | Change-Id: I580ff3ccbecba81c09ce3fc3e082b906f956171d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Stabilize QDnsLookup testMarc Mutz2017-06-281-20/+6
| | | | | | | | | | | | | | | | | | | | Use 15s instead of 10 (one check took 7.5s on my development machine, even). Port to QTR_VERIFY_WITH_TIMEOUT instead of rolling our own waitForDone(), as that reports (within limits) by how much the timeout was exceeded. Change-Id: Id76a66d5f4fe3a4e814915add329eb4de3d264a7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Convert features.tabletevent to QT_CONFIGStephan Binner2017-06-281-2/+2
| | | | | | | | | | Change-Id: Ibd7ed7f269a64afddadee70979b20f1c58398378 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.wheelevent to QT_CONFIGStephan Binner2017-06-2810-32/+32
| | | | | | | | | | Change-Id: I46083a9115c199d1ebe024ed5f64b160a27462f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Ignore tst_macNativeEvents::testPushButtonPressRelease on macOS 10.11Simon Hausmann2017-06-281-0/+3
| | | | | | | | | | | | Task-number: QTQAINFRA-1292 Change-Id: I1047b797380820d2636f4d514b41b621c7794486 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Ignore tst_QOpenGLWidget::clearAndGrab failures on UbuntuSimon Hausmann2017-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | The test fails for unknown reasons when using the mesa swrast when using qemu/kvm (as opposed to when using the vmware mesa driver). Task-number: QTQAINFRA-1318 Change-Id: Ib7e9d894cd368b8c2c12d83ec1e4862622781fe6 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Ignore tst_qwidget::showMinimizedKeepsFocus on macOS 10.11Simon Hausmann2017-06-281-0/+1
| | | | | | | | | | | | | | | | It's failing for inexplicable reasons not only on 10.10 but also 10.11. Task-number: QTQAINFRA-1317 Change-Id: Id316764443dfe9e0ae30e2d25d8bae73fa255617 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Ignore failure of tst_qmenu::submenuTearOffDontClose on macOS 10.11Simon Hausmann2017-06-281-0/+2
| | | | | | | | | | | | | | | | The test is failing inexplicably on macOS 10.11. Task-number: QTQAINFRA-1315 Change-Id: Ia0162768b6d4fdd016bce62b92c3df0b5d4ed8d0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Skip the threaded systemProxyForQuery test on Windows 7Simon Hausmann2017-06-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | Under qemu/kvm the systemProxyForQuery call - when initiated from a secondary thread - never completes. Consequently the thread hangs, test fails and the crashes due to the inability to cleanly terminate the test thread. Task-number: QTQAINFRA-1200 Change-Id: I9bd4ed163d215fadd8532a03bbdccd80fc8d9cb1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Blacklist tst_QSocks5SocketEngine::downloadBigFile()Friedemann Kleint2017-06-281-0/+2
| | | | | | | | | | | | Task-number: QTBUG-61673 Change-Id: Id81446e52c6492a22347de708b4785f55a1b0d5d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * tst_QTreeWidget: Fix GCC 7 warnings about using uninitialized variablesFriedemann Kleint2017-06-251-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | qtreewidget.h:179:53: warning: 'search' may be used uninitialized in this function [-Wmaybe-uninitialized] ^~ tst_qtreewidget.cpp:1564:22: note: 'search' was declared here QTreeWidgetItem *search; tst_qtreewidget.cpp: In member function 'void tst_QTreeWidget::expandAndCallapse()': tst_qtreewidget.cpp:2678:18: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized] Change-Id: I19c9dc86aa12f36c26ae2475f1854ed17fad0638 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Merge remote-tracking branch 'origin/5.9.1' into 5.9Tor Arne Vestbø2017-06-254-21/+8
| |\ | | | | | | | | | Change-Id: Ie585425d2d8d05c6ead283b70b88b00e1e3dc1fe
| | * Blacklist tst_QParallelAnimationGroup::deleteChildrenWithRunningGroup()J-P Nurmi2017-06-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | It is flaky on macOS 10.12. Task-number: QTBUG-61500 Change-Id: I3dfb6979808dec3a20896c2579dd1f5124c94a70 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Blacklist flaky tst_QGuiEventLoop::testQuitLock() on macOS 10.12J-P Nurmi2017-06-191-0/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-61499 Change-Id: I6eebe2305b47f9ae7be128c3d7a7535f6f04a4da Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Skip unreliable tst_QTimer::moveToThread() on macOS 10.12J-P Nurmi2017-06-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Randomly timeouts in the CI. Task-number: QTBUG-59679 Change-Id: I28410b747b2033fc0ef6286a11c88cd0c07eb247 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Merge 5.9 into 5.9.1Oswald Buddenhagen2017-06-1915-205/+385
| | |\ | | | | | | | | | | | | Change-Id: I229386dc3e0283dc7e5ad1c580ffcb335c67601c
| | * | Revert "QWidgetEffectSourcePrivate::draw(): Call render() when no shared ↵Friedemann Kleint2017-06-141-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | painter exists" The change causes drawing artifacts in Qt Creator. This reverts commit 8b1377fde16a2049a1c27f6d005bff84a8f85f28. Task-number: QTCREATORBUG-18322 Task-number: QTBUG-60231 Change-Id: Ic05507b0c23ea612fa5a9b92163380059b6e710d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | | Moc: Don't error out when parsing namespace __identifier(...)Olivier Goffart2017-06-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Present for example in the Windows's Atlbase.h header. We should not abort the compilation, just ignore that construct Task-number: QTBUG-56634 Change-Id: Id6e4c9f03cb1cef46e330f4fbcae80ce4f3730c6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | winrt: Fix tst_QDialog::showFullScreenOliver Wolff2017-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | show will use the platform's default flags but the test actually checks for the flags that were set before so we have to use setVisible(true) instead. Change-Id: I52c055ec07d6f0dee626626318c875aefdf67484 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | winrt: Fix tst_qurlOliver Wolff2017-06-191-5/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia7e33e3892f888ead1357f5cd522480f514421e3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | winrt: Fix tst_qtextstreamOliver Wolff2017-06-192-1/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I5e8076a344a50f70e9618ff7b2e9258182601957 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | winrt: Fix tst_qlanguagechangeOliver Wolff2017-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic11a81b49cc2e7a3fcb895d1556b44baf8c1d6fe Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | Fix tst_QOpenGlConfig for platforms with builtin test dataOliver Wolff2017-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifd57002b730987105554514b3498f5e3bb4962e4 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | | Fix tst_qfile::size for configurations using builtin test dataOliver Wolff2017-06-192-0/+16
| | |/ | |/| | | | | | | | | | | | | | | | | | | As the files are packaged into the binary, they have to be extracted, before they can be ::open'ed. Change-Id: Ie83086a2b9a73b6b0de462bdb52a71bb277ae06f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | | QRandomGenerator: use getentropy on Linux & OpenBSDThiago Macieira2017-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The getentropy function, first found in OpenBSD, is present in glibc since version 2.25 and Bionic since Android 6.0 and NDK r11. It uses the Linux 3.17 getrandom system call. Unlike glibc's getrandom() wrapper, the glibc implementation of getentropy() function is not a POSIX thread cancellation point, so we prefer to use that even though we have to break the reading into 256-byte blocks. The big advantage is that these functions work even in the absence of a /dev/urandom device node, in addition to a few cycles shaved off by not having to open a file descriptor and close it at exit. What's more, the glibc implementation blocks until entropy is available on early boot, so we don't have to worry about a failure mode. The Bionic implementation will fall back by itself to /dev/urandom and, failing that, gathering entropy from elsewhere in the system in a way it cannot fail either. uClibc has a wrapper to getrandom(2) but no getentropy(3). MUSL has neither. Change-Id: Ia53158e207a94bf49489fffd14c8cee1b968a619 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Revert "Support more than 62 instances of QWinEventNotifier"Liang Qi2017-06-281-88/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It breaks sth in QLocalSocket which is used in QtRemoteObject. This reverts commit 5c6210e3452f78cab2f58887e747eb5cb2501f70. Task-number: QTBUG-61668 Change-Id: Ib11890923773496e5d998b7709ef93b0a839a759 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Remove requirement to call QWindow::setMask after creating windowTor Arne Vestbø2017-06-281-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like other QWindow properties we can just store it, and the platform window should pick it up on creation like other properties. [ChangeLog][QtGui][QWindow] setMask() no longer requires the window to be created to have an effect; it can be set at any time. Change-Id: I55b616363801b770bd61bda5325b443013b99866 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | QSFPM: Avoid following a reset with unnecessary layoutChangedStephen Kelly2017-06-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the pattern used to guard Private::sort() calls elsewhere in the class. Because QAbstractItemModel::sort() is not called in the unit test, the content is not sorted after resetting. [ChangeLog][QtCore][QSortFilterProxyModel] QSortFilterProxyModel now does not emit an unnecessary layoutChanged() following a model reset. Change-Id: I0a36c7fbb172bdd06ecddb489c5595debbef6cb9 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Move qle_bitfield to qendian_p.hAllan Sandfeld Jensen2017-06-272-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the qle_bitfield template more generic and moves it to qendian_p.h It is also hardened to be more reliable. Change-Id: I53214ec99cceee4f5e8934ae688c99e555a5fb42 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | windowflags: Allow testing of naked QWindows, not just QWidgetsTor Arne Vestbø2017-06-275-45/+93
| | | | | | | | | | | | | | | | | | Change-Id: Ia0eddcb385207ada8c3df59d49ff1de27a2aeb71 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Improve rounding of QRect::toRectAllan Sandfeld Jensen2017-06-261-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid the dimensions of the rounded QRect being off by more than one pixel. This ensures the aligned containing rect also contains the rounded rect. Task-number: QTBUG-56420 Change-Id: Ib79110e51ab80de2dc83d01ea83fc5fbf3852e75 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Support more than 62 instances of QWinEventNotifierJoerg Bornemann2017-06-261-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWinEventNotifiers were limited to 62 instances, because of WaitForMultipleObject's limitation to MAXIMUM_WAIT_OBJECTS - 1 handles. Use the RegisterWaitForSingleObject API which does not have this restriction and executes waits in threads managed by the system. A central manual reset event per event dispatcher is signaled in the RegisterWaitForSingleObject callback and waited for in the event loop. [ChangeLog][QtCore][QWinEventNotifier] QWinEventNotifier is not restricted to 62 instances anymore. Task-number: QTBUG-8819 Change-Id: I2c749951453a4b699cc50dada0d6017440b67a4a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | qt_findAtNxFile(): account for .9 (9-patch image) extensionsMitch Curtis2017-06-244-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a file with a .9.png extension will only have its @2x variant found if it follows this format: foo.9@2x.png Since ".9" should be considered part of the file suffix, it should ideally be able to look like this and still be picked up: foo@2x.9.png This patch makes qt_findAtNxFile() account for .9.* extensions. This is needed for the image-based style support in Qt Quick Controls 2, which uses 9-patch images. qmlbench benchmark results using benchmarks\auto\creation\quick.image\delegates_image.qml with QT_SCALE_FACTOR=2 show no difference in performance after this patch is applied. [ChangeLog][QtGui] High DPI variants of 9-patch images can now be loaded using the following syntax: "foo@2x.9.png" Change-Id: I6d1384113bef21b4fe85a104ee6b16869c93b077 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.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>
* | | Blacklist qFutureAssignmentLeak on OpenSUSE CIMorten Johan Sørvig2017-06-221-0/+2
| | | | | | | | | | | | | | | | | | | | | Flaky test, fails on openSUSE_42_1. Change-Id: Iea5e262578b9960f9facde4fc4e863192058921f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | testlib: add key sequence functionLiang Qi2017-06-221-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Qt Test] Added keySequence() function. Task-number: QTBUG-53381 Change-Id: Ib7c3f966fe607f00475ae74aaf070cb988d00141 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@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>