https://bugs.kde.org/show_bug.cgi?id=455526

SR_team <m...@sr.team> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |m...@sr.team

--- Comment #44 from SR_team <m...@sr.team> ---
(In reply to Vlad Zahorodnii from comment #42)
> Git commit 36960d8572221c696289232d0ab55c02ecfa5324 by Vlad Zahorodnii.
> Committed on 18/08/2023 at 15:08.
> Pushed by vladz into branch 'master'.
> 
> plugins/blur: Rewrite it
> 
> Given how the blur effect works, if a pixel changes, the surrounding
> pixels may have to be repainted as well. Currently, it's achieved by
> expanding the damage in the BlurEffect::prePaintWindow() function.
> However, it means that the blur effect should see both surface and
> buffer damage in the pre paint pass.
> 
> Unfortunately, after refactoring surface and buffer damage tracking,
> kwin no longer provides the buffer damage in the pre paint pass (it does
> so for good reasons). This broke the blur effect. As an example, you may
> see visual glitches when moving the software cursor over blurred areas
> of a window.
> 
> In order to fix this issue, the blur effect has to cache background
> behind every window to avoid blurring already blurred areas.
> 
> This change implements a background cache. Unfortunately, since the
> blur effect's code has become very difficult to change over the years,
> this change rewrites the relevant parts of the blur effect.
> 
> With the proposed design, the blur effect is going to maintain cached
> background for every window + offscreen render targets. It may have
> issues with animated windows, however in practice, it seems to behave
> good enough. However, if it becomes pressing matter, we can move from
> simplistic design in this patch to somewhat more sophisticated design
> that involves textures with rounded up size.
> 
> M  +0    -6    src/libkwineffects/kwinglutils.cpp
> M  +0    -7    src/libkwineffects/kwinglutils.h
> M  +0    -1    src/plugins/blur/CMakeLists.txt
> M  +370  -452  src/plugins/blur/blur.cpp
> M  +46   -38   src/plugins/blur/blur.h
> M  +0    -2    src/plugins/blur/blur.qrc
> D  +0    -310  src/plugins/blur/blurshader.cpp
> D  +0    -100  src/plugins/blur/blurshader.h
> D  +0    -9    src/plugins/blur/shaders/copy.frag
> D  +0    -13   src/plugins/blur/shaders/copy_core.frag
> M  +2    -3    src/plugins/blur/shaders/downsample.frag
> M  +2    -3    src/plugins/blur/shaders/downsample_core.frag
> M  +2    -4    src/plugins/blur/shaders/noise.frag
> M  +2    -4    src/plugins/blur/shaders/noise_core.frag
> M  +2    -3    src/plugins/blur/shaders/upsample.frag
> M  +2    -3    src/plugins/blur/shaders/upsample_core.frag
> M  +7    -2    src/plugins/blur/shaders/vertex.vert
> M  +7    -2    src/plugins/blur/shaders/vertex_core.vert
> 
> https://invent.kde.org/plasma/kwin/-/commit/
> 36960d8572221c696289232d0ab55c02ecfa5324

This fix for plasma 6. Branch 5.27 was affected to bug (tested on 5.27.8)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to