diff options
author | Christian Strømme <christian.stromme@qt.io> | 2024-01-21 12:57:02 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-01-22 14:40:15 +0000 |
commit | 528fc68fa0f49386cc9b509b88ee24d88ad3a31b (patch) | |
tree | 299de6db4549b539a615a856046cb14fdf3c6e31 | |
parent | 94197cf78b69939f1590e0dbd31cbd44fd8f96c8 (diff) |
Don't do further work on extensions if the prep call returns false
If the prepareData call returns false it means nothing changes or should
be done, so make that's what we do.
Change-Id: I7e0eea8f6b5463513d20d7d7daaf40eb2c064bce
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit a614f98937f076d19cdbddce62361adb5df918b7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/runtimerender/rendererimpl/qssglayerrenderdata.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/runtimerender/rendererimpl/qssglayerrenderdata.cpp b/src/runtimerender/rendererimpl/qssglayerrenderdata.cpp index 73a0645f..e00aaea8 100644 --- a/src/runtimerender/rendererimpl/qssglayerrenderdata.cpp +++ b/src/runtimerender/rendererimpl/qssglayerrenderdata.cpp @@ -2363,8 +2363,10 @@ void QSSGLayerRenderData::prepareForRender() auto &userPass = userPasses[i]; for (auto rit = renderExtensions.crbegin(), rend = renderExtensions.crend(); rit != rend; ++rit) { hasUserExtensions = true; - wasDirty |= (*rit)->prepareData(frameData); - userPass.extensions.push_back(*rit); + if ((*rit)->prepareData(frameData)) { + wasDirty |= true; + userPass.extensions.push_back(*rit); + } } } } |