A simple accelerated GL compositor

Felix Bellaby felix at bellaby.plus.com
Fri Jul 7 11:20:03 PDT 2006


Tomasz Torcz wrote:
> > I do not need -lXfixes on my platform. The dependency on libXfixes must
> > be coming from one of the other linked libs (probably Xdamage). 
> 
>   I tried on Slackware -current (Xorg 6.9.0)

You are using the non modular Xorg 6.x series. I am building on the
modular 7.x series. That probably explains the difference. 

>   I have:
> glu extensions:
>     GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
> 
>    visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
>  id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
> ----------------------------------------------------------------------
> 0x23 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
> 0x24 24 tc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
> 0x25 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
> 0x26 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
> 0x27 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
> 0x28 24 tc  0 24  0 r  .  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
> 0x29 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
> 0x2a 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
> 0x2b 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
> 0x2c 24 dc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
> 0x2d 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
> 0x2e 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
> 0x2f 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
> 0x30 24 dc  0 24  0 r  .  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
> 0x31 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
> 0x32 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
> 0x4c 32 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None

The problem is probably in the colorbuffer/a column, which gives the
alpha depth of your visuals. GL uses the alpha channel to provide
support for blending and transparency. It would appear that the mga
driver does not provide access to the Matrox G550 alpha buffers.  Can
anyone confirm that this in fact the case ?

You might still find that my code will work without transparency on your
platform. Try setting GLX_ALPHA_SIZE to 0 where it appears.

A quick web search suggests that there are OpenGL drivers for your card
that do provide alpha blending. You might need to use them to get
meaningful accelerated GL compositing. Unfortunately, my non-existant
knowledge of your hardware makes me a poor person to ask. 

Felix

 





More information about the xorg mailing list