Commit Graph

26 Commits (7025e72d879df33f46756aa464492cc1cda6063a)

Author SHA1 Message Date
Arthur Arlt d8072be54d Move OverlayWindow from Workspace to its own class
All the functionality of Overlay Window is moved to its own class
OverlayWindow. It is created and owned by class Scene, since almost
all function calls are called from this class.

REVIEW: 101866
2011-07-09 19:08:48 +02:00
Martin Gräßlin 42aac88f1b It helps to also set the texture size in GLES
Up to now we have not used it in OpenGL ES, but now we do and
rendering is funny if the size is not set.
2011-07-02 15:31:36 +02:00
Martin Gräßlin 234ec644d2 KWin supports graphicssystem Raster
With raster a QPixmap is no longer a XPixmap which fails all code
which assumes that an QPixmap is an XPixmap. Depending on were in
the codebase we either convert such pixmaps to images (OpenGL) or
create a XPixmap and use QPixmap::fromX11Pixmap to get a "real"
pixmap.

It is possible that there are more code pathes were we would need
a XPixmap. Currently tested is basic functionality of no-compositing,
XRender compositing, OpenGl/GLX and OpenGL ES/EGL compositing.

For OpenGL compositing raster might result in performance improvements,
for XRender it is possible that there are regressions when using raster.
By default KWin uses whatever is the default of the system, so we just
no longer enforce native.

Of course it is a bad idea to use graphicssystem OpenGL. As that
is broken anyways in Qt, we do not check for it.

Many thanks to Philipp Knechtges for bringing up the issue, convincing
me that we need it and providing most of the patch.

REVIEW: 101132
CCMAIL: Philipp.Knechtges@rwth-aachen.de
2011-05-12 18:52:38 +02:00
Martin Gräßlin 264fcfa49f Remove selfcheck code from OpenGL
Execution was ifdefed, if we want it again we have a VCS.
2011-05-12 17:59:57 +02:00
Martin Gräßlin 77a7bedac8 Delete ShaderManger before destroying GL Context 2011-04-27 14:52:04 +02:00
Martin Gräßlin 2133d56fb6 Call setupOverlay also from GLES backend
This fixes my issue that mouse events are eaten on R600G.
I am a little bit surprised that it worked at all with nouveau.
Now my issues are fixed and finally, finally my primary system uses
the free driver stack (though only GLES).
2011-04-23 16:27:23 +02:00
Martin Gräßlin 99c3999881 Destroy overlay window on shutting down GLES compositing 2011-04-23 16:15:08 +02:00
Jammy Zhou 9a8d5c88ae Fix GL error when do texture from pixmap
This problem happens on Freescale imx51 ARM platform

CCMAIL: patches@linaro.org
2011-03-11 09:04:01 +08:00
Martin Gräßlin 6162f38b32 Sync before painting in EGL backend
This should help preventing flickering/tearing with various
ES drivers.
Thanks to Jammy Zhou for pointing out this problem and providing
the patch.
CCMAIL: jammy.zhou@linaro.org
2011-02-12 14:52:28 +01:00
Martin Gräßlin 0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin 4c8c3060bf Merge together paintBackground and paintGenericScreen 2011-01-30 14:12:04 +01:00
Martin Gräßlin 7adc29efd7 Remove warnings when building with GLES 2011-01-30 14:12: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 cab9154723 Simple vertex shaders use projection matrix and offset 2011-01-30 14:12:01 +01:00
Martin Gräßlin a7dd31ef00 Use shared VBO for paintBackground 2011-01-30 14:12:00 +01:00
Martin Gräßlin d2cfeef8ae Scene uses ShaderManager 2011-01-30 14:12:00 +01:00
Martin Gräßlin 70fefbbbae Adding an initEGL method and check for required extension 2011-01-30 14:11:59 +01:00
Martin Gräßlin e5932ff214 Make it compile again after rebasing on current trunk 2011-01-30 14:11:58 +01:00
Martin Gräßlin c20adefb82 Less warnings please 2011-01-30 14:11:58 +01:00
Martin Gräßlin 2703a23abf Use color shader to render the background 2011-01-30 14:11:58 +01:00
Martin Gräßlin ae95ab0c43 Adding color to VBO.
A color can be specified to render the geometry of the VBO.
For legacy painting glColor is used, for shader a uniform is set.
In order to allow rendering without texcoords, it is possible to pass
a null pointer as texcoords.
Shader added to scene which just renders a colored geometry without texturing.
2011-01-30 14:11:58 +01:00
Martin Gräßlin 9b37fc580d Support screen transformations in ES.
paintGenericScreen should be merged back to scene_opengl
2011-01-30 14:11:58 +01:00
Martin Gräßlin eb7d06d22f Adding a generic scene shader able to handle transformation
Currently only window transformations are supported.
2011-01-30 14:11:57 +01:00
Martin Gräßlin a2e214d326 Enable PaintClipper on core VBO again.
Need to disable clearing screen on EGL for that.
With Mesa swapping buffer is sufficient, though a better solution will be required for other drivers
2011-01-30 14:11:57 +01:00
Martin Gräßlin 5804417acc And here comes the working OpenGL ES backend 2011-01-30 14:11:57 +01:00
Martin Gräßlin 537b06a9ee Move glx and egl code into own files 2011-01-30 14:11:57 +01:00