glXGetConfig
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
back to the OpenGL index page
© 1995 Uwe Behrens All rights reserved