summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Fix define indentation in qopengl.hTor Arne Vestbø2020-07-011-5/+5
| | | | | Change-Id: I7894fcadf1a0abecbd8206abae1b035c823d52c4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Let QScreen::grabWindow's winId parameter default to 0 and add testVolker Hilsheimer2020-07-012-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The platform plugins are implemented to grab the entire screen if no window ID is provided. They do not grab the entire virtual screen, just the screen the method is called on. On macOS, the implementation ignored the window parameter, and always grabbed the entire virtual screen. This change fixes the cocoa implementation. The test passes in local tests (with two displays with different dpr). Since grabbing a screen returns an image with managed colors, we need to convert it to sRGB color spec first, otherwise displaying a grabbed image will produce different results. This will need to be changed once Qt supports a fully color managed flow. The test does not cover the case where a window spans multiple displays, since this is generally not supported at least on macOS. The code that exists in QCocoaScreen to handle that case is untested, but with the exception of the optimization it is also unchanged. Done-with: Morten Sørvig <morten.sorvig@qt.io> Change-Id: I8ac1233e56d559230ff9e10111abfb6227431e8c Fixes: QTBUG-84876 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Make QDebug operator<< polymorphic for QPointingDeviceShawn Rutledge2020-07-013-1/+8
| | | | | | | | | At least it will look polymorphic by doing dispatch internally. Adding pointingDeviceType avoids the need for qobject_cast, and will probably also be useful in other contexts. Change-Id: I3b6d13765bdf3add9a8208de6f0e98018e40cc42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move the EDID parser into QtGuiFriedemann Kleint2020-07-016-0/+2572
| | | | | | | | | As a drive by, fix recursive inclusion in qxcbscreen.h. Task-number: QTBUG-83255 Change-Id: Ia008921b559ef450c07aa17ca554c6b35e0a88bd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QRgba: code tidiesGiuseppe D'Angelo2020-06-301-1/+1
| | | | | | | Fix the signature of an assignment operator. Change-Id: I125c0129bb2607e5d8beb932da843a0393f2cfeb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Switch to qvla where it makes sense in rhiLaszlo Agocs2020-06-308-39/+43
| | | | | | | | | For all of these we know in advance that the vast majority of usages will not exceed a certain number of elements. Also, none of these are copied or moved ever. Change-Id: I48aedf143e221dc178d661e23454d1e4fb7a271b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix formatting in QDebug operator<< for QPointingDeviceShawn Rutledge2020-06-301-1/+1
| | | | | | | | It was missing some spaces. Now looks like QPointingDevice("Wacom Intuos3 6x8 Pen stylus", type=Stylus, id=b, seat=30002, pointerType=Pen, capabilities=Position|Pressure|MouseEmulation|Hover|XTilt|YTilt, maximumTouchPoints=1, uniqueId=4c00079) Change-Id: I4a8203a2a5ee1f8c5c53a6a85b40ec1d25a3c2c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Update docs with cmake package informationNico Vertriest2020-06-301-0/+1
| | | | | | Task-number: QTBUG-85179 Change-Id: I70dda9b906ecd0b8d8f4d88b0562af8e6c428143 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix QShortcutMap::createNewSequences debug loggingTor Arne Vestbø2020-06-301-10/+2
| | | | | | | | We don't need to include the possible keys in the log output as that's handled by the call site in QShortcutMap::find. Change-Id: Ie0635f63a4304fde40a8b671385518dd1e42e2dc Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Use QList instead of QVector in guiJarek Kobus2020-06-2978-410/+420
| | | | | | | | Applied to headers only. Source file to be changed separately. Task-number: QTBUG-84469 Change-Id: Ic08a899321eaffc46b8461aaee3dbaa4d2c727a9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* CMake: Create a Find module wrapper for OpenGLAlexandru Croitor2020-06-293-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | Our .prl files embedded an absolute path to the OpenGL.tbd file. This obviously breaks their usage when used on another machine when no SDK exists. To fix that we need to use a "-framework OpenGL" linker flag instead of linking against the absolute path library. To convince CMake to do that, we have to create a wrapping OpenGL target which sets an appropriate INTERFACE_LINK_LIBRARIES property. So create a FindWrapOpenGL find module to do that on darwin platforms. Adjust helper.py and our build system to use it. This tangentially amends 38cd18384f6198c5bc3ea1da9ffc0158e960a778 because it recreates the FindWrapOpenGL module, but for a different purpose. Task-number: QTBUG-85240 Task-number: QTBUG-84781 Change-Id: I3498c19157ae31db5099e6edfb9d71490187f1d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QImageIO: use the new allocation checker in the format handlersEirik Aavitsland2020-06-265-77/+34
| | | | | | Change-Id: I604d99ce476d4758a1e20b78257082911f1f1546 Task-number: QTBUG-85037 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Introduce a settable allocation limit on image loadingEirik Aavitsland2020-06-264-1/+80
| | | | | | | | | | [ChangeLog][QtGui][QImageReader] Introduced a settable allocation limit on image loading to limit resource usage from corrupt image files. Change-Id: Ibed7b0cac32798125a060e6db80b17ebc5e70759 Task-number: QTBUG-85037 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix up QVulkanWindow docsLaszlo Agocs2020-06-261-0/+14
| | | | | | Pick-to: 5.15 Change-Id: I5a37a57245b8d859adf02810d3954e7532e4a475 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* rhi: Enable specifying just an adapter or phys devLaszlo Agocs2020-06-268-71/+153
| | | | | | | | | Required by OpenXR. A VkPhysicalDevice or an adapter LUID + feature level pair should be adoptable while leaving the rest (device, queue, etc. setup) to QRhi as normal. Change-Id: Iada0972671b037b4efb03e7831b7c9b8c5f2393d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make qdoc generate usable docs for QVulkanInstanceLaszlo Agocs2020-06-251-0/+4
| | | | | | | | | | | It is not just that the unknown native types (e.g. VkInstance) lead to showing the type as 'int' in some functions, the bigger problem was that a number of functions were not present in the generated documentation at all. Pick-to: 5.15 Change-Id: Id71fe20c3a70a8d3b75bbc693a2a7ee94bb74642 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Avoid converting supersized QRectF to QRectAllan Sandfeld Jensen2020-06-251-3/+8
| | | | | | | | | | | Check that the sizes are even representable when checking if clipping is necessary. Fixes oss-fuzz 23630 Pick-to: 5.15 5.12 Change-Id: I95d6873d28b0e4f47aae7666f7ee96b745dc997b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QPointingDevice: Parent the default mouse to QCoreApplicationUlf Hermann2020-06-241-1/+2
| | | | | | | Otherwise it will leak. Change-Id: I1c522dace0139dac3e626399963f58c56f052aba Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Prospective fix for trying to build FontConfig on WindowsFriedemann Kleint2020-06-223-3/+7
| | | | | | | | | | Strawberry Perl has been found to ship a libfontconfig. Change the exclusion to win32. Fixes: QTBUG-85184 Change-Id: Ic953ba3226c275a204720ff83161fba138eae0cb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Use global share context in QRhiGles2Jüri Valdmann2020-06-221-0/+4
| | | | | | | | Needed for using native textures in WebEngine. Task-number: QTBUG-78682 Change-Id: I8458b17767bb992357064d85f159781ea24e61dc Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Avoid Freetype synthesizing for large font sizesEirik Aavitsland2020-06-221-1/+1
| | | | | | | | | | Freetype's fake emboldening does not give good results for large font sizes. Pick-to: 5.15 Fixes: QTBUG-84570 Change-Id: I1a7722c1482e3450e5a549c31c9766d930fcd13a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove confusing comment in CoreText font engineEskil Abrahamsen Blomfeldt2020-06-221-1/+0
| | | | | | | | | | The comment says we don't need synthetic italic for oblique, but synthetic italic actually *is* oblique, since there is no way to synthesize italic. So just remove the comment as it is unclear what its purpose is. Change-Id: I72f727b958e817e376d73f6c001d410a5f55a152 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Enable access to the VAO resolvers through QOpenGLContextPrivateGiuseppe D'Angelo2020-06-222-0/+13
| | | | | | | | | | | | | | | | | | | This is a commit in preparation for an upcoming change in QtQuick. We want to store the resolved functions for managing VAOs somewhere; the "least worst" choice is next to the all other function resolvers, which are in QOpenGLContext(Private). To avoid moving the VAO resolvers themselves, leave a hook in QOGLCPrivate, similar to e.g. the texture function resolvers. The hook gets populated when the VAO resolvers for a given context are requested. This removes memory management burden from the users of those functions (again, just like other function resolvers), and makes the initialization of the functions automatic. Change-Id: I0eba30a85bf8ad82946a5d68e91009d8b4bd91cf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Replace "no devices registered" warnings with qCDebugShawn Rutledge2020-06-222-9/+12
| | | | | | | | | | The idea was to keep nagging us to update all the platform plugins to do device registration. But besides being annoying, it would cause test failures if we start adding QTest::ignoreMessage() all over, and then some platforms start doing device registration properly. Change-Id: Ia0fbb64cf86f33532be032ec9eebe6e4ad607f20 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move UNIX themes into QtGuiFriedemann Kleint2020-06-2227-0/+4564
| | | | | | Task-number: QTBUG-83255 Change-Id: I9e3aecd8e172b60121f472c840eaf2a5538af438 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Move implementation of QVector/List back to qlist.hLars Knoll2020-06-204-6/+6
| | | | | | | | | | | | | And name the main class QList. That's also the one we document. This gives less porting pain for our users, and a lot less churn in our API, as we use QList in Qt 5 in 95% of our API. In addition, it gives more consistent naming with QStringList and QByteArrayList and disambiguates QList vs QVector(2|3|4)D. Fixes: QTBUG-84468 Change-Id: I3cba9d1d3179969d8bf9320b31be2230d021d1a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Only add file url if it references a local fileMichael Brüning2020-06-201-1/+2
| | | | | | | | | | | | Remote URLs were converted to local file urls and converted to relative paths, which led to bugs when copying URLs from e.g. the web sites and pasting them into the command line. Original patch by Allan Sandfeld Jensen. Task-number: QTBUG-80243 Change-Id: I2cd41635b34b2ead424441719795705ef19d37f2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move QTextCodec support out of QtCoreKarsten Heimrich2020-06-201-5/+0
| | | | | | | | | | * Assume UTF-8 on all Unix like systems * Export some functions to be able to compile QTextCodec once moved to Qt5Compat. Task-number: QTBUG-75665 Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Port Q_STATIC_ASSERT(_X) to static_assertGiuseppe D'Angelo2020-06-1919-65/+65
| | | | | | | | | | | | | | | | | There is no reason for keep using our macro now that we have C++17. The macro itself is left in for the moment being, as well as its detection logic, because it's needed for C code (not everything supports C11 yet). A few more cleanups will arrive in the next few patches. Note that this is a mere search/replace; some places were using double braces to work around the presence of commas in a macro, no attempt has been done to fix those. tst_qglobal had just some minor changes to keep testing the macro. Change-Id: I1c1c397d9f3e63db3338842bf350c9069ea57639 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Don't return a touchscreen from QPointingDevice::primaryPointingDevice()Shawn Rutledge2020-06-191-14/+10
| | | | | | | | | | | This was causing some bogus failures in Qt Quick autotests. Existing APIs like QQuickWindow::mouseGrabberItem() are not really compatible with the idea of a mouse-less system; but perhaps we can revisit this later. Task-number: QTBUG-85114 Change-Id: Id1c2e5894e5cf13a79998aaea28d5f42fad920cf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add QPointingDevice argument to every QWSI input event handler functionShawn Rutledge2020-06-185-93/+197
| | | | | | | | | | | | | | | | | | | | | | We want every QInputEvent to carry a valid device pointer. It may be some time until all QPA plugins are sending it, but it's necessary to provide the functions for them to start doing that. We now try to maintain the same order of arguments to all the functions. handleTouchEvent(window, timestamp, device, the rest) was already there (except "device" has changed type now), and is used in a lot of platform plugins; so it seems easiest to let that set the precedent, and modify the rest to match. We do that by adding new functions; we can deprecate the older functions after it becomes clear that the new ones work well. However the handleGestureEvent functions have only ever been used in the cocoa plugin, so it's easy to change their argument order right now. Modify tst_qwindow::tabletEvents() to test new tablet event API. Task-number: QTBUG-46412 Change-Id: I1828b61183cf51f3a08774936156c6a91cfc9a12 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix build without features.highdpiscalingTasuku Suzuki2020-06-182-0/+24
| | | | | | Change-Id: I9fee7303d53be228546accbcdf29a63b52e3f625 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix the vertical alignment of images in a text documentDominik Holland2020-06-181-3/+16
| | | | | | | | | | | Try to align with the HTML standard as much as possible. AlignBottom is now really the bottom of the line (not the text). AlignMiddle is between AlignTop and AlignBottom. Change-Id: Ia067b96209c2ab0becbff99cf15bb8ab193ee2c6 Fixes: QTBUG-84981 Pick-to: 5.15 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add a way to disable syntethesized bold and italic supportKyu Man Lim2020-06-182-4/+4
| | | | | | | | | | | | Using the environment variables QT_NO_SYNTHESIZED_BOLD and QT_NO_SYNTHESIZED_ITALIC it is now possible to disable the support for synthesized bold and italic, which is used when the font doesn't support those variants. Change-Id: Ic1a6984858e1260f252662689705553073859df4 Task-number: QTBUG-83124 Pick-to: 5.15 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Move UNIX services into QtGuiFriedemann Kleint2020-06-185-0/+480
| | | | | | Task-number: QTBUG-83255 Change-Id: I95cd25c6e18ffb46955acc76d6cab551d1c8f5ae Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QtGui: Fix duplication of logging category lcQpaFontsFriedemann Kleint2020-06-186-8/+4
| | | | | | | | | Move it to qplatformfontdatabase.h. Amends 6be9830d865be32f224e15d13ddefd9c7e176553. Task-number: QTBUG-83255 Change-Id: I0a3807dc49128c8ddd1dfe7d725528c1a852950b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Cleanup float-equal warningsLars Knoll2020-06-176-18/+11
| | | | | | | | Consistently use the macro from qcompilerdetection.h instead of manually disabling the warning for three different compilers. Change-Id: Id59d30047c8a504e1082d7e47c02f4746fddf9d6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Disable float-equal warnings in QGenericMatrixLars Knoll2020-06-171-6/+6
| | | | | | | | | Those warnings can cause compile errors if someone instantiates the equality operator. Pick-to: 5.15 Change-Id: I95fab87a424b2d359a8f3e22134f9d3ff6219703 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Use dedicated function for chopping QByteArrayRobert Loehning2020-06-171-2/+1
| | | | | Change-Id: I03f5e782a3d5d63540db9a5fdd1d432e71b5eec5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtGui: Update CMakeLists.txt after adding QInputDeviceFriedemann Kleint2020-06-172-3/+4
| | | | | | | | | Run pro2cmake.py again, amending 6589f2ed0cf78c9b8a5bdffcdc458dc40a974c60. Change-Id: I27178f412bcf9d3731fbd06b4099ca4faec07a5c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Make QInputDevice::devices() return a QListShawn Rutledge2020-06-173-7/+7
| | | | | | | | | | | There was a decision to use QList consistently in public API, now that it's supposed to perform as well as QVector. Amends 6589f2ed0cf78c9b8a5bdffcdc458dc40a974c60 Task-number: QTBUG-46412 Task-number: QTBUG-72167 Change-Id: I30004792667ee0581a433409ac2e20ffc645e952 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Introduce QInputDevice hierarchy; replace QTouchDeviceShawn Rutledge2020-06-1617-664/+1293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have seen during the Qt 5 series that QMouseEvent::source() does not provide enough information: if it is synthesized, it could have come from any device for which mouse events are synthesized, not only from a touchscreen. By providing in every QInputEvent as complete information about the actual source device as possible, we will enable very fine-tuned behavior in the object that handles each event. Further, we would like to support multiple keyboards, pointing devices, and named groups of devices that are known as "seats" in Wayland. In Qt 5, QPA plugins registered each touchscreen as it was discovered. Now we extend this pattern to all input devices. This new requirement can be implemented gradually; for now, if a QTWSI input event is received wtihout a device pointer, a default "core" device will be created on-the-fly, and a warning emitted. In Qt 5, QTouchEvent::TouchPoint::id() was forced to be unique even when multiple devices were in use simultaneously. Now that each event identifies the device it came from, this hack is no longer needed. A stub of the new QPointerEvent is added; it will be developed further in subsequent patches. [ChangeLog][QtGui][QInputEvent] Every QInputEvent now carries a pointer to an instance of QInputDevice, or the subclass QPointingDevice in case of mouse, touch and tablet events. Each platform plugin is expected to create the device instances, register them, and provide valid pointers with all input events. If this is not done, warnings are emitted and default devices are created as necessary. When the device has accurate information, it provides the opportunity to fine-tune behavior depending on device type and capabilities: for example if a QMouseEvent is synthesized from a touchscreen, the recipient can see which touchscreen it came from. Each device also has a seatName to distinguish users on multi-user windowing systems. Touchpoint IDs are no longer unique on their own, but the combination of ID and device is. Fixes: QTBUG-46412 Fixes: QTBUG-72167 Task-number: QTBUG-69433 Task-number: QTBUG-52430 Change-Id: I933fb2b86182efa722037b7a33e404c5daf5292a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Windows font databases: Enable DirectWrite for cmakeFriedemann Kleint2020-06-157-97/+1333
| | | | | | | | | | | | | | | | - Remove the DirectWrite1,2 features. Windows 10 should have them, only MinGW is missing directwrite3. The feature directwrite now implies DirectWrite2. - Remove the custom defines. - Port over the configure tests from configure.json and add missing ones for DirectWrite(2), DirectWrite3 and Direct2D and Direct2D 1.1, fix the conditions and report them in the summary. Task-number: QTBUG-83255 Fixes: QTBUG-83931 Change-Id: I1fc68997adc715bd5c6d7ec457f58c46e1f81c6a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QFontDatabase: Guard against Null-dereference READRobert Loehning2020-06-151-1/+1
| | | | | | | Fixes: oss-fuzz-23112 Pick-to: 5.15 Change-Id: I06818d8642067cd510a513838e7851eb8b322aef Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Relax tst_qvulkan::vulkanVersionRequest to make it compatible with 1.1Laszlo Agocs2020-06-151-0/+7
| | | | | | | | | | | | | | The Vulkan spec changed the behavior for VkApplicationInfo::apiVersion in 1.1, conveniently breaking compatibility with all existing 1.0 logic. We can no longer assume that the 1.0 behavior, which was failing instance creation with VK_ERROR_INCOMPATIBLE_DRIVER for an unsupported version, is always in place. So do not rely on this in the test, and add a reminder in QVulkanInstance docs as well. Fixes: QTBUG-85040 Change-Id: I8f5c7a7830877b72d106c444aebfaea191083ee0 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* rhi: Add a feature flag for readback format supportLaszlo Agocs2020-06-156-1/+23
| | | | | | | | | Indicate that doing a QRhiResourceUpdateBatch::readBackTexture() for texture formats other than RGBA/BGRA is not necessarily supported at run time. Change-Id: Ie9ca9546a3af9bff142b875f1ecf26bf26bcc442 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Move Unix font databases into QtGuiFriedemann Kleint2020-06-159-6/+1403
| | | | | | Task-number: QTBUG-83255 Change-Id: Id85a1e0f3de371951783fe97485158c4a02e1f15 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Port platformsupport to QStringViewLars Knoll2020-06-151-2/+2
| | | | | | Task-number: QTBUG-84319 Change-Id: I8032382904bc8481fe0a147ca38f3de9cfb1890f Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix Windows Font database code to use configure featuresFriedemann Kleint2020-06-128-56/+32
| | | | | | | | | Use QT_CONFIG, QT_REQUIRE_CONFIG instead of custom macros. Task-number: QTBUG-83255 Task-number: QTBUG-83931 Change-Id: Id067448dd59f4810a6bc8042d3fbe4244d5cc88a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* rhi: gl: Support reading back 1 byte texture formatsLaszlo Agocs2020-06-121-5/+25
| | | | | | | | | | | | | | The GL texture readback is limited due to the underspecified glReadPixels, especially on GLES. To preserve our sanity, we just do a GL_RGBA readback always. This only worked for 4 byte formats, but now we extend it to handle the 1 byte (R8 and RED_OR_ALPHA8) formats. Note that this relies on the fact that the GL implementation is able to do a GL_RGBA readback for a GL_R8 or GL_ALPHA texture. Change-Id: I8286dca42964f0cbc6645355e105bbd81ec685ca Reviewed-by: Christian Strømme <christian.stromme@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>