X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fvisual-gl.c;h=3c8a7a8bd9357baeb437dee07e3500136ab406ef;hb=c494fd2e6b3b25582375d62e40f4f5cc984ca424;hp=92fbc1a25a5dd3a2c9fc7a51207dfbd9d6b26554;hpb=ebc241816cc8e3eec7270a594bb1a607df32bcd6;p=xscreensaver diff --git a/utils/visual-gl.c b/utils/visual-gl.c index 92fbc1a2..3c8a7a8b 100644 --- a/utils/visual-gl.c +++ b/utils/visual-gl.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1999, 2000 by Jamie Zawinski +/* xscreensaver, Copyright (c) 1999-2007 by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -40,22 +40,28 @@ get_gl_visual (Screen *screen) # define R GLX_RED_SIZE # define G GLX_GREEN_SIZE # define B GLX_BLUE_SIZE +# define A GLX_ALPHA_SIZE # define D GLX_DEPTH_SIZE # define I GLX_BUFFER_SIZE # define DB GLX_DOUBLEBUFFER +# define ST GLX_STENCIL_SIZE int attrs[][20] = { - { GLX_RGBA, R, 8, G, 8, B, 8, D, 8, DB, 0 }, /* rgb double */ - { GLX_RGBA, R, 4, G, 4, B, 4, D, 4, DB, 0 }, - { GLX_RGBA, R, 2, G, 2, B, 2, D, 2, DB, 0 }, - { GLX_RGBA, R, 8, G, 8, B, 8, D, 8, 0 }, /* rgb single */ - { GLX_RGBA, R, 4, G, 4, B, 4, D, 4, 0 }, - { GLX_RGBA, R, 2, G, 2, B, 2, D, 2, 0 }, - { I, 8, D, 8, DB, 0 }, /* cmap double */ - { I, 4, D, 4, DB, 0 }, - { I, 8, D, 8, 0 }, /* cmap single */ - { I, 4, D, 4, 0 }, - { GLX_RGBA, R, 1, G, 1, B, 1, D, 1, 0 } /* monochrome */ + { GLX_RGBA, R,8, G,8, B,8, A,8, D,8, DB, ST,1, 0 }, /* rgb double, stencil */ + { GLX_RGBA, R,8, G,8, B,8, D,8, DB, ST,1, 0 }, /* rgb double, stencil */ + { GLX_RGBA, R,4, G,4, B,4, D,4, DB, ST,1, 0 }, + { GLX_RGBA, R,2, G,2, B,2, D,2, DB, ST,1, 0 }, + { GLX_RGBA, R,8, G,8, B,8, D,8, DB, 0 }, /* rgb double */ + { GLX_RGBA, R,4, G,4, B,4, D,4, DB, 0 }, + { GLX_RGBA, R,2, G,2, B,2, D,2, DB, 0 }, + { GLX_RGBA, R,8, G,8, B,8, D,8, 0 }, /* rgb single */ + { GLX_RGBA, R,4, G,4, B,4, D,4, 0 }, + { GLX_RGBA, R,2, G,2, B,2, D,2, 0 }, + { I, 8, D,8, DB, 0 }, /* cmap double */ + { I, 4, D,4, DB, 0 }, + { I, 8, D,8, 0 }, /* cmap single */ + { I, 4, D,4, 0 }, + { GLX_RGBA, R,1, G,1, B,1, D,1, 0 } /* monochrome */ }; int i; @@ -139,13 +145,18 @@ describe_gl_visual (FILE *f, Screen *screen, Visual *visual, # ifdef GLX_VISUAL_CAVEAT_EXT if (!glXGetConfig (dpy, vi_out, GLX_VISUAL_CAVEAT_EXT, &value) && value != GLX_NONE_EXT) +# ifdef GLX_NON_CONFORMANT_EXT printf (" GLX rating: %s\n", (value == GLX_NONE_EXT ? "none" : value == GLX_SLOW_VISUAL_EXT ? "slow" : -# ifdef GLX_NON_CONFORMANT_EXT value == GLX_NON_CONFORMANT_EXT ? "non-conformant" : -# endif /* GLX_NON_CONFORMANT_EXT */ "???")); +# else + printf (" GLX rating: %s\n", + (value == GLX_NONE_EXT ? "none" : + value == GLX_SLOW_VISUAL_EXT ? "slow" : + "???")); +# endif /* GLX_NON_CONFORMANT_EXT */ # endif /* GLX_VISUAL_CAVEAT_EXT */ if (!glXGetConfig (dpy, vi_out, GLX_DOUBLEBUFFER, &value))