Table of Contents
glXGetConfig - return information about GLX visuals
int
glXGetConfig( Display *dpy,
XVisualInfo *vis,
int attrib,
int *value )
eqn not supported
- 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.
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 GL rendering, it must support at least one RGBA visual.
This visual must have 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.
In addition, if the X server exports a PseudoColor
or StaticColor visual on framebuffer level 0, a color index visual is
also required on that level. It must have 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 0.
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.
XVisualInfo is defined
in Xutil.h. It is a structure that includes visual, visualID, screen, and
depth elements.
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_ATTRIBUTE 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.
glXChooseVisual,
glXCreateContext
Table of Contents