aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2024-01-21 12:57:02 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-01-22 14:40:15 +0000
commit528fc68fa0f49386cc9b509b88ee24d88ad3a31b (patch)
tree299de6db4549b539a615a856046cb14fdf3c6e31
parent94197cf78b69939f1590e0dbd31cbd44fd8f96c8 (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.cpp6
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);
+ }
}
}
}