GLAPI/glShaderStorageBlockBinding

From OpenGL.org
Jump to: navigation, search
glShaderStorageBlockBinding
Core in version 4.4
Core since version 4.3
Core ARB extension ARB_shader_storage_buffer_object

glShaderStorageBlockBinding: change an active shader storage block binding

Function Definition

 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.

Description

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​.

Errors

GL_INVALID_VALUE​ is generated if attribindex​ is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS​.

GL_INVAILD_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.

Associated Gets

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​, GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS​, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS​, or GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES​.

glGetProgramResourceIndex with the program, GL_SHADER_STORAGE_BLOCK​​, and the name of the block.

glGetProgramResource with GL_SHADER_STORAGE_BLOCK​​ and GL_BUFFER_BINDING​​

See Also

glLinkProgram, glBindBufferBase, glBindBufferRange

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/.