Commit Graph

75 Commits (16998db2746d8d7aab7c7361545dd8df227e12e0)

Author SHA1 Message Date
Martin Gräßlin 0ccc060218 Include KGlobal were needed
With KF5 some includes which used to include KGlobal, e.g. KStandardDirs
do no longer include KGlobal. So if we use KGlobal we should include it.
2013-03-07 13:59:15 +01:00
Martin Gräßlin 60c42b7a34 s/KLocale/KLocalizedString/g
Many headers included KLocale to use i18n and co. But those methods are
defined in KLocalizedString and not in KLocale.

With KF5 klocale.h does no longer include KLocalizedString causing lots
of compile errors.
2013-03-07 13:59:15 +01:00
Martin Gräßlin 2f02157a0f Do not activate InvertEffect per window if there is no active window
BUG: 314593
FIXED-IN: 4.10.1
REVIEW: 108828
2013-02-08 14:08:20 +01:00
Script Kiddy 2ea65eb18e SVN_SILENT made messages (.desktop file) 2013-01-26 13:21:28 +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
Alexander Jones bf2507b2fe Fixing author names in desktop files
BUG: 307928
FIXED-IN: 4.10
REVIEW: 106880
2012-10-18 07:29:14 +02: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 d14cf2da92 Show detailed information why an effect cannot be loaded
Effects can specify their minimum requirements in their
desktop file:
* OpenGL
* OpenGL 2 (GLSL required)
* Shaders (either ARB or OpenGL 2)

The configuration module uses this information in combination
with which backend KWin is currently using. So if e.g. OpenGL
is used and an effect requires OpenGL 2 a detailed error
message can be showed that OpenGL 2 is required.

BUG: 209213
FIXED-IN: 4.9.0
REVIEW: 104847
2012-05-15 18:02:57 +02:00
Martin Gräßlin a79eacaed7 Properly detect effects which need OpenGL 2
Effects that need GLSL require that OpenGL 2 is active.
It does not matter whether the GPU would support it if
OpenGL 2 is not used.

Cherry-picked from db42152

CCBUG: 299426
2012-05-05 10:27:19 +02:00
Thomas Lübking ab86f0e837 add screen inversion through XF86VidModeSetGammaRamp or XRRSetCrtcGamma
use opengl invert effect as fallback

REVIEW: 104371
2012-04-17 21:11:03 +02:00
Martin Gräßlin 2007a7eab8 Use namespaced parameters in signals
Required to get scripting bindings working.
2012-03-12 21:37:40 +01:00
Philipp Knechtges ba39d1f917 kwin:remove PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_WITHOUT_FULL_REPAINTS
paintSimpleScreen can handle the affected effects now.

REVIEW: 103827
2012-02-09 14:52:25 +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 fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Script Kiddy 1eb1c85289 SVN_SILENT made messages (.desktop file) 2011-07-13 09:17:45 +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
Martin Gräßlin a05ad98896 Remove textureWidth/textureHeight from all Shaders
The uniforms textureWidth and textureHeight were only needed for
normal windows. For everything else it was just 1.0/1.0, that is
normalized.

The makeArrays method is changed to produce normalized texcoords
obsoleting the need for these uniforms. So two uniforms less, one
calculation in vertex shaders less and many many lines of code
removed.

At the same time makeArrays is also adjusted to take care of
yInverted of the texture, which is needed as we no longer can use
the enableUnnormalizedTexCoords which did the yInverted transformation.

REVIEW: 101646
2011-06-19 20:54:13 +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
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 cb2597dcaf SVN_SILENT made messages (.desktop file) 2011-05-09 09:32:40 +02:00
Martin Gräßlin 0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Martin Gräßlin b3a5639967 EffectsHandler and Effect become QObjects
This is in preparation for allowing to connect effects with signals and slots.
2011-02-25 20:25:21 +01:00
Martin Gräßlin 0827c2903b Use GLPlatform to decide whether shaders are supported
Dropping the static methods from GLShader and use supports()
where it was used before.
2011-02-19 11:08:43 +01:00
Fredrik Höglund af92a4efd4 kwin: Rename sample to sampler in all shaders
A sample is not the same thing as a sampler.
2011-02-17 19:19:40 +01:00
Fredrik Höglund 73be6657ea kwin: Replace brightness and opacity with a modulation constant
This makes it possible to adjust both brightness and opacity
at the same time with one multiplication in the fragment shader.
2011-02-12 01:45:38 +01:00
Fredrik Höglund 28cf355b26 kwin: Fix a bug in the fragment shaders
The alpha channel must be set to 1 before the sample is modulated
with the brightness and opacity constants, not after.
2011-02-11 00:39:47 +01:00
Fredrik Höglund 5e97ccf7e0 kwin: Normalize the texcoords in the vertex shader 2011-02-10 20:15:23 +01:00
Script Kiddy 95c8ba2035 SVN_SILENT made messages (.desktop file) 2011-02-07 07:07:14 +01: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 54c0a913b9 Fixing broken Invert effect build.
Forgot to remove the header file for shadereffect, though
it was not used anymore in the effect.
CCMAIL: hein@kde.org
2011-02-01 20:13:26 +01:00
Martin Gräßlin 0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin b7ee35bba1 Invert effect ported to GLES.
It uses a generic vertex shader and because of that it needs to
mark all windows which are inverted as transformed.
There is currently a conflict with Lanczos (or thumbnails) and with
the desktop in cube effect.
2011-01-30 14:12:05 +01:00
Script Kiddy 8ac192425f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1217852
2011-01-29 06:08:12 +00: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 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 65e2a1221f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1180602
2010-09-28 10:17:49 +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
Martin Gräßlin 89c0ea0c8d Pass EffectFrame through all effects, so that they can do something with the frame.
E.g. set a shader to invert it.
CCBUG: 241389

svn path=/trunk/KDE/kdebase/workspace/; revision=1154071
2010-07-24 16:29:16 +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