This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/101977/

Review request for kwin, Martin Gräßlin and Fredrik Höglund.
By Philipp Knechtges.

Updated Aug. 25, 2011, 10:34 a.m.

Changes

adjust the patch to latest changes upstream

Description

This patch adds an optional texture cache to the blur effect. The texture cache allows one to partially repaint the blurred region
if the region or a window on top it is damaged. This patch does not change anything on the behavior of the blur effect if caching is turned off.

Some facts about the texture cache:
- It does not a full cache of the window's background. To achieve this one would have to shrink the clip of all following windows which results in less performance.
- We only cache the horizontally blurred texture. I didnt test whether it is better to cache the full result.
- For every window we have to keep a texture of the size of the blurred area in the GFX memory.

Although we so far only cache all windows or none the prePaintWindow function is designed to add the possibility to decide on a per-window basis which window
should be cached. But IMO this is not worth the effort cause the extra memusage isnt that high.
 

Testing

GL: works
GLES: compiles
KCM: not yet

Diffs (updated)

  • kwin/effects/_test/demo_liquid.cpp (5b1ef03)
  • kwin/effects/_test/test_fbo.cpp (4cb646f)
  • kwin/effects/blur/blur.h (3c0922b)
  • kwin/effects/blur/blur.cpp (c8b39b6)
  • kwin/effects/blur/blur_config.cpp (0612599)
  • kwin/effects/blur/blur_config.ui (3b99afd)
  • kwin/effects/blur/blurshader.h (4308be9)
  • kwin/effects/blur/blurshader.cpp (decd430)
  • kwin/effects/logout/logout.cpp (7880dae)
  • kwin/effects/lookingglass/lookingglass.cpp (783823e)
  • kwin/effects/magnifier/magnifier.cpp (3e216f6)
  • kwin/effects/screenshot/screenshot.cpp (d12d77d)
  • kwin/lanczosfilter.cpp (7c0bad9)
  • kwin/libkwineffects/kwinglutils.h (59bac2e)
  • kwin/libkwineffects/kwinglutils.cpp (e1d5b7b)

View Diff