Commit Graph

46418 Commits

Author SHA1 Message Date
Paul Olav Tvete
3110cbad6f Fix build with -no-opengl on Windows
Change-Id: Ib29012361a2b7f2f0b0da53a7736bb3f3384ae38
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-16 17:31:34 +02:00
Assam Boudjelthia
443a187c91 Android: fix regexp error in android_deployment_settings.prf
This might be related to the change
a1947aeffe.

Change-Id: I1c697e3130abd3eb26776d352a0f9bff0065c8f6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-06-16 15:16:36 +00:00
Timur Pocheptsov
2d2c18effc QSslSocket: delete deprecated cipher settings API
Change-Id: I439ea567b9a4add3eb205335420810d88b580b20
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-16 17:13:50 +02:00
Sona Kurazyan
08699a8273 Use qsizetype instead of int in QByteArray's helper methods
This is needed as a preperation for introducing QByteArrayView, which
will use qsizetype instead of int for size. Since these methods will be
reused by QByteArrayView, they need to use qsizetype.

Change-Id: Ia2d94ec70742d4f9326de9548fd7534d56d3a5ac
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-16 17:10:44 +02:00
Lars Knoll
30ad4cf558 Warn about constructing QMetaTypes/QVariants with invalid type ids
Warn about using an invalid type id in all cases. So far, only some
constructors of QVariant would warn. Move the warning over to
the place where we map a typeid to a QMetaTypeInterface to catch all
cases.

Change-Id: I4cd48a2b5d6c597dbf2afbeae9b811cd0819b768
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-16 13:49:45 +02:00
Lars Knoll
87bc5f7a7c Make the default constructor of QMetaType constexpr
And inline the copy constructor forwarding to another one.

Change-Id: I3c4f76f7b14edd84f512ef0687416b20940e333a
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2020-06-16 13:49:39 +02:00
Andy Shaw
68387e485c Android: Add support for proxies
Pick-to: 5.15
Fixes: QTBUG-78812
Change-Id: Id1f35a5e4ca3d8841edae378df69b65ef599c1ca
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 11:06:42 +02:00
Jan Grulich
d979f0a8c8 Make sure we correctly construct underlying base platform theme
When the base platform theme is not set to a null pointer, then we might
assume it has been already constructed and later on try to access an
invalid address which will cause a crash.

Pick-to: 5.15
Change-Id: I6187336bca527e1feeb0902bcfb16f2fbec86d24
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-16 07:52:41 +02:00
Friedemann Kleint
b89d8c406b Windows font databases: Enable DirectWrite for cmake
- 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>
2020-06-15 20:58:35 +02:00
Alexandru Croitor
f626c73b28 CMake: Fix many failing qtdeclarative MinGW tests
A lot of qtdeclarative tests fail due to not finding the
QtTest qml plugin in ${prefix}/qml. This is just the symptom, the
problem is that the combination of CMake + MinGW + Qt relocatability
behaves incorrectly.

The value returned by
QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) for the
qmltestrunner executable is ${prefix}/bin/qml which is incorrect.

This happens due to a combination of things. The
c33916a279 change in qtbase introduced
checks to figure out whether an application is a windeployqt-ed app
to adjust the prefix path.

This check tries to find the import library libQt6Core.a in the lib
subfolder whenever the executed app dir path is equal to the
computed prefix path.

If it's found, the code assumes we are running a tool in
${prefix}/bin. If it's not found, the code assumes it's a
windeployqt'ed app, where the Qt .dlls are next to the executable.

Currently when QtCore is built with CMake targeting MinGW, we actually
create a libQt6Core.dll file instead of a Qt6Core.dll file, and also
an import library called libQt6Core.dll.a, instead of libQt6Core.a.

The prefix check code actually prepends an additional "lib", thus
trying to find the liblibQt6Core.a import library.

This fails, the code assumes a windeployqt'ed app, and returns the
currently executed app path dir as the prefix aka ${prefix}/bin in
the case of qmltestrunner, and thus none of the qml plugins are found.

To fix this, generated the shared library and the import library names
as qmake expects them, aka Qt6Core.dll and libQt6Core.a.

Some of this renaming was done for MinGW plugins and shared libraries,
but not for modules in 9b0e23ef8a.

Extract the duplicate code and apply it to all shared libraries built
by Qt on Windows. Adjust the prefix and suffix accordingly, depending
on whether we use MinGW or not.

Amends 9b0e23ef8a

Task-number: QTBUG-84886
Change-Id: I5a8618597df5f57ce256739adced3f24eb13dac7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-15 20:58:19 +02:00
Robert Loehning
9e51974d9b QFontDatabase: Guard against Null-dereference READ
Fixes: oss-fuzz-23112
Pick-to: 5.15
Change-Id: I06818d8642067cd510a513838e7851eb8b322aef
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-06-15 20:50:32 +02:00
Alexandru Croitor
7e03bc39b8 CMake: Improve sanitizer detection
The change fixes the labels to show up correctly in the configure
summary.
It also allows enabling the sanitizer via the feature flags, e.g.
-DFEATURE_sanitize_address=ON.
Finally the qtbase sanitizer option is saved in QtBuildInternalsExtra
so that repos built after qtbase have the same sanitizer options
enabled.

Change-Id: Ic9d9e3ce3c7ebbc244ced2e6d163d1ac8ee06b12
Fixes: QTBUG-84721
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-15 18:41:35 +02:00
Lars Knoll
29ad4f8c09 Port platform plugins to QStringView
Task-number: QTBUG-84319
Change-Id: If409ba1c99f30c7ab32c7cc826c7f303ccf18c1d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-15 15:36:13 +02:00
Laszlo Agocs
9b8d4a9e45 rhi manual tests: Prevent warnings with MSVC
The QPair changes trigger warnings about size_t vs. quint32.

We made offsets and sizes 32-bit in the QRhi API to emphasize that
some of the graphics APIs are using 32-bit sizes still. It's a bit
unfortunate that pairs now generate warnings when the size does not
match. Just cast as needed.

Change-Id: I88504eed8be6f4bdb2205b3671e2c2a9db9fcb1e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-06-15 15:34:05 +02:00
Laszlo Agocs
ed231455cc Relax tst_qvulkan::vulkanVersionRequest to make it compatible with 1.1
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>
2020-06-15 15:33:46 +02:00
Laszlo Agocs
6a8eb26bba rhi: Add a feature flag for readback format support
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>
2020-06-15 15:33:39 +02:00
Mårten Nordheim
a0bfa4e1f8 QNAM: Remove network connectivity pre-check
The connectivity pre-check has been around for a long time, and it has
caused various issues in that time. Certain scenarios, like using
certain VPN configurations, might confuse the OS into thinking you don't
have and network connectivity at all and abort the connection.
Especially noticeable/frustrating when the connection was going to a
host inside the local network.

The negative impact of this change would at worst be that we might try
to connect and it will wait some amount of time before the OS tells us
the connection failed in situations where it would previously have been
aborted before it started. But the false-negatives are not really an OK
sacrifice in that case.

Fixes: QTBUG-84907
Change-Id: I37fc69051e39df3c1a1fecb56ef54521a4d3d0c3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-15 12:29:19 +02:00
Friedemann Kleint
6be9830d86 Move Unix font databases into QtGui
Task-number: QTBUG-83255
Change-Id: Id85a1e0f3de371951783fe97485158c4a02e1f15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-15 11:34:26 +02:00
Robert Loehning
927a82f5e0 Fuzzing: Don't try to load huge valid images
They are justified in using huge memory.

Pick-to: 5.15
Change-Id: Id16d2ea67cfac0e031d05258173391e222b41097
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-06-15 09:31:56 +00:00
Assam Boudjelthia
9ba88a2689 Android: fix qmlimportscanner not correctly assigned
Change-Id: I6c1212085211e060dda0a84a8660b653bcd30817
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-06-15 11:54:52 +03:00
Jan Arve Sæther
59836c9680 a11y: Implement accessibilityHelp on macOS
Note for manual testing: You can read it manually with vo+shift+h

Fixes: QTBUG-84864
Pick-to: 5.15
Change-Id: I5686e40642396db2fde685cf07b758acd29c6ee0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2020-06-15 08:45:15 +00:00
Lars Knoll
6bbfae9457 Port dbus from QStringRef to QStringView
Task-number: QTBUG-84319
Change-Id: Ifdfad6b7ac8b61ead71382e5ae3cb22b50b2504c
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2020-06-15 10:44:10 +02:00
Lars Knoll
2393432cd0 Port androiddeployqt and uic from QStringRef to QStringView
Task-number: QTBUG-84319
Change-Id: I7f30a4d73dd98ee1977645d7274816cd71307506
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-15 10:44:04 +02:00
Lars Knoll
31828b3d6b Port platformsupport to QStringView
Task-number: QTBUG-84319
Change-Id: I8032382904bc8481fe0a147ca38f3de9cfb1890f
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2020-06-15 10:43:51 +02:00
Joerg Bornemann
dd28aaec6f qmake: Remove "Cannot find library" warnings
Remove the warning message that was introduced in 84f2792597.
It is triggered for debug_and_release projects that are built against
a single-configuration Qt. Silently fall back to the behavior before
84f2792597 like it always was the case.

Change-Id: I67ed1a145ec5d7a4047b0ce5ad43bf0fc6834d60
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-15 10:33:40 +02:00
Joerg Bornemann
8c8c0f65e3 CMake: Generate .prl files for plugins in static Qt builds
To successfully link plugins of a static Qt build into a Qt project we
need to generate .prl files for the plugins.

Task-number: QTBUG-84781
Change-Id: I1406052f2269050aa7cbe6aa2b546bece1c68467
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-15 10:33:40 +02:00
Thiago Macieira
bd793d3c46 Suppress warning of unused function on macOS
This function is only used on FreeBSD and Linux.

forkfd.c:243:12: warning: unused function 'convertForkfdWaitFlagsToWaitFlags' [-Wunused-function]

Pick-To: 5.15
Change-Id: I99ab0f318b1c43b89888fffd160bf81f01960f2f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-12 21:52:40 -07:00
Alexandru Croitor
de29af7663 CMake: Make GL_SILENCE_DEPRECATION a public define for all consumers
In qmake land the define is set in mkspecs/common/macx.conf which
means it should be public for all Qt consumer apps as well, not just
internal targets. Make it so.

Amends 17be43c58e

Task-number: QTBUG-83929
Change-Id: I9f9d7dfca24b54977cb8364723c3618d3fec2e73
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 22:34:21 +02:00
Alexandru Croitor
6a47e1c4ee CMake: Propagate largefile flags to all internal consumers
The large file flags in qmake land are set in the
mkspecs/features/unix/largefile.prf file, which is loaded by qmake
when a CONFIG += largefile entry is written by configure into
qmodule.pri.

This essentially makes them global flags for all private Qt targets
because qmodule.pri is a global file loaded load(qt_build_config)

Thus assign the flags onto the PlatformCommonInternal target instead
of the PlatformModuleInternal one.

One peculiarity though is that in qmake land these flags are also
applied when building examples as part of the main Qt build. This
is because qt_build_config loads qmodule.pri even for an example,
because qmake sees it as part of the overall Qt build.
The flags are not applied by qmake if the example is built in
a different standalone build dir not part of the Qt buil dir.

We don't do that in the CMake build, and thus examples will never
have those flags.

Task-number: QTBUG-83929
Change-Id: If653a669b4835aadd1de84acb477c375ab523909
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 22:34:16 +02:00
Alexandru Croitor
a08bf7f00a CMake: Fix usage of gc_binaries feature
The qt_internal_apply_gc_binaries function should apply both compile
and link flags, not just link flags.

The flags should be applied publically to all consumers of Bootstrap
regardless if the gc_binaries feature is enabled.

The flags should be applied publically to Core only in case if the
feature is enabled (aka for static builds only).

Change-Id: Id42af0d9b527004d74c04eff2c9e3c2be1e76aac
Fixes: QTBUG-84461
Task-number: QTBUG-83929
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 22:34:12 +02:00
Alexandru Croitor
2158e764dc CMake: Add missing QT_USE_QSTRINGBUILDER define for tools
This mirrors what qt_tool.prf does.

Task-number: QTBUG-83929
Change-Id: I892a3f5f62d461456abfa414718fcc4c4c05c012
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 22:34:08 +02:00
Alexandru Croitor
8a8541c3cd CMake: Fix lightmaps example to build in a namespaced Qt
Add misisng namespace bits.

The example is built by a CMake configuration.
It is not built in a qmake configuration due to a missing
x11 / embedded requirement.

Task-number: QTBUG-84881
Change-Id: I6c53299a53e7c4e19d994ec2ae2d542667d41899
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:30:29 +02:00
Mårten Nordheim
306ebe03ea Http: Fix POST-to-GET redirects still uploading or transmitting CL
CL = Content-Length

The uploadByteDevice was kept after a redirect which caused the
internals to assume that we had to upload the data. Even if this was
not the case we still transmitted the Content-Length header from the
first request which was now stored in two places.

Fixes: QTBUG-84162
Pick-to: 5.15
Change-Id: Ic86b1ef0766ffcc50beeed96c1c915b721d40209
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-12 16:11:55 +02:00
Mårten Nordheim
76228da096 QtNetwork: Remove leftover deprecation macros
These are no longer used

Change-Id: I05a6e34975ee3fc6a704c074ebadacba34edf4aa
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-12 16:08:34 +02:00
Mårten Nordheim
0abbae240e QNAM: docs cleanup from NetworkAccessible
It was removed but some documentation bits were still there, apologies

Change-Id: I1888b34fe04e6566349d35a27391d0bd14d622d4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-12 16:08:30 +02:00
Lars Knoll
413a9f9bde Port remaining usages of QStringRef in QtCore to QStringView
Task-number: QTBUG-84319
Change-Id: If77bc94c18e8d522b4577050091cd7d7aa941311
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-12 15:51:11 +02:00
Lars Knoll
d6b7476134 Port qdatetime away from QStringRef
Task-number: QTBUG-84319
Change-Id: Ieeb25933a8062bdf0d2835f4d78e86daac1e8720
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-12 15:50:36 +02:00
Lars Knoll
4d31ddf573 Port QDir, QFile from QStringRef to QStringView
Task-number: QTBUG-84319
Change-Id: I7feb5c12eb5a8504c34292e0da75332b5ba9ef20
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-06-12 15:50:17 +02:00
Lars Knoll
5caf7ef3b1 Remove deprecated methods
Those aren't part of Qt 6 anymore.

Change-Id: I9ea7de07d89156e8d0fb6ae9deeb24e0de5fa429
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-12 15:50:08 +02:00
Giuseppe D'Angelo
a769ca1d91 Assume static_assert is available everywhere in C++
I'm not adding a static_assert(Q_COMPILER_STATIC_ASSERT),
as ironic as that might be; we have enough
static_asserts around already which will surely cause
errors, in case of a broken compiler.

The detection itself has to stay around for C support.

Change-Id: Id32f5c8e0ab2e461fba7b0525da5eeaaea77c68d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-12 14:30:37 +02:00
Friedemann Kleint
1053e1f4a3 Fix Windows Font database code to use configure features
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>
2020-06-12 14:25:27 +02:00
Timur Pocheptsov
8a65cd8dcd long_name_onDemandCerts_static - stop testing/using the deprecated API
Pick-to: 5.15
Change-Id: Ia937fc393b2dbc2602a93f2b3a71328a805ec1a6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-12 14:09:23 +02:00
Timur Pocheptsov
b7724048f9 long_name_onDemandCerts_member - stop testing/using the deprecated API
Pick-to: 5.15
Change-Id: I3d7ea78627afcd0225e717d243da49fd70b58461
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-12 14:09:04 +02:00
Timur Pocheptsov
56187f1e45 tst_qsslcertificate - suppress a deprecation warning
In Qt 5 we have to work with the esisting API (QSslCertificate::verify),
taking only the peer's chain and the name. We already have a private
API to have a CA's list as an additional parameter, the proper fix
in Qt6 will also introduce a public complement for this.

Pick-to: 5.15
Change-Id: Ib1f75c3056b135c6e6d42f977b5a7034fca658ee
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-12 14:08:55 +02:00
Mårten Nordheim
a114b133f5 QByteDataBuffer: Remove the ctor and dtor
Remove the ctor as it was not doing anything special and the implicitly
generated one will do what we need anyway. And calling clear before
destructing wasn't useful, so just remove the dtor in general.

Change-Id: I9ed722d4db3ea220d32082d4cb38c10a9af34d5e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2020-06-12 14:05:24 +02:00
Joerg Bornemann
3a955edb1a CMake: Fix default TARGET_DESCRIPTION for Qt tools
Like in the qmake build, we now set the target description of a Qt tool
to a value, different from the description of the Qt libraries.

Fixes: QTBUG-84900
Change-Id: I93419ddd513c83fe8488e70b5a8328cadc3541c7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-12 14:00:03 +02:00
Sona Kurazyan
838025bd73 Include qpromise.h in corelib/CMakeLists.txt
Change-Id: I2a854ae5774c0b98387782af685d903818475173
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-12 14:00:03 +02:00
Laszlo Agocs
9d0a15b7a3 rhi: gl: Support reading back 1 byte texture formats
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>
2020-06-12 14:00:02 +02:00
Thiago Macieira
03dfd4199d QMimeDatabase/zstd: use -T1 instead of --single-thread
Some older versions of the command-line tool don't have --single-thread
but do have -T1. They're slightly different according to the
documentation, but it's not important to us. What we want is to make
sure we consume a single CPU during build.

Fixes: QTBUG-84792
Pick-to: 5.15
Change-Id: Ied637aece2a7427b8a2dfffd16129fe88a0466ee
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-12 07:26:58 +00:00
Eskil Abrahamsen Blomfeldt
eb72d788fe Add RHI feature check for screen space derivatives
Fragment shader functions like fwidth() are useful for antialiasing
distance field text in the case of perspective projections. In order
to enable this as an alternative code path, we need to detect support.

- OpenGL: Supported with GL_OES_standard_derivatives or GLES3 and up
- Direct 3D: Supported for ps_2_x, so always supported on Direct3D 11
- Vulkan/Metal: Always supported

Task-number: QTBUG-84695
Change-Id: I5e3fa8014c808a9a2d639305c5e90ec25d44655c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-12 09:26:15 +02:00