glGetActiveAtomicCounterBufferiv — retrieve information about the set of active atomic counter buffers for a program
void glGetActiveAtomicCounterBufferiv( | Gluint program, |
GLuint bufferIndex, | |
GLenum pname, | |
GLint *params) ; |
program
The name of a program object from which to retrieve information.
bufferIndex
Specifies index of an active atomic counter buffer.
pname
Specifies which parameter of the atomic counter buffer to retrieve.
params
Specifies the address of a variable into which to write the retrieved information.
glGetActiveAtomicCounterBufferiv
retrieves information about the set of active atomic counter buffers for a program object. program
is the name of a program object for which the command glLinkProgram has been issued in the past. It is not necessary for program
to have been linked successfully. The link may have failed because the number of active atomic counters exceeded the limits.
bufferIndex
specifies the index of an active atomic counter buffer and must be in the range zero to the value of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
minus one. The value of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
for program
indicates the number of active atomic counter buffer and can be queried with glGetProgram.
If no error occurs, the parameter(s) specified by pname
are returned in params
. If an error is generated, the contents of params
are not modified.
If pname
is GL_ATOMIC_COUNTER_BUFFER_BINDING
, then the index of the counter buffer binding point associated with the active atomic counter buffer bufferIndex
for program
is returned.
If pname
is GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE
, then the implementation-dependent minimum total buffer object size, in baseic machine units, required to hold all active atomic counters in the atomic counter binding point identified by bufferIndex
is returned.
If pname
is GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
, then the number of active atomic counters for the atomic counter buffer identified by bufferIndex
is returned.
If pname
is GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
, then a list of the active atomic counter indices for the atomic counter buffer identified by bufferIndex
is returned. The number of elements that will be written into params
is the value of GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
for bufferIndex
.
If pname
is GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
then a boolean value indicating whether the atomic counter buffer identified by bufferIndex
is referenced by the vertex, tessellation control, tessellation evaluation, geometry, fragment or compute processing stages of program
, respectively, is returned.
glGetActiveAtomicCounterBufferiv
is available only if the GL version is 4.2 or higher.
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
is available only of the GL version is 4.3 or higher.
GL_INVALID_VALUE
is generated if program
is not the name of a program object for which glLinkProgram has been called in the past.
GL_INVALID_VALUE
is generated if bufferIndex
is greater than or equal to the value of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
for program
.
GL_INVALID_ENUM
is generated if pname
is not one of the accepted tokens.
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 |
glGetActiveAtomicCounterBufferiv | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ |
glGetProgram, glGetActiveSubroutineUniform, glGetActiveSubroutineUniformName, glGetUniformLocation
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. https://opencontent.org/openpub/.