diff options
author | Christian Strømme <christian.stromme@qt.io> | 2024-03-18 18:57:27 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-04-29 13:09:37 +0000 |
commit | 79dbc1a55498a079430d73a3a9c3f631a3f1cb9f (patch) | |
tree | 2cfce1511a0f0e49c36e313de31053726d09c298 | |
parent | c6e09fb7cdd3c36bb91b290d334e63b23f7a9748 (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.cpp | 2 |
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(); |