[Xorg] XComposite, XDamage Extension with Xvideo or GL

Michel Dänzer michel at daenzer.net
Sat Aug 7 10:05:43 PDT 2004

On Sat, 2004-08-07 at 16:32 +0100, Alan Cox wrote:
> On Gwe, 2004-08-06 at 18:45, Keith Packard wrote:
> > Around 19 o'clock on Aug 6, "Amir Bukhari" wrote:
> > 
> > > Redirect OpenGL application to backing store pixmap does not work with
> > > Composite Extension (in Manual Mode) (Xserver always draw).
> > 
> > Correct.  Fixing GLX to draw to off-screen memory will require additional 
> > work.
> Not a huge amount on the GL side. Generally the GL applications in
> direct mode are already drawing off screen anyway and then blitting to
> the front display. A redirected OpenGL window would mean allocating
> another back buffer somewhere (probably on the X side since only X can
> deal with the "out of memory" failure sequence) and changing GL_FRONT to
> use it if neccessary.
> I suspect (GL hackers correct me) that it could even be deferred to the
> point the app uses GL_FRONT.

Most DRI drivers still only support a single shared front/back/depth
buffer, which doesn't work with composite. Changing that won't be
trivial but probably not too hard either.

> Fixing X to know when and how to composite and do damage with it is the
> fun side.

The X server will have to be notified of glXSwapBuffers/glFlush/glFinish
calls and then switch between the two off-screen colour buffers for the
window and generate damage events appropriately.

Earthling Michel Dänzer      |     Debian (powerpc), X and DRI developer
Libre software enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer

More information about the xorg mailing list