Commit graph

7773 commits

Author SHA1 Message Date
Fredrik Höglund
1a5b3b4bea Disable and delete the fragment program if it fails to compile.
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1215777
2011-01-30 15:25:01 +01:00
Fredrik Höglund
8bc99e68c0 Don't specify the texture target explicitly with r300g.
This is reported to cause a performance regression.

FIXED-IN: 4.6.0
BUG: 256654

svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1215519
2011-01-30 15:24:31 +01:00
Fredrik Höglund
bfa2fc68e6 Rewrite the ARB lanczos shader to work with the Radeon R300 limitations.
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1215505
2011-01-30 15:11:22 +01:00
Fredrik Höglund
1a93cc40d2 Disable the lanczos filter with the Intel driver in Mesa 7.10.
It's reported to cause kwin to hang when rendering thumbnails.

svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1215502
2011-01-30 15:07:41 +01:00
Fredrik Höglund
3ada211c30 Don't enable loose binding with Gallium drivers in Mesa 7.10.
It's currently broken because of a regression in the mesa state tracker.

FIXED-IN: 4.6.0
BUG: 259872

svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213870
2011-01-30 15:07:40 +01:00
Fredrik Höglund
ee406e6d86 Tweak the debug output to make it more readable.
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213845
2011-01-30 15:07:40 +01:00
Fredrik Höglund
7d5d8213dd Don't print the GLSL version when GLSL isn't supported.
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213843
2011-01-30 15:07:40 +01:00
Fredrik Höglund
1643fdfc63 Add some missing radeon GPU's
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213842
2011-01-30 15:07:40 +01:00
Fredrik Höglund
83fd472bb3 Fix chipset detection with r300g
svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213841
2011-01-30 15:07:02 +01:00
Martin Gräßlin
cf03487331 Remove Shadow Effect.
The shadow effect is known to be broken since at least 4.5.
It is unfortunately in a state which makes it difficult to maintain
and the architecture has some serious drawbacks. Therefore it is the
best solution to replace the effect with a new and better
implementation. For more information about the new implementation
please see the discussion on KWin mailinglist:
http://lists.kde.org/?l=kwin&m=129607406517609&w=2

This also "fixes" all existing bug reports about the shadow effect.
Most of the bugs will really be fixed when the new shadow system is
implemented, if not it is a new bug and a new report should be created
for it.

Please excuse that we go this unnormal approach to mark bugs as
fixed with code removal.
BUG: 164084
BUG: 160948
BUG: 189241
BUG: 229164
BUG: 258663
BUG: 216709
BUG: 243890
FIXED-IN: 4.7.0
2011-01-30 14:26:58 +01:00
Martin Gräßlin
cf94a0e8f8 Binding shaders moved explicitly to ShaderManager. 2011-01-30 14:24:49 +01:00
Martin Gräßlin
45c7610d22 Removing popupinfo files.
Code has not been used since the introduction of the desktop
change osd.
2011-01-30 14:24:48 +01:00
Martin Gräßlin
fe069f188b Option AltTabStyle not used anymore.
This should have been removed together with the tabbox rewrite.
2011-01-30 14:24:48 +01:00
Martin Gräßlin
2f56415a21 Removing SHM and Fallback OpenGL Compositing modes.
Our primary target is Texture From Pixmap and it is supported
by all important drivers nowadays. If a driver is not able to
support TFP using OpenGL at all is probably no good idea and
XRender is more suited.
2011-01-30 14:24:48 +01:00
Martin Gräßlin
1b70279664 Removing Xgl support from KWin.
Xgl has been removed from the X tree in 2008. It does not make sense
to still support it in KWin.
2011-01-30 14:24:48 +01:00
Martin Gräßlin
713fe54e3c Removing screenshot to clipboard functionality.
We have ksnapshot for that which uses a KWin effect to get
screenshots including shadows, which was not possible with
KWin's own implementation.

This invalidates bugs about this functionality.
BUG: 263409
FIXED-IN: 4.7.0
2011-01-30 14:24:48 +01:00
Martin Gräßlin
65e6a1b03b Removing Snow Effect.
The usefulness of the snow effect is doubtable and it is rather
difficult to port the effect to the new rendering architecture
introduced with GLES. It is probably easier to rewrite the complete
effect from scratch, therefore it is removed for now.

I might consider readding it for 4.7.

This kind of "fixes" snow related bug reports.
BUG: 259362
BUG: 254498
FIXED-IN: 4.7.0
2011-01-30 14:24:48 +01:00
Martin Gräßlin
19f6b9667b Remove ShaderEffect from KWinEffects Library.
The class is not used by any effect any more and the
design of the ShaderEffect makes it hardly usable.
For most effects just rendering the windows with the Shader
attached to it makes more sense than rendering the complete
screen into a FBO and apply the shader on the off-screen texture.
2011-01-30 14:20:05 +01:00
Martin Gräßlin
debb747797 Removing the Sharpen Effect.
The effect has been known to cause some problems for quite some time
and is not really useful. Therfore dropping the effect.
See discussion on kwin mailinglist:
http://lists.kde.org/?l=kwin&m=129597766829618&w=2
2011-01-30 14:20:05 +01:00
Martin Gräßlin
3e42ddc2cc ShaderManager handles rebind of previous shader.
No need to explicitly rebind the window shader in blur effect.
2011-01-30 14:12:06 +01:00
Martin Gräßlin
a6de13e2f7 Use ShaderManager to bind the shader in Lanczos. 2011-01-30 14:12:06 +01:00
Martin Gräßlin
ccd0cae094 CoverSwitch supports multi screen in GLES. 2011-01-30 14:12:06 +01:00
Martin Gräßlin
8d46c978aa FlipSwitch supports MultiScreen with GLES. 2011-01-30 14:12:06 +01:00
Martin Gräßlin
d9fb2bd789 Cylinder and Sphere ported to new rendering stack 2011-01-30 14:12:06 +01:00
Martin Gräßlin
36daa74589 Combine custom vertex with built-in fragment shader. 2011-01-30 14:12:06 +01:00
Martin Gräßlin
8c4fc28e1a Blur ported to GLES.
It now uses a GLShader for GLSL shaders and pushes it using the
ShaderManager.

It does not work with the nouveau driver plus GLES, but it works
with fglrx + desktop GL 2.x, so I assume it is a driver problem here.
2011-01-30 14:12:06 +01:00
Martin Gräßlin
a478fc7ff3 Allow creating shaders from code directly. 2011-01-30 14:12:05 +01:00
Martin Gräßlin
bf56d17aee Compile fix for ShowFPS 2011-01-30 14:12:05 +01:00
Martin Gräßlin
0f7ebac00e Explosion portet to GLES.
I'm not completely sure if this is how the effect should look like.
But I cannot verify, it fails on fglrx and cannot find a video on Youtube.
2011-01-30 14:12:05 +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
Martin Gräßlin
f78d838fc7 Better support custom shaders. 2011-01-30 14:12:05 +01:00
Martin Gräßlin
6cd6883d8c Remove too strong error checks.
That should never have been committed, it was just for finding an error.
2011-01-30 14:12:05 +01:00
Martin Gräßlin
863726a085 LookingGlass ported to GLES.
LookingGlass does not inherit ShaderEffect any more and uses just a
fragment shader. It still renders to a FBO, this could probably be
improved.
2011-01-30 14:12:05 +01:00
Martin Gräßlin
75e926a6d7 Here comes the ported Magnifier 2011-01-30 14:12:05 +01:00
Martin Gräßlin
5d74f9ece7 StartupFeedback ported to GLES. 2011-01-30 14:12:05 +01:00
Martin Gräßlin
61615ea7ff Need to copy QPixmap to QImage in GLES.
The Image extension seems to need the pixmap around and that's something
we cannot guarantee in the generic case.
2011-01-30 14:12:05 +01:00
Martin Gräßlin
c5c318a342 Screenshot Effect ported to GLES 2011-01-30 14:12:05 +01:00
Martin Gräßlin
22d7c6c5f1 ShowFPS effect ported to GLES 2011-01-30 14:12:04 +01:00
Martin Gräßlin
d683ce560c Adding new uniform to enforce that alpha becomes 1.0
When rendering opaque (RGB-only) windows the alpha ends up to be 0
with blending disabled. This breaks subsequent rendering steps which
require blenden (e.g. Lanczos). Therefore a uniform is used to ensure
that the alpha channel is set to 1.
2011-01-30 14:12:04 +01:00
Martin Gräßlin
764338e042 TaskbarThumbnails should say that it needs transformed windows.
Fixes a nice transformation issue when using thumbnails after cube effect.
2011-01-30 14:12:04 +01:00
Martin Gräßlin
78c4c7a86e Lanczos filter available in GLES.
It uses a default vertex shader, so the existing shader can be dropped.
2011-01-30 14:12:04 +01:00
Martin Gräßlin
c6dd3690f5 Don't clip when rendering to FBO. 2011-01-30 14:12:04 +01:00
Martin Gräßlin
6252421a70 Disable clipping when rendering infiniteRegion 2011-01-30 14:12:04 +01:00
Martin Gräßlin
4c8c3060bf Merge together paintBackground and paintGenericScreen 2011-01-30 14:12:04 +01:00
Martin Gräßlin
e5eed55c51 PerformPaint uses QMatrix4x4 for legacy GL.
And another piece of code get's merged between desktop GL and ES.
2011-01-30 14:12:04 +01:00
Martin Gräßlin
2e0385101a Less ifdef in paintWindow. CleanerCode++
Using the QMatrix4x4 allows to make everything runtime dependent
and not a compile time switch.
2011-01-30 14:12:04 +01:00
Martin Gräßlin
802dd6b5fe Cache the matrix for cube cap mirroring 2011-01-30 14:12:04 +01:00
Martin Gräßlin
fe614119e5 Reflected cube uses QMatrix4x4 2011-01-30 14:12:03 +01:00
Martin Gräßlin
8c4db8f734 Say goodbye to Display Lists in cube.
Rotation is now only handled by the QMatrix4x4 m_rotationMatrix,
so no more need for display lists. Resulting in a cleaner code without
differences between OpenGL 1.x and 2.x/GLES.
2011-01-30 14:12:03 +01:00
Martin Gräßlin
6b88cdf36a Cube uses new high-level push/pop/multiply for caps.
For OpenGL 1.x cube caps are now rendered using the capMatrix
instead of using glTranslate/glRotate et al. One source base to
rule all GL versions.
2011-01-30 14:12:03 +01:00