Commit Graph

8179 Commits (e38ab44ea411374477407c51543471516cae74ad)

Author SHA1 Message Date
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
Yuri Chornoivan f5ad33789c fix typos: focussed->focused, mouseclick->mouse click 2011-05-09 10:40:48 +03:00
Script Kiddy cb2597dcaf SVN_SILENT made messages (.desktop file) 2011-05-09 09:32:40 +02:00
Thomas Lübking d233891da7 make kwinrules kcm more user friendly 2011-05-08 21:30:15 +02:00
Alberto Mattea 9bbed0335a Add basic multihead support to kwin
For now there is autostart support on all screens and support for different resolutions on different screens.
Keyboard shortcuts are still TODO
REVIEW: 101125
BUG: 256242
2011-05-08 20:39:27 +02:00
Thomas Lübking 2534acc961 Don't store virtual desktop settings while loading them
fwd-port of a2d4c3ebdf7137f3543c88245f0bfd3dba308ebf
CCBUG: 272666
2011-05-08 17:14:45 +02:00
Fredrik Höglund ff889337e2 kwin/blur: Use pos() instead of geometry().topLeft() 2011-05-08 12:05:22 +02:00
Fredrik Höglund 9a08f99958 kwin/blur: Fix a regression from a6bdff71
Subtract the screen-relative contents rect of the window from
the paint region, not the window relative rect.
2011-05-08 11:58:33 +02:00
Martin Gräßlin 032c2cc333 Ensure that list is not empty before accessing
With settings to animate windows in boxswitch it was
possible that an empty list was accessed when the last
window closed.
BUG: 263306
FIXED-IN: 4.7.0
2011-05-07 11:26:36 +02:00
Martin Gräßlin 1dd614ee4b Improved detection of OpenGL software emulation
Adding a new method to retrieve whether the OpenGL implementation
uses any kind of software emulation and no software emulation can
provide GLSL support, even if it claims so.

Thanks to Maurel for testing again and again proposed patches.

BUG: 271166
2011-05-06 18:16:38 +02:00
Jacopo De Simoi 57c2b33bce XRender backend: Paint shadow with window contents only, not with decoration
This notably fixes glitches with shadow menus of a well-known xul-based browser.
2011-05-06 09:53:04 -04:00
Script Kiddy ffd4385396 SVN_SILENT made messages (.desktop file) 2011-05-06 09:17:40 +02:00
Hugo Pereira Da Costa b602ce9d52 fixed default tab. 2011-05-05 23:43:11 +02:00
Script Kiddy f08ee510ce SVN_SILENT made messages (.desktop file) 2011-05-05 08:48:17 +02:00
Script Kiddy fd9ecd8d09 SVN_SILENT made messages (.desktop file) 2011-05-03 10:32:34 +02:00
Script Kiddy 7bc87bca86 SVN_SILENT made messages (.desktop file) 2011-05-02 09:21:02 +02:00
Yuri Chornoivan 65f0763df4 fix typo: perfomed->performed 2011-05-02 10:00:49 +03:00
Fredrik Höglund 65025071fc kwin/blur: Optimize the paint region
Optimize the region of the screen that's painted in each frame,
and paint the windows top-to-bottom when the damaged region doesn't
intersect any blurred areas.
2011-05-02 02:06:18 +02:00
Fredrik Höglund 8ab56a2146 kwin: Return all windows in EffectsHandlerImpl::stackingOrder() 2011-05-02 02:06:18 +02:00
Fredrik Höglund 7ef8f444f6 kwin/blur: Disable by default on all Intel chipsets 2011-05-02 02:06:17 +02:00
Fredrik Höglund e5ea420e96 kwin: Add an enabledByDefault() function to the effects interface
This makes it possible to decide at runtime if an effect should
be enabled by default.
2011-05-02 02:06:17 +02:00
Montel Laurent 422eacb42b Fix warning (order) 2011-05-01 14:57:01 +02:00
Martin Gräßlin 2e7116f126 Build option to enable building of KCMs
New build option KWIN_BUILD_KCMS to control whether to build
all KWin kcms or not. By default kcms are built.
CCMAIL: sebas@kde.org
2011-05-01 13:27:13 +02:00
Martin Gräßlin c37b7cdcba GUI option to control new GLLegacy option
Needs to be removed when compiled against GLES.
2011-05-01 13:04:29 +02:00
Hugo Pereira Da Costa c2367fabe0 Merge branch 'master' of git.kde.org:kde-workspace 2011-05-01 11:53:07 +02:00
Hugo Pereira Da Costa c5766a5e3a removed "shadowMode" option, since it has been obsoleted by kwin's new shadow system. 2011-05-01 11:52:22 +02:00
Martin Gräßlin 067ca63239 Enable direct rendering for all Mesa drivers
As KWin requires at least Mesa 7.10 for OpenGL we can be sure
that all Mesa drivers support DRI2 and can enable direct rendering
for it.

Parsing the version string to identify if it is a mesa driver.
This can cause breakage again in future versions of Mesa.
Unfortunately version, vendor and renderer are the only information
queryable just with OpenGL API.
BUG: 270942
FIXED-IN: 4.7.0
2011-05-01 11:52:19 +02:00
Martin Gräßlin 32adc59e4b Use cap shader to render area between screens in cube
This fixes most of the rendering issues with cube in multi
screen setups and GLSL backend. For cylinder and sphere the
rendering of areas between screen is currently disabled if
using the GLSL backend. It needs adjustments to use another
vertex shader. Not sure if it is worth the effort.
2011-05-01 11:28:07 +02:00
Martin Gräßlin d396ce990b Fix untextured cube caps with GLSL 2011-05-01 11:28:07 +02:00
Script Kiddy a773a063b6 SVN_SILENT made messages (.desktop file) 2011-05-01 09:27:31 +02:00