Commit graph

1975 commits

Author SHA1 Message Date
Martin Gräßlin
fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Philipp Knechtges
2dd48de82a kwin: reverting some parts of 73cd2c6fa67e2653a8d9a5e17f0140381d998c19
Might results to some asserts in the debug build and does not play well with other effects.
2011-08-27 19:05:34 +02:00
Philipp Knechtges
c12e089b41 kwin: optimizing taskbarthumbnail effect
Corrected some addRepaint calls and dropped the
dependency on paintGenericScreen.
2011-08-27 18:22:05 +02:00
Script Kiddy
c3004ddc7b SVN_SILENT made messages (.desktop file) 2011-08-27 10:03:17 +02:00
Script Kiddy
1b1e72b753 SVN_SILENT made messages (.desktop file) 2011-08-25 09:32:38 +02:00
Script Kiddy
d3b3c3c65e SVN_SILENT made messages (.desktop file) 2011-08-24 08:53:42 +02:00
Martin Gräßlin
b5279af212 Bring back the magnifier effect
Effect uses framebuffer blit to copy the zoomed are in a scaled
way into an offscreen texture and render the texture after the
rendering. This means instead of two rendering passes we now need
only one pass, but require the blit extension.
2011-08-20 10:58:43 +02:00
Martin Gräßlin
29e91f9042 Support for fullscreen, screen and region screenshot
Just to have something which uses the blitFramebuffer functionality.
2011-08-20 10:58:43 +02:00
Montel Laurent
62c5a5e276 normalize signal/slots 2011-08-17 23:51:55 +02:00
Martin Gräßlin
623db51c9b Remove unused files 2011-08-13 18:34:24 +02:00
Martin Gräßlin
987bc837d9 Remove define KWIN_HAVE_OPENGL_COMPOSITING
Due to changes in build system we have always either OpenGL or OpenGL ES.
This allows to remove the KWIN_HAVE_OPENGL_COMPOSITING define. In the
effects the define is kept as KWIN_HAVE_OPENGL which can be used in
future to build also an XRender only effect system.
2011-08-13 16:46:43 +02:00
Thomas Lübking
45eb40ef69 check m_closeView validity (can be NULL when the timer crosses the deactivation)
BUG: 280027
2011-08-13 16:41:36 +02:00
Thomas Lübking
a2d9ff72aa fix close button side for present windows effect
BUG: 262543

pint desktop as background when including desktop in switcher
BUG: 262137

zoom windows as hover/selection indicaton (1/8 of the screen or 105%)
BUG: 215348
CCBUG: 175521

no closer on "show desktop" desktop
show closer immediately but have it disabled for a short time to allow the user realize it

REVIEW: 101318
2011-08-09 22:57:54 +02:00
Script Kiddy
4b81841268 SVN_SILENT made messages (.desktop file) 2011-08-09 15:14:17 +02:00
Script Kiddy
857a61e30f SVN_SILENT made messages (.desktop file) 2011-08-04 10:39:45 +02:00
Martin Gräßlin
df75644817 Fix compilation with OpenGL ES and without OpenGL
If we have OpenGL ES but not OpenGL the KWIN_HAVE_OPENGL is set
causing the first compile pass to fail as it tries to build
against OpenGL. As a solution the first pass links against
OpenGL ES if OpenGL is not found.

This means both kwin and kwin_gles are built against GLES.
2011-08-03 16:39:36 +02:00
Martin Gräßlin
f72f465c13 Fix Typos
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin
3232c2cb2a Remove duplicate includes
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin
371f5b30e2 Adding missing newlines at end of file
Krazy--
SVN_SILENT
2011-08-03 08:25:02 +02:00
Martin Gräßlin
fe4744c1e9 Single quotes instead of double quotes
Krazy--
SVN_SILENT
2011-08-03 08:24:27 +02:00
Martin Gräßlin
1f89dcf25d All effects need to link X11
The Plasma Active build of kwin was broken because of that.
We really should get the effects X free...
2011-08-02 19:44:35 +02:00
Jaime Torres
26a492eb4a reduce the scope of two variables
reduce the scope of two variables

REVIEW: 102057
2011-08-02 17:26:21 +02:00
Jaime Torres
664aaa1b60 ++ prefix for non-trivial data-types
change suffix ++ to prefix ++ to speed up a little bit not-trivial
data-types. discovered by cppcheck

REVIEW: 102057
2011-08-02 17:21:56 +02:00
Kai Uwe Broulik
79844f0ae7 Disable new login effect.
I could swear I disabled the effect by default.
2011-08-02 15:14:55 +02:00
Kai Uwe Broulik
ca2a019bc8 Add option to make login effect fade via black instead of a long transition to your desktop.
Nuno has to decide whether the new option will become default or not, for now it is disabled by default.
You can enable it in effects kcm, now Login effect has a configuration dialog.

It does not (yet) however check for non-fullscreen effects, so they might look weird when this is enabled.

REVIEW: 101812
CCMAIL: nuno@oxygen-icons.org
2011-08-02 15:09:31 +02:00
Script Kiddy
c37c9de57b SVN_SILENT made messages (.desktop file) 2011-07-30 09:44:58 +02:00
Martin Gräßlin
68bba98e5f Remove duplicated xfixes include 2011-07-27 18:34:32 +02:00
Martin Gräßlin
997634c813 Remove a not working include directory
The kwin/lib directory does not exist for one
release cycle now.
2011-07-27 18:34:32 +02:00
Martin Gräßlin
92d32de087 Effects do not need kephal 2011-07-27 18:34:32 +02:00
Martin Gräßlin
808c29109a Build effects twice - once with GL, once with GLES 2011-07-27 18:34:31 +02:00
Martin Gräßlin
7e4e43d203 Make ShowFpsEffectConfig build without GL dep
Forward declarations to the help!
2011-07-27 18:34:31 +02:00
Martin Gräßlin
d0664a9c96 Ensure logout compiles with GLES 2011-07-27 18:34:31 +02:00
Script Kiddy
6df618e94b SVN_SILENT made messages (.desktop file) 2011-07-25 09:33:28 +02:00
Script Kiddy
30de988de8 SVN_SILENT made messages (.desktop file) 2011-07-24 09:25:34 +02:00
Script Kiddy
9b8404279b SVN_SILENT made messages (.desktop file) 2011-07-21 09:27:01 +02:00
Script Kiddy
2566d184c4 SVN_SILENT made messages (.desktop file) 2011-07-20 09:24:14 +02:00
Script Kiddy
7025e72d87 SVN_SILENT made messages (.desktop file) 2011-07-15 09:21:33 +02:00
Philipp Knechtges
afe8048afd kwin: optimizing the blur effect
This patch adds the capability to draw blurred region top to bottom using
paintSimpleScreen.

REVIEW: 101898
2011-07-14 14:20:56 +02:00
Script Kiddy
1eb1c85289 SVN_SILENT made messages (.desktop file) 2011-07-13 09:17:45 +02:00
Script Kiddy
4eba738a3f SVN_SILENT made messages (.desktop file) 2011-07-12 10:36:56 +02:00
Script Kiddy
2ae92ab509 SVN_SILENT made messages (.desktop file) 2011-07-09 09:40:35 +02:00
Script Kiddy
d414f57c8d SVN_SILENT made messages (.desktop file) 2011-07-07 10:20:05 +02:00
Script Kiddy
976f396fc7 SVN_SILENT made messages (.desktop file) 2011-07-06 10:41:48 +02:00
Martin Gräßlin
e6b5a428ea Disable build of MagnifierEffect
Magnifier is broken without PaintClipper.
Needs a better implementation, see:
http://lists.kde.org/?l=kwin&m=130972453005390&w=2
2011-07-05 20:22:44 +02:00
Martin Gräßlin
fa30d774af Paint windows on edge without Lanczos filger
This makes it possible to use BoxSwitch in animated mode wihout
PaintClipper.
2011-07-05 20:18:21 +02:00
Martin Gräßlin
1793343847 Make Slideback work on OpenGL without PaintClipper 2011-07-05 20:18:21 +02:00
Martin Gräßlin
8fa22d0f6a Remove PaintClipper from CoverSwitch
Reflection in a vertical multiscreen setup are kind of broken without
PaintClipper. But we have to ask ourselfe whether CoverSwitch in a
vertical multi screen setup makes sense and whether it's useful to
have reflections in such a setup.

Horizontal multiscreen setup works fine (also with reflections).
2011-07-05 20:18:20 +02:00
Martin Gräßlin
9c8ebfc1fd Remove PaintClipper in GL mode from DesktopGrid
Seems to not be needed at all.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
572368ea27 Make Slidingpopus work without PaintClipper
Add correct region to repaint, this just used to be clipped before.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
050ea5010b Remove PaintClipper from Cube
Seems to be a relict from the time when we scaled the cube on one screen.
2011-07-05 20:18:19 +02:00
Philipp Knechtges
827f9219be kwin: add support for y-inverted textures to the Cube effect 2011-07-04 17:50:12 +02:00
Martin Gräßlin
aa3f7a6f4e Merge branch 'KDE/4.7' 2011-07-03 12:36:54 +02:00
Martin Gräßlin
78dd6e6859 Fix rendering glitch in screenshot effect with Raster
We have to set the bit depth of the XPixmap to 32 in order to get
an alpha channel and we have to render the grabbed image using
composition mode Source in order to just copy all pixels to the
destination pixmap.

BUG: 276719
FIXED-IN: 4.7.0
2011-07-03 12:23:11 +02:00
Martin Gräßlin
7e3f6931e4 Merge branch 'KDE/4.7' 2011-07-03 11:09:14 +02:00
Martin Gräßlin
5c0d24c7bf Fix a rendering glitch caused by the reflections in CoverSwitch
Seems like we need to use drawWindow instead of paintWindow or
KWin will keep some parts of the paint data.

BUG: 276810
FIXED-IN: 4.7.0
2011-07-03 11:07:27 +02:00
Thomas Lübking
a1b110634f zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:07:09 +02:00
Thomas Lübking
c2e06221ca zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:03:12 +02:00
Martin Gräßlin
135d835dd5 Merge branch 'KDE/4.7' 2011-06-26 18:52:18 +02:00
Martin Gräßlin
482ba893d5 Magnifier requires OpenGL 2011-06-26 18:51:08 +02:00
Arthur Arlt
25654f25b8 Removing TopMenu
Since the funtionality of TopMenu did no longer work in KDE4 this feature was
removed from Workspace. Every reference to it was removed as well as commentaries
and documentation.

REVIEW: 101485
2011-06-24 12:27:56 +02:00
Script Kiddy
163824af85 SVN_SILENT made messages (.desktop file) 2011-06-22 09:44:08 +02:00
Script Kiddy
538e9d1467 SVN_SILENT made messages (.desktop file) 2011-06-21 11:01:53 +02:00
Michael Zanetti
5fed91d391 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-06-20 22:00:12 +02:00
Michael Zanetti
e1bf590a1c - fixes calculation of WindowMotionManager in case a new destination is set when the window is not at its original position and provide a function to check if windows
are currently moving (by Thomas Lübking)
- make use of new function and bugfix in SlideBack effect
2011-06-20 21:56:56 +02:00
Script Kiddy
bbcff0860f SVN_SILENT made messages (.desktop file) 2011-06-20 10:22:05 +02:00
Michael Zanetti
2f10503ee5 fix TabBox detection in SlideBack effect 2011-06-19 22:05:48 +02:00
Martin Gräßlin
6569bb071f Pass windowSize to Fragment Shader again 2011-06-19 20:54:13 +02:00
Martin Gräßlin
a05ad98896 Remove textureWidth/textureHeight from all Shaders
The uniforms textureWidth and textureHeight were only needed for
normal windows. For everything else it was just 1.0/1.0, that is
normalized.

The makeArrays method is changed to produce normalized texcoords
obsoleting the need for these uniforms. So two uniforms less, one
calculation in vertex shaders less and many many lines of code
removed.

At the same time makeArrays is also adjusted to take care of
yInverted of the texture, which is needed as we no longer can use
the enableUnnormalizedTexCoords which did the yInverted transformation.

REVIEW: 101646
2011-06-19 20:54:13 +02:00
Script Kiddy
16771b043c SVN_SILENT made messages (.desktop file) 2011-06-19 09:40:27 +02:00
Martin Gräßlin
d0e57a57cc Fix incorrect rendering of Cube Wallpaper with GL2
Textures should be rendered with simple shader when not being transformed.
2011-06-15 21:40:15 +02:00
Script Kiddy
15ea44e709 SVN_SILENT made messages (.desktop file) 2011-06-14 10:59:04 +02:00
Script Kiddy
9ec8ee095a SVN_SILENT made messages (.desktop file) 2011-06-12 10:07:36 +02:00
Script Kiddy
f1eb4d97bf SVN_SILENT made messages (.desktop file) 2011-06-10 09:20:20 +02:00
Script Kiddy
b0e3b23c25 SVN_SILENT made messages (.desktop file) 2011-06-08 09:23:45 +02:00
Script Kiddy
4ec556467d SVN_SILENT made messages (.desktop file) 2011-06-07 10:22:50 +02:00
Script Kiddy
054c6a7df5 SVN_SILENT made messages (.desktop file) 2011-06-05 10:13:23 +02:00
Script Kiddy
10a18f294a SVN_SILENT made messages (.desktop file) 2011-06-04 10:03:32 +02:00
Script Kiddy
01e64e9039 SVN_SILENT made messages (.desktop file) 2011-06-03 09:06:45 +02:00
Martin Gräßlin
20fdcf06f4 Fix blending issue with invert effect
Actually it's more a hack and should be addressed in the next
release cycle by allowing effects to modify the scene's blend
equation.
BUG: 274424
FIXED-IN: 4.7.0
2011-06-02 11:40:20 +02:00
Martin Gräßlin
46fdbd26a4 Only end effect if it is not active any more
BUG: 274550
FIXED-IN: 4.7.0
2011-06-02 10:08:51 +02:00
Script Kiddy
0ea286f887 SVN_SILENT made messages (.desktop file) 2011-05-30 09:32:46 +02:00
Script Kiddy
a7dc64e5b8 SVN_SILENT made messages (.desktop file) 2011-05-29 10:09:53 +02:00
Martin Gräßlin
f9ecbee57b Ensure Lanczos is disabled during start animation
For what reason ever motion manager thinks that windows are not
moving during the start animation (but are during the stop animation).
So we also have to look on the timeline to decide whether we should
disable lanczos filter on the windows.

Now wonder the animation was stuttering.
BUG: 274292
FIXED-IN: 4.7.0
2011-05-28 17:41:27 +02:00
Script Kiddy
69d944e64a SVN_SILENT made messages (.desktop file) 2011-05-27 09:01:39 +02:00
Script Kiddy
231080e083 SVN_SILENT made messages (.desktop file) 2011-05-25 08:52:41 +02:00
Philipp Knechtges
5e22d3912b kwin: fixes graphical glitches in the wobblywindows effect
Before this patch, the damaged area had been underestimated.
2011-05-20 21:57:28 +02:00
Script Kiddy
1b3657ec0e SVN_SILENT made messages (.desktop file) 2011-05-20 09:11:04 +02:00
Script Kiddy
3d0c81f121 SVN_SILENT made messages (.desktop file) 2011-05-17 10:49:34 +02:00
Fredrik Höglund
6bc8cb93da kwin/blur: Pack varyings in the GLSL shader
Pack two vec2 coordinates in each vec4 varying. This gives
a ~60% improvement in shader performance with R600G.
2011-05-15 21:25:34 +02:00
Martin Gräßlin
4365b077d5 Do full repaints on window damage in boxswitch with GLES
Due to changes in the blur effect, the EffectFrame was flickering
with GLES. This can be worked around by doing full repaints whenever
a window is damagded while boxswitch is active with GLES. The problem
only occurs with the GLES backend due to the way how the buffers are
swapped.
BUG: 272688
2011-05-15 20:26:26 +02:00
Script Kiddy
e986b32d64 SVN_SILENT made messages (.desktop file) 2011-05-15 09:52:04 +02:00
Fredrik Höglund
93dc4d459c kwin/blur: Don't blur anything when we're painting top-to-bottom 2011-05-14 18:26:21 +02:00
Fredrik Höglund
b1990eec75 kwin/blur: Refactor the tests in drawWindow()
Move the tests into a separate function to improve readability.
2011-05-14 18:22:38 +02:00
Thomas Lübking
580aa665c9 use KLocale::positive/negativeSign in windowgeometry effect
BUG: 273169
FIXED-IN: 4.7
2011-05-13 17:38:13 +02:00
Martin Gräßlin
234ec644d2 KWin supports graphicssystem Raster
With raster a QPixmap is no longer a XPixmap which fails all code
which assumes that an QPixmap is an XPixmap. Depending on were in
the codebase we either convert such pixmaps to images (OpenGL) or
create a XPixmap and use QPixmap::fromX11Pixmap to get a "real"
pixmap.

It is possible that there are more code pathes were we would need
a XPixmap. Currently tested is basic functionality of no-compositing,
XRender compositing, OpenGl/GLX and OpenGL ES/EGL compositing.

For OpenGL compositing raster might result in performance improvements,
for XRender it is possible that there are regressions when using raster.
By default KWin uses whatever is the default of the system, so we just
no longer enforce native.

Of course it is a bad idea to use graphicssystem OpenGL. As that
is broken anyways in Qt, we do not check for it.

Many thanks to Philipp Knechtges for bringing up the issue, convincing
me that we need it and providing most of the patch.

REVIEW: 101132
CCMAIL: Philipp.Knechtges@rwth-aachen.de
2011-05-12 18:52:38 +02:00
Thomas Lübking
13b420fe7b flipswitch effect, slotWindowClosed - heap data still doesn't wipe itself ;-) 2011-05-11 21:07:34 +02:00
Script Kiddy
9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Thomas Lübking
b54806fe0f strip QHash::operator[] from flipswitch
BUG: 238334
2011-05-10 21:43:46 +02:00
Martin Gräßlin
55bcd2ed10 Add new build option KWIN_MOBILE_EFFECTS
The new build option restricts the building of effects to those
useable for Plasma Active:
* blur
* dialogparent
* fade
* login
* outline
* presentwindows
* slidingpopups
* taskbarthumbnails
* screenshot

Additionally all effect KCMs are excluded from building in the
assumption that when building with this option, KWIN_BUILD_KCMS
is turned off.
CCMAIL: sebas@kde.org
2011-05-10 18:28:53 +02:00
Script Kiddy
cb2597dcaf SVN_SILENT made messages (.desktop file) 2011-05-09 09:32:40 +02:00