Go to file
Laszlo Agocs 4639660ded rhi: metal: Skip inactive resources
The Quick3D-on-RHI PoC demonstrates a case which the Metal backend
fails to handle correctly: have an object with a lighting-enabled
material, but remove all lights from the scene.

Under the hood this means having a uniform block in the shader, but
without referencing it in any way in the actual shader code.

This leads to the resource being present (as far as shader reflection
is concerned), but with no native binding point available, meaning the
attempt to retrieve the Metal binding point for it returns -1, and that
is what the QShader carries in the nativeResourceBindingMap.

The backend should be prepared to silently skip the resource, whereas
 currently we end up in an assertion due to attempting to batch the (native)
binding "-1", which is invalid.

Correct this.

Change-Id: I85ee58145f589aca45d46c23e0cdce837d598850
Fixes: QTBUG-80668
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-12-12 12:41:20 +01:00
bin Merge remote-tracking branch 'origin/5.13' into 5.14 2019-11-13 07:21:33 +01:00
config.tests Merge remote-tracking branch 'origin/5.14' into 5.15 2019-10-16 01:00:49 +02:00
dist Add changes file for Qt 5.13.2 2019-10-24 13:59:27 +02:00
doc Doc: Move the common documentation to a qdocinc 2019-11-18 12:34:32 +01:00
examples Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-10 13:51:40 +02:00
lib
mkspecs Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
qmake Split cborstream feature in two 2019-12-12 10:42:27 +01:00
src rhi: metal: Skip inactive resources 2019-12-12 12:41:20 +01:00
tests Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
util Unicode tables: minor prettification 2019-11-28 11:04:39 +01:00
.gitattributes
.gitignore qfloat16: Check in the tables to Git 2019-06-03 10:42:53 -07:00
.qmake.conf Bump version 2019-10-14 09:44:06 +02:00
.tag
config_help.txt configure: Add sanitizer "fuzzer-no-link" 2019-11-14 15:45:02 +01:00
configure Android: remove remaining reference to -android-toolchain-version 2019-11-18 14:13:32 +01:00
configure.bat Configure: simplify logic 2019-03-14 12:13:58 +00:00
configure.json Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
configure.pri Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.LGPL3
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT-4.0 Replace commercial preview license with Qt License Agreement 4.0 2018-06-21 11:39:15 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile CMake: Add support for auto-importing plugins in CMake 2019-08-12 18:23:58 +02:00