Commit graph

235 commits

Author SHA1 Message Date
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
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
bcfc36c695 Work around ATI crashes.
svn path=/branches/work/kwin_composite/; revision=603713
2006-11-09 20:48:12 +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
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
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
d92d3a8165 Document the compositing framework and the scene backends,
describe the design, add links to external docs.
Restructure COMPOSITE_TODO into sections and add sort of priorities.


svn path=/branches/work/kwin_composite/; revision=600163
2006-10-29 19:23:45 +00:00
Luboš Luňák
3f9b754ee7 Add post-painting pass to be used for triggering
repaints with animations.


svn path=/branches/work/kwin_composite/; revision=600156
2006-10-29 19:07:10 +00:00
Luboš Luňák
1d7b94acfc Basic window transformations.
svn path=/branches/work/kwin_composite/; revision=597997
2006-10-22 10:15:19 +00:00
Luboš Luňák
779597a648 Basic screen transformation.
svn path=/branches/work/kwin_composite/; revision=597815
2006-10-21 18:07:00 +00:00
Luboš Luňák
fef4dec6e6 Add COPY_BUFFER workaround from glcompmgr that makes this work
even with stable 8776 nvidia drivers (the beta ones lock up on me
from time to time with multiple X running).


svn path=/branches/work/kwin_composite/; revision=597767
2006-10-21 15:23:01 +00:00
Luboš Luňák
ddab4e0d2c Move functionality to the base Scene class.
svn path=/branches/work/kwin_composite/; revision=596186
2006-10-16 21:06:34 +00:00
Luboš Luňák
caed149f40 Add pre-paint passes that will allow finding out how the painting will be done.
svn path=/branches/work/kwin_composite/; revision=596109
2006-10-16 18:46:07 +00:00
Luboš Luňák
338adc9ad5 Throw away old code for effects and start anew.
svn path=/branches/work/kwin_composite/; revision=595965
2006-10-16 10:12:48 +00:00
Luboš Luňák
d547cf8cd4 Move duplicated functionality to the base class.
svn path=/branches/work/kwin_composite/; revision=595639
2006-10-15 08:58:38 +00:00
Luboš Luňák
17e46e32fb Separate more generic and simple screen paint.
svn path=/branches/work/kwin_composite/; revision=595559
2006-10-14 20:46:47 +00:00
Luboš Luňák
004d781e32 For simple paint, clip by above windows. A missing todo is to still
update only changed areas instead of doing full glXSwapBuffers()
when possible.


svn path=/branches/work/kwin_composite/; revision=595357
2006-10-14 07:15:23 +00:00
Luboš Luňák
b60b847e25 Dump usage of depth buffer, Compiz manages to do just with
clipping.


svn path=/branches/work/kwin_composite/; revision=595349
2006-10-14 06:33:38 +00:00
Luboš Luňák
e8e16726c1 Prepare for optimized painting cases.
svn path=/branches/work/kwin_composite/; revision=594955
2006-10-12 21:49:54 +00:00
Luboš Luňák
392acfb28c A really nice trick from Compiz. OpenGL coordinates have Y upside
down ( [0,0] is bottomleft, unlike topleft with X ), so simply
flip the whole scene upside down and move it up -> the coordinates
match, except for when mapping pixmap to textures.


svn path=/branches/work/kwin_composite/; revision=594942
2006-10-12 21:12:51 +00:00
Luboš Luňák
dac02f69c6 Support for double-buffered output, can't really test it here though.
svn path=/branches/work/kwin_composite/; revision=593722
2006-10-08 20:31:00 +00:00
Luboš Luňák
0858d34ed1 GLX_EXT_texture_from_pixmap working.
svn path=/branches/work/kwin_composite/; revision=593460
2006-10-07 21:23:46 +00:00
Luboš Luňák
71b0978628 Separate function for finding right GLXFBConfig.
svn path=/branches/work/kwin_composite/; revision=593458
2006-10-07 21:22:59 +00:00
Luboš Luňák
06203d0652 Don't bother with trying to transform window damage,
when there are any transformations, it should simply
repaint everything (todo).


svn path=/branches/work/kwin_composite/; revision=593450
2006-10-07 21:18:36 +00:00
Luboš Luňák
b1a526960f Don't cache the window pixmap, it doesn't make any difference.
svn path=/branches/work/kwin_composite/; revision=593445
2006-10-07 21:14:57 +00:00
Luboš Luňák
f14000b7fb Implement all missing Scene virtuals.
svn path=/branches/work/kwin_composite/; revision=591145
2006-10-01 21:14:53 +00:00
Luboš Luňák
d65ebbcb5f Opengl transparency.
svn path=/branches/work/kwin_composite/; revision=590751
2006-09-30 18:09:41 +00:00
Luboš Luňák
ace6b4ad8a Opengl support for shaped windows.
svn path=/branches/work/kwin_composite/; revision=590728
2006-09-30 17:28:27 +00:00
Luboš Luňák
fba72ecdfe Update only damaged areas.
svn path=/branches/work/kwin_composite/; revision=590678
2006-09-30 16:17:54 +00:00
Luboš Luňák
649887d6c2 Looks like using XserverRegion for keeping damage regions
wasn't that good idea. Changed to QRegion.


svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák
1c7e7bb2b7 Keeping scene-related data in opengl scene.
svn path=/branches/work/kwin_composite/; revision=590319
2006-09-29 19:05:36 +00:00
Luboš Luňák
efff218441 A very crude OpenGL-based compositing code.
svn path=/branches/work/kwin_composite/; revision=590265
2006-09-29 16:49:34 +00:00