Martin Gräßlin
54870d5e14
[libkwinglutils] Cleanup Shader API: removal of ShaderType
...
As all effects are ported to the ShaderTraits API the old ShaderType
API can be completely removed.
2016-01-26 09:42:49 +01:00
Martin Gräßlin
1752302203
[effects] Use passed through matrix in Blur Effect
...
The blur effect so far calculated a custom model view projection matrix.
This is not needed as we have the current projection matrix available in
WindowPaintData and EffectFrame.
REVIEW: 126215
2016-01-25 15:36:10 +01:00
Martin Gräßlin
2e7bc0df87
[kwineffects] Pass screen projection matrix to EffectFrame
...
Exposes the current screen projection matrix in the render pass of
the EffectFrame, so that effects can make use of it.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
ef7f7b0179
[kwinglutils] Don't setup old shader API for rendering a texture
...
Old shader API no longer in use, so we don't need to setup the texture
rendering.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
84b73ab2b3
Drop remaining old shader API usage from SceneOpenGL
...
No effect uses old API, so we don't need to setup the old shaders
any more.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
67d79385cf
[effects] Drop resetting GenericShader from cube effect
...
The cube effect no longer modifies any aspects of the GenericShader,
thus there is no need to reset any values.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
b258dc53b3
[effects] Change sphere to use shader traits variant
2016-01-25 14:11:54 +01:00
Martin Gräßlin
318fb6989b
[effects] Change cylinder to shader traits variant
2016-01-25 14:11:54 +01:00
Martin Gräßlin
6e35aded0b
[effects] Adjust Cube to use shader traits shader for window rendering
...
Main change is that the rotation for each face of the cube is now
done through a QMatrix4x4 instead of specifying through ScreenPaintData.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
b366f0ac01
Use shader traits API for lanczos filter's shader
2016-01-25 14:11:54 +01:00
Martin Gräßlin
99739106d1
Use shader traits API to render cached texture in lanczos filter
2016-01-25 14:11:54 +01:00
Martin Gräßlin
2f5de22ac8
[effects] Use shader traits API in logout blur
2016-01-25 14:11:54 +01:00
Martin Gräßlin
af67391710
[effects] Use shader traits API for vignetting in Logout
2016-01-25 14:11:54 +01:00
Martin Gräßlin
9aeb2f7907
[effects] Use shader traits API for lookingglass
...
In the long run this effect needs to be modified. Rendering the complete
scene to an FBO is not the best approach.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
18a15a59d5
[effects] Fix reflections in coverswitch
...
Got broken due to switch to Shader Traits API.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
a5e86c66bf
[effects] Use shader traits for CoverSwitch reflection shader
2016-01-25 14:11:54 +01:00
Martin Gräßlin
9fcedcc2f8
[effects] Use shader traits in Resize
2016-01-25 14:11:54 +01:00
Martin Gräßlin
5c59f4261b
[effects] Use shader traits API for reflection shader
2016-01-25 14:11:54 +01:00
Martin Gräßlin
6bdef479a9
[effects] Use shader traits API for CubeCap shader
2016-01-25 14:11:54 +01:00
Martin Gräßlin
712e46e468
[effects] Port startupfeedback to shader trait api
...
The blinking shader is adjusted to use a shader trait vertex shader
and gets generated with a shader trait variant.
Overall the code is simplified to ensure that we always have a shader
bound with the correct mvp matrix when rendering the icon.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
f13622a914
[effects] Use shader traits generated shader for invert effect
...
Source code needs minor adjustment to be compatible with the shader
traits variable naming.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
7facdb67ee
[effects] Simplify setting mvp matrix for cursor in zoom effect
...
Now that we pass the projection matrix with screen paint data we
don't need to calculate our own matrix.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
4e8e0f817f
[effects] Drop resetting Generic Shader from zoom effect
...
No longer needed as during the rendering the Generic Shader is not
used any more. So the zoom effect doesn't affect it.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
4b96370e67
[effects] Use shader traits API in trackmouse
2016-01-25 14:11:54 +01:00
Martin Gräßlin
a09ede8cc9
[effects] Use shader traits API to render wallpaper in cube effect
2016-01-25 14:11:54 +01:00
Martin Gräßlin
8d9321ca4c
[effects] Use shader traits api in screenedge effect
2016-01-25 14:11:54 +01:00
Martin Gräßlin
700adad9b1
[effects] Use shader traits API for MouseMark effect
2016-01-25 14:11:54 +01:00
Martin Gräßlin
2add89e274
[effects] Use shader trait api in MouseClick
2016-01-25 14:11:54 +01:00
Martin Gräßlin
ff9ffe77ba
[effects] Use color shader traits in magnifier effect
2016-01-25 14:11:54 +01:00
Martin Gräßlin
6aa19b1587
[effects] Use shader traits in SnapHelper effect
...
To simplify rendering is moved from postPaintScreen to paintScreen.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
2de0b527d0
[effects] Use shader traits in ShowPaint effect
2016-01-25 14:11:54 +01:00
Martin Gräßlin
b757b7e17d
[effects] Switch ShowFPS to ShaderTraits based rendering
2016-01-25 14:11:54 +01:00
Martin Gräßlin
d76f08e359
Render effect frame with shader trait API
2016-01-25 14:11:54 +01:00
Martin Gräßlin
0d1da1c583
Always set mvp on shader in SceneOpenGL2Window::performPaint
...
Makes it possible to pass in a shader with a custom fragment shader,
but a normal vertex shader which needs the mvp matrix to be set.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
4b11b7b6b8
[kwineffects] Add a generateCustomShader to ShaderManager
...
This method allows to generate a shader with ShaderTraits but one
part (e.g. vertex and/or fragment) to be replaced by custom shader
code.
Thus it can be used as a replacement for the load*(ShaderType) variants
and allows more effects to transition to shaders using traits.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
3be6ff9f12
[kwineffects] Pass screen projection matrix to WindowPaintData
...
The screen projection matrix is needed if an effect wants to customize
the modelview projection matrix while rendering a window and keeping
the currently applied screen projection and transformation.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
f284ef814c
Pass projection matrix to ScreenPaintData
...
With this change a new ctor overload is added to ScreenPaintData
which allows passing a projection matrix through the effects. This
allows effects to put up custom shaders with a shared projection matrix
and without having to calculate it themselves.
The projection matrix is a read-only information for the effects. There
is no way to change or overwrite it.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
5657405d32
Use ShaderTraits based shader for paint background
...
Little bit less usage of old Shader API.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
ad7246e010
Create the new projection matrix at start of frame rendering
...
For both simple and generic rendering the projection is actually the
same. So let's create it at the start of the frame rendering which
allows us to also pass it through the effects.
2016-01-25 14:11:54 +01:00
Martin Gräßlin
778a7fd1a0
[kwinglutils] Add a ShaderTraits variant to ShaderBinder
...
Simplifies binding a Shader with traits.
2016-01-25 14:11:54 +01:00
Bhushan Shah
fbd1122a15
Fix the build
2016-01-20 03:35:32 +05:30
Bhushan Shah
bb7674f2b6
Make use of Xinput lib only if we found it
...
Reviewed by: mgraesslin
2016-01-20 03:05:14 +05:30
Thomas Lübking
1c344c16d9
emit shadeChanged before calculating unshaded size
...
Otherwise the old (shaded) border sizes will be invoked, causing
a shrinkage of the window
BUG: 357669
FIXED-IN: 5.6
REVIEW: 126671
2016-01-18 22:50:13 +01:00
Thomas Lübking
ed1d32288b
move doubleclick logic into press event
...
alignes w/ systemwide behavior and allows elegant fix of
BUG: 357450
FIXED-IN: 5.6
REVIEW: 126631
2016-01-18 22:34:37 +01:00
Thomas Lübking
95cbd7c1b3
prevent nullptr dereferentiation
...
BUG: 357032
FIXED-IN: 5.6
REVIEW: 126787
2016-01-18 22:34:26 +01:00
Thomas Lübking
c7aefc6b6b
skip SWAP_BEHAVIOR_PRESERVED for supportsBufferAge
...
pointless and unsupported on latter MESA/DRI3
http://lists.freedesktop.org/archives/mesa-dev/2015-November/100869.html
Thanks to Uriy Zhuravlev for reporting and investigation
BUG: 356992
CCBUG: 356882
FIXED-IN: 5.5.4
REVIEW: 126783
2016-01-18 22:32:10 +01:00
l10n daemon script
e65f7a349f
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-01-18 14:17:07 +00:00
Thomas Lübking
e73e331f35
use XCB_CURRENT_TIME for NET::TakeFocusProtocol
...
The only clients that really seem to rely on it are
Java and they're apparently "broken", resp. extremely
picky on the tiemstamp and probably happily refuse focus
if it's *not* equal to the current server time (ie. anything else
happens at this moment) and overmore feel oblieged to act as WM
by juggling around VDs at all.
BUG: 347153
FIXED-IN: 5.6
REVIEW: 126753
2016-01-15 22:00:10 +01:00
Thomas Lübking
87795eef2a
Actually keep the expandedGeometry alive
...
... until the effects handled the deletion
BUG: 318322
BUG: 320892
BUG: 344359
REVIEW: 126323
FIXED-IN: 5.6
2016-01-15 01:37:51 +01:00
Thomas Lübking
f918bc3367
fix build of rules kcm
...
REVIEW: 126733
2016-01-14 23:40:44 +01:00