Commit graph

3335 commits

Author SHA1 Message Date
Luboš Luňák
f1be2aa724 Optimize XRender painting by manually doing clipping, even with transformations.
Since it's unlikely XRender code will use other transformations then the ones
provided this should be ok. Makes painting with obscured windows much faster
(i.e. it's just slow, not bloody slow).


svn path=/branches/work/kwin_composite/; revision=610613
2006-12-04 18:30:41 +00:00
Luboš Luňák
1c151d222b Fix the zoom effect to use time differences instead of a hardcoded step.
svn path=/branches/work/kwin_composite/; revision=610611
2006-12-04 18:29:16 +00:00
Luboš Luňák
f93df78a79 Disable the zoom effect.
svn path=/branches/work/kwin_composite/; revision=610147
2006-12-03 13:48:09 +00:00
Luboš Luňák
840364cd2a Merge r608181 from trunk (KShortcut/KAction changes).
svn path=/branches/work/kwin_composite/; revision=610146
2006-12-03 13:43:37 +00:00
Luboš Luňák
4607cab829 Config option for whether zooming should be smooth or fast.
svn path=/branches/work/kwin_composite/; revision=610138
2006-12-03 13:38:57 +00:00
Luboš Luňák
a643ff2b00 Try to use XComposite overlay also with XRender.
svn path=/branches/work/kwin_composite/; revision=610137
2006-12-03 13:38:16 +00:00
Luboš Luňák
a03b796335 Screen scaling.
svn path=/branches/work/kwin_composite/; revision=610135
2006-12-03 13:37:44 +00:00
Luboš Luňák
6bf5d12108 Zoom effect, i.e. magnifying glass. The zoom is hardcoded
for now.


svn path=/branches/work/kwin_composite/; revision=610134
2006-12-03 13:36:40 +00:00
Luboš Luňák
db18481380 XRender window scaling, based on a patch by Philip Falkner.
svn path=/branches/work/kwin_composite/; revision=610133
2006-12-03 13:32:52 +00:00
Luboš Luňák
ab8d845718 Reset compositing on XRandr changes to react on screen
size or refresh rate changes, patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=610114
2006-12-03 13:29:57 +00:00
Luboš Luňák
6a66250620 Better synchronization of refresh rate and vsyncing,
patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=610110
2006-12-03 13:29:14 +00:00
Luboš Luňák
50b7fc5409 + // grab X during the release to make removing of properties, setting to withdrawn state
+    // and repareting to root an atomic operation (http://lists.kde.org/?l=kde-devel&m=116448102901184&w=2)


svn path=/trunk/KDE/kdebase/workspace/; revision=609071
2006-11-29 13:25:38 +00:00
David Faure
d37ec25cf6 Next monday kdecore won't link to qt3support anymore; so link it explicitely in those two.
svn path=/trunk/KDE/kdebase/workspace/; revision=608944
2006-11-29 00:02:10 +00:00
Luboš Luňák
ae1a1b25f7 Match defaults.
BUG: 137889


svn path=/trunk/KDE/kdebase/workspace/; revision=608824
2006-11-28 14:42:48 +00:00
Luboš Luňák
b1ce5309a3 Configure mouse to the screen when doing move/resize.
BUG: 88506


svn path=/trunk/KDE/kdebase/workspace/; revision=608815
2006-11-28 14:15:38 +00:00
Giovanni Venturi
7d243977ce fix compiling
svn path=/trunk/KDE/kdebase/workspace/; revision=608585
2006-11-27 23:29:24 +00:00
Luboš Luňák
2fa320c9b8 Clearing of the whole buffer is not necessary anymore, at least not
in the simple cases. Improves drawing performance.


svn path=/branches/work/kwin_composite/; revision=608458
2006-11-27 16:16:34 +00:00
Luboš Luňák
a4d6273de0 Do glFinish()/XSync() to make sure all painting has been also processed.
svn path=/branches/work/kwin_composite/; revision=608430
2006-11-27 15:13:10 +00:00
Luboš Luňák
3374f1fbda It seems there's a different place in fd.o git where docs are stored.
svn path=/branches/work/kwin_composite/; revision=608405
2006-11-27 14:20:40 +00:00
Andreas Hartmetz
8fc2b1843b Adapt dependent code to KShortcut/KAction changes.
svn path=/trunk/KDE/kdebase/khotkeys/; revision=608181
2006-11-27 00:32:31 +00:00
Luboš Luňák
6001aabfa5 Note that AIGLX needs indirect rendering.
svn path=/branches/work/kwin_composite/; revision=607520
2006-11-24 22:46:59 +00:00
Luboš Luňák
b0c7bc98a2 Special file for howto on setting up kwin_composite.
svn path=/branches/work/kwin_composite/; revision=607516
2006-11-24 22:20:14 +00:00
Luboš Luňák
d426d9dcd4 Don't let the damage region be larger than the window,
prevent painting errors when shrinking a window.


svn path=/branches/work/kwin_composite/; revision=607510
2006-11-24 21:50:10 +00:00
Luboš Luňák
277449f545 Ungrab X before doing the double-buffering swap, as that one
may involve waiting to sync to vblank.


svn path=/branches/work/kwin_composite/; revision=607501
2006-11-24 21:28:52 +00:00
Luboš Luňák
049460fa2e Reset window damage after updating the damaged areas of the OpenGL texture
or Xrender picture, not after every repaint.
This also allows removing the confusing initPaint()/postPaint() calls in Scene.


svn path=/branches/work/kwin_composite/; revision=607500
2006-11-24 21:28:00 +00:00
Luboš Luňák
cb549777ba Damage workspace when a window is unmapped to cause repainting of that area.
svn path=/branches/work/kwin_composite/; revision=607286
2006-11-23 23:05:50 +00:00
Luboš Luňák
38f4f76b31 Detect screen refresh rate for finding out optimal compositing
redraw speed. Patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=607253
2006-11-23 21:16:49 +00:00
Luboš Luňák
8bbf28ed9c It seems the fallback mode doesn't work with direct rendering.
svn path=/branches/work/kwin_composite/; revision=607241
2006-11-23 20:21:27 +00:00
Luboš Luňák
2c9dd370d9 Do not try to paint outside of the screen.
svn path=/branches/work/kwin_composite/; revision=606822
2006-11-21 22:22:48 +00:00
Luboš Luňák
9c4218d4bf Sync to vblank, patch by Philip Falkner.
svn path=/branches/work/kwin_composite/; revision=606795
2006-11-21 20:59:59 +00:00
Luboš Luňák
55015eb927 Actually detect if the rendering is really direct.
svn path=/branches/work/kwin_composite/; revision=606789
2006-11-21 20:11:40 +00:00
Luboš Luňák
f551826ae2 Wait for all XRender requests to be actually sent and processes, not just
queued.


svn path=/branches/work/kwin_composite/; revision=606788
2006-11-21 20:08:08 +00:00
Luboš Luňák
277683c4f0 Fix name of glXGetProcAddress(ARB).
svn path=/branches/work/kwin_composite/; revision=606549
2006-11-20 19:25:25 +00:00
Luboš Luňák
107472c747 Remove already done things.
svn path=/branches/work/kwin_composite/; revision=606429
2006-11-20 12:57:27 +00:00
Luboš Luňák
04072fa089 Fix the opacity submenu in Alt+F3.
svn path=/branches/work/kwin_composite/; revision=606428
2006-11-20 12:55:06 +00:00
Luboš Luňák
3e534d7d75 Convert to OpenGL coordinates.
svn path=/branches/work/kwin_composite/; revision=606378
2006-11-20 08:39:48 +00:00
Luboš Luňák
376fd954c3 Check whether extensions are available before using them.
svn path=/branches/work/kwin_composite/; revision=606274
2006-11-19 20:41:10 +00:00
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