Light | Dark

glGetBufferParameter

Name

glGetBufferParameter — return parameters of a buffer object

C Specification

void glGetBufferParameteriv( GLenum target,
  GLenum value,
  GLint * data);
 
void glGetBufferParameteri64v( GLenum target,
  GLenum value,
  GLint64 * data);
 

Parameters

target

Specifies the target to which the buffer object is bound for glGetBufferParameteriv and glGetBufferParameteri64v. Must be one of the buffer binding targets in the following table:

Buffer Binding Target Purpose
GL_ARRAY_BUFFER Vertex attributes
GL_ATOMIC_COUNTER_BUFFER Atomic counter storage
GL_COPY_READ_BUFFER Buffer copy source
GL_COPY_WRITE_BUFFER Buffer copy destination
GL_DISPATCH_INDIRECT_BUFFER Indirect compute dispatch commands
GL_DRAW_INDIRECT_BUFFER Indirect command arguments
GL_ELEMENT_ARRAY_BUFFER Vertex array indices
GL_PIXEL_PACK_BUFFER Pixel read target
GL_PIXEL_UNPACK_BUFFER Texture data source
GL_SHADER_STORAGE_BUFFER Read-write storage for shaders
GL_TEXTURE_BUFFER Texture data buffer
GL_TRANSFORM_FEEDBACK_BUFFER Transform feedback buffer
GL_UNIFORM_BUFFER Uniform block storage
value

Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED, GL_BUFFER_MAP_LENGTH, GL_BUFFER_MAP_OFFSET, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.

data

Returns the requested parameter.

Description

glGetBufferParameteriv and glGetBufferParameteri64v return in data a selected parameter of the buffer object specified by target.

value names a specific buffer object parameter, as follows:

GL_BUFFER_ACCESS_FLAGS

params returns the access policy set while mapping the buffer object.

GL_BUFFER_MAPPED

params returns a flag indicating whether the buffer object is currently mapped. The initial value is GL_FALSE.

GL_BUFFER_MAP_LENGTH

params returns the length of the buffer object mapping, measured in bytes. The initial value is 0.

GL_BUFFER_MAP_OFFSET

params returns the offset (start) of the buffer object mapping, measured in bytes. The initial value is 0.

GL_BUFFER_SIZE

params returns the size of the buffer object, measured in bytes. The initial value is 0.

GL_BUFFER_USAGE

params returns the buffer object's usage pattern.

Notes

If an error is generated, no change is made to the contents of data.

If glGetBufferParameteriv is used to query a value of GL_BUFFER_SIZE, values greater than or equal to 2 31 will be clamped to 2 31 - 1 .

The GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER and GL_UNIFORM_BUFFER targets are available only if the GL ES version is 3.0 or greater.

The GL_ATOMIC_COUNTER_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, GL_DRAW_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER targets are available only if the GL ES version is 3.1 or greater.

The GL_TEXTURE_BUFFER target is available only if the GL ES version is 3.2 or greater.

Errors

GL_INVALID_ENUM is generated if target or value is not an accepted value.

GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target.

GL_INVALID_ENUM is generated if glGetBufferParameteri64v is used to query a value of GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED or GL_BUFFER_USAGE.

GL_INVALID_ENUM is generated if glGetBufferParameteriv is used to query a value of GL_BUFFER_MAP_LENGTH or GL_BUFFER_MAP_OFFSET.

API Version Support

OpenGL ES API Version
Function Name 2.0 3.0 3.1 3.2
glGetBufferParameteriv
glGetBufferParameteri64v -
Think you can improve this page? Edit this page on GitHub.