Martin Gräßlin
f5dbeb8fab
More ifdefing 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
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
aefb076a7b
OpenGL ES does not support Quads
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
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
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
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
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
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
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
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
Martin Gräßlin
b296b7a00c
Generate correct tex coordinates for rendering a texture.
...
This way we can get rid of the texture matrix transformations when rendering a standard texture - no matter if it's inverted or not.
svn path=/trunk/KDE/kdebase/workspace/; revision=1152649
2010-07-21 16:36:26 +00:00
Martin Gräßlin
73d8041d5a
We need normalized tex coords for vbo, too.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1152364
2010-07-20 20:51:44 +00:00
Martin Gräßlin
ee00a9f8f1
Restrict painting of texture to the current rendering region when using a VBO.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1152296
2010-07-20 16:45:13 +00:00
Martin Gräßlin
d732e2f56c
On the road to more efficient painting: introducing new class GLVertexBuffer which encapsulates a vertex buffer object.
...
Used by GLTexture if GPU supports VBO.
svn path=/trunk/KDE/kdebase/workspace/; revision=1151906
2010-07-19 20:53:32 +00:00
Martin Gräßlin
63008bd807
Fix compile error with some OpenGL dev headers
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1140417
2010-06-20 16:58:04 +00:00
Martin Gräßlin
cf3bcc6294
Try to get a FBO in the init method of GLRenderTarget. If the FBO is incomplete there is no need to claim that the driver supports FBO.
...
This is a workaround to the problem that some drivers do not return a complete FBO, but support the extension. Which caused the blur effect to get loaded without working and in consequence Plasma to use the blur-optimized and very translucent backgrounds.
CCBUG: 240956
svn path=/trunk/KDE/kdebase/workspace/; revision=1137490
2010-06-13 07:40:21 +00:00
Fredrik Höglund
6ab355a048
Add more detailed debug output in GLRenderTarget::initFBO().
...
CCBUG: 240956
svn path=/trunk/KDE/kdebase/workspace/; revision=1136053
2010-06-08 20:29:17 +00:00
Fredrik Höglund
7e68fc7c44
Use GL_BGRA instead of GL_RGBA when creating textures.
...
GL_BGRA is the native format, and should be faster since it doesn't
require any internal swizzling.
svn path=/trunk/KDE/kdebase/workspace/; revision=1102455
2010-03-12 15:17:01 +00:00
Fredrik Höglund
8d03842c05
Improve the debug output from checkGLError().
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1102451
2010-03-12 14:55:34 +00:00
Fredrik Höglund
423ce5e170
Initialize mSize in the GLTexture(int width, int height) constructor.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1099475
2010-03-05 17:04:59 +00:00
Lucas Murray
8a8428e41c
Less Krazy warnings please.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1042572
2009-10-30 06:51:59 +00:00
Lucas Murray
e251d9316f
Detect when we receive an incomplete FBO and consider it invalid.
...
CCBUG: 210678
svn path=/trunk/KDE/kdebase/workspace/; revision=1036024
2009-10-16 10:36:17 +00:00
Lucas Murray
3db33763cf
Shader optimizations. Patch provided by Robin Burchell.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1007918
2009-08-06 13:57:09 +00:00
Martin Gräßlin
d7665af4f0
Texture width and height is stored in GLShader and the uniform value is set during prepareShaderRenderStates in scene_opengl. So the effects do not have to set the uniform manually. This is useful as other effects can still set this uniform if something different is rendered with a different texture width/height (e.g. shadows or thumbnails). When the window is finally rendered the original value set by the effect is definatelly used.
...
First effect to use this new way to set texture width and height is invert effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=959835
2009-04-27 11:07:15 +00:00
Lucas Murray
d69942d215
Reverted the text part of the previous commit, seems the bug is in Qt
...
(Premultiplied text painting on a non-premultiplied QImage). Fixed text
color of frameless and unstyled frames when using a Plasma theme that
has a non-white primary text color. Updated
GLTexture::convertToGLFormat() to use the latest version from Qt.
svn path=/trunk/KDE/kdebase/workspace/; revision=934008
2009-03-02 06:10:23 +00:00
Luboš Luňák
31e4e950b6
Handle Y inverting properly with normalized coordinates.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=904306
2009-01-01 21:12:34 +00:00
Lucas Murray
6d41a1320e
Moved all debug, warning and error messages into the KWin 1212 area.
...
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.
svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Luboš Luňák
8e5f95a9d6
Make a more explicit distinction between using normalized and non-normalized
...
texture coordinates - it cost me hours to find out why something was misdrawing :(.
svn path=/trunk/KDE/kdebase/workspace/; revision=854546
2008-08-29 18:54:28 +00:00
Luboš Luňák
f77561ce65
Don't discard window texture when only the shape changes but the window
...
geometry actually stays the same. Avoids large number of rebinds (with no
strict binding) with the launch feedback icon.
svn path=/trunk/KDE/kdebase/workspace/; revision=787948
2008-03-20 10:05:41 +00:00
Luboš Luňák
cff2b0e6cd
Abstract paint clipping into PaintClipper helper class that allows
...
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2 )
BUG: 156798
svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Luboš Luňák
110f76ecd8
Change some of the debug messages to warnings, so compositing setup failures
...
show up also in release builds.
svn path=/trunk/KDE/kdebase/workspace/; revision=762175
2008-01-16 12:44:45 +00:00
Luboš Luňák
bb433ac40e
No longer include config*.h files in installed headers.
...
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
01bf6cbb4c
License cleanup - add headers where missing, be explicit about GPL
...
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Rivo Laks
85e31c0010
Reserve 80 items instead of creating them.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=741041
2007-11-24 16:51:48 +00:00
Rivo Laks
e0c50df7e3
Preallocate those vectors as well, just like mattr did with the ones in the shadow effect.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=741018
2007-11-24 16:03:19 +00:00
Rivo Laks
cc2600100c
Add a method to render round box with a dark edge and use it for alt-tab's frame.
...
Now the frame has a slight edge/border around it which makes it look much better IMHO.
svn path=/trunk/KDE/kdebase/workspace/; revision=704310
2007-08-24 15:44:52 +00:00
Thiago Macieira
d2aee14a35
Remove use of k_funcinfo
...
svn path=/trunk/KDE/kdebase/workspace/; revision=702583
2007-08-20 21:33:48 +00:00
Laurent Montel
994c800d79
Adapt to new KWarning/kFatal/kDebug api
...
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Rivo Laks
42a4d364c2
Add a generic function to render a box with rounded corners.
...
Algorithm is basically same as for shadow, perhaps even shadow will use it.
svn path=/trunk/KDE/kdebase/workspace/; revision=683514
2007-07-04 20:33:35 +00:00