GLXgetconfig(3G)GLXgetconfig(3G)NAME
GLXgetconfig - Get configuration information for GL rendering into an X
window
SYNOPSIS
#include <gl/glws.h>
typedef struct _GLXconfig { /* from <gl/glws.h> */
int buffer;
int mode;
int arg;
} GLXconfig;
GLXconfig *
GLXgetconfig(xDisplay, xScreenNo, sdesc)
Display* xDisplay;
int screenNo;
GLXconfig* sdesc;
DESCRIPTION
GLXgetconfig takes the display, screen, and configuration information and
returns the data needed to create and render GL into an X window.
The "sdesc" input parameter is a null terminated array of "GLXconfig"
triples, describing the configuration needed for GL rendering.
The return value is a complete description of the actual configuration
available. This is useful to check what configuration was available, but
it is also needed as an argument to GLXlink(3G). It can be freed with
free(3) when it is no longer needed.
GLXconfig
Values for GLXconfig.buffer specify which buffer the configuration is
affecting. Possible values are GLX_NORMAL, GLX_POPUP, GLX_OVERLAY and
GLX_UNDERLAY.
Values for GLXconfig.mode specify which attributes of the buffer are
being configured. The interpretation of GLXconfig.arg is dependent on
the "mode" word.
GLX_DOUBLE In the input configuration single buffer is assumed unless
GLX_DOUBLE, True is specified. On output, if double
buffering is not available, the "arg" field for GLX_DOUBLE
will be false.
GLX_RGB In the input configuration color index is assumed unless
"GLX_RGB, True" is specified. On output, if RGB is not
available, the "arg" field for GLX_RGB will be false.
Page 1
GLXgetconfig(3G)GLXgetconfig(3G)
GLX_BUFSIZE If not specified, or the "arg" is GLX_NOCONFIG, then the
largest available number will be allocated. On return the
"arg" field will contain the number allocated.
GLX_RGBSIZE The minimum of the requested size and the largest available
size will be returned. If not specified, or the "arg" is
GLX_NOCONFIG, then the largest available size will be
returned.
GLX_STENSIZE
GLX_ACSIZE
GLX_ZSIZE If not specified none will be allocated. If the "arg" is
GLX_NOCONFIG then the largest available number will be
allocated. On return the "arg" field will contain the
number allocated.
GLX_VISUAL Ignored on input, in the output it contains the correct
visual id for the window to be created for that buffer.
GLX_COLORMAP Ignored on input, in the output the value is the colormap
that traditional "winopen()" style GL windows will use for
that buffer. This is for information only; colors in this
colormap may be queried, and this colormap id may be used in
creating windows. But it's forbidden to write into this
colormap using XStoreColor(s). If a client wants to do
XStoreColor(s), it needs to create its own colormap. But
even if a client does not do XStoreColor(s), it is free to
create windows with a colormap other than the one returned
in GLX_COLORMAP.
GLX_WINDOW Ignored on input, in the output, for a supported buffer
request, a placeholder with value GLX_NONE. Before the
output buffer is passed to GLXlink(3G), the value should be
replaced with the window which was created.
GLX_MSSAMPLE On input, the "arg" field should contain the requested
number of multisample samples to be stored at each
framebuffer pixel location. On output, the "arg" will
contain the allocated number of samples. If not specified,
no samples will be allocated.
GLX_MSZSIZE On input, the "arg" field should contain the requested
number of bits per depth component desired in the
multisample buffer. On output, the "arg" will contain the
allocated number of bits. If not specified, no bits will be
allocated.
GLX_MSSSIZE On input, the "arg" field should contain the requested
number of bits per stencil field desired in the multisample
buffer. On output, the "arg" will contain the allocated
number of bits. If not specified, no bits will be
allocated.
Page 2
GLXgetconfig(3G)GLXgetconfig(3G)
GLX_STEREOBUF
Monoscopic buffering is assumed unless GLX_STEREOBUF is
specified. On input, the "arg" field is ignored. On
output, the "arg" field will be true if stereoscopic
buffering is available, and false otherwise.
ERRORS
A return of 0 means that no visual was found which matched the request.
BUGSSEE ALSOGLXwinset(3G), GLXlink(3G), GLXunlink(3G), ~4Dgifts/examples/GLX
Page 3