glXGetFBConfigAttrib

return information about a GLX frame buffer configuration

Signature

glXGetFBConfigAttrib( Display * ( dpy ) , GLXFBConfig ( config ) , int ( attribute ) , int * ( value ) )-> int
glXGetFBConfigAttrib( dpy , config , attribute , value ) -> <class 'ctypes.c_int'>

Parameters

VariablesDescription
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