[vlc-commits] [Git][videolan/vlc][master] 2 commits: qml: allow fine tuning effective texture change behavior in `DualKawaseBlur::scheduleUpdate()`
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Apr 28 12:57:49 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
0653c8c7 by Fatih Uzunoglu at 2026-04-28T12:06:41+00:00
qml: allow fine tuning effective texture change behavior in `DualKawaseBlur::scheduleUpdate()`
- - - - -
70d62910 by Fatih Uzunoglu at 2026-04-28T12:06:41+00:00
qml: transient turn on live instead of once-off update on texture change in Player blur effect
It appears that Qt has a bug where immediately scheduling an update on texture change
does not provide the layer to be correct in certain cases. This change is a workaround
for that issue.
- - - - -
2 changed files:
- modules/gui/qt/player/qml/Player.qml
- modules/gui/qt/widgets/qml/DualKawaseBlur.qml
Changes:
=====================================
modules/gui/qt/player/qml/Player.qml
=====================================
@@ -323,6 +323,8 @@ FocusScope {
// video memory, depending on the excess content in the last layer:
viewportRect: Qt.rect((width - parent.width) / 2, (height - parent.height) / 2, parent.width, parent.height)
+ funcOnNextEffectureTextureChange: liveTimer.transientTurnOnLive
+
TextureProviderIndirection {
id: textureProviderIndirection
=====================================
modules/gui/qt/widgets/qml/DualKawaseBlur.qml
=====================================
@@ -164,14 +164,23 @@ Item {
// If source texture is not valid, update will be requeued in `scheduleUpdate()`.
// That being said, a non-valid source texture should have (-1) as comparison key,
// which we already checked here.
- root.scheduleUpdate()
+
+ if (root.funcOnNextEffectureTextureChange) {
+ root.funcOnNextEffectureTextureChange()
+ }
}
}
}
+ // This is not respected when `live` is true, it is only for the `scheduleUpdate(true)` calls.
+ property var funcOnNextEffectureTextureChange: function() {
+ root.scheduleUpdate()
+ }
+
// When `onNextEffectiveTextureChange` is set, the update is scheduled automatically when the effective
// texture changes, which is when the texture itself changes or the texture remains the same but
// the sub-rect changes (such as, the new texture is a different part of the same atlas texture).
+ // This behavior can be fine-tuned with the property `funcOnNextEffectureTextureChange`.
function scheduleUpdate(onNextEffectiveTextureChange /* : bool */ = false) {
if (live)
return // no-op
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1b97942bcbb80754c6a884e51758d0875d3930a5...70d629101d298b217f8fe21050f8a57a6b632881
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/1b97942bcbb80754c6a884e51758d0875d3930a5...70d629101d298b217f8fe21050f8a57a6b632881
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list