GLXGETCONFIG() UNIX Programmer's Manual 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.
MirBSD #10-current Printed 2021-12-07 1
GLXGETCONFIG() UNIX Programmer's Manual GLXGETCONFIG()
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
MirBSD #10-current Printed 2021-12-07 2
GLXGETCONFIG() UNIX Programmer's Manual GLXGETCONFIG()
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 Sta-
ticColor 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 Sta-
ticColor 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.
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_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.
SEE ALSO
glXChooseVisual, glXCreateContext
MirBSD #10-current Printed 2021-12-07 3