From fcbd22ad365be593a209bd93706df829c4bd2e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Sat, 17 Sep 2011 20:01:59 +0200 Subject: [PATCH] Workaround repaint issue in blur effect with GLES This is actually a bloody hack by forcing the screen to be repainted in each frame. This needs to be fixed in a different way or we at least have to turn blur off by default for GLES in the next release. --- effects/blur/blur.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp index 5a31af9877..ca5a9ecfad 100644 --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -219,6 +219,13 @@ void BlurEffect::prePaintScreen(ScreenPrePaintData &data, int time) m_damagedArea = QRegion(); m_currentBlur = QRegion(); +#ifdef KWIN_HAVE_OPENGLES + // HACK: with GLES the screen does not get updated correctly. + // as a workaround we trigger full repaints on GLES + // we need to find a proper solution or default to blur off on GLES. + data.mask |= PAINT_SCREEN_TRANSFORMED; +#endif + effects->prePaintScreen(data, time); }