Commit Graph

8218 Commits (7aecca019fbf904603a81490eac5e8421879f062)

Author SHA1 Message Date
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
Montel Laurent c0a47ae1dd Warning-- 2011-04-30 13:17:26 +02:00
Martin Gräßlin 9a6cf6f136 No OpenGL/GLX compositing on Gallium softpipe
BUG: 271166
FIXED-IN: 4.7.0
2011-04-30 10:30:43 +02:00
Script Kiddy 31218c820c SVN_SILENT made messages (.desktop file) 2011-04-30 09:13:55 +02:00
Martin Gräßlin 5290e78106 Adding an option GLLegacy to force OpenGL 1
Setting option "GLLegacy" to true in config group "Compositing"
will disable all GLSL shaders and kwin uses the legacy OpenGL 1
code pathes. Obviously the option is ignored with GLES.

As my Qt Designer is refusing to work, there is no GUI option yet.
2011-04-29 16:44:48 +02:00
Martin Gräßlin 728f333e6a Only use GLSL shader for lanczosfilter if ShaderManager is valid 2011-04-29 16:44:48 +02:00
Martin Gräßlin 818a936e99 Only use GLSL blur shader if ShaderManager is valid 2011-04-29 16:44:48 +02:00
Christoph Feck 24b9a8c9db Move decoration option
It is needed in the config_kwin.h file, so it must be declared before.
2011-04-29 15:33:52 +02:00
Martin Gräßlin 57c101c04d Fix sphere shader 2011-04-29 14:12:48 +02:00
Martin Gräßlin 4d463a4dc4 Use placement strategy Maximizing when building without decos 2011-04-29 12:46:04 +02:00
Martin Gräßlin cf1ab4e330 Do not try to load plugin when building without decos 2011-04-29 12:34:22 +02:00
Martin Gräßlin fda841787f Make Logout Effect work again with OpenGL 2 backend
It's more of a hack, but at least it is working again. Still needs
a proper rewrite to also support GLES.
2011-04-29 10:49:06 +02:00