## Name

glGetFramebufferParameter — retrieve a named parameter from a framebuffer

## C Specification

`void glGetFramebufferParameteriv(` | GLenum target,
| GLenum pname,
| GLint * params`)`;

## Parameters

`target`

  The target of the operation, which must be `GL_READ_FRAMEBUFFER`, `GL_DRAW_FRAMEBUFFER` or `GL_FRAMEBUFFER`.

`pname`

  A token indicating the parameter to be retrieved.

`params`

  The address of a variable to receive the value of the parameter named `pname`.

## Description

`glGetFramebufferParameter` retrieves the current value of the parameter named `pname` from the framebuffer bound to `target`. `target` must be `GL_READ_FRAMEBFUFFER`, `GL_DRAW_FRAMEBUFFER` or `GL_FRAMEBUFFER`. The token `GL_FRAMEBUFFER` is treated as `GL_DRAW_FRAMEBUFFER`. A non-default framebuffer must be bound to `target`.

`pname` specifies the parameter to be retrieved. The values retrieved from the framebuffer are written into the variable whose address is given by `params`. The following symbols are accepted in `pname`:

`GL_FRAMEBUFFER_DEFAULT_WIDTH`

  The value of `GL_FRAMEBUFFER_DEFAULT_WIDTH` for the framebuffer is written to the single integer variable whose address is given by `params`.

`GL_FRAMEBUFFER_DEFAULT_HEIGHT`

  The value of `GL_FRAMEBUFFER_DEFAULT_HEIGHT` for the framebuffer is written to the single integer variable whose address is given by `params`.

`GL_FRAMEBUFFER_DEFAULT_LAYERS`

  The value of `GL_FRAMEBUFFER_DEFAULT_LAYERS` for the framebuffer is written to the single integer variable whose address is given by `params`.

`GL_FRAMEBUFFER_DEFAULT_SAMPLES`

  The value of `GL_FRAMEBUFFER_DEFAULT_SAMPLES` for the framebuffer is written to the single integer variable whose address is given by `params`.

`GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS`

  If the value of `GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS` for the framebuffer is `GL_TRUE` then the single integer variable whose address is in `params` is set to one, otherwise it is set to zero.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not one of the accepted framebuffer targets.

`GL_INVALID_ENUM` is generated if `pname` is not one of the accepted parameter names.

`GL_INVALID_OPERATION` is generated if the default framebuffer is bound to `target`.

`params` should be the address of a variable to which the client has write access otherwise undefined behavior, including process termination may occur.

## Associated Gets

glGetFramebufferParameteriv.

## See Also

glFramebufferParameteri.

## Copyright

Copyright © 2012 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/.