Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5, 6.7
-
None
-
d70b847f7 (dev), ae2df32f7 (6.6), e0b04eade (tqtc/lts-6.5)
Description
If a custom render node doesn't support DepthAwareRendering, the scene graph switches to a different mode which doesn't utilize the Z-Buffer. When the node is removed, the scene graph returns to an inconsistent state. The "batched" shaders are used, but the qt_order attribute is not provided, resulting in graphics corruption.
Tested on OpenGL & DirectX11 rhi backends, on Qt 6.5 and 6.7
The easiest way to reproduce this issue is by applying the attached patch to the customrendernode example. Toggling the visibility of the left triangle causes other parts of the UI to randomly disappear or become corrupt.
Attachments
For Gerrit Dashboard: QTBUG-119160 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
518635,3 | Fix corrupt rendering when toggling rendernode-based items | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
521190,2 | Fix corrupt rendering when toggling rendernode-based items | 6.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
521229,2 | Fix corrupt rendering when toggling rendernode-based items | tqtc/lts-6.5 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |