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