[vlc-commits] [Git][videolan/vlc][master] qml: do not use linear filtering effect with non-RHI sg adaptation in ArtistTopBanner

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Sat Feb 8 19:59:25 UTC 2025



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
3f68114d by Fatih Uzunoglu at 2025-02-08T19:33:38+00:00
qml: do not use linear filtering effect with non-RHI sg adaptation in ArtistTopBanner

Since blur effect is not available with the non-RHI scene graph adaptation (software,
and openvg adaptations), linear filtering was used here to approximate blur.

However with Qt 6, the texture does not seem to be aligned properly with the software
adaptation. This is most likely a Qt bug, but since the effect is not really important
for non-RHI adaptations, we can instead simply get rid of the effect and lower the
opacity instead.

- - - - -


1 changed file:

- modules/gui/qt/medialibrary/qml/ArtistTopBanner.qml


Changes:

=====================================
modules/gui/qt/medialibrary/qml/ArtistTopBanner.qml
=====================================
@@ -74,13 +74,13 @@ FocusScope {
         fillMode: artist.cover ? ((visible || (MainCtx.qtVersion() < MainCtx.qtVersionCheck(6, 5, 0))) ? Image.PreserveAspectCrop : Image.Stretch)
                                 : Image.Tile
 
-        visible: layer.enabled
+        visible: !blurEffect.visible
         cache: (source === VLCStyle.noArtArtist)
 
-        // Single pass linear filtering, in case the effect is not available:
-        layer.enabled: (GraphicsInfo.shaderType === GraphicsInfo.UnknownShadingLanguage)
-        layer.smooth: true
-        layer.textureSize: Qt.size(width * .75, height * .75)
+        // In fact, since layering is not used blur effect
+        // would not care about the opacity here. Still,
+        // to show intention we can have a simple binding:
+        opacity: blurEffect.visible ? 1.0 : 0.5
     }
 
     Item {
@@ -94,7 +94,7 @@ FocusScope {
         // the blur effect is applied to the whole texture and shown as whole:
         clip: !blurEffect.sourceNeedsLayering
 
-        visible: !background.visible && (GraphicsInfo.shaderType === GraphicsInfo.RhiShader)
+        visible: (GraphicsInfo.shaderType === GraphicsInfo.RhiShader)
 
         // This blur effect does not create an implicit layer that is updated
         // each time the size changes. The source texture is static, so the blur



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3f68114d70084ce421f1d2100e6ce7ad82a33cca

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/3f68114d70084ce421f1d2100e6ce7ad82a33cca
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list