2011-2014
Khronos Group.
glGetInternalformativ
3G

# glGetInternalformativ

retrieve information about implementation-dependent support for internal formats

## C Specification

                    void glGetInternalformativ
                    GLenum target
                    GLenum internalformat
                    GLenum pname
                    GLsizei bufSize
                    GLint *params

## Parameters

`target`

  Indicates the usage of the internal format. `target` must be `GL_RENDERBUFFER`.

`internalformat`

  Specifies the internal format about which to retrieve information.

`pname`

  Specifies the type of information to query.

`bufSize`

  Specifies the maximum number of integers that may be written to `params` by the function.

`params`

  Specifies the address of a variable into which to write the retrieved information.

## Description

`glGetInternalformativ` retrieves information about implementation-dependent support for internal formats. `target` indicates the target with which the internal format will be used and must be `GL_RENDERBUFFER`, corresponding to usage as a renderbuffer.

`internalformat` specifies the internal format about which to retrieve information and must be a color-renderable, depth-renderable or stencil-renderable format.

The information retrieved will be written to memory addressed by the pointer specified in `params`. No more than `bufSize` integers will be written to this memory.

If `pname` is `GL_NUM_SAMPLE_COUNTS`, the number of sample counts that would be returned by querying `GL_SAMPLES` will be returned in `params`.

If `pname` is `GL_SAMPLES`, the sample counts supported for `internalformat` and `target` are written into `params` in descending numeric order. Only positive values are returned. Querying `GL_SAMPLES` with `bufSize` of one will return just the maximum supported number of samples for this format.

## Notes

Since multisampling is not supported for signed and unsigned integer internal formats, the value of `GL_NUM_SAMPLE_COUNTS` will be zero for such formats. If `internalformat` is `GL_RGBA16F`, `GL_R32F`, `GL_RG32F`, or `GL_RGBA32F`, the value of `GL_NUM_SAMPLE_COUNTS` may be zero, or else the maximum value in `GL_SAMPLES` may be less than the value of `GL_MAX_SAMPLES`. For every other accepted `internalformat`, the maximum value in `GL_SAMPLES` is guaranteed to be at least `GL_MAX_SAMPLES`.

## Errors

`GL_INVALID_VALUE` is generated if `bufSize` is negative.

`GL_INVALID_ENUM` is generated if `pname` is not `GL_SAMPLES` or `GL_NUM_SAMPLE_COUNTS`.

`GL_INVALID_ENUM` is generated if `internalformat` is not color-, depth-, or stencil-renderable.

`GL_INVALID_ENUM` is generated if `target` is not `GL_RENDERBUFFER`.

## API Version Support

glGetInternalformativ

## See Also

glGet

## Copyright

Copyright 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.