summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Sync behavior and documentation of QFoo::setItemDelegate()Christian Ehrlicher2020-01-243-1/+9
| | | | | | | | | | | | | | | | QComboBox::setItemDelegate() does delete the old delegate which is in constrast to all other setItemDelegate() functions which is quite confusing. Sync in by *not* deleting the delegate in QComboBox::setItemDelegate() and adjust the documentation to explicitly state that the ownership is *not* passed to the affected classes. [ChangeLog][QtWidgets][QComboBox] QComobBox::setItemDelegates no longer deletes the previous delegate set. Fixes: QTBUG-72483 Change-Id: I89c8e53903e7c9924a980c57b83ce40f5866e6ae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Make QMatrix4x4::projectedRotate publicSimon Hausmann2020-01-241-4/+1
| | | | | | | | | | | | | | | | | The function is used by QGraphicsRotation, which is in widgets. QGraphicsRotation is marked as a friend, so that it can access the private method. QtQuick needs access to the same method, so internally it declares a "fake" QGraphicsRotation class, just so that it can private access. This breaks now that QtQuick needs to do QT += opengl, which implies widgets and thus ends up including the header file that also declares QGraphicsRotation. So instead of these hacks, let's make the function public, but remain \internal in terms of docs. Change-Id: I671f68c9d7ab0aac985e0b583f63f3ee962567dc Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move QOpenGLTexture and related classes from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-01-2416-25/+31
| | | | | | | Task-number: QTBUG-74409 Change-Id: Ied825dd7cb92365505a4aa43fd67488024160341 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Handle wide images in raster engineAllan Sandfeld Jensen2020-01-221-4/+4
| | | | | | | | | | | QImages internally use a qsizetype bytes_per_line, so should QRasterBuffer, even if this won't be relevant until Qt 6. Task-number: QTBUG-73731 Fixes: QTBUG-75082 Change-Id: Id296795d54f3ff36c48c1ebae0594a72b8e33b52 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Move QOpenGLPaintEngine and related classes from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-01-2227-80/+77
| | | | | | | | | Also moves the openglwindow test to the opengl folder, as it makes use of these classes. Task-number: QTBUG-74409 Change-Id: Id9f0013cedcc8bd1e87122c005641d7298525045 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove QOpenGLTextureHelper dependency from QOpenGLContextJohan Klokkhammer Helsing2020-01-204-6/+10
| | | | | | | | It's now just a pointer to a forward declared class Task-number: QTBUG-74409 Change-Id: I34df385154dcff2bbba2f6318825ab5258fa6695 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-01-1927-298/+408
|\ | | | | | | Change-Id: I68702c9f9680772d332b5bb777ddd2663168abd5
| * Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-01-1821-96/+133
| |\
| | * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-1821-96/+133
| | |\ | | | | | | | | | | | | Change-Id: I12148e7b20bcdb72d9b328035d528c99633b1e92
| | | * Doc: Update text that refers to deprecated member function width()Paul Wicking2020-01-171-33/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add see also links from the deprecated function to the replacement. * Change introduction text to reflect new function name rather than the old and deprecated width(). * Change see also and inline references to width(), so that they now refer to horizontalAdvance(). Task-number: QTBUG-65141 Change-Id: Iadfbc517e5df96e32058516f8795bd210cc4c5e4 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | | * Doc: Display correct include for QWindowsWindowFunctionsPaul Wicking2020-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-55412 Change-Id: I3a38fa26911b1c151af9f0b47f1be602058aa4af Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | | * Doc: Fix qdoc compilation errors qtbaseNico Vertriest2020-01-1713-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-79824 Change-Id: I5a39525e3e735415ba96e2d585c5de754deb15de Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | | * Remove unused parameters from default-synthesized membersVolker Hilsheimer2020-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build error with gcc when compiled with -Werror=unused-parameters. Change-Id: I12c3ecb30f489986b112f9736caec40aa50c7283 Fixes: QTBUG-81465 Reviewed-by: Liang Qi <liang.qi@qt.io>
| | | * QColor: add casts to ushortGiuseppe D'Angelo2020-01-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silence lossy conversion warnings on MSVC. Task-number: QTBUG-80997 Change-Id: I0e5778b9f20b599de6fc8894c4b98fbc1b1510b9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | | * Doc: Fix ButtonRole enum docs for QMessageBox and QDialogButtonBoxTopi Reinio2020-01-172-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiple topic commands (in this case, \enum) do not work across different classes. Reuse the documentation comment via an \include statement instead. Fixes: QTBUG-78910 Change-Id: Ife83bdc9bbad650835fafc072180d10037648d0a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | | * Fix MS-Win system locale code to return QString for numeric tokensEdward Welbourne2020-01-161-35/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSystemLocale::query() is specified to return a QString (wrapped in a QVariant) for the various tokens used in formatting numbers (zero digit, signs, separators) but the MS-Win back-end was returning QChar (wrapped as QVariant) instead, using the first UCS-2 code-point of the string (even if this was the first of a surrogate pair). The same error shall be perpetrated by its caller, but we can at least DTRT in the back-end, ready for the coming fix (in Qt 6) to its caller. In the process, eliminate some local variables that shadowed a member variable and adapt number-conversion to cope with surrogate-pair digits. Optimised the latter for the case where zero is "0". Change-Id: Idfb416c301add4c961dde613b3dc28b2e31fd0af Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QRegularExpression: fixup docs of wildcardToRegularExpressionGiuseppe D'Angelo2020-01-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a couple of typos, and add a paragraph explaining that there is no need of anchor the pattern again; a wildcard is always anchored. Fixes: QTBUG-81396 Change-Id: Ia67dc7477a05a450bdcc3def1ebbacce2006da4d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QMap: deprecate insertMulti, unite and friendsMårten Nordheim2020-01-172-184/+262
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | insertMulti and unite will silently transform a QMap into a multi-map which is not behavior we want to keep around anymore and as such is being deprecated. QMap functions that only make sense in a multi-map scenario are also deprecated and the implementation is moved to QMultiMap where it makes sense. Use QMultiMap if multiple keys are desired and insert(const QMap &) if a non multi-map-converting unite is desired. [ChangeLog][QtCore][QMap] insertMulti(), unite(), values(Key), uniqueKeys(), count(Key) is now deprecated. Please use QMultiMap instead. Task-number: QTBUG-35544 Change-Id: I158c938ceefb5aaba0e6e7513b2c26a64d29d521 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Do not anchor an already-anchored regexpGiuseppe D'Angelo2020-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wildcardToRegularExpression() returns an anchored regexp, so it is pointless to anchor it again. Change-Id: If470179d63ae7ca2e7f137c0f403ec5bb5be8aaf Task-number: QTBUG-81396 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * | QNetworkAccessManager: Avoid unnecessary calls to sender()Mårten Nordheim2020-01-163-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | As it searches through all connections, of which we have multiple for each network reply. Fixes: QTBUG-81336 Change-Id: Iba28278edae5f254bf884f427e0944d348b47d03 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-01-1733-475/+548
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-01-1633-475/+548
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qshortcut.cpp tests/auto/network/access/spdy/tst_spdy.cpp Change-Id: If76c434beac2c0a393440aa365f89f77439774ce
| | * | QResource: Add API to get the decompressed contentThiago Macieira2020-01-152-63/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QResource] Added uncompressedSize() and uncompressedData(), which will perform any required decompression on the data, prior to returning (unlike data() and size()). Change-Id: Ief874765cd7b43798de3fffd15aa053bc505dcb1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * | QHostInfo: Remove useless codeMårten Nordheim2020-01-153-42/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code has not been doing anything interesting since symbian times Change-Id: If652c75b85e20f631edc4f946aacdee479a19212 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-1529-371/+384
| | |\ \ | | | |/ | | | | | | | | Change-Id: I8dbcf23835d52d3aa7d018ed250814d60c68aa83
| | | * Doc: Correct non-link related qdoc compilation errorsNico Vertriest2020-01-149-12/+23
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-79824 Change-Id: I94dc566c9fb11bc8c598c0d5c043b6f388ebdc80 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | | * macOS: Move palette setup into platform themeTor Arne Vestbø2020-01-144-302/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The theme was the only client, so there's no point in keeping it separate from its only call site. Change-Id: I4783c5db6975ad2daaede704ab5855c57f190344 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * uic/Python: Fix missing QCursor importFriedemann Kleint2020-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: PYSIDE-1182 Change-Id: I1ccc524a152ea75508166f3d2c0c60f8d829cd8f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| | | * Do fewer calendrical calculations in QDateTimeParser::setDigit()Edward Welbourne2020-01-141-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was calling a QDate's year(), month() and day() methods, each of which repeats most of the same calendrical calculations; and the same results can be obtained from the calendar's partsFromDate() all in one go. This also reduces the number of local variables needed. Change-Id: I8f84e66a5f677f55cb2113c56ebbdf7c2517e828 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Windows QPA: Fix co-existence of several Qt versions in an applicationFriedemann Kleint2020-01-141-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change qtbase/ef54abae43db79792b40dfdca30ac0fa1b582354 added a new dummy message window for power notification. This causes the static class name conflict check to assume there is no conflict since it does not exist in previous Qt versions. Change it to perform the for each class name. Fixes: QTBUG-81347 Change-Id: I290806d021ac7de130a41e996d03b8fb4eb2c437 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * Windows QPA: Fix message box and other system soundsFriedemann Kleint2020-01-141-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-add the code hooking into QWindowsUiaAccessibility::notifyAccessibilityUpdate() which was removed by 0cf6297c15be45d852be98c862bd0211e6de1aa2. Fixes: QTBUG-81342 Change-Id: Ie97d7cca5b774196d53b675c92d84f4ce208f987 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * uic: add customwidget imports support for pythonCristián Maureira-Fredes2020-01-141-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-81073 Change-Id: I29659481b14927ffcb8f2cb1829b577a67e4b937 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * Doc: Add note about mac-specific behavior for setWindowIconPaul Wicking2020-01-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-74985 Change-Id: I7379865ab9564301c1e636ba1fda40cbb9e04c61 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | * QScrollBar: allow scrolling any scrollbar with any mouse wheelChristian Ehrlicher2020-01-131-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most common mouse wheel movement corresponds to angleDelta().y(). We have previously allowed the user to use either wheel to scroll either a horizontal or a vertical scrollbar when the mouse is hovering over it; but 7d29807296cb7ccc7f3459e106d74f93a321c493 changed it so that the vertical mouse wheel could no longer scroll a horizontal scrollbar. The behavior is now restored as it was in 59cc316620a2169d48e00822c97a96bd03079eed. Task-number: QTBUG-81007 Change-Id: Ieacdce539d5311499a86af645bbe0d5098e16be6 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * Doc: Don't document QTextStreamManipulatorPaul Wicking2020-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-81002 Change-Id: Ic7d0516a25a8a6e63e1a305ca87498948d41013c Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | | * doc: explain QWheelEvent::angleDelta() more thoroughlyShawn Rutledge2020-01-131-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been a QPoint for a long time now, to support both the usual vertical mouse wheel and also the wheel tilt for horizontal scrolling, or the actual horizontal wheel if the mouse has one, or the simulation of a horizontal wheel via touchpad gestures; but the docs continued to read as if it was just one value. Task-number: QTBUG-71575 Change-Id: I3efa686ace4f09c7f237f72bf0500fbfbd3213cb Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | * ICC compile-fix for __builtin_add_overflow()'s parameter typeEdward Welbourne2020-01-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on Glen Johnson's patch, but rearranged to avoid repetition. Fixes: QTBUG-81248 Change-Id: I9c23ab233ebd5514bc05fd155999597ada7295ef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * qglobal.h: remove non-ASCII quotes from commentThiago Macieira2020-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because MSVC warns. Added by me on commit. c496fee2a5b65fd1b0672923293db058486e350e Fixes: QTBUG-81310 Change-Id: I596aec77785a4e4e84d5fffd15e93a8e367e035e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Remove empty block at beginning of imported markdownRainer Keller2020-01-131-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An empty QTextDocument already contains a block; so when the formatting is fully determined, if the document is still empty, then instead of inserting a new block, we can set formatting on the cursor, which affects the pre-existing block, before inserting text. This avoids leaving a blank line (the default block) above the inserted content. Fixes: QTBUG-81060 Change-Id: I14e45e300a602493aa59680417d74d4c2b25862d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * wasm: do not get canvas as property of js global objectAlexandra Cherdantseva2020-01-135-12/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You cannot be sure that property with specified key in a global object is really a canvas. Should use `document.getElementById`. Change-Id: Ife55adaad5517aed64122b0c9bff32489cf19a2f Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | | | QPalette: fix function swap and move operatorVitaly Fanaskov2020-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional data should also be taken into account when using move operator and function swap. This is already implemented for move constructor. Task-number: QTBUG-78544 Change-Id: I24ba34b0957a8fba7e15a934f2d08222dc95650f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Introduce Q_MOC_INCLUDEOlivier Goffart2020-01-177-7/+60
|/ / / | | | | | | | | | | | | | | | | | | | | | A new macro that can be added in the header file parsed by moc to tell moc to include that file in the generated file Change-Id: I03ad702c3fcd8380371015f226ee4b7456daf132 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Move QOpenGLWindow from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-01-154-10/+10
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-74409 Change-Id: If7d27cdfa2c6cd5b167887ad77b9cfe413cb106a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-01-1527-248/+837
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | Conflicts: tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/network/access/spdy/tst_spdy.cpp Change-Id: I3196c5f7b34f2ffc9ef1e690d02d5b9bb3270a74
| * | Fix -Wdeprecated-copy warningOlivier Goffart2020-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | QDBusReply has an user-specified operator= but no copy constructor. Change-Id: If7fcec3193af375f1bf2dd913d82548d6e035b48 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Uncomment erroneously commented 'error'Timur Pocheptsov2020-01-142-3/+1
| | | | | | | | | | | | | | | | | | | | | It was meant to be deprecated in 5.15, not deleted (yet). Change-Id: I6e3772d6c1d12dc060c1f540e55e756566db22e6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * | Unify application palette handling between QGuiApplication and QApplicationTor Arne Vestbø2020-01-136-195/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic is now mostly handled in QGuiApplication, with QApplication only dealing with the widget-specific palettes and interaction between the style and the palette. The application now picks up changes to the platform theme and will re-resolve the current application palette appropriately. This also works even if an explicit application palette has been set, in which case any missing roles are filled in by the theme. The palette can now also be reset back to the default application palette that's fully based on the theme, by passing in the default constructed palette (or any palette that doesn't have any roles set). This is also correctly reflected in the Qt::AA_SetPalette attribute. Conceptually this means QGuiApplication and QApplication follow the same behavior as QWidget, where the palette falls back to a base or inherited palette for roles that are not set, in this case the theme. Behavior-wise this means that the default application palette of the application does not have any roles set, but clients should not have relied on this, nor does QWidget rely on that internally. It also means that setting a palette on the application and then getting it back again will not produce the same palette as set, since the palette was resolved against the theme in the meantime. This is the same behavior as for QWidget, and although it's a behavior change it's one towards a more sane behavior, so we accept it. [ChangeLog] Application palettes are now resolved against the platform's theme palette, the same way widget palettes are resolved against their parents, and the application palette. This means the application palette reflected through QGuiApplication::palette() may not be exactly the same palette as set via QGuiApplication::setPalette(). Change-Id: I76b99fcd27285e564899548349aa2a5713e5965d Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Move away from CBOR in QShaderDescription serializationLaszlo Agocs2020-01-135-5/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...but keep support for deserializing for all older versions in order to play nice with existing .qsb files. The usage of binary JSON and then CBOR is a historical artifact: relying on the QJsonDocument (which we generate for purposes unrelated to binary serialization) was a convenient shortcut. However, writing to and reading from a QDataStream instead (which QShader already does) is trivial. In order not to be limited by potential CBOR requirements in the future, take it all into our own hands. Extend the qshader autotest accordingly. Task-number: QTBUG-81298 Change-Id: If0047b659bd6601ca47b5bbbce1b719630cde01e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | rhi: gl: vulkan: Generate barriers between dispatches in a compute passLaszlo Agocs2020-01-134-18/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new float16texture_with_compute manual test demonstrates a case that was not handled correctly before: multiple dispatch() calls in a row storing to and then loading from the same subresource(s). Without the appropriate barriers subtle data corruption issues appear. For Vulkan this also adds better batching for image/buffer barriers when using deferred recording. Also, for OpenGL this fixes the case of updating a buffer or rendering into a texture and then using it for load/store in a compute pass (previously this also lacked an appropriate glMemoryBarrier). Task-number: QTBUG-81217 Change-Id: I7970c445564473f9452662f4b1a20618cb8627a3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | rhi: gl: Do not issue glMemoryBarrier when compute is not supportedLaszlo Agocs2020-01-131-2/+3
| | | | | | | | | | | | | | | | | | | | | Avoid crashing in a < GLES 3.1 and < GL 4.3 contexts. Change-Id: I0f713a527890ec209c967ebb6c5bb3baa77d9a31 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>