2003-2014 The Khronos Group Inc.
eglGetConfigAttrib 3G
eglGetConfigAttrib return information about an EGL frame buffer configuration

## C Specification

EGLBoolean `eglGetConfigAttrib` EGLDisplay display EGLConfig config EGLint attribute EGLint * value

## Parameters

display

  Specifies the EGL display connection.

config

  Specifies the EGL frame buffer configuration to be queried.

attribute

  Specifies the EGL rendering context attribute to be returned.

value

  Returns the requested value.

## Description

`eglGetConfigAttrib` returns in value the value of attribute for config (config attributes are described in more detail in the eglChooseConfig reference page). attribute can be one of the following:

`EGL_ALPHA_SIZE`

  Returns the number of bits of alpha stored in the color buffer.

`EGL_ALPHA_MASK_SIZE`

  Returns the number of bits in the alpha mask buffer.

`EGL_BIND_TO_TEXTURE_RGB`

  Returns `EGL_TRUE` if color buffers can be bound to an RGB texture, `EGL_FALSE` otherwise.

`EGL_BIND_TO_TEXTURE_RGBA`

  Returns `EGL_TRUE` if color buffers can be bound to an RGBA texture, `EGL_FALSE` otherwise.

`EGL_BLUE_SIZE`

  Returns the number of bits of blue stored in the color buffer.

`EGL_BUFFER_SIZE`

  Returns the depth of the color buffer. It is the sum of `EGL_RED_SIZE`, `EGL_GREEN_SIZE`, `EGL_BLUE_SIZE`, and `EGL_ALPHA_SIZE`.

`EGL_COLOR_BUFFER_TYPE`

  Returns the color buffer type. Possible types are `EGL_RGB_BUFFER` and `EGL_LUMINANCE_BUFFER`.

`EGL_CONFIG_CAVEAT`

  Returns the caveats for the frame buffer configuration. Possible caveat values are `EGL_NONE`, `EGL_SLOW_CONFIG`, and `EGL_NON_CONFORMANT`.

`EGL_CONFIG_ID`

  Returns the ID of the frame buffer configuration.

`EGL_CONFORMANT`

  Returns a bitmask indicating which client API contexts created with respect to this config are conformant.

`EGL_DEPTH_SIZE`

  Returns the number of bits in the depth buffer.

`EGL_GREEN_SIZE`

  Returns the number of bits of green stored in the color buffer.

`EGL_LEVEL`

  Returns the frame buffer level. 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 underlay the default buffer.

`EGL_LUMINANCE_SIZE`

  Returns the number of bits of luminance stored in the luminance buffer.

`EGL_MAX_PBUFFER_WIDTH`

  Returns the maximum width of a pixel buffer surface in pixels.

`EGL_MAX_PBUFFER_HEIGHT`

  Returns the maximum height of a pixel buffer surface in pixels.

`EGL_MAX_PBUFFER_PIXELS`

  Returns the maximum size of a pixel buffer surface in pixels.

`EGL_MAX_SWAP_INTERVAL`

  Returns the maximum value that can be passed to eglSwapInterval.

`EGL_MIN_SWAP_INTERVAL`

  Returns the minimum value that can be passed to eglSwapInterval.

`EGL_NATIVE_RENDERABLE`

  Returns `EGL_TRUE` if native rendering APIs can render into the surface, `EGL_FALSE` otherwise.

`EGL_NATIVE_VISUAL_ID`

  Returns the ID of the associated native visual.

`EGL_NATIVE_VISUAL_TYPE`

  Returns the type of the associated native visual.

`EGL_RED_SIZE`

  Returns the number of bits of red stored in the color buffer.

`EGL_RENDERABLE_TYPE`

  Returns a bitmask indicating the types of supported client API contexts.

`EGL_SAMPLE_BUFFERS`

  Returns the number of multisample buffers.

`EGL_SAMPLES`

  Returns the number of samples per pixel.

`EGL_STENCIL_SIZE`

  Returns the number of bits in the stencil buffer.

`EGL_SURFACE_TYPE`

  Returns a bitmask indicating the types of supported EGL surfaces.

`EGL_TRANSPARENT_TYPE`

  Returns the type of supported transparency. Possible transparency values are: `EGL_NONE`, and `EGL_TRANSPARENT_RGB`.

`EGL_TRANSPARENT_RED_VALUE`

  Returns the transparent red value.

`EGL_TRANSPARENT_GREEN_VALUE`

  Returns the transparent green value.

`EGL_TRANSPARENT_BLUE_VALUE`

  Returns the transparent blue value.

## Notes

`EGL_CONFORMANT` is supported only if the EGL version is 1.3 or greater.

`EGL_ALPHA_MASK_SIZE`, `EGL_COLOR_BUFFER_TYPE`, `EGL_LUMINANCE_SIZE`, and `EGL_RENDERABLE_TYPE` are supported only if the EGL version is 1.2 or greater.

While `EGL_MATCH_NATIVE_PIXMAP` can be specified in the attribute list passed to eglChooseConfig, it is not an attribute of the resulting config and cannot be queried using `eglGetConfigAttrib`.

## Errors

`EGL_FALSE` is returned on failure, `EGL_TRUE` otherwise. value is not modified when `EGL_FALSE` is returned.

`EGL_BAD_DISPLAY` is generated if display is not an EGL display connection.

`EGL_NOT_INITIALIZED` is generated if display has not been initialized.

`EGL_BAD_CONFIG` is generated if config is not an EGL frame buffer configuration.

`EGL_BAD_ATTRIBUTE` is generated if attribute is not a valid frame buffer configuration attribute.

## See Also

eglChooseConfig, eglGetConfigs