GLXGETCONFIG(3gl)GLXGETCONFIG(3gl)NAMEglXGetConfig - 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 XVi‐
sualInfo structure, not a visual ID or a pointer to a Visual.
attrib Specifies the visual attribute to be returned.
value Returns the requested value.
DESCRIPTIONglXGetConfig 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 visu‐
als, 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 corre‐
spond 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 avail‐
able. Zero indicates that no auxiliary color
buffers exist.
GLX_RED_SIZE Number of bits of red stored in each color buf‐
fer. Undefined if GLX_RGBA is False.
GLX_GREEN_SIZE Number of bits of green stored in each color buf‐
fer. Undefined if GLX_RGBA is False.
GLX_BLUE_SIZE Number of bits of blue stored in each color buf‐
fer. Undefined if GLX_RGBA is False.
GLX_ALPHA_SIZE Number of bits of alpha stored in each color buf‐
fer. 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 accumula‐
tion 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 accumula‐
tion buffer.
GLX_X_VISUAL_TYPE_EXT X visual class.
GLX_TRANSPARENT_TYPE_EXT
GLX_NONE_EXT if this visual does not support a
transparent pixel, GLX_TRANSPARENT_RGB_EXT if
this visual supports a RGB transparent pixel, and
GLX_TRANSPARENT_INDEX_EXT an index transparent
pixel.
GLX_TRANSPARENT_INDEX_VALUE_EXT
Color index value of a transparent pixel when
GLX_TRANSPARENT_TYPE_EXT is index.
GLX_TRANSPARENT_RED_VALUE_EXT
Red pixel value of a transparent pixel when
GLX_TRANSPARENT_TYPE_EXT is RGB.
GLX_TRANSPARENT_GREEN_VALUE_EXT
Green pixel value of a transparent pixel when
GLX_TRANSPARENT_TYPE_EXT is RGB.
GLX_TRANSPARENT_BLUE_VALUE_EXT
Blue pixel value of a transparent pixel when
GLX_TRANSPARENT_TYPE_EXT is RGB.
GLX_TRANSPARENT_ALPHA_VALUE_EXT
For future expansion.
GLX_SAMPLE_BUFFERS_ARB
1 if multi-sampling is enabled, 0 otherwise.
GLX_SAMPLES_ARB Number of samples per pixel.
GLX_VIDEO_RESIZE_SUN 1 if visual is capable of video resizing, 0 oth‐
erwise.
GLX_VIDEO_REFRESH_TIME_SUN
Video refresh time in microseconds.
GLX_GAMMA_VALUE_SUN Visual gamma correction value in percent (e.g. a
value of 180 means a gamma correction value of
1.80).
The X protocol allows a single visual ID to be instantiated with dif‐
ferent 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, Pseudo‐
Color, 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 vis‐
ual 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 Static‐
Color 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 unnec‐
essary 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.
The visual attributes GLX_X_VISUAL_TYPE_EXT, GLX_TRANSPARENT_TYPE_EXT,
GLX_TRANSPARENT_INDEX_VALUE_EXT, GLX_TRANSPARENT_RED_VALUE_EXT,
GLX_TRANSPARENT_GREEN_VALUE_EXT, GLX_TRANSPARENT_BLUE_VALUE_EXT, and
GLX_TRANSPARENT_ALPHA_VALUE_EXT are only valid if the connection sup‐
ports GLX_EXT_visual_info extension.
The visual attributes GLX_VIDEO_RESIZE_SUN and
GLX_VIDEO_REFRESH_TIME_SUN are only valid if the connection supports
GLX_SUN_video_resize extension.
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, glXQueryExtensionString, glXCreateContext
21 May 01 GLXGETCONFIG(3gl)