Demos (master): glxinfo: Print correct visual vs. fbconfig ID with -v

Ian Romanick idr at kemper.freedesktop.org
Mon Feb 14 18:07:56 UTC 2011


Module: Demos
Branch: master
Commit: 1759a084b35100e18461131b5dd370afa1f0af61
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=1759a084b35100e18461131b5dd370afa1f0af61

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Feb 14 09:41:54 2011 -0800

glxinfo: Print correct visual vs. fbconfig ID with -v

---

 src/xdemos/glxinfo.c |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/xdemos/glxinfo.c b/src/xdemos/glxinfo.c
index c4e9861..6a9a92c 100644
--- a/src/xdemos/glxinfo.c
+++ b/src/xdemos/glxinfo.c
@@ -73,7 +73,8 @@ typedef enum
 struct visual_attribs
 {
    /* X visual attribs */
-   int id;
+   int id;		/* May be visual ID or FBConfig ID */
+   int vis_id;		/* Visual ID.  Only set for FBConfigs */
    int klass;
    int depth;
    int redMask, greenMask, blueMask;
@@ -826,6 +827,7 @@ get_fbconfig_attribs(Display *dpy, GLXFBConfig fbconfig,
    vInfo = glXGetVisualFromFBConfig(dpy, fbconfig);
 
    if (vInfo != NULL) {
+      attribs->vis_id = vInfo->visualid;
       attribs->depth = vInfo->depth;
       attribs->redMask = vInfo->red_mask;
       attribs->greenMask = vInfo->green_mask;
@@ -899,11 +901,19 @@ get_fbconfig_attribs(Display *dpy, GLXFBConfig fbconfig,
 
 
 static void
-print_visual_attribs_verbose(const struct visual_attribs *attribs)
+print_visual_attribs_verbose(const struct visual_attribs *attribs,
+			     int fbconfigs)
 {
-   printf("Visual ID: %x  depth=%d  class=%s, type=%s\n",
-          attribs->id, attribs->depth, visual_class_name(attribs->klass),
+   if (fbconfigs) {
+   printf("FBConfig ID: %x  Visual ID=%x  depth=%d  class=%s, type=%s\n",
+          attribs->id, attribs->vis_id, attribs->depth,
+	  visual_class_name(attribs->klass),
 	  visual_drawable_type(attribs->drawableType));
+   } else {
+      printf("Visual ID: %x  depth=%d  class=%s, type=%s\n",
+	     attribs->id, attribs->depth, visual_class_name(attribs->klass),
+	     visual_drawable_type(attribs->drawableType));
+   }
    printf("    bufferSize=%d level=%d renderType=%s doubleBuffer=%d stereo=%d\n",
           attribs->bufferSize, attribs->level,
 	  visual_render_type_name(attribs->render_type),
@@ -1061,7 +1071,7 @@ print_visual_info(Display *dpy, int scrnum, InfoMode mode)
 	 continue;
 
       if (mode == Verbose)
-	 print_visual_attribs_verbose(&attribs);
+	 print_visual_attribs_verbose(&attribs, False);
       else if (mode == Normal)
          print_visual_attribs_short(&attribs);
       else if (mode == Wide) 
@@ -1100,7 +1110,7 @@ print_fbconfig_info(Display *dpy, int scrnum, InfoMode mode)
       get_fbconfig_attribs(dpy, fbconfigs[i], &attribs);
 
       if (mode == Verbose) 
-         print_visual_attribs_verbose(&attribs);
+         print_visual_attribs_verbose(&attribs, True);
       else if (mode == Normal)
 	 print_visual_attribs_short(&attribs);
       else if (mode == Wide)




More information about the mesa-commit mailing list