Commit graph

8158 commits

Author SHA1 Message Date
Thomas Lübking
3af7395ab8 avoid calling QPixmap::paintEngine() in scene rendering
by checking the graphicssystem at startup
also avoid pixmap and memory leaking on the xrender backend, validate some pointers
on deletion in SceneOpnGL and avoid attempts to render ::isNull pixmaps
2011-06-11 15:23:03 +02:00
Script Kiddy
f1eb4d97bf SVN_SILENT made messages (.desktop file) 2011-06-10 09:20:20 +02:00
Pino Toscano
339990dbae i18n: do not extract placeholder strings 2011-06-08 21:00:49 +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
Martin Gräßlin
ae40bce25d Disable Shader Scene for LimitedGLSL GPUs
This was causing problems with R300G. The GPU supports only limited
GLSL and seems not to be up to rendering the scene appropriate. So
let's better disable the OpenGL 2 branch for such GPUs. If the user
really wants to use it, there is the GLES backend which does not
check for limited GLSL.
BUG: 274457
CCBUG: 274607
FIXED-IN: 4.7.0
2011-06-01 18:25:45 +02:00
Hugo Pereira Da Costa
c7f87d49d7 Set padding to 0 when client is maximized.
CCBUG: 274177
2011-05-30 17:56:50 +02:00
Hugo Pereira Da Costa
8c7585e500 do not render shadows when maximized.
CCBUG: 274177
2011-05-30 16:51:25 +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
Martin Gräßlin
20941aca53 Fix regression of setting a window to all desktops
The logic to prevent errornous desktops broke setting a window
to all desktops through the task manager. For some reason all
desktops is -1 which is of course less than 1 ;-)
2011-05-27 16:47:45 +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
Montel Laurent
e08f67ff6e Make it compile with "-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS" 2011-05-22 13:53:25 +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
Philipp Knechtges
5577cc769b kwin: bug fix for crash when using the raster backend
It seems to be possible to generate a QPixmap that is not null,
but doesnt have a paintEngine.
2011-05-19 21:41:30 +02:00
Arthur Arlt
866120ba2c KConf update script to remove obsoleted effects 2011-05-19 20:40:27 +02:00
Martin Gräßlin
9ba2a8f5d7 Don't emit windowDamaged on window deconstruction
The signal passed a null EffectWindow to all connected effects
which could cause a crash.
BUG: 273576
FIXED-IN: 4.7.0
2011-05-19 17:28:15 +02:00
Philipp Knechtges
2c0b0e9f18 Performance bugfix.
In case we use OpenGL compositing and KWin is started with the raster graphicssystem,
the decoration gets painted with the raster backend.
REVIEW: 101370
2011-05-18 21:27:11 +02:00
Philipp Knechtges
da82739301 kwin: Make SceneOpenGL::makeDecorationArrays aware of Texture::y_inverted 2011-05-18 21:09:59 +02:00
Martin Gräßlin
212c106855 Streamline titlebar and frame mousclick options
Thanks to Thomas Lundgaard for the patch.
CCMAIL: thomaslundgaard@gmail.com
REVIEW: 101071
2011-05-18 20:51:17 +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
Martin Gräßlin
74accbd64a Remove obsoleted code
Should have been removed with 44b83f951aeb3221c43ef3356e46650248b673cd
2011-05-15 14:33:40 +02:00
Script Kiddy
e986b32d64 SVN_SILENT made messages (.desktop file) 2011-05-15 09:52:04 +02:00
Martin Gräßlin
a81ddf2949 Disable Unredirect Fullscreen Windows by default
Well we don't have another choice if half of the drivers crash kwin
whenever you watch a fullscreen flash video or use a screen saver.
Unredirect Fullscreen Window was quite useful in case you used
to play heavy OpenGL games, but pretty useless for anything else.
For the game and hd video usecase we nowadays have the better way
of really suspending compositing (either by the client indicating or
with a window specific rule). The plus of suspending compositing is
that the driver doesn't crash.

And yes we are "supposed" to no longer workaround driver bugs.
Good joke, I like to redirect my inbox to everyone who things we
are not allowed to workaround driver bugs.

CCBUG: 252817
2011-05-15 09:40:19 +02:00
Martin Gräßlin
3775616a13 Do not deep copy the shadow pixmaps
The deep copy does not work with raster as it creates a non-native
pixmap. In fact the deep copy is not needed any more as it was a
safety check during development when apps using raster could crash
kwin.
2011-05-14 21:04:28 +02:00
Martin Gräßlin
911b037fe8 Add another pixmap safety check in Shadow creation
Do not only check for null pixmaps but also that the
pixmap contains a 32 bit depth as we don't want shadows
without alpha.
2011-05-14 21:02:11 +02:00
Friedrich Kröner
a3962f895d kwin: If GLTexture::load is called, glxpixmap doesn't need to exist
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
2011-05-14 19:07:30 +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
Martin Gräßlin
264fcfa49f Remove selfcheck code from OpenGL
Execution was ifdefed, if we want it again we have a VCS.
2011-05-12 17:59:57 +02:00
Thomas Lübking
13b420fe7b flipswitch effect, slotWindowClosed - heap data still doesn't wipe itself ;-) 2011-05-11 21:07:34 +02:00
Thomas Lübking
364ce6fbfc Allow the user to rearm OpenGLIsUnsafe KWIn autocrash protection
Also add a usable "doesn't work why" info and WARN! the user about clicking the rearm button.
Merge "OpenGLIsUnsafe" and "CheckIsSafe" config keys
Move the entire checking into CompositingPrefs

BUG:250865
FIXED-IN:4.7
2011-05-11 20:16:08 +02:00
Hugo Pereira Da Costa
810a750d25 removed some unneeded empty lines. 2011-05-11 10:23:36 +02:00
Script Kiddy
9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Albert Astals Cid
b1cb75e52b Convert these extracomment to comment
Because:
* We have a bug in our scripts that makes extracomment not work (will try to fix this asap)
* Makes sense to be a comment since we want it to be a disambiguation text
* KUIT markers (e.g. @label) need to be in comment
2011-05-10 22:38:46 +01: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
Jacopo De Simoi
2573bec755 XRender backend: do not process invalid shadow data 2011-05-09 11:14:20 -04:00