D9848: Updated the blur method to use the more efficient dual kawase blur algorithm.

Alex Nemeth noreply at phabricator.kde.org
Thu Jan 18 15:12:21 UTC 2018


anemeth marked 6 inline comments as done.
anemeth added inline comments.
Restricted Application edited projects, added KWin; removed Plasma.

INLINE COMMENTS

> romangg wrote in blur.cpp:152
> I think 5 blur strength steps to select from is fine, if that means we can get rid off the magic numbers. Other opinions?

I'm working on a nicer solution with less magical numbers.

> fredrik wrote in blur.cpp:145
> Okay, I see what you mean. I think this is a trade-off between two undesirable effects though, because the clamping causes abrupt changes near the edges of the blurred region when a window is moved. You can see this effect pretty clearly in the video you attached when the blur strength is set to strong. It really comes down to what you think is worse though.
> 
> But my concern here is that a fullscreen texture consumes at least 8 MB of VRAM with an HD monitor, and 32 MB with a 4K monitor.
> 
> I think it would be better to copy the framebuffer to m_renderTexture[0], and apply the clamping as a post-processing effect, using m_renderTexture[0] as both the source and destination, and targeting only the region outside the red rectangle for rendering. Using the same texture as both the source and destination is allowed in OpenGL when GL_ARB_texture_barrier or GL_NV_texture_barrier is supported, but unfortunately not in OpenGL ES.
> 
> The taskbar (and other panels) can be identified by calling EffectWindow::isDock().

Now only the taskbar doesn't have the extended blur effect.

GL_ARB_texture_barrier is supported since OpenGL 4.4, but KWin uses 3.0
GL_NV_texture_barrier is supported since OpenGL 3.0 but it only works on Nvidia right?
What about AMD and Intel GPUs then? 
I guess mostly the older and weaker cards would be benefit from this, but the chance is higher that they don't support this extension.
Is it worth the hassle to only implement this for Nvidia users?

I guess it's an unpopular opinion, but it's "only" 8 MB and since cards these days have at least like 1 GB of VRAM it's not a big concern.

How do you suggest we handle this?

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9848

To: anemeth, #plasma, #kwin
Cc: luebking, broulik, romangg, zzag, anthonyfieroni, mart, davidedmundson, fredrik, ngraham, plasma-devel, kwin, #kwin, iodelay, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180118/ecdbfbb6/attachment.html>


More information about the Plasma-devel mailing list