/* * Print list of fbconfigs and test each to see if a pbuffer can be created * for that config. * * Brian Paul * April 1997 * Updated on 5 October 2002. */ #include #include #include #include "pbutil.h" static void PrintConfigs(Display *dpy, int screen, Bool horizFormat) { GLXFBConfigSGIX *fbConfigs; int nConfigs; int i; /* Note: you may want to tweek the attribute list to select a different * set of fbconfigs. */ int fbAttribs[] = { GLX_RENDER_TYPE_SGIX, 0, GLX_DRAWABLE_TYPE_SGIX, 0, #if 0 GLX_RENDER_TYPE_SGIX, GLX_RGBA_BIT_SGIX, GLX_DRAWABLE_TYPE_SGIX, GLX_PIXMAP_BIT_SGIX, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DEPTH_SIZE, 1, GLX_DOUBLEBUFFER, 0, GLX_STENCIL_SIZE, 0, #endif None}; /* Get list of possible frame buffer configurations */ #if 0 /* SGIX method */ fbConfigs = glXChooseFBConfigSGIX(dpy, screen, fbAttribs, &nConfigs); #else /* GLX 1.3 method */ (void) fbAttribs; fbConfigs = glXGetFBConfigs(dpy, screen, &nConfigs); #endif if (nConfigs==0 || !fbConfigs) { printf("Error: glxChooseFBConfigSGIX failed\n"); return; } printf("Number of fbconfigs: %d\n", nConfigs); if (horizFormat) { printf(" ID VisualType Depth Lvl RGB CI DB Stereo R G B A"); printf(" Z S AR AG AB AA MSbufs MSnum Pbuffer\n"); } /* Print config info */ for (i=0;i specify X display name\n"); printf(" -t print in tabular format\n"); printf(" -v print in verbose format\n"); printf(" -help print this information\n"); } int main(int argc, char *argv[]) { Display *dpy; int scrn; char *dpyName = NULL; Bool horizFormat = True; int i; for (i=1; i