GLGETBUFFERPARAMETER
Section: [FIXME: manual] (3G)
Updated: 01/26/2021
Page Index
NAME
glGetBufferParameteriv, glGetBufferParameteri64v, glGetNamedBufferParameteriv, glGetNamedBufferParameteri64v - return parameters of a buffer object
C SPECIFICATION
-
void glGetBufferParameteriv(GLenum target, GLenum value, GLint * data);
-
void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64 * data);
-
void glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params);
-
void glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params);
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_QUERY_BUFFER
|
Query result buffer
|
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
|
buffer
-
Specifies the name of the buffer object for
glGetNamedBufferParameteriv
and
glGetNamedBufferParameteri64v.
value
-
Specifies the name of the buffer object parameter to query.
data
-
Returns the requested parameter.
DESCRIPTION
These functions return in
data
a selected parameter of the specified buffer object.
pname
names a specific buffer object parameter, as follows:
GL_BUFFER_ACCESS
-
params
returns the access policy set while mapping the buffer object (the value of the
access
parameter enum passed to
glMapBuffer). If the buffer was mapped with
glMapBufferRange, the access policy is determined by translating the bits in that
access
parameter to one of the supported enums for
glMapBuffer
as described in the OpenGL Specification.
GL_BUFFER_ACCESS_FLAGS
-
params
returns the access policy set while mapping the buffer object (the value of the
access
parameter bitfield passed to
glMapBufferRange). If the buffer was mapped with
glMapBuffer, the access policy is determined by translating the enums in that
access
parameter to the corresponding bits for
glMapBufferRange
as described in the OpenGL Specification. The initial value is zero.
GL_BUFFER_IMMUTABLE_STORAGE
-
params
returns a boolean flag indicating whether the buffer object is immutable. The initial value is
GL_FALSE.
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 mapping into the buffer object established with
glMapBuffer*. The
i64v
versions of these queries should be used for this parameter. The initial value is zero.
GL_BUFFER_MAP_OFFSET
-
params
returns the offset of the mapping into the buffer object established with
glMapBuffer*. The
i64v
versions of these queries should be used for this parameter. The initial value is zero.
GL_BUFFER_SIZE
-
params
returns the size of the buffer object, measured in bytes. The initial value is 0.
GL_BUFFER_STORAGE_FLAGS
-
params
returns a bitfield indicating the storage flags for the buffer object. If the buffer object is immutable, the value returned will be that specified when the data store was established with
glBufferStorage. If the data store was established with
glBufferData, the value will be
GL_MAP_READ_BIT
|
GL_MAP_WRITE_BIT
|
GL_DYNAMIC_STORAGE_BIT
|
GL_MAP_WRITE_BIT. The initial value is zero.
GL_BUFFER_USAGE
-
params
returns the buffer object's usage pattern. The initial value is
GL_STATIC_DRAW.
NOTES
If an error is generated, no change is made to the contents of
data.
The
GL_ATOMIC_COUNTER_BUFFER
target is available only if the GL version is 4.2 or greater.
The
GL_DISPATCH_INDIRECT_BUFFER
and
GL_SHADER_STORAGE_BUFFER
targets are available only if the GL version is 4.3 or greater.
The
GL_QUERY_BUFFER
target is available only if the GL version is 4.4 or greater.
ERRORS
GL_INVALID_ENUM
is generated by
glGetBufferParameter*
if
target
is not one of the accepted buffer targets.
GL_INVALID_OPERATION
is generated by
glGetBufferParameter*
if zero is bound to
target.
GL_INVALID_OPERATION
is generated by
glGetNamedBufferParameter*
if
buffer
is not the name of an existing buffer object.
GL_INVALID_ENUM
is generated if
pname
is not one of the buffer object parameter names described above.
VERSION SUPPORT
|
OpenGL Version
|
Function / Feature Name
|
2.0
|
2.1
|
3.0
|
3.1
|
3.2
|
3.3
|
4.0
|
4.1
|
4.2
|
4.3
|
4.4
|
4.5
|
glGetBufferParameteri64v
|
-
|
-
|
-
|
-
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
glGetBufferParameteriv
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
glGetNamedBufferParameteri64v
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
✔
|
glGetNamedBufferParameteriv
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
✔
|
SEE ALSO
glBindBuffer(),
glBufferData(),
glGetBufferPointerv(),
glMapBuffer(),
glUnmapBuffer()
COPYRIGHT
Copyright
©
2005 Addison-Wesley. Copyright
©
2010-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.
m[blue]http://opencontent.org/openpub/m[].
COPYRIGHT
Copyright © 2005 Sams Publishing
Copyright © 2010-2014 Khronos Group