glxgetconfig - Man Page






glXGetConfig(3G)	    OpenGL Reference - GLX	      glXGetConfig(3G)



NAME
     glXGetConfig - return information about GLX visuals


C SPECIFICATION
     int glXGetConfig( Display *dpy,
		       XVisualInfo *vis,
		       int attrib,
		       int *value )


PARAMETERS
     dpy     Specifies the connection to the X server.


     vis     Specifies the visual to be	queried.  It is	a pointer to an
	     XVisualInfo structure, not	a visual ID or a pointer to a Visual.


     attrib  Specifies the visual attribute to be returned.


     value   Returns the requested value.


DESCRIPTION
     glXGetConfig sets value to	the attrib value of windows or GLX pixmaps
     created with respect to vis.  glXGetConfig	returns	an error code if it
     fails for any reason.  Otherwise, zero is returned.

     attrib is one of the following:

     GLX_USE_GL		   True	if OpenGL rendering is supported by this
			   visual, False otherwise.

     GLX_BUFFER_SIZE	   Number of bits per color buffer.  For RGBA visuals,
			   GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE,
			   GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE.
			   For color index visuals, GLX_BUFFER_SIZE is the
			   size	of the color indexes.

     GLX_LEVEL		   Frame buffer	level of the visual.  Level zero is
			   the default frame buffer.  Positive levels
			   correspond to frame buffers that overlay the
			   default buffer, and negative	levels correspond to
			   frame buffers that underlay the default buffer.

     GLX_RGBA		   True	if color buffers store red, green, blue, and
			   alpha values, False if they store color indexes.






									Page 1






glXGetConfig(3G)	    OpenGL Reference - GLX	      glXGetConfig(3G)



     GLX_DOUBLEBUFFER	   True	if color buffers exist in front/back pairs
			   that	can be swapped,	False otherwise.

     GLX_STEREO		   True	if color buffers exist in left/right pairs,
			   False otherwise.

     GLX_AUX_BUFFERS	   Number of auxiliary color buffers that are
			   available.  Zero indicates that no auxiliary	color
			   buffers exist.

     GLX_RED_SIZE	   Number of bits of red stored	in each	color buffer.
			   Undefined if	GLX_RGBA is False.

     GLX_GREEN_SIZE	   Number of bits of green stored in each color
			   buffer.  Undefined if GLX_RGBA is False.

     GLX_BLUE_SIZE	   Number of bits of blue stored in each color buffer.
			   Undefined if	GLX_RGBA is False.

     GLX_ALPHA_SIZE	   Number of bits of alpha stored in each color
			   buffer.  Undefined if GLX_RGBA is False.

     GLX_DEPTH_SIZE	   Number of bits in the depth buffer.

     GLX_STENCIL_SIZE	   Number of bits in the stencil buffer.

     GLX_ACCUM_RED_SIZE	   Number of bits of red stored	in the accumulation
			   buffer.

     GLX_ACCUM_GREEN_SIZE  Number of bits of green stored in the accumulation
			   buffer.

     GLX_ACCUM_BLUE_SIZE   Number of bits of blue stored in the	accumulation
			   buffer.

     GLX_ACCUM_ALPHA_SIZE  Number of bits of alpha stored in the accumulation
			   buffer.

     GLX_SAMPLE_BUFFERS_SGIS
			   Number of multisample buffers.  (Note that
			   multisampling is supported only on RealityEngine.)

     GLX_SAMPLES_SGIS	   Number of samples per pixel in multisample buffers.

     GLX_X_VISUAL_TYPE_EXT X Visual type. One of GLX_TRUE_COLOR_EXT,
			   GLX_DIRECT_COLOR_EXT, GLX_PSEUDO_COLOR_EXT,
			   GLX_STATIC_COLOR_EXT, GLX_GRAY_SCALE_EXT,
			   GLX_STATIC_GRAY_EXT.

     GLX_TRANSPARENT_TYPE_EXT
			   One of GLX_NONE_EXT,	GLX_TRANSPARENT_RGB_EXT,
			   GLX_TRANSPARENT_INDEX_EXT, indicating that the



									Page 2






glXGetConfig(3G)	    OpenGL Reference - GLX	      glXGetConfig(3G)



			   visual is opaque, is	transparent for	particular
			   values of red, green	and blue or is transparent for
			   particular index values, respectively.

     GLX_TRANSPARENT_INDEX_VALUE_EXT
			   Integer value between 0 and the maximum frame
			   buffer value	for indices, indicating	the
			   transparent index value for the visual.  Undefined
			   if GLX_TRANSPARENT_TYPE_EXT is not
			   GLX_TRANSPARENT_INDEX_EXT.

     GLX_TRANSPARENT_RED_VALUE_EXT
			   Integer value between 0 and the maximum frame
			   buffer value	for red, indicating the	transparent
			   red value for the visual.  Undefined	if
			   GLX_TRANSPARENT_TYPE_EXT is not
			   GLX_TRANSPARENT_RGB_EXT.

     GLX_TRANSPARENT_GREEN_VALUE_EXT
			   Integer value between 0 and the maximum frame
			   buffer value	for green, indicating the transparent
			   green value for the visual.	Undefined if
			   GLX_TRANSPARENT_TYPE_EXT is not
			   GLX_TRANSPARENT_RGB_EXT.

     GLX_TRANSPARENT_BLUE_VALUE_EXT
			   Integer value between 0 and the maximum frame
			   buffer value	for blue, indicating the transparent
			   blue	value for the visual.  Undefined if
			   GLX_TRANSPARENT_TYPE_EXT is not
			   GLX_TRANSPARENT_RGB_EXT.

     GLX_TRANSPARENT_ALPHA_VALUE_EXT
			   Currently unused.

     GLX_VISUAL_CAVEAT_EXT One of GLX_NONE_EXT,	GLX_SLOW_VISUAL_EXT,
			   GLX_NON_CONFORMANT_EXT indicating that the visual
			   has no caveats, some	aspect of the visual runs
			   slower than other visuals, or some aspect of	the
			   visual is non-confomant, respectively.

     The X protocol allows a single visual ID to be instantiated with
     different numbers of bits per pixel.  Windows or GLX pixmaps that will be
     rendered with OpenGL, however, must be instantiated with a	color buffer
     depth of GLX_BUFFER_SIZE.

     Although a	GLX implementation can export many visuals that	support	OpenGL
     rendering,	it must	support	at least two.  One is an RGBA visual with at
     least one color buffer, a stencil buffer of at least 1 bit, a depth
     buffer of at least	12 bits, and an	accumulation buffer.  Alpha bitplanes
     are optional in this visual.  However, its	color buffer size must be as
     great as that of the deepest TrueColor, DirectColor,  PseudoColor,	or



									Page 3






glXGetConfig(3G)	    OpenGL Reference - GLX	      glXGetConfig(3G)



     StaticColor visual	supported on level zero, and it	must itself be made
     available on level	zero.

     The other required	visual is a color index	one with at least one color
     buffer, a stencil buffer of at least 1 bit, and a depth buffer of at
     least 12 bits.  This visual must have as many color bitplanes as the
     deepest PseudoColor or StaticColor	visual supported on level zero,	and it
     must itself be made available on level zero.

     Applications are best written to select the visual	that most closely
     meets their requirements.	Creating windows or GLX	pixmaps	with
     unnecessary buffers can result in reduced rendering performance as	well
     as	poor resource allocation.


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

     GLX_SAMPLE_BUFFERS_SGIS and GLX_SAMPLES_SGIS are not valid	attributes
     unless the	SGIS_multisample extension is supported.

     GLX_X_VISUAL_TYPE_EXT, GLX_TRANSPARENT_TYPE_EXT,
     GLX_TRANSPARENT_INDEX_VALUE_EXT, GLX_TRANSPARENT_RED_VALUE_EXT,
     GLX_TRANSPARENT_GREEN_VALUE_EXT, GLX_TRANSPARENT_BLUE_VALUE_EXT, and
     GLX_TRANSPARENT_ALPHA_VALUE_EXT are not valid attributes unless the
     EXT_visual_info extension is supported.

     GLX_VISUAL_CAVEAT_EXT is not a valid attribute unless the
     EXT_visual_rating extension is supported.


ERRORS
     GLX_NO_EXTENSION is returned if dpy does not support the GLX extension.

     GLX_BAD_SCREEN is returned	if the screen of vis does not correspond to a
     screen.

     GLX_BAD_ATTRIB is returned	if attrib is not a valid GLX attribute.

     GLX_BAD_VISUAL is returned	if vis doesn't support GLX and an attribute
     other than	GLX_USE_GL is requested.



MACHINE	DEPENDENCIES
     The SGIS_multisample extension is supported only on RealityEngine,
     RealityEngine2, and VTX systems and InfiniteReality systems.







									Page 4






glXGetConfig(3G)	    OpenGL Reference - GLX	      glXGetConfig(3G)



SEE ALSO
     glXChooseVisual, glXCreateContext





















































									Page 5