GLXGETFBCONFIGATTRIB(3G)

NAME
glXGetFBConfigAttrib - return information about a GLX frame buffer configuration

C SPECIFICATION

int glXGetFBConfigAttrib(Display * dpy, GLXFBConfig config, int attribute, int * value);

PARAMETERS

dpy
    Specifies the connection to the X server.

config
    Specifies the GLX frame buffer configuration to be queried.

attribute
    Specifies the attribute to be returned.

value
    Returns the requested value.

DESCRIPTION

glXGetFBConfigAttrib sets value to the attribute value of GLX drawables created with respect to config. glXGetFBConfigAttrib returns an error code if it fails for any reason. Otherwise, Success is returned.

attribute is one of the following:

GLX_FBCONFIG_ID
    XID of the given GLXFBConfig.

GLX_BUFFER_SIZE

    Number of bits per color buffer. If the frame buffer configuration supports RGBA contexts, then GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE. If the frame buffer configuration supports only color index contexts, GLX_BUFFER_SIZE is the size of the color indexes.

GLX_LEVEL

    Frame buffer level of the configuration. 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 underlie the default buffer.

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 RGBA contexts are not supported by the frame buffer configuration.

GLX_GREEN_SIZE

    Number of bits of green stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration.

GLX_BLUE_SIZE

    Number of bits of blue stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration.

GLX_ALPHA_SIZE

    Number of bits of alpha stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration.

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.

GLX_RENDER_TYPE

    Mask indicating what type of GLX contexts can be made current to the frame buffer configuration. Valid bits are GLX_RGBA_BIT and GLX_COLOR_INDEX_BIT.

GLX_DRAWABLE_TYPE

    Mask indicating what drawable types the frame buffer configuration supports. Valid bits are GLX_WINDOW_BIT, GLX_PIXMAP_BIT, and GLX_PBUFFER_BIT.

GLX_X_RENDERABLE

    True if drawables created with the frame buffer configuration can be rendered to by X.

GLX_VISUAL_ID

    XID of the corresponding visual, or zero if there is no associated visual (i.e., if GLX_X_RENDERABLE is False or GLX_DRAWABLE_TYPE does not have the GLX_WINDOW_BIT bit set).

GLX_X_VISUAL_TYPE

    Visual type of associated visual. The returned value will be one of: GLX_TRUE_COLOR, GLX_DIRECT_COLOR, GLX_PSEUDO_COLOR, GLX_STATIC_COLOR, GLX_GRAY_SCALE, GLX_STATIC_GRAY, or GLX_NONE, if there is no associated visual (i.e., if GLX_X_RENDERABLE is False or GLX_DRAWABLE_TYPE does not have the GLX_WINDOW_BIT bit set).

GLX_CONFIG_CAVEAT

    One of GLX_NONE, GLX_SLOW_CONFIG, or GLX_NON_CONFORMANT_CONFIG, indicating that the frame buffer configuration has no caveats, some aspect of the frame buffer configuration runs slower than other frame buffer configurations, or some aspect of the frame buffer configuration is nonconformant, respectively.

GLX_TRANSPARENT_TYPE

    One of GLX_NONE, GLX_TRANSPARENT_RGB, GLX_TRANSPARENT_INDEX, indicating that the frame buffer configuration is opaque, is transparent for particular values of red, green, and blue, or is transparent for particular index values, respectively.

GLX_TRANSPARENT_INDEX_VALUE

    Integer value between 0 and the maximum frame buffer value for indices, indicating the transparent index value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_INDEX.

GLX_TRANSPARENT_RED_VALUE

    Integer value between 0 and the maximum frame buffer value for red, indicating the transparent red value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB.

GLX_TRANSPARENT_GREEN_VALUE

    Integer value between 0 and the maximum frame buffer value for green, indicating the transparent green value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB.

GLX_TRANSPARENT_BLUE_VALUE

    Integer value between 0 and the maximum frame buffer value for blue, indicating the transparent blue value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB.

GLX_TRANSPARENT_ALPHA_VALUE

    Integer value between 0 and the maximum frame buffer value for alpha, indicating the transparent blue value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB.

GLX_MAX_PBUFFER_WIDTH

    The maximum width that can be specified to glXCreatePbuffer().

GLX_MAX_PBUFFER_HEIGHT

    The maximum height that can be specified to glXCreatePbuffer().

GLX_MAX_PBUFFER_PIXELS

    The maximum number of pixels (width times height) for a pixel buffer. Note that this value may be less than GLX_MAX_PBUFFER_WIDTH times GLX_MAX_PBUFFER_HEIGHT. Also, this value is static and assumes that no other pixel buffers or X resources are contending for the frame buffer memory. As a result, it may not be possible to allocate a pixel buffer of the size given by GLX_MAX_PBUFFER_PIXELS.

Applications should choose the frame buffer configuration that most closely meets their requirements. Creating windows, GLX pixmaps, or GLX pixel buffers with unnecessary buffers can result in reduced rendering performance as well as poor resource allocation.

NOTES

glXGetFBConfigAttrib is available only if the GLX version is 1.3 or greater.

If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2.

ERRORS

GLX_NO_EXTENSION is returned if dpy does not support the GLX extension. GLX_BAD_ATTRIBUTE is returned if attribute is not a valid GLX attribute.

SEE ALSO

glXGetFBConfigs(), glXChooseFBConfig(), glXGetVisualFromFBConfig(), glXGetConfig()

COPYRIGHT

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.