GLXCHOOSEVISUAL() UNIX Programmer's Manual GLXCHOOSEVISUAL()
glXChooseVisual - return a visual that matches specified
attributes
XVisualInfo* glXChooseVisual( Display *dpy,
int screen,
int *attribList )
dpy Specifies the connection to the X server.
screen Specifies the screen number.
attribList Specifies a list of boolean attributes and
integer attribute/value pairs. The last attri-
bute must be None.
glXChooseVisual returns a pointer to an XVisualInfo struc-
ture describing the visual that best meets a minimum specif-
ication. The boolean GLX attributes of the visual that is
returned will match the specified values, and the integer
GLX attributes will meet or exceed the specified minimum
values. If all other attributes are equivalent, then
TrueColor and PseudoColor visuals have priority over
DirectColor and StaticColor visuals, respectively. If no
conforming visual exists, NULL is returned. To free the data
returned by this function, use XFree.
All boolean GLX attributes default to False except
GLX_USE_GL, which defaults to True. All integer GLX attri-
butes default to zero. Default specifications are superseded
by attributes included in attribList. Boolean attributes
included in attribList are understood to be True. Integer
attributes and enumerated type attributes are followed
immediately by the corresponding desired or minimum value.
The list must be terminated with None.
The interpretations of the various GLX visual attributes are
as follows:
GLX_USE_GL Ignored. Only visuals that can be ren-
dered with GLX are considered.
GLX_BUFFER_SIZE Must be followed by a nonnegative
integer that indicates the desired
color index buffer size. The smallest
index buffer of at least the specified
size is preferred. Ignored if GLX_RGBA
MirOS BSD #10-current Printed 20.2.2012 1
GLXCHOOSEVISUAL() UNIX Programmer's Manual GLXCHOOSEVISUAL()
is asserted.
GLX_LEVEL Must be followed by an integer
buffer-level specification. This
specification is honored exactly.
Buffer level zero corresponds to the
main frame buffer of the display.
Buffer level one is the first overlay
frame buffer, level two the second
overlay frame buffer, and so on. Nega-
tive buffer levels correspond to
underlay frame buffers.
GLX_RGBA If present, only TrueColor and
DirectColor visuals are considered.
Otherwise, only PseudoColor and Sta-
ticColor visuals are considered.
GLX_DOUBLEBUFFER If present, only double-buffered visu-
als are considered. Otherwise, only
single-buffered visuals are con-
sidered.
GLX_STEREO If present, only stereo visuals are
considered. Otherwise, only monoscopic
visuals are considered.
GLX_AUX_BUFFERS Must be followed by a nonnegative
integer that indicates the desired
number of auxiliary buffers. Visuals
with the smallest number of auxiliary
buffers that meets or exceeds the
specified number are preferred.
GLX_RED_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, the smallest available
red buffer is preferred. Otherwise,
the largest available red buffer of at
least the minimum size is preferred.
GLX_GREEN_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, the smallest available
green buffer is preferred. Otherwise,
the largest available green buffer of
at least the minimum size is pre-
ferred.
GLX_BLUE_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, the smallest available
MirOS BSD #10-current Printed 20.2.2012 2
GLXCHOOSEVISUAL() UNIX Programmer's Manual GLXCHOOSEVISUAL()
blue buffer is preferred. Otherwise,
the largest available blue buffer of
at least the minimum size is pre-
ferred.
GLX_ALPHA_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, the smallest available
alpha buffer is preferred. Otherwise,
the largest available alpha buffer of
at least the minimum size is pre-
ferred.
GLX_DEPTH_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, visuals with no depth
buffer are preferred. Otherwise, the
largest available depth buffer of at
least the minimum size is preferred.
GLX_STENCIL_SIZE Must be followed by a nonnegative
integer that indicates the desired
number of stencil bitplanes. The smal-
lest stencil buffer of at least the
specified size is preferred. If the
desired value is zero, visuals with no
stencil buffer are preferred.
GLX_ACCUM_RED_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, visuals with no red
accumulation buffer are preferred.
Otherwise, the largest possible red
accumulation buffer of at least the
minimum size is preferred.
GLX_ACCUM_GREEN_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, visuals with no green
accumulation buffer are preferred.
Otherwise, the largest possible green
accumulation buffer of at least the
minimum size is preferred.
GLX_ACCUM_BLUE_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, visuals with no blue
accumulation buffer are preferred.
Otherwise, the largest possible blue
accumulation buffer of at least the
minimum size is preferred.
MirOS BSD #10-current Printed 20.2.2012 3
GLXCHOOSEVISUAL() UNIX Programmer's Manual GLXCHOOSEVISUAL()
GLX_ACCUM_ALPHA_SIZE Must be followed by a nonnegative
minimum size specification. If this
value is zero, visuals with no alpha
accumulation buffer are preferred.
Otherwise, the largest possible alpha
accumulation buffer of at least the
minimum size is preferred.
attribList =
{GLX_RGBA, GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4,
GLX_BLUE_SIZE, 4, None};
Specifies a single-buffered RGB visual in the normal frame
buffer, not an overlay or underlay buffer. The returned
visual supports at least four bits each of red, green, and
blue, and possibly no bits of alpha. It does not support
color index mode, double-buffering, or stereo display. It
may or may not have one or more auxiliary color buffers, a
depth buffer, a stencil buffer, or an accumulation buffer.
XVisualInfo is defined in Xutil.h. It is a structure that
includes visual, visualID, screen, and depth elements.
glXChooseVisual is implemented as a client-side utility
using only XGetVisualInfo and glXGetConfig. Calls to these
two routines can be used to implement selection algorithms
other than the generic one implemented by glXChooseVisual.
GLX implementers are strongly discouraged, but not pros-
cribed, from changing the selection algorithm used by
glXChooseVisual. Therefore, selections may change from
release to release of the client-side library.
There is no direct filter for picking only visuals that sup-
port GLXPixmaps. GLXPixmaps are supported for visuals whose
GLX_BUFFER_SIZE is one of the pixmap depths supported by the
X server.
NULL is returned if an undefined GLX attribute is encoun-
tered in attribList.
glXCreateContext, glXGetConfig
MirOS BSD #10-current Printed 20.2.2012 4
Generated on 2012-02-20 02:47:02 by $MirOS: src/scripts/roff2htm,v 1.70 2011/12/03 18:21:12 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2011 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.