X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fvisual-gl.c;h=09aee67a868844feba6ee3b8ca9508ea14b602a9;hb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;hp=92fbc1a25a5dd3a2c9fc7a51207dfbd9d6b26554;hpb=ebc241816cc8e3eec7270a594bb1a607df32bcd6;p=xscreensaver diff --git a/utils/visual-gl.c b/utils/visual-gl.c index 92fbc1a2..09aee67a 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, 2000, 2003 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 @@ -43,19 +43,23 @@ get_gl_visual (Screen *screen) # 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, 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 +143,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))