aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4function.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2025-06-03 12:48:30 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2025-06-10 11:25:50 +0000
commitf20a020b741606de972d7c575c24330115734fcd (patch)
treee592746eefb7be8cff3d3d8af3ca22b4491105f4 /src/qml/jsruntime/qv4function.cpp
parent52086f74e6d4211d66462e5377fc909b97be4523 (diff)
sg: Fix layers with recursive and MSAA
The Qt 5 era behavior, where 'recursive: true' combined with a sample count > 1 did not have to involve using an additional backing buffer (unlike 'recursive: true' with no multisampling), is not quite compatible with the QRhi-based system. On Vulkan, for example, multisample rendering into a texture involves an implicit multisample resolve at the end of the render pass. This is different from OpenGL's or D3D11's explicit resolve or blit command. The latter can get away with not caring about the recursive flag whenever MSAA is in use, because the behavior is effectively the same as non-MSAA rendering with recursive set, i.e. render to a dedicated multisample buffer, then resolve (i.e., copy) into the actual non-MSAA texture. But with APIs like Vulkan this cannot work. Sampling the texture that is set as the resolveTexture within the same render pass is wrong. Thus the only choice is to treat non-MSAA and MSAA cases identically when it comes to the recursive flag. Task-number: QTBUG-112355 Task-number: QTBUG-118610 Pick-to: 6.10 6.9 6.8 Change-Id: Ic2f92579eff89d8cf32cccd4ea023556b8e39d1d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4function.cpp')
0 files changed, 0 insertions, 0 deletions