[PATCH] glx: Replace broken GLX visual setup with a fixed "all" mode.

Peter Åstrand astrand at cendio.se
Tue Feb 17 12:57:00 PST 2009


On Tue, 17 Feb 2009, Peter Åstrand wrote:

> The answer to this question seems to be: Because this patch (Replace broken 
> GLX visual setup with a fixed "all" mode) adds the "best_score" varible, but 
> does not initialize it to zero. Having fixed this, I'm down to 33 X-visuals, 
> and 33 GLX visuals. "glxinfo" on my FC6 machine still complains about "Error: 
> couldn't find RGB GLX visual", but this might of course be a problem with 
> glxinfo rather than the X server.

This problem turned out to be limited to depth=16. It goes away with this 
patch:

--- Mesa-7.2.org/src/mesa/drivers/dri/swrast/swrast.c   Mon Aug 25 16:46:43 2008
+++ Mesa-7.2/src/mesa/drivers/dri/swrast/swrast.c       Tue Feb 17 21:01:28 2009
@@ -215,7 +215,7 @@

      configs16 = (__DRIconfig **)driConcatConfigs(configs8, configs16);

-    *driver_configs = driConcatConfigs(configs16, configs32);
+    *driver_configs = configs16;

      driInitExtensions( NULL, card_extensions, GL_FALSE );

I have no idea why. The output from xdpyinfo doesn't change. Output from 
glxinfo changes only with (this is the visual created by the Composite 
extension):

  Visual ID: 37  depth=32  class=TrueColor
-    bufferSize=0 level=0 renderType=ci doubleBuffer=0 stereo=0
-    rgba: redSize=0 greenSize=0 blueSize=0 alphaSize=0
-    auxBuffers=0 depthSize=0 stencilSize=0
+    bufferSize=32 level=0 renderType=rgba doubleBuffer=1 stereo=0
+    rgba: redSize=8 greenSize=8 blueSize=8 alphaSize=8
+    auxBuffers=0 depthSize=24 stencilSize=8
      accum: redSize=0 greenSize=0 blueSize=0 alphaSize=0
      multiSample=0  multiSampleBuffers=0
      visualCaveat=None
+    Opaque.

plus that I get a bunch of information instead of the error message.


Rgds, 
---
Peter Åstrand		ThinLinc Chief Developer
Cendio AB		http://www.cendio.com
Wallenbergs gata 4
583 30 Linköping	Phone: +46-13-21 46 00


More information about the xorg-devel mailing list