glXGetConfig.3gl




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.

  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.

  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 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.


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.


See Also

  glXChooseVisual, glXCreateContext




Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV