glXGetConfig() glXGetConfig()
glXGetConfig - return information about GLX visuals
int glXGetConfig(
Display *dpy,
XVisualInfo *vis,
int attrib,
int *value );
Specifies the connection to the X server. Specifies the
visual to be queried. It is a pointer to an XVisualInfo
structure, not a visual ID or a pointer to a Visual.
Specifies the visual attribute to be returned. 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:
True if OpenGL rendering is supported by this visual,
False otherwise. 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. 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. True if color buffers store
red, green, blue, and alpha values. False if they store
color indexes. True if color buffers exist in front/back
pairs that can be swapped, False otherwise. True if color
buffers exist in left/right pairs, False otherwise. Number
of auxiliary color buffers that are available. Zero
indicates that no auxiliary color buffers exist. Number
of bits of red stored in each color buffer. Undefined if
GLX_RGBA is False. Number of bits of green stored in each
color buffer. Undefined if GLX_RGBA is False. Number of
bits of blue stored in each color buffer. Undefined if
GLX_RGBA is False. Number of bits of alpha stored in each
color buffer. Undefined if GLX_RGBA is False. Number of
bits in the depth buffer. Number of bits in the stencil
buffer. Number of bits of red stored in the accumulation
buffer. Number of bits of green stored in the accumulation
buffer. Number of bits of blue stored in the accumulation
buffer. 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(3), glXCreateContext(3)
glXGetConfig()
[ Back ] |