summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Remove ANGLELaszlo Agocs2020-05-265-299/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks the end of EGL and OpenGL ES support on Windows. The concepts of -opengl dynamic, -opengl desktop, QT_OPENGL=software, etc. remain unchanged, with the exception of the disapperance of everything ANGLE related. CMake builds now work identically to qmake on Windows: they default to 'dynamic' OpenGL on Windows, unless -DINPUT_opengl=desktop is specified. On Windows, Qt 6 is expected to default to the "dynamic" OpenGL model by default, just like Qt 5.15. This can be changed by switching to "desktop" OpenGL, which will link to opengl32 (publicly, so other libs and applications will do so as well) and disallows using another OpenGL DLL. The "dynamic" mode is essential still because the fallback to a software rasterizer, such as the opengl32sw.dll we ship with the Qt packages, has to to work exactly like in Qt 5, the removal of ANGLE does not change this concept in any way (except of course that the middle option of using ANGLE is now gone) When it comes to the windows plugin's OpenGL blacklist feature, it works like before and accepts the ANGLE/D3D related keywords. They will then be ignored. Similarly, requesting QT_OPENGL=angle is ignored (but will show a warning). The D3D11 and DXGI configure time tests are removed: Qt 5.14 already depends on D3D 11.1 and DXGI 1.3 headers being available unconditionally on Win32 (in QRhi's D3D11 backend). No need to test for these. [ChangeLog][Windows] ANGLE is no longer included with Qt. Dynamic OpenGL builds work like before but ANGLE is no longer an option. OpenGL proper or an alternative opengl32 implementation are the two remaining options now. Attempting to set QT_OPENGL=angle or Qt::AA_UseOpenGLES will have no effect on Windows. Fixes: QTBUG-79103 Change-Id: Ia404e0d07f3fe191b27434d863c81180112ecb3b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix typo in documentation of QPlatformWindowMichal Klocek2020-05-251-2/+2
| | | | | | | | | QOpenGLWidget has backing store and does not really fit into doc's context. Change it QOpenGLWindow. Change-Id: I7f92e49497b8cc35d322b607c865c2914672ace3 Pick-to: 5.15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* RHI: Introduce QRhiTexture::RG8VaL Doroshchuk2020-05-256-0/+41
| | | | | | Change-Id: I58f35b2629bd6464f08cba66e852215472fcbe2a Fixes: QTBUG-84384 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix RHI-GL mapping of DXT3/5 compressed texture format identifiersEirik Aavitsland2020-05-251-2/+2
| | | | | | | | DXT1 is BC1, but DXT3 is BC2 and DXT5 is BC3. Change-Id: Icb0ea4cc9efeab2453343753e9fda7f825c9b8d1 Pick-to: 5.15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Models: remove version check for clearItemData()Christian Ehrlicher2020-05-232-16/+1
| | | | | | | The version checks for clearItemData() are no longer needed now. Change-Id: I5052188fb96cf637128662f3442d339820f0f41d Reviewed-by: David Faure <david.faure@kdab.com>
* Move QtVulkanSupport into QtGui and QtOpenGLTor Arne Vestbø2020-05-225-3/+529
| | | | | | Task-number: QTBUG-83255 Change-Id: Ib021cecebda89fa2ab9332752124a8cec0a51a10 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Licenses: Remove reference to change in Qt 5.4Kai Koehne2020-05-221-3/+2
| | | | | | | Qt 5.4 is not documented anymore since quite some time. Change-Id: I6811ead502178f7acbed8cf450e42d7fd33ae29b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* RHI: facilitate compressed atlas textures in gles2 backendEirik Aavitsland2020-05-224-5/+29
| | | | | | | | | | | | | | | Since glCompressedTexImage2D() does not allow zero data, it could not be executed during texture build. Instead it would be done during the first subresource upload. This made atlasing clumsy, since one had to introduce a fake upload of the full texture size before the subtexture uploads. This commits lets the gles2 backend deal with that instead. Introduces the UsedAsCompressedAtlas QRhiTexture::Flag for opting in to this behavior. Task-number: QTBUG-78582 Change-Id: Ib6e4ea637c62cc8a51bd9a4a06e59882f335f2a7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* RHI: Store texture handle as 64-bit intEskil Abrahamsen Blomfeldt2020-05-226-26/+22
| | | | | | | | | | | | | | | | | | When storing a void* pointer to the texture handle, we had to ensure that the variable would exist until the build phase, which is error prone and caused errors in QQuickWidget because we copied the texture ID from the FBO into a local variable before passing it into QQuickWindow::setRenderTarget(). The reason for using a void* was that we cannot know the width of the handles in the different backends, but we do know that they are 64-bit at maximum, so instead of storing potentially dangling pointers, we just make it a 64-bit integer and cast it back and forth in the backends. Task-number: QTBUG-78638 Change-Id: I7951e24351ddb209045ab6197d81eb1290b4da67 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move QRasterBackingStore to QtGuiTor Arne Vestbø2020-05-214-2/+211
| | | | | | Task-number: QTBUG-83255 Change-Id: I339173de6e109c5a9b9572972ba894c15053c034 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move QMacInternalPasteboardMime to QtGuiTor Arne Vestbø2020-05-215-0/+1157
| | | | | | Task-number: QTBUG-83255 Change-Id: I00fda24479ad2c04781c5fefaa15fac1118033a8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Sweep Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 -> Q_DECLARE_SHAREDMarc Mutz2020-05-195-6/+6
| | | | | | | | | | | | This is Qt 6, so Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 is the same as Q_DECLARE_SHARED. Let's hope we'll collectively get better at detecting missing Q_DECLARE_SHARED so we won't need a Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT7 in the future. Change-Id: I3da9faff4c66b64a3b257309012a2a10a6c6d027 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* a11y: Fix bug in the accessibility cacheJan Arve Sæther2020-05-193-9/+67
| | | | | | | | | | | | | We could sometimes cache a partially constructed object if the accessibility interface for that was created during construction time of the object. This usually ended up in that the interface for e.g. QMenuBar was stored in the cache as a QAccessibleWidget, regardless of if the a11y factory supported it. Since it was already in the cache, it remained the same for the entire lifetime of the application, causing e.g. QMenuBar not have the correct accessibility behavior. Task-number: QTBUG-83993 Change-Id: I72b2d5a93f6b397fd3666d45951109e3e5aff754 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* CMake: Generate information about 3rdparty libs in module .pri filesJoerg Bornemann2020-05-191-38/+61
| | | | | | | | | | | | | For modules that are not yet ported to CMake and that use QMAKE_USE += libfoo we need to provide the information about libfoo in the qt_lib_XXX.pri files. Also, we now generate qt_ext_XXX.pri files for bundled 3rdparty libs. Task-number: QTBUG-75666 Change-Id: I9e4b057a197554ecb37c294c0bf09e2a2b3aa053 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add error message on unaligned profile inputsAllan Sandfeld Jensen2020-05-192-0/+8
| | | | | | | Pick-to: 5.15 Task-number: QTBUG-84267 Change-Id: I7ec2100455bd0178cdff0de2d24abbe6c19f812f Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Liang Qi2020-05-192-3/+7
|\
| * Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-05-182-3/+7
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/text/qbytearray.cpp Change-Id: I63706409464d31391012bacdadfd1f6300509787
| | * Merge remote-tracking branch 'origin/5.15.0' into 5.15Qt Forward Merge Bot2020-05-141-1/+2
| | |\ | | | | | | | | | | | | Change-Id: I06396fa0a3d1687a0935e48d290358edbb0e59e8
| | | * Fix 32bit integer overflow in ICC parsingv5.15.0-rc1Allan Sandfeld Jensen2020-05-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I98c413374374a6143733860aa9bab1a957cd3b2d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | Fix invalid text layout data when a full layout run is interruptedStefan Löffler2020-05-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QTextDocument is laid out, this is done in "chunks" to keep programs responsive. During the layout process, blocks are split into lines. When a full (re)layout is interrupted (e.g. because a QHighlighter changes some formats before the layout for all chunks is completed), later chunks are skipped. This results in invalid data (e.g., blocks not split into lines). This change ensures that full layout runs of the root frame are completed even after interruptions. Fixes: QTBUG-20354 Change-Id: I041c73a532a5abe74d577ca49810191b5594dca2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Compile fixes for clang10Lars Knoll2020-05-054-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix some warnings that are flagged as errors on clang10. Change-Id: I906634c8b2bd94db42d74a7f3d10efb086e373cc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit bc726ed5d96161b70a22b9a11e0943acca219cfc)
* | | | Enable Universal Links on iOSLars Schmertmann2020-05-192-0/+39
|/ / / | | | | | | | | | | | | | | | Pick-to: 5.15 Change-Id: I05b5bede49f619576dd9ab37444f7cb5fe0f15f0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Remove deprecated method from QFont, QFontMetrics, and QFontInfoVolker Hilsheimer2020-05-155-420/+0
| | | | | | | | | | | | | | | Change-Id: Ifc8fb5c5d53359b33b8abab3bbee3de61bfef539 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Deprecate QGuiApplication::paletteChanged() signalAndy Shaw2020-05-152-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have a paletteChanged() signal which can be connected to for tracking when the application palette has changed, then it is better to use the event that is sent to all windows and the application itself. That way it is easy for a window/widget or item that cares about the change to the application font to catch it in the event() function. [ChangeLog][QtGui][QGuiApplication] Deprecated paletteChanged() signal in favor of QEvent::ApplicationPaletteChanged. Change-Id: I95da211e30590e357007cc14d8ee266baceba7b3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Remove deprecated QAccessible::updateAccessibility overloadVolker Hilsheimer2020-05-152-26/+2
| | | | | | | | | | | | | | | Change-Id: Ib953e584685804b0f34ec6b305e2a9a6b8062c07 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | Initialize TextureOp and BufferOp structsVolker Hilsheimer2020-05-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Coverity warnings, and avoids hard-to-debug errors, at minimal overhead. Change-Id: I3ff530a9263693d1123932458b3e186e79a14b7e Coverity-Id: 263692 Coverity-Id: 263693 Coverity-Id: 263699 Coverity-Id: 263700 Coverity-Id: 263702 Coverity-Id: 263705 Pick-to: 5.15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Fix artifacts when rendering multisubpath dashed QPainterPath with openGLDmitry Kazakov2020-05-151-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It might happen that the resulting subpath generated by the QDashStroker will have no lines at all. It happens when further LineToElement items compare as equal to the starting MoveToElement when compared in 'float' space. In such case QTriangulatingStroker::process() skips LineTo elements and the vertexBuffer ends up with unconnected vertices, which generate unwanted triangles. See related bugs: https://bugs.kde.org/show_bug.cgi?id=419240 https://bugs.kde.org/show_bug.cgi?id=413220 Change-Id: Ie70955287da47e9f7aa9cdeaea506e1c817b2317 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | QBasicDrag: Send QDragMoveEvent when modifiers changeAlexander Volkov2020-05-142-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... without moving the mouse. This allows to update drop action and cursor. Task-number: QTBUG-56218 Task-number: QTBUG-82934 Pick-to: 5.15 Change-Id: I8b0ac2a008a9dbcc4c2d6abce282e6f169c2f542 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Move the UTF conversion methods to qstringconverterLars Knoll2020-05-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate them from the qutfcodec, so that the codec can later on be moved out of Qt Core. Fix the QUtf methods to take qsizetype instead of int for length arguments. This also makes it possible to not build QTextCodec into the bootstrap lib anymore. Change-Id: I0b4f83139d61b19c651520a2f3a5012aa7e85cb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Avoid format conversion in backing store texture uploadAllan Sandfeld Jensen2020-05-131-44/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use glPixelStorei where possible Pick-To: 5.15, 5.12 Fixes: QTBUG-84189 Change-Id: Iadf039b5c6d8e7b6bb11d031a94683343dee0dc6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Remove deprecated QDesktopServices APIsVolker Hilsheimer2020-05-132-114/+1
| | | | | | | | | | | | | | | Change-Id: Ic21ad2938b20c1aa3ae499a921c9cff92f615816 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | ARM neon draw helper only available for little endianPeter Seiderer2020-05-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: qimage_conversions.cpp:(.text+0x2598): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)' Task-number: QTBUG-84110 Change-Id: I61ac697dd1d0b2c793fd5751209cd041ee30ad38 Pick-to: 5.15 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Remove obsolete storage, constructors and accessors in QEvent subclassesShawn Rutledge2020-05-125-481/+14
| | | | | | | | | | | | | | | Change-Id: I5c51244031ff40f1972106ad4fe27010c8be1193 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | rhi: d3d11: Handle DXGI_ERROR_SDK_COMPONENT_MISSING gracefullyLaszlo Agocs2020-05-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Requesting the debug layer is not something that succeeds at run time if the corresponding SDK component is not present. Handle it gracefully: simply retry D3D11CreateDevice without the debug device flag. Relevant also for the Qt CI's Windows 10 VMs. Task-number: QTBUG-84067 Change-Id: Ia7b2562917ec11ce04a75c052527bf526d1fe81b Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | MSVC: Fix build with -developer-buildEskil Abrahamsen Blomfeldt2020-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Passing 0xA7 to a signed char causes a truncation warning with MSVC2017. Make the cast explicit. Change-Id: Ief1a97c52544b271556811816f7804074bd336df Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Replace some QString::fromRawData() with QStringViews around the codeMarc Mutz2020-05-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Even though QString::fromRawData() may not be as expensive as it used to be, it's still and out-of-line call _and_ more characters to type, so replace with QStringView construction where applicable. Change-Id: I70662da1bd45284f67e117e92b25d242afb8aaf8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Doc: Specify QTextOption behavior in drawTextPaul Wicking2020-05-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be more specific about overriding behavior when using the drawText overload that takes a QTextOption argument. Fixes: QTBUG-41894 Pick-to: 5.15 Change-Id: I8b38cb383005f1a07f4c6d70050e0d2cbb551521 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Use QChar::fromUcs4() moreMarc Mutz2020-05-121-1/+4
| | | | | | | | | | | | | | | | | | Change-Id: I02be41de92d84145186de9ac5f5ea3541a941964 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Fix coverity warnings about uninitialized data membersVolker Hilsheimer2020-05-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coverity alerts about uninitialized members. While this might be ok in the code here (ie TreeNode::splitLeft is never used for leaf nodes) it can easily result in undefined behavior and other hard-to-debug issues. Initializing the struct with initializer syntax; compiler explorer indicates that the compile will be able to optimze the calls to avoid duplicate initialization of data members. Change-Id: I0eb5d26e34f466d8c659c1945f02601aef511fbf Fixes: QTBUG-84160 Fixes: QTBUG-84156 Coverity-Id: 218601 Coverity-Id: 11398 Pick-to: 5.15 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Rhi: improve qHash implementationsGiuseppe D'Angelo2020-05-122-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | Use the combiners and an algorithm. Change-Id: I577950bbd2e8b0556f28e2a8381e432c22bb0dc9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Long live qHashMulti(Commutative)Giuseppe D'Angelo2020-05-122-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a helper function so that we have a shortcut. Instead of writing: QHashCombine hash; seed = hash(seed, fieldA); seed = hash(seed, fieldB); // etc. return seed; one can now simply write: return qHashMulti(seed, fieldA, fieldB, fieldC); Port a few usages inside qtbase as a demonstration. [ChangeLog][QtCore][QHash] Added the qHashMulti and qHashMultiCommutative functions as convenience helpers to calculate a hash from multiple variables (typically, data members of a class). Change-Id: I881a9ad41168df20ceecc6588a94abe7ddc6a532 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | QtGui: fix deprecated QChar conversionsMarc Mutz2020-05-1115-35/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Conversions from non-char-types to QChar are going to be deprecated. Use QChar::fromUcs2(), fromUcs4(), QLatin1Char(), or convert the constructor argument to char16_t. Change-Id: Ib45ebd5560aa3a2bc460037ab09773607485c6e2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Split PixelLayout to separate source fileAllan Sandfeld Jensen2020-05-1114-1869/+1958
| | | | | | | | | | | | | | | Change-Id: I0beafa39d92550ea78e78a07b25ce1253cc6668d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | Fix out-of-bounds access when searching arraysVolker Hilsheimer2020-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Coverity. All arrays in this code have the size Num... - 1, so accessing the entry at Num... - 1 is out of bounds. Since we don't dereference the value, and only use the address of the entry "one past the last" like an end- iterator, this does not actually access out-of-bounds memory. However, this code does rely on undefined behavior. Use pointer arithmetics instead to get the address of the entry "one past the last", which is well defined behavior and should satisfy Coverity. Change-Id: Ie5fbb2da080d6118169f35056763b5d95cfeda62 Fixes: QTBUG-83817 Coverity-Id: 183557 Pick-to: 5.15 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* | | QTextOdfWriter: store all bulletChar()s as char16_t'sMarc Mutz2020-05-081-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and return them as QStringView from a file-static function so that the conversion to QString is centralized in just one place (and we can think of skipping the QString conversion once QXmlStreamWriter can write QStringViews and not just QStrings). Because the Style enum is ... weird (negative values), plaster the code with static_asserts so that we get to detect breakage when the enum values change. Change-Id: I4ca89b6c2601c6a1153e202de966356bb4f51651 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | QFontDatabase: store all writingSystemSample()s as char16_t string literalsMarc Mutz2020-05-081-211/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and return them as QStringView from a file-static function so that the conversion to QString is centralized in just one place (and we can think of returning a QStringView in the public API?). Change-Id: Ie33e2af1b57b8cb34672d245fb9205c68260f440 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QFontDatabase: store Vietnamese writingSystemSample() in UTF-16Marc Mutz2020-05-081-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code stored it in UTF-8 with an encoded BOM. Using the new QString::op+=(QStringView), we can store the string, without the BOM, in ten instead of 15 bytes. Change-Id: Ia1c51da523fcd6298b39bf2ec162a49c7cfdda63 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | rhi: vulkan: Fix calling finish() twice with some copy commands in-betweenLaszlo Agocs2020-05-071-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native command buffer handle was not updated, so the subsequent finish() call attempted to record an invalid VkCommandBuffer. The problem was not present with offscreen frames, only when finish() is called with a swapchain-based frame active. Task-number: QTBUG-84066 Change-Id: I9c4cb701c3dbbc28f237d6ae1cbf65aafd1fa95f Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | Remove QScreen::orientationUpdateMaskShawn Rutledge2020-05-077-99/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It simplifies the API and reduces surprise to have rotation working by default. On Android, the manifest specifies which orientations the application has been designed to support; on iOS, it is controlled via the UISupportedInterfaceOrientations property list key. In addition, QWindow::contentOrientation() is another way to give a hint to the window manager, or on iOS to directly control whether the window's rotation is locked or not. Task-number: QTBUG-35427 Task-number: QTBUG-38576 Task-number: QTBUG-44569 Task-number: QTBUG-51012 Task-number: QTBUG-83055 Change-Id: Ieed818497f686399db23813269af322bfdd237af Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | rhi: Correct another scissor/viewport clamping problemLaszlo Agocs2020-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When x or y are >= the width or height of the render target, then the width or height of the scissor/viewport rect is zero, no further logic is needed. This is different from the case of x or y being negative, because then there is still a chance that there is an in-bounds area (if width or height are large enough). It is important to make this check based on the original value of x and y, not the clamped ones. Otherwise we end up with a 1 pixel wide region even when the expected result is a width or height of 0. Previously the incorrect subtraction of 1 in the final clamping of w and h masked this, but once that is fixed, the issue fixed here becomes visible in the cubemap_scissor manual test. Change-Id: I3d4b0a163a16aa1116b1e838fa95c0faf7b56a3d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>