summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-09-247-96/+113
|\ | | | | | | Change-Id: Ic0dbddfa711905bc8e01aa6cbbdabf056a19587f
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-247-96/+113
| |\ | | | | | | | | | Change-Id: I9ec6345a38ada55219f3cdfb6bd0d6e9169fe880
| | * Follow platform plugin change wrt layer sizeLaszlo Agocs2019-09-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have to set the drawableSize ourselves. This is not yet fully correct in the sense that does not ensure what the platform plugin patch tries to enable, namely atomic frames when it comes to the drawable size. Going to fix that up in separate patches, maybe it will need some QRhi API changes as well so won't mix that in here. Change-Id: I47a3816930bc6a87a2c96d4a6c4c85b2577147dc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Fix crash with gamma-corrected text blending disabledAllan Sandfeld Jensen2019-09-231-4/+10
| | | | | | | | | | | | | | | Change-Id: I7e3ca78278bf8bf2dda44711eb57d64aa6f455ce Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-09-231-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qstylesheetstyle.cpp Change-Id: If11da7799075cc2d5768da5603c5fc46773c4eae
| | | * QPainter: Avoid leaking memory on unbalanced save/restoreEirik Aavitsland2019-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a QPainter ended without all saved states having been restored, the state stack would leak memory. Fixes: QTBUG-77843 Change-Id: I760904d6391de24a4867be54fa1bebf76be14ba7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * | Handle transparent pen color in fast text pathAllan Sandfeld Jensen2019-09-224-94/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switches the text blending to be SourceOver as that is much more common than Source, and means we can now handle semi-transparent text colors there. Task-number: QTBUG-72165 Change-Id: I7b3aedb22412e6fb6f60197596b37f26c6008784 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * | Add QQuickMultiPointTouchArea as a friend of QTouchEventv5.14.0-alpha1Shawn Rutledge2019-09-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickMultiPointTouchArea needs to understand whether a stationary touchpoint has relevant property changes, to decide whether to emit its updated() signal. Amends 217dd1b3b03cd40b4bb926631464c684f7f84a69 Task-number: QTBUG-77142 Change-Id: I85e031820bef9d687369b7d67a57c67fe2875b4b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-09-2211-30/+93
|\| | | | | | | | | | | | | | | Change-Id: Ic274a375d6fc1312ced2354e034dc0980dd47c51
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-212-11/+17
| |\| | | | | | | | | | | | | | Change-Id: Ib615dbfd783c5a3cf0f130ff82965382ce5cfb5a
| | * | Merge remote-tracking branch 'origin/5.13' into 5.14Joerg Bornemann2019-09-202-11/+17
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/makefile.h Change-Id: I4c2deac4f6376c85f5e4fe7fb0ccc9ab9a013cd7
| | | * Fix passing FREETYPE_LIBS and friends to configureJoerg Bornemann2019-09-181-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On systems where the pkg-config source fails, configure falls back to a library source of the type 'freetype'. This ignored variables like FREETYPE_LIBS users can pass to configure. The qtConfLibrary_freetype function now diverts to qtConfLibrary_inline which handles all those variables. Change-Id: Icef70deb130ce6d2de1520af4344ccccd677f287 Fixes: QTBUG-77643 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * Fix qtConfLibrary_freetype's include pathsJoerg Bornemann2019-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The variable QMAKE_DEFAULT_INCDIRS was misspelled, which means we never really looked for freetype in the default paths. Change-Id: I20c35a783505678169ecb642927f74b339e55b68 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * QHighDPI: Fix wrong conversion for native child windowsFriedemann Kleint2019-09-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not try to find a screen for native child coordinates. Fixes: QTBUG-78158 Change-Id: I78ba814929f4db3dfd7dd43c09f7c7642222f4fb Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-197-18/+53
| |\| | | | | | | | | | | | | | Change-Id: I46ec05ade1c84e61f7f45562a218aa9ff55e2975
| | * | Another load() -> loadRelaxed()Laszlo Agocs2019-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iab74325da3bd0a22c1f69856b038d0b5615e4e63 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | Add back QWheelEvent position() and globalPosition() docsShawn Rutledge2019-09-171-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 7d29807296cb7ccc7f3459e106d74f93a321c493 removed the docs for the obsolete pos() and globalPos() accessors, but the text should have been reused to document their replacements. Change-Id: If4d64e0f07666a99d9a0a4f0de9fca42d3acf0f8 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| | * | Mark stationary touch points as updated if pressure or velocity changesShawn Rutledge2019-09-173-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to inform Qt Quick when a stationary touchpoint is delivered that it is because of a changed property. Qt Quick still needs to avoid delivering item-customized events (with only the touch points that occur inside the item) that contain only stationary touch points without changed properties. To be able to check this private flag, QQuickPointerTouchEvent needs to be a friend. Task-number: QTBUG-77142 Change-Id: I6ee0dffbbeca9e513c77227b757252e2eec6a4ef Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * | QTextDocument: Fix device scaling for QTextFrameFormat margins, padding and ↵Nils Jeisecke2019-09-172-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | border Those values must be scaled to device coordinates - otherwise borders, margins etc. will be too small when rendered on high dpi devices (printers etc.). This change will add the scaling to those values. QTextDocument::print applies 2cm margins to the root frame of a unpaginated QTextDocument. Those margins were previously scaled to device coordinates in order to give the correct result. But because scaling is now done inside QTextDocumentLayout that scaling must be removed and pixel values based on qt_defaultDpi are provided instead. Fixes: QTBUG-78318 Change-Id: I6fe6dcc25f846341f6a2fe5df2f54baea473fdfd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | Add QScreen::virtualSiblingAt() and use it in QMenubarPrivate::popupActionShawn Rutledge2019-09-193-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QGuiApplication::screenAt() is documented "If the point maps to more than one set of virtual siblings, the first match is returned." But in many cases it's possible to start from a known screen and consider only its siblings, as when deciding where to open a QMenu from a QMenuBar: the QMenuBar is already shown on some screen(s), so the QMenu must be shown on a sibling from that set. This function should be useful in other such cases too, hence it might as well be public API. Task-number: QTBUG-76162 Change-Id: I83c74b40eb53f56fb285a6074a3dc2c0ea9c570b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | Merge remote-tracking branch 'origin/wip/qt6' into devSimon Hausmann2019-09-1813-1290/+27
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpicture.cpp Change-Id: Iecf79f96f54dc23bd703e6c4c634f909b796d7b3
| * | | Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-09-0484-972/+4367
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I54741635460bb2d8f3fd0be535ee1968d6c442bb
| | * \ \ Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-09-035-53/+85
| | |\ \ \ | | | | | | | | | | | | | | | | | | Change-Id: I10ca9b20c26838800c654103951367a36af3ee30
| | * \ \ \ Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-08-2914-222/+608
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Change-Id: I63a9a4a77ff260d7fc5434d13a5932055a4fb640
| | * \ \ \ \ Merge remote-tracking branch 'origin/5.14' into devQt Forward Merge Bot2019-08-2820-122/+534
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icb486cf8f31ec85d940b2179e8d023fbbc7fd3fa
| * | | | | | | QNativeGestureEvent: clean up for Qt 6Marc Mutz2019-08-222-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the touch device a member instead of holding it in a static QHash, indexed by event address. Change-Id: I21588ede2ebdde70eea2844ded2fb880700b92fb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | | | | | Kill all QPictureIOAllan Sandfeld Jensen2019-08-126-1192/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Has been deprecated for a long time. Change-Id: I4579e3c2997c649f0fa66b9cdbcf8e7fc6d661a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | | | | | Fix crash when no plugins are specifiedLeander Beernaert2019-08-121-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case that no plugins are specified, the above code would assert since we are not checking whether there is a value in the variable name. Change-Id: Ia5922a6936aff179ca19fdd10e335133cd30daf4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | | | | | | Merge remote-tracking branch 'origin/dev' into wip/qt6Lars Knoll2019-08-0650-742/+1725
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib719a6249069e6bd6c9311bbec7f364855ab82ff
| * \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-07-0839-230/+532
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I02cbc4f77a82100b96cdb90c160ce0207f180d7f
| * \ \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/dev' into wip/qt6Simon Hausmann2019-06-26114-778/+32151
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I4ea2b77cc201daed94fbe321f146dfd20365a534
| * | | | | | | | | | Remove binary compat qimage methodsAllan Sandfeld Jensen2019-06-193-78/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic8f1bd6c13468e9a19ff11a23d4b0c29afbcded4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | | | | | | | | Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-06-1117-24/+156
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ieb8efee9d74229b9f141ec715e3a9557586b51e8
| * \ \ \ \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-06-0659-403/+757
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iac12a37fa6536ebe30e6548f7c54ec0c402c9f5d
| * | | | | | | | | | | | Bump version to Qt 6Lars Knoll2019-05-142-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed to disable QT_NO_UNSHARABLE_CONTAINERS, as this triggers asserts. QMetaType also has some Qt 6 specific code disabled to get things to compile. Fix various details in autotests to accommodate for the changes with Qt 6. Add a workaround for black lists on macos, where QSysInfo::productType() now returns 'macos' and not 'osx' anymore. Change-Id: Ie26afb12a2aac36521472715934a7e34639ea4d0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | | | | | | | | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-1628-580/+1107
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie24be82ee70bf103c2664de1a42741979262b10c
| * | | | | | | | | | | | QDpi: divide the forced DPI by the scaling factor, as Qt 5.13 didDavid Faure2019-09-131-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting a DPI in xrdb, it should have the same effect on apps that enable scaling and apps that don't (including Qt4 and GTK applications). That's what happened in Qt 5.13, while the recent changes removed that division, and as a result the fonts were huge in Qt5 apps compared to Qt4/GTK/kwin/plasmashell/krunner (which don't scale, but do honor the font DPI). Change-Id: Icd7be2d15a9b50982ae624e41bd9e546f315d58b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | | | | | | | | | | | rhi: gl: Pick up context lossLaszlo Agocs2019-09-1313-31/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and change the return value of makeThreadLocalNativeContextCurrent() to a bool since we expect this to mirror QOpenGLContext::makeCurrent(). Change-Id: I339507152e461fe28fcf7fe777165e6d0072f055 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: metal: Configure the layer's opaque property as appropriateLaszlo Agocs2019-09-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-78089 Change-Id: I6cd95e24d38562cf1931c107bb6b719e340583a8 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: Add a flag to indicate preferring a software adapterLaszlo Agocs2019-09-124-4/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...if there is one and the concept is applicable in the first place. Change-Id: Iab202c1c1cdd229f4910159de4cae7ce30805ea9 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: vulkan: Report device lostLaszlo Agocs2019-09-122-30/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Typically caught in vkQueueSubmit(). The WaitIdles that can be hit upon cleanup must be guarded by !deviceLost because they inexplicably cause an infinite blocking wait when the device was already reported as lost. (with NVIDIA at least) Change-Id: I7142e2461e1aed9ee3068b2b963cdf2c678ca4e0 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: Better handling of device lossLaszlo Agocs2019-09-1213-3/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with D3D11. The other backends will follow later. Change-Id: I4f165c9f1743df0fb00bdce1e898917575bf5f6e Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: Clarify the swapchain alpha flag docsLaszlo Agocs2019-09-121-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iff0edf0ae40b830af0209403d899def922e6088c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: gl: Avoid crash when reading back the swapchain backbufferLaszlo Agocs2019-09-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9a632c06d8b9e666d99d0f135d3396d2de03f92a Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: d3d11: Fix enabling alpha compositingLaszlo Agocs2019-09-121-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-78089 Change-Id: I4e33665947debe007abcb976641e515224fa8451 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | rhi: Make the clang code model happy as much as we canLaszlo Agocs2019-09-127-464/+470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When interfacing with reality (i.e. native platform APIs provided in C, ObjC, or COM), each of the APIs has its own idea of what types it likes to use for sizes, points, rects, etc. Out of the hundreds of warnings Qt Creator throws at us with the default clang check level when opening one of the rhi backends not a single one is useful. Regardless, let's try getting rid of what we can. This mostly involves throwing in int/uint conversions in order to get the signedness change warnings to shut up. The things that are either unacceptable to change or are beyond our control are left untouched. Change-Id: I6e4cb7cd373bf48dc990eaf83344242bbf30bd66 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | Simplify QColorSpacePrivate initializationTor Arne Vestbø2019-09-124-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QColorVector and QColorMatrix are default-constructed following the Qt philosophy of types always being well-defined. The corner-case where we need uninitialized versions of these types for performance reasons is handled explicitly. Change-Id: I629334d1ffc63563ec9fd1298c623946e0799d1d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | | | | | | | | | | rhi: d3d11: Add the device lost testing machineryLaszlo Agocs2019-09-125-1/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The device can be lost when physically removing the graphics adapter, disabling the driver (Device Manager), upgrading/uninstalling the graphics driver, and when it is reset due to an error. Some of these can (and should) be tested manually, but the last one has a convenient, programmatic way of triggering: by triggering the timeout detection and recovery (TDR) of WDDM. A compute shader with an infinite loop should trigger this after 2 seconds by default. All tests in tests/manual/rhi can now be started with a --curse <count> argument where <count> specifies the number of frames to render before breaking the device. Qt Quick will get an environment variable with similar semantics in a separate patch. Change-Id: I4b6f8d977a15b5b89d686b3973965df6435810ae Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | | | | | | | | | | QtGui: replace some QMutexLockers with (new) qt_{scoped,unique}_lock()Marc Mutz2019-09-125-17/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QImageReader, also replace a QMutex with a QBasicMutex, making the code similar to the corresponding code in QPicture. Change-Id: Ia1cd546eccd3662837762e506235e350b7a08647 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | | | | | | | | | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-09-1119-157/+336
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie69d40d2efc5559b31e28ba71f88e3cda741e051