glShaderStorageBlockBinding — change an active shader storage block binding
void glShaderStorageBlockBinding( | GLuint program, |
GLuint storageBlockIndex, | |
GLuint storageBlockBinding) ; |
program
The name of the program containing the block whose binding to change.
storageBlockIndex
The index storage block within the program.
storageBlockBinding
The index storage block binding to associate with the specified storage block.
glShaderStorageBlockBinding
, changes the active shader storage block with an assigned index of storageBlockIndex
in program object program
. storageBlockIndex
must be an active shader storage block index in program
. storageBlockBinding
must be less than the value of GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
. If successful, glShaderStorageBinding
specifies that program
will use the data store of the buffer object bound to the binding point storageBlockBinding
to read and write the values of the buffer variables in the shader storage block identified by storageBlockIndex
.
GL_INVALID_VALUE
is generated if attribindex
is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS
.
GL_INVALID_VALUE
is generated if bindingindex
is greater than or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS
.
GL_INVALID_OPERATION
is generated if no vertex array object is bound.
glGet with arguments GL_SHADER_STORAGE_BUFFER_BINDING
, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
, GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
, GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
, GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
, GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
, GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
, GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
or GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
, or GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
.
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 |
glShaderStorageBlockBinding | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ |
Copyright © 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/.