Commit Graph

270 Commits (90f6cbfa5ed7eef4cb10c1cc955c17cd2dec2e2e)

Author SHA1 Message Date
Luboš Luňák 2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák cd98bc12d5 Shared implementation of rendering gl geometry.
svn path=/branches/work/kwin_composite/; revision=656516
2007-04-21 16:02:19 +00:00
Rivo Laks cc1a7a9eca Add GLRenderTarget class.
The render target is used to render the scene (or part of it) onto texture. This texture can then be used
  e.g. to do some postprocessing.
  Demo effect coming soon.

Move checkGLError() to kwineffects.*
Add GLTexture ctor which takes width and height and creates an empty texture (to be used with
  GLRenderTarget to render onto it)

svn path=/branches/work/kwin_composite/; revision=655489
2007-04-18 15:22:13 +00:00
Rivo Laks 0353f3376e Make effects actual plugins, so it's possible to load them on runtime.
There's also a kwineffects library now, containing the effects API, which makes it possible to write
  third-party effects.
API isn't complete yet and for now just two effects have been converted but I'm working on it :-)

svn path=/branches/work/kwin_composite/; revision=652226
2007-04-10 13:02:08 +00:00
Luboš Luňák e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák 8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák 81fdcfd20b Beryl has moved to git.
svn path=/branches/work/kwin_composite/; revision=645292
2007-03-22 08:38:30 +00:00
Philip Falkner aa6d8eabc5 Add GLTexture class. This is a convenient wrapper around managing an OpenGL texture, as well as loading an image into it. Includes support for loading from QImage, QPixmap, and a file. Defaults to a GL_TEXTURE_2D target, and will scale image if necessary.
Also add SceneOpenGL::Texture class, based on GLTexture.  Optimised for SceneOpenGL::Window, this adds support for loading from an X Pixmap, as well as taking advantage of texture_from_pixmap/shm when available.  Automatically detects what texture target should be used, so be sure to enableUnnormalizedTexCoords() before painting.

Make SceneOpenGL::Window, BoxSwitchEffect, and ExplosionEffect use the new classes.

svn path=/branches/work/kwin_composite/; revision=645125
2007-03-21 18:14:09 +00:00
Luboš Luňák da02ba11ca Scene*::Window classes are now too complex to be value-based,
allocate them dynamically.


svn path=/branches/work/kwin_composite/; revision=645046
2007-03-21 15:52:42 +00:00
Rivo Laks 19e7ebe1d8 Add shader support.
Effects can use setShader() method to set a custom shader for window rendering.

svn path=/branches/work/kwin_composite/; revision=643131
2007-03-16 13:00:01 +00:00
Luboš Luňák d4a58f4152 QMap -> QHash
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Luboš Luňák f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák e61ecff9b9 Check that getting compositing pixmap of a window succeeded.
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.


svn path=/branches/work/kwin_composite/; revision=637741
2007-02-27 16:13:34 +00:00
Philip Falkner 8299541652 Add build checks for XComposite, XDamage, XRender, OpenGL, and XShm.
KWin should now build and run with/without any or all of the above.

svn path=/branches/work/kwin_composite/; revision=633387
2007-02-13 23:28:36 +00:00
Rivo Laks de2c5223ee Split window rendering into multiple methods
svn path=/branches/work/kwin_composite/; revision=630472
2007-02-05 14:01:09 +00:00
Philip Falkner f060c3bfbb Improved filtering algorithm. Now fast filtering is used by default, while (depending on SmoothScale in kwinrc) bilinear filtering is used on transformed windows and screens.
Optionally, if SmoothScale is set to 2, trilinear filtering will be attempted instead of bilinear.  This requires GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object, and valid mipmaps.

svn path=/branches/work/kwin_composite/; revision=629453
2007-02-02 19:58:35 +00:00
Philip Falkner 66d796002f Add basic mipmapping support for OpenGL; by itself this doesn't do much, but allows further capabilities.
svn path=/branches/work/kwin_composite/; revision=629452
2007-02-02 19:56:18 +00:00
Philip Falkner 1e2d811cea Add support for GL_EXT_framebuffer_object, needed for mipmaps.
svn path=/branches/work/kwin_composite/; revision=629450
2007-02-02 19:55:17 +00:00
Philip Falkner 8fe5ec7709 Use glXGetFBConfigs instead of glXChooseFBConfig.
This makes texture_from_pixmap mode work in more places.

svn path=/branches/work/kwin_composite/; revision=628804
2007-01-31 14:32:52 +00:00
Luboš Luňák 908ec070a9 Discard vertices on size change.
svn path=/branches/work/kwin_composite/; revision=628605
2007-01-30 16:42:03 +00:00
Luboš Luňák 43d393429d A window can be trasformed also by transforming the whole screen.
svn path=/branches/work/kwin_composite/; revision=628601
2007-01-30 16:36:53 +00:00
Luboš Luňák 409ceae7ff SHM does not support all color depths.
svn path=/branches/work/kwin_composite/; revision=628226
2007-01-29 15:22:29 +00:00
Luboš Luňák 2324e92b4e The workaround with explicitly asking for texture target with tfp
doesn't seem to be necessary.


svn path=/branches/work/kwin_composite/; revision=628209
2007-01-29 14:32:20 +00:00
Luboš Luňák e0ed5d5f3f Move raster position relatively using glBitmap() rather
than using glRasterPos2f() - the latter causes drawing
artefacts at the bottom screen edge with some gfx cards


svn path=/branches/work/kwin_composite/; revision=627525
2007-01-26 22:50:31 +00:00
Philip Falkner 0341a3e8b5 Add support for GL_ARB_texture_non_power_of_two. Use GL_TEXTURE_2D wherever possible, even when that extension isn't available.
svn path=/branches/work/kwin_composite/; revision=626897
2007-01-24 21:35:58 +00:00
Luboš Luňák e5f5ecf22e Handle a fixme.
KWin's debug area is 1212.
CCMAIL: Rivo Laks <rivolaks@hot.ee>


svn path=/branches/work/kwin_composite/; revision=626743
2007-01-24 14:26:04 +00:00
Rivo Laks c2830a6360 Effects can now request windows to be subdivided into multiple quads.
Effects also get access to window's vertices. This can be used to change shape of
  the window, e.g. for wobble effect

svn path=/branches/work/kwin_composite/; revision=626706
2007-01-24 11:51:38 +00:00
Luboš Luňák 77f803a563 Instead of the somewhat fragile way of trying to clean up Client/Unmanaged
instances and keeping them around after the window is closed, create
class Deleted as a representation of a closed window.


svn path=/branches/work/kwin_composite/; revision=626356
2007-01-22 22:51:30 +00:00
Luboš Luňák a4bf620619 X pixmap is referenced by GLXPixmap, so there's no need
to worry about its lifetime, just taking care of GLXPixmap
is enough.


svn path=/branches/work/kwin_composite/; revision=623812
2007-01-15 15:15:04 +00:00
Philip Falkner e3cf0dd455 Move window_pix into Toplevel, allowing the backing pixmap to be kept even after a window is unmapped.
This is needed for effects to make use of unavailable windows, such as when closing a window.

svn path=/branches/work/kwin_composite/; revision=622777
2007-01-12 23:21:36 +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 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 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 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 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 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 3e534d7d75 Convert to OpenGL coordinates.
svn path=/branches/work/kwin_composite/; revision=606378
2006-11-20 08:39:48 +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 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 8100c40188 Remove unused code.
svn path=/branches/work/kwin_composite/; revision=606261
2006-11-19 20:02:25 +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 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 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 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 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 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 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
Luboš Luňák 5b7ef47746 Check root visual also when trying to find non-db config.
svn path=/branches/work/kwin_composite/; revision=603055
2006-11-07 17:27:58 +00:00
Luboš Luňák 2cd4ab9034 Fix Beryl SVN URL.
svn path=/branches/work/kwin_composite/; revision=601726
2006-11-04 08:11:01 +00:00
Luboš Luňák 8188d48bea Include urls for the opengl docs.
svn path=/branches/work/kwin_composite/; revision=601302
2006-11-02 20:21:34 +00:00
Luboš Luňák 245df12129 But that doesn't compile here. According to http://www.opengl.org/registry/ABI/
the right header for GLX extensions is GL/glxext.h . If it still doesn't
compile somewhere, it probably needs conditional compilation.


svn path=/branches/work/kwin_composite/; revision=601182
2006-11-02 12:57:10 +00:00
Tim Beaulen 4e34c8f0b3 Build
The errors I got:

[ 28%] Building CXX object workspace/kwin/CMakeFiles/kdeinit_kwin.dir/scene_opengl.o
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:162: error: 'GLX_BIND_TO_TEXTURE_RGBA_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp: In member function 'void KWinInternal::SceneOpenGL::Window::bindTexture()':
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:500: error: 'GLX_FRONT_LEFT_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:506: error: 'GLX_TEXTURE_FORMAT_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:506: error: 'GLX_TEXTURE_FORMAT_RGBA_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:512: error: 'GLX_Y_INVERTED_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:515: error: 'GLX_FRONT_LEFT_EXT' was not declared in this scope
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp: In member function 'void KWinInternal::SceneOpenGL::Window::discardTexture()':
/home/kde4dev/kde/src/kdebase/workspace/kwin/scene_opengl.cpp:568: error: 'GLX_FRONT_LEFT_EXT' was not declared in this scope
make[2]: *** [workspace/kwin/CMakeFiles/kdeinit_kwin.dir/scene_opengl.o] Error 1
make[1]: *** [workspace/kwin/CMakeFiles/kdeinit_kwin.dir/all] Error 2
make: *** [all] Error 2
kde4dev@localhost ~/kde/src/k


svn path=/branches/work/kwin_composite/; revision=601177
2006-11-02 12:06:47 +00:00
Luboš Luňák 12731982bb Does compositing/opengl work with gfx cards other than nvidia?
svn path=/branches/work/kwin_composite/; revision=600732
2006-10-31 15:28:38 +00:00
Luboš Luňák bf0256bf1b Fix compile.
svn path=/branches/work/kwin_composite/; revision=600688
2006-10-31 13:20:51 +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 05021ecedb Fix crash with unmanaged windows.
svn path=/branches/work/kwin_composite/; revision=598783
2006-10-24 15:54:52 +00:00
Luboš Luňák 548eb09a74 Move shared code to base class.
svn path=/branches/work/kwin_composite/; revision=598752
2006-10-24 13:38:31 +00:00
Luboš Luňák 189ca6c3a2 Fix window scaling (apply scale before translating).
svn path=/branches/work/kwin_composite/; revision=598743
2006-10-24 12:50:22 +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 daa8f7eccc Fix texture mapping.
svn path=/branches/work/kwin_composite/; revision=597757
2006-10-21 15:06:09 +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 066a4583d7 Switch back to modelview matrix mode.
svn path=/branches/work/kwin_composite/; revision=595801
2006-10-15 18:00:52 +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 fef8c89b93 Don't bind the texture if not necessary.
svn path=/branches/work/kwin_composite/; revision=595561
2006-10-14 20:50:24 +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 5de53a53e6 A new way of adjusting opacity of non-alpha windows from glcompmgr,
the alpha way doesn't work with TFP for some reason.


svn path=/branches/work/kwin_composite/; revision=594941
2006-10-12 21:12:13 +00:00
Luboš Luňák 259cf5e401 Use glXGetProcAddress().
svn path=/branches/work/kwin_composite/; revision=594141
2006-10-10 09:16:57 +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 4cbf58f8ea Small fixes.
svn path=/branches/work/kwin_composite/; revision=593721
2006-10-08 20:30:02 +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 4a18e30518 Use the X way of handling ARGB windows with decorations
here as well.


svn path=/branches/work/kwin_composite/; revision=593457
2006-10-07 21:22:24 +00:00
Luboš Luňák 9941ae2cea Windows with only shaped decorations are also shaped
from the compositing point of view.


svn path=/branches/work/kwin_composite/; revision=593455
2006-10-07 21:21:45 +00:00
Luboš Luňák b168c35384 Don't cache window pixmap, it's used only after it
changes.


svn path=/branches/work/kwin_composite/; revision=593453
2006-10-07 21:20:23 +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 db41dd99cd Finally found some way how to handle together ARGB windows
and RGB decorations, although there's probably a better
way than this.


svn path=/branches/work/kwin_composite/; revision=593446
2006-10-07 21:16:38 +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 fb73a2070a Fix compile.
svn path=/branches/work/kwin_composite/; revision=591156
2006-10-01 21:45:46 +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 b59701f608 Nicer handling of second phase painting.
svn path=/branches/work/kwin_composite/; revision=591144
2006-10-01 21:12:58 +00:00
Luboš Luňák a283f9f9c0 Replace the opacity hack from glcompmgr with code from compiz.
svn path=/branches/work/kwin_composite/; revision=591143
2006-10-01 21:11:45 +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 f3119d2550 Some opengl error checking.
svn path=/branches/work/kwin_composite/; revision=590566
2006-09-30 13:37:28 +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