Fredrik Höglund
0b992748be
Switch the order, so the decoration is drawn before the client window.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1054380
2009-11-25 23:08:19 +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
Andreas Kling
0204c2127c
Fixed some uses of uninitialized data (SceneOpenGL::selfCheckDone and TimeLine::m_CurveShape)
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1022613
2009-09-12 09:38:12 +00:00
Robin Harold Burchell
f585e4e1d9
A number of small warning fixes (bracketing, etc) to help pick up real problems when working.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=1022531
2009-09-11 23:44:29 +00:00
Martin Gräßlin
ba27d2ebb0
Copy decoration pixmaps to Deleted. By that we see the decoration also when having a fade out animation.
...
As this is a bigger commit I will wait with backporting to 4.3 for something about two or three weeks and will only backport if nobody yells.
BUG: 201780
svn path=/trunk/KDE/kdebase/workspace/; revision=1004096
2009-07-29 11:07:28 +00:00
Luboš Luňák
60f8d8a84f
glx1.3, section 3.4.2: "GLXPixmaps created by calls other
...
than glXCreateGLXPixmap should not be passed to glXDestroyGLXPixmap."
svn path=/trunk/KDE/kdebase/workspace/; revision=983660
2009-06-18 18:54:15 +00:00
Lucas Murray
d2e10a529f
Set OpenGL decoration texture wrap mode to GL_CLAMP_TO_EDGE. Removes
...
halo effect during window scaling.
svn path=/trunk/KDE/kdebase/workspace/; revision=980162
2009-06-11 10:35:49 +00:00
Martin Gräßlin
c561207946
Do not release the bound pixmap every time the decoration get's updated. That is the reason why effects were slow when active client changed. Additional do a XSync when the decoration pixmap is painted. That ensures that the pixmap is painted before the texture from pixmap is done.
...
BUG: 191694
svn path=/trunk/KDE/kdebase/workspace/; revision=969647
2009-05-18 16:42:23 +00:00
Martin Gräßlin
55af335968
Scene OpenGL paints window content only when mask does not contain PAINT_DECORATION_ONLY like XRender backend.
...
This could be the solution to the performance regression when starting effects at activation change.
CCBUG: 191694
svn path=/trunk/KDE/kdebase/workspace/; revision=969215
2009-05-17 17:14:01 +00:00
Fredrik Höglund
8bba7aed7d
Make it possible for the decorations to paint outside the window frame
...
when compositing is enabled, by letting them add additional padding
to the sides of the frame.
svn path=/trunk/KDE/kdebase/workspace/; revision=963586
2009-05-04 22:35:33 +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
Martin Gräßlin
dabc9f0353
OpenGL part of ARGB decorations. See revision 957680 for more information.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=957681
2009-04-22 17:30:49 +00:00
Luboš Luňák
7249ca2cfb
Do self-check immediatelly during compositing setup only when it's not KWin startup
...
at the same time (in other words, only when activating compositing using the kcm).
Currently selfcheck causes bad flicker (due to X mapping the overlay window
for too long?) which looks bad during KDE startup. With this patch, KDE startup
is without any flicker.
svn path=/trunk/KDE/kdebase/workspace/; revision=923842
2009-02-09 14:51:11 +00:00
Luboš Luňák
6fef8fe8bd
Use 3x2 sized pixmap for the self-check rather than 5x1, to also
...
check for Y inversion (bnc#450801, although I have no idea what
the real problem there is).
svn path=/trunk/KDE/kdebase/workspace/; revision=904309
2009-01-01 21:17:27 +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
83ddb8f249
Make sure the GLX context is destroyed before the window it's been
...
made current with. Even though it should be allowed to do it afterwards
it seems this can crash AIGLX.
http://lists.freedesktop.org/archives/xorg/2008-November/040168.html
BUG: 174782
svn path=/trunk/KDE/kdebase/workspace/; revision=882880
2008-11-11 15:06:45 +00:00
Lucas Murray
8f3433bac3
HACK: Temporarily disable opaque-/translucent-only painting until the cause of the glitching is found. Due to a logic error this code has never actually been executed.
...
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=867857
2008-10-04 17:36:26 +00:00
Lucas Murray
24816cb67b
Fixed "fixed" logic. There's really no other way to do this that's readable so if the "suspicious code" checker still picks this up just ignore it.
...
BUG: 171709
svn path=/trunk/KDE/kdebase/workspace/; revision=865220
2008-09-27 06:23:33 +00:00
Luboš Luňák
b9bf9831b0
Fix wrong logic.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=864621
2008-09-25 09:13:00 +00:00
Luboš Luňák
6796c1225f
Self-check also for XRender.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=862312
2008-09-18 15:27:13 +00:00
Luboš Luňák
08571b2f52
Do not use 'assert( false )', with NDEBUG that is a no-op and
...
results in warnings about missing return.
svn path=/trunk/KDE/kdebase/workspace/; revision=861879
2008-09-17 11:44:51 +00:00
Luboš Luňák
23724e35b2
Add an advanced option to override kwin's compositing checks
...
(i.e. currently it allows to enable compositing even if self-check fails).
Not recommended of course, and it's be still nice to get self-check work
reliably.
CCBUG: 170085
svn path=/trunk/KDE/kdebase/workspace/; revision=860196
2008-09-12 10:26:19 +00:00
Luboš Luňák
8eedfa3456
Another attempt at self-check, this time done directly during setup
...
(so that it can fail immediately).
svn path=/trunk/KDE/kdebase/workspace/; revision=859960
2008-09-11 16:37:26 +00:00
Luboš Luňák
6fd9d4e4b3
Create a new window for each tested pixmap with selfcheck, otherwise
...
second test fails for some reason with BadAlloc in glXCreatePixmap().
Maybe nvidia bug, but could be also some hidden KWin bug (according
to GLX docs, glXCreatePixmap() can give BadAlloc only when it can't
allocate, which is nonsense here, but glXCreateWindow() says that
BadAlloc may mean calling it twice on the same window, so maybe
here it's twice with the same pixmap - I don't see where the bug
could be though).
svn path=/trunk/KDE/kdebase/workspace/; revision=857141
2008-09-04 19:48:52 +00:00
Luboš Luňák
9a0124fc96
Check every screen, topleft and bottomright corners, should catch more problems.
...
Also remove the unnecessary XSync().
svn path=/trunk/KDE/kdebase/workspace/; revision=854556
2008-08-29 19:23:16 +00:00
Luboš Luňák
fd2e9b54cb
Funny how awesome ideas are often so awfully simple. Test whether compositing
...
really works by simply trying to do it and test the result - create a small
testing window with known content, do the same with it like with normal
windows, grab the screen contents, compare with the original, doesn't match? -> fail.
It still would be nice to have something similar for performance.
svn path=/trunk/KDE/kdebase/workspace/; revision=854549
2008-08-29 19:02:36 +00:00
Luboš Luňák
a42ccaa4ba
Virtuals don't work normally in dtors, call in overriden dtor too.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=853290
2008-08-27 13:21:20 +00:00
Lucas Murray
9a52d3c709
Added feature to only invert the colours of selected windows
...
Fixed shader alpha blending
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=853224
2008-08-27 12:20:34 +00:00
Martin Gräßlin
cb4ed769aa
Change from orthographic projection to a perspective projection. This allows to change z-values and rotations.
...
Therefore zScale, zTranslate and new RotationData are added to ScreenPaintData and WindowPaintData. So it is possible to define zTranslation and rotations without using OpenGL directly. The change only affects OpenGL compositing. XRender is not changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=842018
2008-08-04 14:07:45 +00:00
Lucas Murray
c60c12572e
X ARGB windows are stored with alpha premultiplied. Adjusted OpenGL rendering to accomodate that and therefore fixed incorrect rendering of windows with transparencies such as the Plasma panel.
...
BUG: 163054
svn path=/trunk/KDE/kdebase/workspace/; revision=841974
2008-08-04 11:34:40 +00:00
Luboš Luňák
80dae9910e
Fix last commit.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=807454
2008-05-13 21:27:56 +00:00
Luboš Luňák
e5b1dd90bc
Restore color settings after painting background. Fixes splashscreen
...
being fully black during KDE startup, not that I understand why.
svn path=/trunk/KDE/kdebase/workspace/; revision=807447
2008-05-13 21:15:15 +00:00
Luboš Luňák
9bd87cb271
Redo timing of next painting with vsync used, try harder not to miss
...
every other sync just by a small time.
svn path=/trunk/KDE/kdebase/workspace/; revision=806443
2008-05-11 12:03:42 +00:00
Luboš Luňák
53cc35b649
Show the composite overlay window only before the first painting pass
...
actually needs to flush the output to the screen. Avoids windows
temporarily disappearing during KDE startup or similar visual glitches.
svn path=/trunk/KDE/kdebase/workspace/; revision=806387
2008-05-11 09:48:34 +00:00
Albert Astals Cid
3b9121ec3f
const & in foreach
...
svn path=/trunk/KDE/kdebase/workspace/; revision=801427
2008-04-26 16:03:02 +00:00
Luboš Luňák
02aeed3de2
No deprecated.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=788516
2008-03-21 17:50:59 +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
4b792d000e
Make error messages about compositing use kError(), so that they show up
...
even in release builds. Point to release notes in case of error.
svn path=/trunk/KDE/kdebase/workspace/; revision=768132
2008-01-29 14:23:26 +00:00
Luboš Luňák
429f30d508
Skip color-indexed configs, just in case.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=766482
2008-01-25 23:16:10 +00:00
Luboš Luňák
2382ea23b9
No deprecated.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=763107
2008-01-18 15:49:57 +00:00
Luboš Luňák
6b5f9f727f
Improved error detection in initRenderingContext().
...
svn path=/trunk/KDE/kdebase/workspace/; revision=763105
2008-01-18 15:49:27 +00:00
Luboš Luňák
4dc04a2eef
Move debug output about selected visuals.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=763097
2008-01-18 15:22:46 +00:00
Luboš Luňák
caf1627047
We need NPOT textures.
...
BUG: 155833
svn path=/trunk/KDE/kdebase/workspace/; revision=762709
2008-01-17 18:21:58 +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
0a59114c43
I suppose black looks better on places where there's nothing at all.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=746328
2007-12-08 17:58:24 +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
f4600f4b3f
Properly initialize Scene::Window pointers in EffectWindow objects.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=739644
2007-11-21 13:36:58 +00:00
Luboš Luňák
ff2d52e933
Given that Plasma and KRunner now (again, and maybe again not ultimately,
...
but whatever) default to ARGB visual if available, it's better to turn off
compositing if no GLX visual is found for depth 32.
CCBUG: 152595
svn path=/trunk/KDE/kdebase/workspace/; revision=739261
2007-11-20 19:04:08 +00:00