MirOS Manual: glXChooseVisual(3)


GLXCHOOSEVISUAL()   UNIX Programmer's Manual    GLXCHOOSEVISUAL()

NAME

     glXChooseVisual - return a visual that matches specified
     attributes

C SPECIFICATION

     XVisualInfo* glXChooseVisual( Display *dpy,
                                   int screen,
                                   int *attribList )

PARAMETERS

     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.

DESCRIPTION

     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.

EXAMPLES

     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.

NOTES

     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.

ERRORS

     NULL is returned if an undefined GLX attribute is encoun-
     tered in attribList.

SEE ALSO

     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.