Commit graph

20198 commits

Author SHA1 Message Date
Luboš Luňák
930a9248c9 Repainting of only changed areas, now also for OpenGL.
svn path=/branches/work/kwin_composite/; revision=606272
2006-11-19 20:29:41 +00:00
Luboš Luňák
0e53720687 Finish the showfps effect, including adding some configuration
and making it work even with XRender. I think it shows that
making non-trivial effects for both OpenGL and XRender
would be a) quite possible b) quite pain.


svn path=/branches/work/kwin_composite/; revision=606271
2006-11-19 20:25:04 +00:00
Luboš Luňák
b956650b2d Make some aspects affecting performance configurable in kwinrc,
group [Translucency]:
GLMode=TFP|SHM|Fallback - select rendering mode
GLAlwaysRebind=<bool> - force rebinding a texture
GLDirect=<bool> - direct rendering
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=606268
2006-11-19 20:13:49 +00:00
Luboš Luňák
6e54bae328 Try to reduce number of roundtrips in SHM mode by merging
region rectangles.


svn path=/branches/work/kwin_composite/; revision=606267
2006-11-19 20:10:25 +00:00
Luboš Luňák
951448b575 Try to reduce damage caused by window moving.
svn path=/branches/work/kwin_composite/; revision=606266
2006-11-19 20:08:56 +00:00
Luboš Luňák
09781249b9 Name the class used to postpone geometry changes also Blocker,
to be consistent with the one used for stacking changes.


svn path=/branches/work/kwin_composite/; revision=606262
2006-11-19 20:04:31 +00:00
Luboš Luňák
8100c40188 Remove unused code.
svn path=/branches/work/kwin_composite/; revision=606261
2006-11-19 20:02:25 +00:00
Luboš Luňák
bb2299e00b Ignore if there are actually no geometry changes.
svn path=/branches/work/kwin_composite/; revision=605571
2006-11-17 09:19:58 +00:00
Luboš Luňák
0283b97a62 When no transformations are needed simple screen painting can be used
even for painting the whole screen, not just a region.


svn path=/branches/work/kwin_composite/; revision=605563
2006-11-17 08:43:24 +00:00
Luboš Luňák
4efa523375 A simple attempt at a showfps effect. OpenGL-only, only lame graphs,
still many TODO's.


svn path=/branches/work/kwin_composite/; revision=605497
2006-11-16 22:46:14 +00:00
Luboš Luňák
186fded142 Use glPush/PopAttrib() instead of glIs*().
svn path=/branches/work/kwin_composite/; revision=605476
2006-11-16 21:40:10 +00:00
Luboš Luňák
43a945cd33 Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=605401
2006-11-16 16:56:16 +00:00
Luboš Luňák
8e257f251f Use kwin debug area.
svn path=/branches/work/kwin_composite/; revision=605290
2006-11-16 09:05:40 +00:00
Luboš Luňák
a35cf8e954 Try to use direct rendering.
svn path=/branches/work/kwin_composite/; revision=605288
2006-11-16 09:02:03 +00:00
Luboš Luňák
9d25cf5166 SHM mode, using MIT-SHM extension for Pixmap->image data conversions
and glTexImage texture creation. Stolen from Beryl (stolen from Looking Glass).
Not faster than TFP but faster then the original fallback glCopyTexImage
mode from glcompmgr.


svn path=/branches/work/kwin_composite/; revision=605283
2006-11-16 08:36:30 +00:00
Luboš Luňák
f33683df3f A different workaround for ATI (http://lists.kde.org/?l=kwin&m=116353772208535&w=2).
svn path=/branches/work/kwin_composite/; revision=605278
2006-11-16 07:57:55 +00:00
Luboš Luňák
9bfae71d45 Support for strict binding for AIGLX, although currently not needed.
svn path=/branches/work/kwin_composite/; revision=605274
2006-11-16 07:46:39 +00:00
Luboš Luňák
0bd186ec72 Support GLX 1.2 (no glXCreateWindow() functionality).
svn path=/branches/work/kwin_composite/; revision=604877
2006-11-14 13:18:53 +00:00
Luboš Luňák
1be2c4ed32 Detect and check GLX version/extensions.
svn path=/branches/work/kwin_composite/; revision=604805
2006-11-14 11:52:20 +00:00
Luboš Luňák
e86e1cf88f Detect GLX version, patch by Philip Falkner.
svn path=/branches/work/kwin_composite/; revision=604801
2006-11-14 11:41:52 +00:00
Laurent Montel
012be9b663 Fix compile with compilator!=gcc
svn path=/trunk/KDE/kdebase/workspace/; revision=604645
2006-11-13 15:31:59 +00:00
Luboš Luňák
53422c734c Add one more fallback #define.
svn path=/branches/work/kwin_composite/; revision=604568
2006-11-13 10:19:25 +00:00
Luboš Luňák
961bb253d1 frames per second, not file transfer protocol :)
svn path=/branches/work/kwin_composite/; revision=604103
2006-11-11 15:32:43 +00:00
Luboš Luňák
f21de17553 More todos.
svn path=/branches/work/kwin_composite/; revision=604043
2006-11-11 11:38:59 +00:00
Luboš Luňák
9a706bea89 Remove one more part of direct OpenGL drawing to the root window.
svn path=/branches/work/kwin_composite/; revision=604021
2006-11-11 09:14:38 +00:00
Luboš Luňák
340e64ab51 With the overlay fix double-buffering now works too.
Also dump drawing directly into the root window, OpenGL normally
clips the root window, so nothing is drawn. NVidia has "DisableGLXRootClipping",
but there's no way to detect that and there's still the non-db mode.


svn path=/branches/work/kwin_composite/; revision=604019
2006-11-11 09:11:51 +00:00
Luboš Luňák
a222c2a675 Gee, map also the child X window. Qt makes some things way too simple.
svn path=/branches/work/kwin_composite/; revision=604018
2006-11-11 09:05:45 +00:00
Luboš Luňák
60d343f1d7 A great idea from Cedric Borgese: Instead of transforming
the OpenGL scene to match X coordinate system, adjust it
directly using glOrtho().


svn path=/branches/work/kwin_composite/; revision=603929
2006-11-10 20:27:44 +00:00
Luboš Luňák
001ddfacbd Remove requiring GLX_DRAWABLE_TYPE to include GLX_PIXMAP_BIT,
ATI seems to be buggy and it doesn't seem to be really necessary.


svn path=/branches/work/kwin_composite/; revision=603922
2006-11-10 20:01:24 +00:00
Luboš Luňák
3e282558e2 Add docs on some of the paint attributes.
svn path=/branches/work/kwin_composite/; revision=603720
2006-11-09 21:27:27 +00:00
Luboš Luňák
bcfc36c695 Work around ATI crashes.
svn path=/branches/work/kwin_composite/; revision=603713
2006-11-09 20:48:12 +00:00
Luboš Luňák
1cc603cf75 Abort if there are problems with setting up OpenGL context.
svn path=/branches/work/kwin_composite/; revision=603712
2006-11-09 20:38:14 +00:00
Luboš Luňák
91872885ff Explicitly link against libdl, the build breaks for some people without it
for some reason.


svn path=/branches/work/kwin_composite/; revision=603677
2006-11-09 18:01:45 +00:00
Luboš Luňák
8036be5f52 Fix dialog<->parent handling to also work with group transient dialogs.
svn path=/branches/work/kwin_composite/; revision=603396
2006-11-08 19:29:29 +00:00
Luboš Luňák
aeafa63a94 Move some OpenGL code to glutils.* .
Add support for changing window brightness.
Add DialogParent effect that makes windows that are unaccessible because
of modal dialogs darker.
Patch by Rivo Laks.


svn path=/branches/work/kwin_composite/; revision=603384
2006-11-08 19:10:07 +00:00
Luboš Luňák
71f68f91fd todo updates
svn path=/branches/work/kwin_composite/; revision=603376
2006-11-08 18:38:10 +00:00
Luboš Luňák
154d8a588b Use the compositing manager _NET_WM_CM_S<n> manager selection.
svn path=/branches/work/kwin_composite/; revision=603322
2006-11-08 15:08:20 +00:00
Luboš Luňák
5040859ee3 Force re-creating of the Alt+F3 popup (opacity option).
svn path=/branches/work/kwin_composite/; revision=603312
2006-11-08 14:45:30 +00:00
Luboš Luňák
3f0d6b97c1 One change that was supposed to go with r603295.
svn path=/trunk/KDE/kdebase/workspace/; revision=603296
2006-11-08 14:09:06 +00:00
Luboš Luňák
3a0e22ebe3 Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=603295
2006-11-08 13:59:27 +00:00
Luboš Luňák
d3fc0bbc09 Add support for changing saturation. Patch by Rivo Laks.
svn path=/branches/work/kwin_composite/; revision=603145
2006-11-07 23:33:23 +00:00
Luboš Luňák
368c97ac96 Debug about visuals used.
svn path=/branches/work/kwin_composite/; revision=603143
2006-11-07 23:21:08 +00:00
Luboš Luňák
8d777cb1f7 Double-buffering using OpenGL doesn't work and I have no idea why.
svn path=/branches/work/kwin_composite/; revision=603138
2006-11-07 22:45:56 +00:00
Luboš Luňák
4110fc1c3a Support for XComposite overlay window.
svn path=/branches/work/kwin_composite/; revision=603137
2006-11-07 22:44:39 +00:00
Luboš Luňák
f631e57a01 Bind the texture also in the global context and some opengl<->x
synchronizing.


svn path=/branches/work/kwin_composite/; revision=603127
2006-11-07 22:11:53 +00:00
Luboš Luňák
5245ef9e10 In non-tfp mode, a different context must be used when doing opengl
operations with the window drawable. Patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=603122
2006-11-07 22:04:57 +00:00
Luboš Luňák
2150cae758 svn revert r603055, it's nonsense
svn path=/branches/work/kwin_composite/; revision=603098
2006-11-07 20:33:52 +00:00
Luboš Luňák
e99a883a81 Require configs with no caveats. Manual replacement for glXChooseFBConfig()
is really needed :-/.


svn path=/branches/work/kwin_composite/; revision=603064
2006-11-07 17:51:15 +00:00
Luboš Luňák
f63e9e2b5b Fix last commit.
svn path=/branches/work/kwin_composite/; revision=603058
2006-11-07 17:33:53 +00:00
Luboš Luňák
6e3f0f7bbe Blah, destination drawable doesn't need alpha channel.
svn path=/branches/work/kwin_composite/; revision=603056
2006-11-07 17:31:34 +00:00