<function>glShaderStorageBlockBinding</function>, changes the active
shader storage block with an assigned index of <parameter>storageBlockIndex</parameter>
in program object <parameter>program</parameter>. <parameter>storageBlockIndex</parameter> must be an active shader storage block
index in <parameter>program</parameter>. <parameter>storageBlockBinding</parameter> must be less than the value of <constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant>.
If successful, <function>glShaderStorageBinding</function> specifies that <parameter>program</parameter> will use the data store of
the buffer object bound to the binding point <parameter>storageBlockBinding</parameter> to read
and write the values of the buffer variables in the shader storage block identified by <parameter>storageBlockIndex</parameter>.
</para>
</refsect1>
<refsect1id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>attribindex</parameter> is greater than
or equal to the value of <constant>GL_MAX_VERTEX_ATTRIBS</constant>.
</para>
<para>
<constant>GL_INVAILD_VALUE</constant> is generated if <parameter>bindingindex</parameter> is greater than
or equal to the value of <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if no vertex array object is bound.