aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2024-03-18 18:57:27 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-04-29 13:09:37 +0000
commit79dbc1a55498a079430d73a3a9c3f631a3f1cb9f (patch)
tree2cfce1511a0f0e49c36e313de31053726d09c298
parentc6e09fb7cdd3c36bb91b290d334e63b23f7a9748 (diff)
Make sure we handle dirty texture in the effect
Texture changes were not handled in the effect, so only the initial texture would be used. This problem only affects the Effect type as the custom material already handles this. Note that unlike the custom material this change takes a brute force approach and triggering a "full-rebuild" of the effect, as that is the smallest reasonable change that should fix this issue. This issue was discovered in DS when using the ExtendedSceneEnvironment. Pick-to: 6.6 Fixes: QTBUG-123442 Change-Id: I51310cd5dc5a6efd7681ee1ac035243a9b0dbd33 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Inho Lee <inho.lee@qt.io> (cherry picked from commit a09304101576991b09956469520469fde8882b1b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/quick3d/qquick3deffect.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick3d/qquick3deffect.cpp b/src/quick3d/qquick3deffect.cpp
index c77593f4..db5905be 100644
--- a/src/quick3d/qquick3deffect.cpp
+++ b/src/quick3d/qquick3deffect.cpp
@@ -575,7 +575,7 @@ QSSGRenderGraphObject *QQuick3DEffect::updateSpatialNode(QSSGRenderGraphObject *
if (m_dirtyAttributes & Dirty::EffectChainDirty)
shadersMayChange = true;
- const bool fullUpdate = newBackendNode || effectNode->incompleteBuildTimeObject;
+ const bool fullUpdate = newBackendNode || effectNode->incompleteBuildTimeObject || (m_dirtyAttributes & Dirty::TextureDirty);
if (fullUpdate || shadersMayChange) {
markAllDirty();