Commit graph

25 commits

Author SHA1 Message Date
Martin Gräßlin
111db93e05 Blur background of EffectFrames.
BUG: 241389
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/workspace/; revision=1154132
2010-07-24 20:48:19 +00:00
Andreas Demmer
2bedb6bba9 initial commit of the KWin dashboard effect
svn path=/trunk/KDE/kdebase/workspace/; revision=1153704
2010-07-23 19:52:20 +00:00
Martin Gräßlin
4111a9f051 Support for adding a driver blacklist to be used in the lanczos filter and blur effect.
It uses a new config group Blacklist in kwinrc with two subgroups for Lanczos and Blur.
The key of each entry in the group referrences the vendor either using GL_VENDOR or GL_RENDERER, e.g. "Intel" in renderer for Intel based chips.
The value of the entries is a stringlist containing exactly the renderer information. This way it is possible to blacklist several mesa driver versions which are buggy.
The blacklist is currently empty and will be filled with a kconf update script (which could also be done by distributions). So all users who experience problems and are subscribed to the bugs receiving this message, please upload your glxinfo.
An example for a blacklist:
[Blacklist][Lanczos]
NVIDIA=GeForce 9400M/PCI/SSE2

CCBUG: 243181
CCBUG: 242985

svn path=/trunk/KDE/kdebase/workspace/; revision=1146195
2010-07-05 13:42:34 +00:00
Fredrik Höglund
253647ec1e Sanity check the shader limitations to protect against implementations
returning bogus values.

FIXED-IN: 4.5
BUG: 241449

svn path=/trunk/KDE/kdebase/workspace/; revision=1137677
2010-06-14 00:18:04 +00:00
Martin Gräßlin
633d80001f Add new role, so that fullscreen effects can enforce blurring of windows they know to be translucent and on a fixed position.
Used in cube animation for all sticky windows and in desktop grid for the add/remove desktops window.

svn path=/trunk/KDE/kdebase/workspace/; revision=1137489
2010-06-13 07:36:40 +00:00
Fredrik Höglund
66125caac3 Fix the darkening of the bottom-most pixels behind the plasma panel.
The texture needs to be drawn on screen coordinates on the offscreen
framebuffer in the horizontal pass, otherwise pixels that fall below
the screen won't be clamped to the screen edge in the subsequent
vertical pass. This is because the offscreen buffer is the same size
as the screen.

This change also gets rid of the need to clear the offscreen buffer
before blurring the screen contents behind each window, and reduces
the CPU computations done on the blur region.

svn path=/trunk/KDE/kdebase/workspace/; revision=1137134
2010-06-11 18:38:54 +00:00
Fredrik Höglund
e9f419c819 Fix a 64-bit issue in BlurEffect::updateBlurRegion().
BUG: 235620
FIXED-IN: 4.5 beta2

svn path=/trunk/KDE/kdebase/workspace/; revision=1130567
2010-05-25 17:34:17 +00:00
Fredrik Höglund
5c97592ecf Rebind the shader that should be used for drawing the window after
blurring the background.

svn path=/trunk/KDE/kdebase/workspace/; revision=1128975
2010-05-20 20:23:39 +00:00
Fredrik Höglund
e075890c28 Rename _KDE_NET_WM_BLUR_REGION to _KDE_NET_WM_BLUR_BEHIND_REGION.
svn path=/trunk/KDE/kdebase/workspace/; revision=1106457
2010-03-22 22:03:32 +00:00
Fredrik Höglund
087f1a6fef Make the strength of the blur effect configurable.
svn path=/trunk/KDE/kdebase/workspace/; revision=1102771
2010-03-13 15:03:29 +00:00
Fredrik Höglund
e71232cb39 Optimize the horizontal pass.
svn path=/trunk/KDE/kdebase/workspace/; revision=1102515
2010-03-12 18:29:16 +00:00
Fredrik Höglund
cd1f1ce623 Only blur the area below the window decoration if the application hasn't
set the _KDE_NET_WM_BLUR_REGION hint.

svn path=/trunk/KDE/kdebase/workspace/; revision=1102480
2010-03-12 16:47:45 +00:00
Fredrik Höglund
69ab6ec3b7 Use GL_CONSTANT_ALPHA instead of reducing the opacity in the fragment shader.
This makes the blending work correctly when the alpha bits are zero,
which is apparently the case with NVidia.

svn path=/trunk/KDE/kdebase/workspace/; revision=1102471
2010-03-12 16:10:57 +00:00
Fredrik Höglund
c82351488e Make sure that both the render target and the shader are valid
before using them.

svn path=/trunk/KDE/kdebase/workspace/; revision=1102465
2010-03-12 15:56:19 +00:00
Fredrik Höglund
5d0ab03a69 Clear the framebuffer object before rendering to it.
This fixes artifacts that sometimes appear near window edges.

svn path=/trunk/KDE/kdebase/workspace/; revision=1101786
2010-03-10 22:12:32 +00:00
Fredrik Höglund
728e3ed6f6 Use the texture matrix to do the screen to texture coordinate transformations.
svn path=/trunk/KDE/kdebase/workspace/; revision=1101728
2010-03-10 18:31:59 +00:00
Fredrik Höglund
3de8c53f21 Refactor the blur shader code a bit, and add a GLSL version.
svn path=/trunk/KDE/kdebase/workspace/; revision=1100848
2010-03-08 20:45:58 +00:00
Fredrik Höglund
ad2a92b082 New hint: _KDE_NET_WM_BLUR_REGION
Applications can use this hint to specify the region under the
the window where the blur effect will be applied.

svn path=/trunk/KDE/kdebase/workspace/; revision=1100036
2010-03-06 16:14:25 +00:00
Fredrik Höglund
53391ba944 Initial commit of the blur effect rewrite.
svn path=/trunk/KDE/kdebase/workspace/; revision=1099619
2010-03-05 20:42:10 +00:00
Fredrik Höglund
48c3a09119 Remove the old blur effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=1099609
2010-03-05 20:26:49 +00:00
Lucas Murray
8a8428e41c Less Krazy warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042572
2009-10-30 06:51:59 +00:00
Laurent Montel
3ce5dd0ffc Fix includes
svn path=/trunk/KDE/kdebase/workspace/; revision=1018077
2009-09-01 07:05:48 +00:00
Martin Gräßlin
2a8fae3234 Rename uniforms textureWidth and textureHeight to blurTextureWidth/Height in blur effect as those uniforms are used on global scale now.
svn path=/trunk/KDE/kdebase/workspace/; revision=961554
2009-04-30 10:40:05 +00:00
Martin Gräßlin
3f07d10802 Blur windows which have hasAlpha set. That way background of e.g. transparent Plasma panels and Konsole will be blurred as well.
FEATURE: 178670

svn path=/trunk/KDE/kdebase/workspace/; revision=925075
2009-02-12 11:20:44 +00:00
Lucas Murray
846496d2c1 Cleaned up the effects/ directory by moving each individual effect into
its own directory, cleaned up the effect config macros and renamed
"MakeTransparent" to "Translucency" so that it matches its visible name.

svn path=/trunk/KDE/kdebase/workspace/; revision=921749
2009-02-05 15:35:38 +00:00
Renamed from effects/blur.cpp (Browse further)