static void print_visual_info(Display *dpy, int scrnum, InfoMode mode) { XVisualInfo theTemplate; XVisualInfo *visuals; int numVisuals, numGlxVisuals; long mask; int i; struct visual_attribs attribs; /* get list of all visuals on this screen */ theTemplate.screen = scrnum; mask = VisualScreenMask; visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals); numGlxVisuals = 0; for (i = 0; i < numVisuals; i++) { if (get_visual_attribs(dpy, &visuals[i], &attribs)) numGlxVisuals++; } if (numGlxVisuals == 0) return; printf("%d GLX Visuals\n", numGlxVisuals); if (mode == Normal) print_visual_attribs_short_header(); else if (mode == Wide) print_visual_attribs_long_header(); for (i = 0; i < numVisuals; i++) { if (!get_visual_attribs(dpy, &visuals[i], &attribs)) continue; if (mode == Verbose) print_visual_attribs_verbose(&attribs); else if (mode == Normal) print_visual_attribs_short(&attribs); else if (mode == Wide) print_visual_attribs_long(&attribs); } printf("\n"); XFree(visuals); }
static void print_visual_info(HDC hdc, InfoMode mode) { PIXELFORMATDESCRIPTOR pfd; int numVisuals, numWglVisuals; int i; numVisuals = DescribePixelFormat(hdc, 1, sizeof(PIXELFORMATDESCRIPTOR), NULL); if (numVisuals == 0) return; numWglVisuals = 0; for (i = 0; i < numVisuals; i++) { if(!DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd)) continue; //if(!(pfd.dwFlags & PFD_SUPPORT_OPENGL)) // continue; ++numWglVisuals; } printf("%d WGL Visuals\n", numWglVisuals); if (mode == Normal) print_visual_attribs_short_header(); else if (mode == Wide) print_visual_attribs_long_header(); for (i = 0; i < numVisuals; i++) { if(!DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd)) continue; //if(!(pfd.dwFlags & PFD_SUPPORT_OPENGL)) // continue; if (mode == Verbose) print_visual_attribs_verbose(i, &pfd); else if (mode == Normal) print_visual_attribs_short(i, &pfd); else if (mode == Wide) print_visual_attribs_long(i, &pfd); } printf("\n"); }
static void print_visual_info(Display *dpy, int scrnum, InfoMode mode) { XVisualInfo theTemplate; XVisualInfo *visuals; int numVisuals; long mask; int i; /* get list of all visuals on this screen */ theTemplate.screen = scrnum; mask = VisualScreenMask; visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals); if (mode == Verbose) { for (i = 0; i < numVisuals; i++) { struct visual_attribs attribs; get_visual_attribs(dpy, &visuals[i], &attribs); print_visual_attribs_verbose(&attribs); } } else if (mode == Normal) { print_visual_attribs_short_header(); for (i = 0; i < numVisuals; i++) { struct visual_attribs attribs; get_visual_attribs(dpy, &visuals[i], &attribs); print_visual_attribs_short(&attribs); } } else if (mode == Wide) { print_visual_attribs_long_header(); for (i = 0; i < numVisuals; i++) { struct visual_attribs attribs; get_visual_attribs(dpy, &visuals[i], &attribs); print_visual_attribs_long(&attribs); } } XFree(visuals); }
static void print_fbconfig_info(Display *dpy, int scrnum, InfoMode mode) { int numFBConfigs = 0; struct visual_attribs attribs; GLXFBConfig *fbconfigs; int i; /* get list of all fbconfigs on this screen */ fbconfigs = glXGetFBConfigs(dpy, scrnum, &numFBConfigs); if (numFBConfigs == 0) { XFree(fbconfigs); return; } printf("%d GLXFBConfigs:\n", numFBConfigs); if (mode == Normal) print_visual_attribs_short_header(); else if (mode == Wide) print_visual_attribs_long_header(); for (i = 0; i < numFBConfigs; i++) { get_fbconfig_attribs(dpy, fbconfigs[i], &attribs); if (mode == Verbose) print_visual_attribs_verbose(&attribs); else if (mode == Normal) print_visual_attribs_short(&attribs); else if (mode == Wide) print_visual_attribs_long(&attribs); } printf("\n"); XFree(fbconfigs); }