Commit graph

532 commits

Author SHA1 Message Date
Martin Gräßlin
5804417acc And here comes the working OpenGL ES backend 2011-01-30 14:11:57 +01:00
Martin Gräßlin
f5dbeb8fab More ifdefing for ES 2011-01-30 14:11:57 +01:00
Martin Gräßlin
8d7a861928 Fix build system for ES 2011-01-30 14:11:57 +01:00
Martin Gräßlin
dfde66b4a9 Fix compile error in desktop modus 2011-01-30 14:11:56 +01:00
Martin Gräßlin
e25f43ceb0 Attribute stack not available in ES 2011-01-30 14:11:56 +01:00
Martin Gräßlin
70e167aca7 GLPlatform not available in OpenGL ES
Should be replaced by a short implementation
2011-01-30 14:11:56 +01:00
Martin Gräßlin
2db7538891 ShaderEffect not available in OpenGL ES.
Deprecate the ShaderEffect, will probably be dropped in 4.7
2011-01-30 14:11:56 +01:00
Martin Gräßlin
2cf5f79880 Remove some more unsupported functions 2011-01-30 14:11:56 +01:00
Martin Gräßlin
fd8dfa2084 OpenGL ES always supports VBO 2011-01-30 14:11:56 +01:00
Martin Gräßlin
e5640dc655 ES does not support Vertex array - only use core painting 2011-01-30 14:11:56 +01:00
Martin Gräßlin
b13f3f5f11 In ES it's GL_FRAMEBUFFER instead of GL_FRAMEBUFFER_EXT
I hope this does not break in desktop mode.
2011-01-30 14:11:55 +01:00
Martin Gräßlin
90eb1ed1a0 No GL_TEXTURE_RECTANGLE_ARB in ES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
d7321dae71 ES does not support GL_RGBA8 and GL_BGRA for textures 2011-01-30 14:11:55 +01:00
Martin Gräßlin
d4e75aa1da RenderGLGeometry and texture coord normalization are noops in ES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
e87e2b43a2 Use OpenGL ES 2 for mobile 2011-01-30 14:11:55 +01:00
Martin Gräßlin
aefb076a7b OpenGL ES does not support Quads 2011-01-30 14:11:55 +01:00
Martin Gräßlin
faa86c2464 We do not need to resolve extensions in OpenGL ES.
Therefore the kwinglutils_funcs.h includes just GLES/gl.h and
the .cpp does not do anything
2011-01-30 14:11:55 +01:00
Martin Gräßlin
8f2f126c31 CMake check to find OpenGLES 2011-01-30 14:11:55 +01:00
Martin Gräßlin
56ce39def8 Core profile compatible basic scene rendering.
Adds a shader to render an untransformed scene. renderGLGeometry is not used any more and replaced by generated triangles stored in a GLVertexBuffer.
The GLVertexBuffer has a new attribute to decide whether a core profile compatible rendering has to be performed.
Currently windows and EffectFrames can make use of the new shader.
The shader contains a debug mode which colours all rendered fragments in green. It is currently enabled in scene_opengl.
Rendering transformed geometries (without shader) is currently broken.
2011-01-30 14:11:55 +01:00
Martin Gräßlin
f6600709de Fix QLatin1String/QString Krazy issues
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1210598
2011-01-01 09:50:05 +00:00
André Wöbbeking
ea80dd8867 -pedantic
svn path=/trunk/KDE/kdebase/workspace/; revision=1205832
2010-12-12 18:22:09 +00:00
Pavel Heimlich
8ef7cec838 Add missing include. Sun Studio wasn't able to find it by itself.
svn path=/trunk/KDE/kdebase/workspace/; revision=1203608
2010-12-04 21:10:49 +00:00
Thomas Lübking
48447a3d26 avoid recreating effectframes/textures on setPosition; correct position after setAlignment
svn path=/trunk/KDE/kdebase/workspace/; revision=1203489
2010-12-04 10:01:57 +00:00
Fredrik Höglund
95b3e7b419 Add detection for GeForce GPUs with the NVIDIA driver.
svn path=/trunk/KDE/kdebase/workspace/; revision=1203427
2010-12-03 23:26:30 +00:00
Fredrik Höglund
3350824e4d Add detection for Palm.
svn path=/trunk/KDE/kdebase/workspace/; revision=1203407
2010-12-03 21:23:03 +00:00
Fredrik Höglund
f5a25b4ebb Don't query GL_SHADING_LANGUAGE_VERSION when GLSL isn't supported.
svn path=/trunk/KDE/kdebase/workspace/; revision=1201788
2010-11-28 17:16:45 +00:00
Fredrik Höglund
74101f90f7 Add a function for printing the results of the detection code.
svn path=/trunk/KDE/kdebase/workspace/; revision=1201780
2010-11-28 17:07:23 +00:00
Fredrik Höglund
bdd0273411 Add detection of limited texture NPOT support.
svn path=/trunk/KDE/kdebase/workspace/; revision=1198553
2010-11-18 21:47:29 +00:00
Fredrik Höglund
6118a5b983 Add the new and improved OpenGL platform detection code.
svn path=/trunk/KDE/kdebase/workspace/; revision=1195845
2010-11-12 05:30:38 +00:00
Thomas Lübking
68fbd31ad8 add windowgeometry tip effect, bind it to the general setting and generalize effect feature provide api, thus update resize effect
BUG: 219755

svn path=/trunk/KDE/kdebase/workspace/; revision=1195300
2010-11-10 19:21:56 +00:00
Martin Gräßlin
6353d6ff57 Don't blur behind opaque window decorations.
Adding a new AbilityUsesBlurBehind which can be set by decorations with
alpha channel to request that the background can be blurred. This improves
the situation for our completely opaque default Oxygen decoration.

This change is a behavior change in comparison to 4.5! Translucent decorations do
not get blurred by default any more.
CCMAIL: craig.p.drummond@googlemail.com

svn path=/trunk/KDE/kdebase/workspace/; revision=1195274
2010-11-10 18:33:07 +00:00
Kevin Ottens
dcded20d84 Cleanup KLibLoader use.
svn path=/trunk/KDE/kdebase/workspace/; revision=1195243
2010-11-10 16:42:52 +00:00
Martin Gräßlin
382d5b15d3 Ignore Paint Clipper when rendering to FBO.
See Review Request http://svn.reviewboard.kde.org/r/4329/

svn path=/trunk/KDE/kdebase/workspace/; revision=1191903
2010-11-01 12:09:53 +00:00
Martin Gräßlin
3e689ff201 Cache generated Lanczos textures.
This provides a significant performance improvement especially for Present Windows.
Whenever a lanczos resampling is done the resulted texture is cached, till the
window is damaged or a texture of different size is required. This means that
for a taskbar thumbnail the resampling only occurs once unless the window is damaged
and for present windows it only occurs when the windows are resized and then only
after the windows have already been moved. Highlighting windows does not cause
a resampling any more.
See review request http://svn.reviewboard.kde.org/r/5708/

svn path=/trunk/KDE/kdebase/workspace/; revision=1191874
2010-11-01 10:46:11 +00:00
Martin Gräßlin
0174887114 Extend quick tiling to quarter of screen.
When moving a window to the upper or lower quarter of a screen edge the window will be quick tiled to the responsible quarter of the screen.
Moving the window to the middle half of the screen will do the normal quicktiling to half of screen, quick maximization at top screen is unchanged.
Thanks to Arthur Arlt for his first code contribution to KDE.
See Review Request http://reviewboard.kde.org/r/5661
CCMAIL: arre2000@gmx.de

svn path=/trunk/KDE/kdebase/workspace/; revision=1190361
2010-10-27 13:16:36 +00:00
Christoph Thielecke
355bb28f70 include to better place moved
svn path=/trunk/KDE/kdebase/workspace/; revision=1184245
2010-10-09 15:14:21 +00:00
Christoph Thielecke
2175722fe9 added missing define if nessary (compile fix for lenny)
svn path=/trunk/KDE/kdebase/workspace/; revision=1184229
2010-10-09 13:53:50 +00:00
Laurent Montel
e810dbc582 Use script to add QLatin1String in setObjectName directly
svn path=/trunk/KDE/kdebase/workspace/; revision=1177599
2010-09-20 18:18:36 +00:00
Luboš Luňák
d467d26530 Do not introduce such generic indentifiers like None or Styled
into KWin's global namespace. Morever None already kind of clashes with X's None.
CCMAIL: kde@martin-graesslin.com


svn path=/trunk/KDE/kdebase/workspace/; revision=1170588
2010-09-01 14:15:06 +00:00
Martin Gräßlin
22bbd02a03 Forward port rev 1167908
Revert rev 1137490: it caused compositing not working with legacy NVIDIA drivers and might be responsible for freezes when changing config.
It can be reverted as there is already a better fix for buggy drivers present in 4.5.1.
Did I mention that I love drivers?
CCBUG: 243991
CCBUG: 241402

svn path=/trunk/KDE/kdebase/workspace/; revision=1167909
2010-08-25 17:00:36 +00:00
Martin Gräßlin
eabad32cfb Add cross fade support for text and icon to EffectFrame.
This allows an effect to fade between old and new text/icon. As an example it's added to CoverSwitch.
Currently only supported in OpenGL. XRender might be added, but I'm missing an idea for an effect to add it.
Most effects using EffectFrame require OpenGL anyway.

svn path=/trunk/KDE/kdebase/workspace/; revision=1160252
2010-08-07 14:08:34 +00:00
Martin Gräßlin
82febe84a6 Let's see if Krazy notices this change.
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1160049
2010-08-06 21:09:48 +00:00
Martin Gräßlin
6e31461039 Adding a new rendering flag for painting the screen with transformed windows but without triggering full repaints.
It is not always required to do a full repaint in each frame. E.g. in sliding popups the repaint areas are known and tracked.
This change reduces the painting overhead to just the window area.
Nevertheless I consider this change as experimental and will revert the commit in case it introduces rendering glitches.
Other effects which are good candidates for this flag is wobbly windows, magic lamp, minimize or in general all effects which transform just one window.

svn path=/trunk/KDE/kdebase/workspace/; revision=1158838
2010-08-03 21:33:27 +00:00
Martin Gräßlin
a9e31c66bf Only generate VBO, if the glGenBuffers has been resolved
BUG: 246194

svn path=/trunk/KDE/kdebase/workspace/; revision=1157460
2010-07-31 05:48:27 +00:00
Martin Gräßlin
b9bdf83159 Drop some more unused code in kwinglutils.
svn path=/trunk/KDE/kdebase/workspace/; revision=1155061
2010-07-26 20:32:25 +00:00
Martin Gräßlin
ef79d4c443 Use the normal Plasma selection to highlight the selected window in boxswitch.
So it is more consistent (in KDE newspeak "elegant") with other selections and as a plus we get rid of all the custom rendering code in boxswitch.

svn path=/trunk/KDE/kdebase/workspace/; revision=1155051
2010-07-26 20:00:04 +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
Martin Gräßlin
6dfbd48488 This debug statement was never intended to be committed
svn path=/trunk/KDE/kdebase/workspace/; revision=1153933
2010-07-24 08:04:58 +00:00
Martin Gräßlin
6641ac5648 GLRenderBuffer supports legacy painting if VBOs are not available.
This gives us one API for both legacy and modern painting.
All glRenderGeometry* calls are deprecated as they use quads and
legacy painting.

svn path=/trunk/KDE/kdebase/workspace/; revision=1153911
2010-07-24 07:32:42 +00:00
Andreas Demmer
2bedb6bba9 initial commit of the KWin dashboard effect
svn path=/trunk/KDE/kdebase/workspace/; revision=1153704
2010-07-23 19:52:20 +00:00