Hey all,

I had a problem with the OpenGL (GLX) driver in 1.4.3. And I am not sure if the source code does what the author intended that it should do.

It seems he wants a 24bit and a 32bit BPP visual but he checks the depth, which is the depth buffer. I made a small patch that makes things work better for me, but maybe someone else could try it too.


- Erwin

--- DirectFB-1.4.3/systems/x11/glx_surface_pool.c.orig	2010-01-21 01:33:31.000000000 +0100
+++ DirectFB-1.4.3/systems/x11/glx_surface_pool.c	2010-01-21 01:36:57.000000000 +0100
@@ -127,12 +127,6 @@
           GLX_BLUE_SIZE,
           8,
 
-          GLX_ALPHA_SIZE,
-          8,
-
-          GLX_DEPTH_SIZE,
-          8,
-
           GLX_X_VISUAL_TYPE,
           GLX_TRUE_COLOR,
 
@@ -168,18 +162,18 @@
      D_DEBUG_AT( GLX_Surfaces, "  -> found %d configs\n", local->num_configs );
 
      for (i=0; i<local->num_configs; i++) {
-          int          depth;
+          int          buffer_size;
           XVisualInfo *info = glXGetVisualFromFBConfig( local->display, local->configs[i] );
 
-          glXGetFBConfigAttrib( local->display, local->configs[i], GLX_DEPTH_SIZE, &depth );
+          glXGetFBConfigAttrib( local->display, local->configs[i], GLX_BUFFER_SIZE, &buffer_size );
 
-          D_DEBUG_AT( GLX_Surfaces, "     [%2d] ID 0x%02lx, depth %d, RGB 0x%06lx/0x%06lx/0x%06lx {%d}, class %d, z %d\n",
-                      i, info->visualid, info->depth,
+          D_DEBUG_AT( GLX_Surfaces, "     [%2d] ID 0x%02lx, buffer_size %d, RGB 0x%06lx/0x%06lx/0x%06lx {%d}, class %d, z %d\n",
+                      i, info->visualid, buffer_size,
                       info->red_mask, info->green_mask, info->blue_mask,
-                      info->bits_per_rgb, info->class, depth );
+                      info->bits_per_rgb, info->class, info->depth );
 
-          if (depth >= 8 && info->class == TrueColor) {
-               switch (info->depth) {
+          if (info->class == TrueColor) {
+               switch (buffer_size) {
                     case 32:
                          local->config32 = local->configs[i];
                          local->visual32 = info->visual;
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to