Commit graph

9799 commits

Author SHA1 Message Date
Casian Andrei
2dcf424d63 CC: Enable cc with OpenGL ES >= 3 (should support 3d textures) 2012-09-23 12:40:20 +03:00
Casian Andrei
8341d4406b Merge remote-tracking branch 'origin/master' into color2
Results in cleaner changes.
Put all the color correction stuff from SceneOpenGL in SceneOpenGL2.

Conflicts:
	kwin/eglonxbackend.cpp
	kwin/glxbackend.cpp
	kwin/scene.h
	kwin/scene_opengl.cpp
	kwin/scene_opengl.h
2012-09-23 11:57:38 +03:00
Ni Hui
16ea7617f3 fix build without scripting 2012-09-23 13:26:52 +08:00
Ni Hui
720f9239cc fix build without scripting 2012-09-23 13:23:41 +08:00
Script Kiddy
a916d99ada SVN_SILENT made messages (.desktop file) 2012-09-22 17:37:32 +02:00
Rohan Garg
322131d74a Merge branch 'KDE/4.9' 2012-09-20 23:22:58 +05:30
Rohan Garg
dba3ae6400 Fix the kwin KCM to read cascaded configs
REVIEW: 106498
2012-09-20 23:22:17 +05:30
Script Kiddy
cb86f3e0f5 SVN_SILENT made messages (.desktop file) 2012-09-20 10:06:35 +02:00
Thomas Lübking
f42f539102 fix merge fix 2012-09-19 20:49:55 +02:00
Thomas Lübking
850c1e6f0d add screen rule 2012-09-19 20:21:43 +02:00
Thomas Lübking
24cf0e75f3 Merge branch 'KDE/4.9'
Conflicts:
	kwin/scene.cpp
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2012-09-19 20:21:18 +02:00
Michael Hohmuth
371a29096b Do not autoraise a window unless the mouse has been moved.
Fixes unintended autoraises when switching workspaces.

BUG: 306281
FIXED-IN: 4.9.2
2012-09-19 20:16:34 +02:00
Thomas Lübking
42ad299d88 Do not unlist Unmanaged when released onShutdown
BUG: 303244
FIXED-IN: 4.9.2
REVIEW: 106382
2012-09-19 20:16:34 +02:00
Thomas Lübking
cb265d96fc Sync script loading, KConfGroup is not thread safe
REVIEW: 106377
BUG: 305361
FIXED-IN: 4.9.2
2012-09-19 20:16:34 +02:00
Thomas Lübking
5d80537b2c Do not add extra padding to Client::visibleRect()
REVIEW: 106376
2012-09-19 20:16:33 +02:00
Thomas Lübking
7775510918 fix desktopgrid window manage on VD amount change
BUG: 289747
FIXED-IN: 4.9.2
REVIEW: 106391
2012-09-19 20:16:33 +02:00
Thomas Lübking
2b0c73bea2 Use expandedGeometry to calc thumbnail geometry
BUG: 301730
REVIEW: 106336
FIXED-IN: 4.9.2
2012-09-19 20:16:33 +02:00
Thomas Lübking
0921af2129 fix ignoring dektop related windows for showing desktop state 2012-09-19 20:16:33 +02:00
Alexander Jones
696ea9f4d3 Use KConfigXT in Magnifier Effect
REVIEW: 106442
2012-09-19 12:05:21 +02:00
Martin Gräßlin
85510b91aa Use KConfigXT in ThumbnailAside effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106436
2012-09-19 10:24:04 +02:00
Martin Gräßlin
bd91fb10d7 Use KConfigXT in WindowGeometry
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106413
2012-09-19 10:17:17 +02:00
Martin Gräßlin
9ac20a382d Use KConfigXT in MagicLamp effect
Thanks to Andrea Scarpino for providing the patch

REVIEW: 106412
2012-09-19 09:29:27 +02:00
Martin Gräßlin
8ad02b5582 Use KConfigXT in Dashboard Effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106390
2012-09-19 09:21:15 +02:00
Martin Gräßlin
914729324c Use KConfigXT in Login Effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106387
2012-09-19 09:01:59 +02:00
Script Kiddy
203a9c1838 SVN_SILENT made messages (.desktop file) 2012-09-19 01:16:25 +02:00
Script Kiddy
31464244e1 SVN_SILENT made messages (.desktop file) 2012-09-18 19:14:07 +02:00
Martin Gräßlin
22dd2ca2c9 Merge branch 'KDE/4.9'
Conflicts:
	plasma/generic/scriptengines/python/plasma_importer.py
2012-09-16 21:34:04 +02:00
Martin Gräßlin
967be8b95a Improve performance of Scene::Window
Replace dynamic_casts to check the type for for Toplevel by isFoo()
calls and use static_casts in such blocks.

Furthermore method shape() returns now a constant reference instead of a
copy of the QRegion.

REVIEW: 106364
2012-09-16 21:31:20 +02:00
Martin Gräßlin
5a6d9400b2 Split SceneOpenGL into a concrete SceneOpenGL1 and SceneOpenGL2
SceneOpenGL turns into an abstract class with two concrete subclasses:
* SceneOpenGL1
* SceneOpenGL2

It provides a factory method which first creates either the GLX or EGL
backend which is passed to a static supported() method in the concrete
sub classes. These method can test whether the backend is sufficient to
be used for the OpenGL version in question. E.g. the OpenGL 2 scene
checks whether the context is direct.

The actual rendering is moved into the subclasses with specific OpenGL 1
and OpenGL 2 code. This should make the code more readable and requires
less checks whether a Shader is bound. This is now known through the
Scene: the OpenGL1 scene will never have a shader bound, the OpenGL2 scene
will always have a shader bound.

To make this more reliable the ShaderManager is extended by a disable
method used by SceneOpenGL1 to ensure that the ShaderManager will never
be used. This also obsoletes the need to read the KWin configuration
whether legacy GL is enabled. The check is moved into the supported
method of the OpenGL2 scene.

REVIEW: 106357
2012-09-16 21:28:11 +02:00
Martin Gräßlin
db9368fc26 Merge the code to render Client's and Deleted's decoration in SceneOpenGL
The code was basically copy'n'pasted to handle both Client and Deleted
requiring to cast the Toplevel to both Client and Deleted to test whether
it is one of those.

This is now changed from runtime to compile time polymorphism. A
templated method is used to start the rendering process for the decos.
This on the one hand simplifies the code and on the other does not
require any dynamic casts any more as we use the available check on
Toplevel whether it is a Client or Deleted.
2012-09-16 21:28:06 +02:00
Martin Gräßlin
fe440377bb Split SceneOpenGL::Window into specific classes for OpenGL 1 and 2
The Window implementation performed many checks whether the rendering
uses the OpenGL 1 or OpenGL 2 code path and there were quite a few
cludges around to make this work.

So instead of many if-else blocks the specific code has now been moved
into a specific sub class and calls to pure virtual method in the base
class are used to trigger this behavior. Although that adds some overhead
in a rather hot code path it should be better than the many chained
method calls used before to handle OpenGL 1 and 2.

It also makes the code a little bit more readable as all the complete
OpenGL 1 implementation is now in one block ifdefed for OpenGL ES.
2012-09-16 21:28:06 +02:00
Martin Gräßlin
6152cc4fa5 Split out the windowing system related part of SceneOpenGL
The handling for creating and managing the OpenGL context is
split out of the SceneOpenGL into the abstract OpenGLBackend
and it's two subclasses GlxBackend and EglOnXBackend.

The backends take care of creating the OpenGL context on the
windowing system, e.g. on glx an OpenGL context on the overlay
window is created and in the egl case an EGL context is created.
This means that the SceneOpenGL itself does not have to care
about the specific underlying infrastructure.

Furthermore the backend provides the Textures for the specific
texture from pixmap operations. For that in each of the backend
files an additional subclass of the TexturePrivate is defined.
These subclasses hold the EglImage and GLXPixmap respectively.

The backend is able to create such a private texture and for
that the ctor of the Texture is changed to take the backend as
a parameter and the Scene provides a factory method for
creating Textures. To make this work inside Window the Textures
are now hold as pointers which seems a better choice anyway as
to the member functions pointers are passed.
2012-09-16 21:28:05 +02:00
Casian Andrei
ba4cd78419 CC: Redo init and uninit, try to avoid fatal IO errors
Additional checks for GL errors.
Attempt to fix transparency issues again.
2012-09-16 16:30:35 +03:00
Casian Andrei
8bec3fda71 CC: Fix color correction init signal connections 2012-09-16 14:29:06 +03:00
Casian Andrei
87515dc9a9 Merge remote-tracking branch 'origin/master' into color2
Conflicts:
	kwin/workspace.cpp
2012-09-16 13:42:45 +03:00
Lilian A. Moraru
66f568342a Use KConfigXT in DesktopGrid effect
REVIEW: 106398
2012-09-15 11:24:11 +02:00
Lilian A. Moraru
99fcab5c36 Use KConfigXT in Blur effect
REVIEW: 106400
2012-09-15 11:24:11 +02:00
Lilian A. Moraru
607817eeef Use KConfigXT in FlipSwitch effect
REVIEW: 106401
2012-09-15 11:24:11 +02:00
Giuseppe Calà
500310b0e8 Use KConfigXT in LookingGlass Effect
REVIEW: 106406
2012-09-15 11:24:11 +02:00
Alexander Jones
f1df9ee2f0 Use KConfigXT in Zoom Effect
REVIEW: 106402
2012-09-14 10:39:28 +02:00
Alexander Jones
f581e22e38 Use KConfigXT in Resize Effect
REVIEW: 106397
2012-09-14 10:39:28 +02:00
Bernhard Friedreich
968d10c14a Use KConfigXT in Wobblywindows effect
REVIEW: 106389
2012-09-14 10:39:28 +02:00
Dario Cambié
581f9b9394 Use KConfigXT in Glide Effect
REVIEW: 106392
2012-09-14 10:39:28 +02:00
Dirk Sarpe
31fa04d653 Use KConfigXT in PresentWindows Effect
REVIEW: 106407
2012-09-14 10:39:28 +02:00
Giuseppe Calà
ab305a1aba Use KConfigXT in MouseMark Effect
REVIEW: 106414
2012-09-14 10:39:28 +02:00
Giuseppe Calà
65bb42a801 Use KConfigXT in ShowFps Effect
REVIEW: 106415
2012-09-14 10:39:27 +02:00
Giuseppe Calà
6ac2014533 Use KConfigXT in TrackMouse Effect
REVIEW: 106416
2012-09-14 10:39:27 +02:00
Salva Ardid
b8630d19ec Use KConfigXT in DimInactive Effect
REVIEW: 106422
2012-09-14 10:39:27 +02:00
Francesco Cecconi
062f5ff66b Use KConfigXT in Cube/CubeSlide effect
REVIEW: 106403
2012-09-14 10:39:27 +02:00
Fredrik Höglund
f21ef431c4 kwin: Don't enable/disable texturing when using shaders
This state has no affect on the programmable pipeline.
2012-09-13 22:54:09 +02:00