Commit Graph

78 Commits (ce84ae4b654e586674d27033378d8a4f5bf4875e)

Author SHA1 Message Date
Martin Gräßlin 4a1bc2ec96 [effects] Drop the .desktop files for the BuiltIn Effects
All KCMs and KWin core use the BuiltInEffects namespace to find and
interact with the effects. There is no information left in the desktop
file which are of usage. Thus they can be removed.
2014-04-28 13:52:43 +02:00
l10n daemon script e1f418f4d0 SVN_SILENT made messages (.desktop file) 2014-04-28 09:00:35 +00:00
l10n daemon script f44575ddbf SVN_SILENT made messages (.desktop file) 2014-04-28 05:16:52 +00:00
l10n daemon script 69c3289c18 SVN_SILENT made messages (.desktop file) 2014-04-27 21:02:43 +00:00
Martin Gräßlin 4230a0d331 [effects] Get xcb_connection_t* and rootWindow through EffectsHandler API
So far the effects could just use the connection() and rootWindow()
provided by kwinglobals. Thus an internal detail from KWin core is
accessed directly.

To be more consistent with the rest of the API it's wrapped through the
EffectsHandler and with a convenient method in Effect.

The connection() is provided as xcbConnection() to free the very generic
name connection which could create confusion once we provide a wayland
connection to the Effects.

The rootWindow() is provided as x11RootWindow() to indicate that it is
for the X11 world.

REVIEW: 117597
2014-04-16 16:05:05 +02:00
l10n daemon script e6db000065 SVN_SILENT made messages (.desktop file) 2014-04-04 05:29:27 +00:00
l10n daemon script eef56c98b2 SVN_SILENT made messages (.desktop file) 2014-04-03 05:10:09 +00:00
l10n daemon script 4d9c6af719 SVN_SILENT made messages (.desktop file) 2014-03-14 07:37:21 +00:00
Martin Gräßlin 76efe517a7 Turn built-in effects into a library kwin links against
As all effects have always been compiled into the same .so file it's
questionable whether resolving the effects through a library is useful
at all. By linking against the built-in effects we gain the following
advantages:
* don't have to load/unload the KLibrary
* don't have to resolve the create, supported and enabled functions
* no version check required
* no dependency resolving (effects don't use it)
* remove the KWIN_EFFECT macros from the effects

All the effects are now registered in an effects_builtins file which
maps the name to a factory method and supported or enabled by default
methods.

During loading the effects we first check whether there is a built-in
effect by the given name and make a shortcut to create it through that.
If that's not possible the normal plugin loading is used.

Completely unscientific testing [1] showed an improvement of almost 10
msec during loading all the effects I use.

[1] QElapsedTimer around the loading code, start kwin five times, take
average.

REVIEW: 115073
2014-01-24 14:13:59 +01:00
l10n daemon script 22a5e1109f SVN_SILENT made messages (.desktop file) 2014-01-19 04:06:03 +00:00
Martin Gräßlin 3776160bb7 ShowPaint effect supports QPainter Compositing 2014-01-09 13:29:40 +01:00
Script Kiddy e5316fa9d9 SVN_SILENT made messages (.desktop file) 2013-05-17 09:43:27 +02:00
Script Kiddy dfd72523b1 SVN_SILENT made messages (.desktop file) 2013-05-02 09:17:01 +02:00
Martin Gräßlin 98a04893a6 Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
Martin Gräßlin cd1eab0c55 Port ShowPaint Effect to XCB render 2013-02-04 08:33:25 +01:00
Script Kiddy 7d821f3814 SVN_SILENT made messages (.desktop file) 2013-01-26 09:04:17 +01:00
Script Kiddy 12f341712c SVN_SILENT made messages (.desktop file) 2012-12-24 09:05:36 +01:00
Script Kiddy d7316b9fcb SVN_SILENT made messages (.desktop file) 2012-12-23 08:01:50 +01:00
Martin Gräßlin c2a4f81927 Introduce a helper class to automatically push/pop Shaders
The ShaderBinder class can be used for the case that a block of code
should be executed with a given Shader being bound. This is useful for
all the cases where there is a if-block for OpenGL2 execution with a
Shader being pushed in the first line to the ShaderManager and popped in
the last line of the block. With the helper this can be simplified to:

ShaderBinder binder(myCustomShader);

or

ShaderBinder binder(ShaderManager::GenericShader);

The ctor of ShaderBinder pushes the given Shader to the stack and once
the helper goes out of scope it will be popped again from the stack.

In addition the helper can take care of OpenGL 1 compositing, that is it
just does nothing. So it can also be used where there is a shared OpenGL1
and OpenGL2 code path where the Shader should only be pushed in OpenGL2.
This basically removes all the checks for the compositing type before
pushing/popping a Shader to the stack.

REVIEW: 106521
2012-09-29 15:33:57 +02:00
Martin Gräßlin f9a2ecbf33 Do not use ShaderManager::isValid to check for OpenGL2 compositing
The main usage of ShaderManager::isValid was to have OpenGL2 specific
code pathes. Now we have an actual OpenGL2Compositing type and we know
that the ShaderManager is valid if we have this compositing type and we
know that it is not valid on OpenGL1Compositing. This gives us a much
better check and allows us to use the isValid method just for where we
want to check whether the shaders compiled successfully.

In addition some effects require OpenGL2, so we do not need to check
again that the ShaderManager is valid. Such usages are removed.
2012-09-29 15:33:57 +02:00
Martin Gräßlin 6d2dfe06e7 Introduce dedicated OpenGL1 and OpenGL2 compositing types
The CompositingType enum turns into flags and two new values are
introduced: OpenGL1Compositing and OpenGL2Compositing.

Those new values are or-ed to OpenGLCompositing so that a simple check
for the flag OpenGLCompositing works in case of one of those two new
values. To make the generic check for OpenGL compositing easier a method
in EffectsHandler is introduced to just check for this.

The scenes now return either OpenGL1Compositing or OpenGL2Compositing
depending on which Scene implementation. None returns OpenGLCompositing.
2012-09-29 15:33:57 +02:00
Script Kiddy 953d088b6a SVN_SILENT made messages (.desktop file) 2012-06-12 17:07:51 +02:00
Script Kiddy 62211420c7 SVN_SILENT made messages (.desktop file) 2012-05-28 11:08:19 +02:00
Martin Gräßlin 1de1204ecd Drop KWIN_HAVE_OPENGL defines in effects
OpenGL is nowadays a build dependency which obsoletes the define.

REVIEW: 105023
2012-05-27 16:37:26 +02:00
Philipp Knechtges 93b2674313 kwin: dropping several gl(Push|Pop)(Attrib|Matrix) calls
This makes kwin in OpenGL2 mode more coherent with kwin_gles.
Despite some fullscreen effects they should now make the same
(pure) OpenGL calls.

REVIEW: 103804
2012-04-19 21:01:46 +02:00
Script Kiddy 8ed9b35755 SVN_SILENT made messages (.desktop file) 2011-12-13 15:55:20 +01:00
Script Kiddy 4cbbf921d4 SVN_SILENT made messages (.desktop file) 2011-09-09 09:21:44 +02:00
Script Kiddy 157f51ce85 SVN_SILENT made messages (.desktop file) 2011-09-08 09:04:13 +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
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
Script Kiddy 3d0c81f121 SVN_SILENT made messages (.desktop file) 2011-05-17 10:49:34 +02:00
Script Kiddy 9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Script Kiddy 25fd8bd0d3 SVN_SILENT made messages (.desktop file) 2011-03-31 07:42:47 +02:00
Script Kiddy 15155326e2 SVN_SILENT made messages (.desktop file) 2011-02-03 07:25:47 +01:00
Script Kiddy b637e9d7ca SVN_SILENT made messages (.desktop file) 2011-02-02 08:26:11 +01:00
Martin Gräßlin 0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin 990001c5d7 Drop GLVertexBuffer::useShader.
The vertex buffer implementation uses the shader manager to decide
whether core painting should be used or not. Shader manager is only
used by shaders using vertex attributes instead of gl_Vertex etc.
2011-01-30 14:12:02 +01:00
Martin Gräßlin ecc4f83c09 ShowPaint uses the shared buffer 2011-01-30 14:12:00 +01:00
Martin Gräßlin e2e4fe54ba Effects ported to GLES use ShaderManager 2011-01-30 14:12:00 +01:00
Martin Gräßlin 0011a30f5c ShowPaint effect ported to GLES 2011-01-30 14:11:59 +01:00
Script Kiddy 9130426b18 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1213663

The following changes were in SVN, but were removed from git:

M	wallpapers/Air/metadata.desktop
M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
M	wallpapers/Horos/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
2011-01-11 09:07:40 +00:00
Script Kiddy 392e92ca46 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1207957

The following changes were in SVN, but were removed from git:

M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
M	wallpapers/Horos/metadata.desktop
2010-12-20 06:25:07 +00:00
Script Kiddy 5f5e628c2b SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1198064
2010-11-17 09:42:13 +00:00
Script Kiddy 633a2ff59d SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1191511

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Air/metadata.desktop
M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Red_Leaf/metadata.desktop
2010-10-31 09:11:11 +00:00
Script Kiddy bb60cd51ce SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1177799

The following changes were in SVN, but were removed from git:

M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
2010-09-21 10:01:09 +00:00
Script Kiddy 4a6ac702f6 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1155392

The following changes were in SVN, but were removed from git:

M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
2010-07-27 09:11:06 +00:00
Script Kiddy bf1b0738d3 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1136163
2010-06-09 06:49:41 +00:00
Script Kiddy 0cbd106422 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1120528
2010-04-29 06:39:50 +00:00
Script Kiddy cf3c3d17b8 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1098905

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Code_Poets_Dream/metadata.desktop
M	wallpapers/Curls_on_Green/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Red_Leaf/metadata.desktop
M	wallpapers/Spring_Sunray/metadata.desktop
M	wallpapers/The_Rings_of_Saturn/metadata.desktop
2010-03-04 16:46:17 +00:00