glXChooseVisual

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
GLXCHOOSEVISUAL()					    GLXCHOOSEVISUAL()



NAME
       glXChooseVisual - return a visual that matches specified attributes


C SPECIFICATION
       XVisualInfo* glXChooseVisual( Display *dpy,
				     int screen,
				     int *attribList )

       delim $$

PARAMETERS
       dpy	   Specifies the connection to the X server.

       screen	   Specifies the screen number.

       attribList  Specifies   a  list	of  boolean  attributes	 and  integer
		   attribute/value pairs.  The last attribute must be None.

DESCRIPTION
       glXChooseVisual returns a pointer to an XVisualInfo structure describ-
       ing  the	 visual that best meets a minimum specification.  The boolean
       GLX attributes of the visual that is returned will match the specified
       values,	and the integer GLX attributes will meet or exceed the speci-
       fied minimum values.  If all other  attributes  are  equivalent,	 then
       TrueColor  and  PseudoColor visuals have priority over DirectColor and
       StaticColor visuals, respectively.  If no  conforming  visual  exists,
       NULL  is	 returned.   To	 free the data returned by this function, use
       XFree.

       All boolean GLX attributes default to False except  GLX_USE_GL,	which
       defaults	 to  True.   All  integer  GLX	attributes  default  to zero.
       Default specifications are superseded by attributes included in attri-
       bList.  Boolean attributes included in attribList are understood to be
       True.  Integer attributes and enumerated type attributes are  followed
       immediately  by	the corresponding desired or minimum value.  The list
       must be terminated with None.

       The interpretations of the various GLX visual attributes are  as	 fol-
       lows:

       GLX_USE_GL	     Ignored.  Only visuals that can be rendered with
			     GLX are considered.

       GLX_BUFFER_SIZE	     Must be followed by a nonnegative	integer	 that
			     indicates	the  desired color index buffer size.
			     The smallest index buffer of at least the speci-
			     fied  size is preferred.  Ignored if GLX_RGBA is
			     asserted.

       GLX_LEVEL	     Must be  followed	by  an	integer	 buffer-level
			     specification.   This  specification  is honored
			     exactly.  Buffer level zero corresponds  to  the
			     main  frame buffer of the display.	 Buffer level
			     one is the first overlay frame buffer, level two
			     the  second  overlay  frame  buffer,  and so on.
			     Negative buffer levels  correspond	 to  underlay
			     frame buffers.

       GLX_RGBA		     If present, only TrueColor and DirectColor visu-
			     als are considered.  Otherwise, only PseudoColor
			     and StaticColor visuals are considered.

       GLX_DOUBLEBUFFER	     If	 present,  only	 double-buffered  visuals are
			     considered.    Otherwise,	only  single-buffered
			     visuals are considered.

       GLX_STEREO	     If	 present, only stereo visuals are considered.
			     Otherwise, only monoscopic visuals	 are  consid-
			     ered.

       GLX_AUX_BUFFERS	     Must  be  followed by a nonnegative integer that
			     indicates	the  desired  number   of   auxiliary
			     buffers.	Visuals	 with the  smallest number of
			     auxiliary buffers	that  meets  or	 exceeds  the
			     specified number are preferred.

       GLX_RED_SIZE	     Must  be  followed by a nonnegative minimum size
			     specification.   If  this	value  is  zero,  the
			     smallest  available  red  buffer  is  preferred.
			     Otherwise, the largest available red  buffer  of
			     at least the minimum size is preferred.

       GLX_GREEN_SIZE	     Must  be  followed by a nonnegative minimum size
			     specification.   If  this	value  is  zero,  the
			     smallest  available  green	 buffer is preferred.
			     Otherwise, the largest available green buffer of
			     at least the minimum size is preferred.

       GLX_BLUE_SIZE	     Must  be  followed by a nonnegative minimum size
			     specification.   If  this	value  is  zero,  the
			     smallest  available  blue	buffer	is preferred.
			     Otherwise, the largest available blue buffer  of
			     at least the minimum size is preferred.

       GLX_ALPHA_SIZE	     Must  be  followed by a nonnegative minimum size
			     specification.   If  this	value  is  zero,  the
			     smallest  available  alpha	 buffer is preferred.
			     Otherwise, the largest available alpha buffer of
			     at least the minimum size is preferred.

       GLX_DEPTH_SIZE	     Must  be  followed by a nonnegative minimum size
			     specification.  If this value is  zero,  visuals
			     with  no depth buffer are preferred.  Otherwise,
			     the largest available depth buffer of  at	least
			     the minimum size is preferred.

       GLX_STENCIL_SIZE	     Must  be  followed by a nonnegative integer that
			     indicates the desired  number  of	stencil	 bit-
			     planes.  The smallest stencil buffer of at least
			     the specified size is preferred.  If the desired
			     value  is	zero,  visuals with no stencil buffer
			     are preferred.

       GLX_ACCUM_RED_SIZE    Must be followed by a nonnegative	minimum	 size
			     specification.   If  this value is zero, visuals
			     with no red accumulation buffer  are  preferred.
			     Otherwise, the largest possible red accumulation
			     buffer of at least	 the  minimum  size  is	 pre-
			     ferred.

       GLX_ACCUM_GREEN_SIZE  Must  be  followed by a nonnegative minimum size
			     specification.  If this value is  zero,  visuals
			     with no green accumulation buffer are preferred.
			     Otherwise, the largest possible green  accumula-
			     tion buffer of at least the minimum size is pre-
			     ferred.

       GLX_ACCUM_BLUE_SIZE   Must be followed by a nonnegative	minimum	 size
			     specification.   If  this value is zero, visuals
			     with no blue accumulation buffer are  preferred.
			     Otherwise,	 the  largest possible blue accumula-
			     tion buffer of at least the minimum size is pre-
			     ferred.

       GLX_ACCUM_ALPHA_SIZE  Must  be  followed by a nonnegative minimum size
			     specification.  If this value is  zero,  visuals
			     with no alpha accumulation buffer are preferred.
			     Otherwise, the largest possible alpha  accumula-
			     tion buffer of at least the minimum size is pre-
			     ferred.

EXAMPLES
       attribList =
		   {GLX_RGBA,	 GLX_RED_SIZE,	  4,	GLX_GREEN_SIZE,	   4,
		   GLX_BLUE_SIZE, 4, None};

       Specifies a single-buffered RGB visual in the normal frame buffer, not
       an overlay or underlay buffer.  The returned visual supports at	least
       four bits each of red, green, and blue, and possibly no bits of alpha.
       It does not support color index mode, double-buffering, or stereo dis-
       play.   It  may or may not have one or more auxiliary color buffers, a
       depth buffer, a stencil buffer, or an accumulation buffer.

NOTES
       XVisualInfo is defined in Xutil.h.  It is a  structure  that  includes
       visual, visualID, screen, and depth elements.

       glXChooseVisual	is  implemented	 as  a client-side utility using only
       XGetVisualInfo and glXGetConfig.	 Calls to these two routines  can  be
       used  to	 implement  selection  algorithms  other than the generic one
       implemented by glXChooseVisual.

       GLX implementers are strongly discouraged, but  not  proscribed,	 from
       changing	 the selection algorithm used by glXChooseVisual.  Therefore,
       selections may change from  release  to	release	 of  the  client-side
       library.

       There  is  no direct filter for picking only visuals that support GLX-
       Pixmaps.	 GLXPixmaps are supported for visuals  whose  GLX_BUFFER_SIZE
       is one of the pixmap depths supported by the X server.

ERRORS
       NULL  is	 returned  if  an  undefined  GLX attribute is encountered in
       attribList.

SEE ALSO
       glXCreateContext, glXGetConfig



							    GLXCHOOSEVISUAL()