Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Ben Fletcher 0d7401d51b RHI: Metal tessellation fixes
This patch fixes four issues with Metal tessellation.

a) Shader resource binding
The Metal tessellation implementation assumes identical SPIRV-Cross
native Metal resource binding mapping for vertex, tessellation control,
and tessellation evaluation shaders.  These mappings are independently
generated by SPIRV-Cross for each shader stage, and may not always be
identical.  This patch allows for different resource bindings for each
of the vert/tesc/tese stages.

b) Tessellation evaluation vertex descriptors
The Metal tessellation evaluation render pipeline vertex descriptor
generation code contains a bug where attribute offsets and built in
variable locations could be calculated incorrectly if the tessellation
control shader output variables are not provided in ascending location
order.  This patch fixes this by sorting the variables by location
before processing.

c) Render pass descriptor
Metal tessellation draw ends the current render pass encoder to perform
tessellation compute tasks on a compute pass encoder.  When the compute
pass is completed, a new render pass encoder is created to continue
rendering.  A bug exists where the new render pass encoder uses a render
pass descriptor that clears the color, depth and stencil attachements.
This patch fixes this bug by changing the render pass descriptor color,
depth and stencil attachment load actions to MTLLoadActionLoad when
appropriate.

d) drawIndexed
A bug exists where when drawIndexed is called, the Metal tessellation
vertex as compute stage input descriptor buffer layout step function
gets set to MTLStepFunctionThreadPositionInGridX rather than the indexed
version MTLStepFunctionThreadPositionInGridXIndexed.  This patch fixes
this by selecting the appropriate step function.

Pick-to: 6.5
Change-Id: I122c67394719ad6b4801cd7643043839fd186bf2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2023-01-11 10:07:46 -05:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Add license text file for Creative Commons Zero (CC0) 1.0 2022-10-19 12:06:09 +02:00
bin Use the Windows path separator in a Batch file 2023-01-09 14:39:27 +01:00
cmake Disable PkgConfig for Android 2023-01-11 13:48:48 +01:00
coin Return qt-configure-module to bin/ 2022-12-13 10:02:25 +00:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist
doc Doc: Add margins to all anchors in a translated page 2022-12-12 14:14:22 +00:00
examples permissions: Improve error when building example on non-supported platform 2023-01-10 13:16:03 +01:00
lib
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
mkspecs Suppress warnings from Integrity builds 2023-01-09 10:34:33 +02:00
qmake qmake: Document that QMAKE_PRE_LINK does not work with Xcode 2022-12-15 20:23:28 +01:00
src RHI: Metal tessellation fixes 2023-01-11 10:07:46 -05:00
tests Use consistent collation testability criteria in corelib/text 2023-01-11 08:47:59 +00:00
util Bump version to 6.6.0 2022-12-14 20:19:01 +02:00
.cmake.conf Enable QT_NO_AS_CONST globally 2023-01-05 15:09:49 +01:00
.gitattributes
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml
.tag
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.bat Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.cmake Enable shared library build of Qt for iOS 2023-01-10 13:16:04 +01:00
dependencies.yaml
qt_cmdline.cmake QCryptographicHash: implement OpenSSL 3.0 support 2022-09-26 17:26:37 +02:00
sync.profile Move qurltlds_p.h out of src/network, and make it a .cpp file 2022-10-01 06:24:51 +00:00