rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glShaderStorageBlockBinding.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glShaderStorageBlockBinding">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2012</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glShaderStorageBlockBinding</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glShaderStorageBlockBinding</refname>
17 <refpurpose>change an active shader storage block binding</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glShaderStorageBlockBinding</function></funcdef>
23 <paramdef>GLuint <parameter>program</parameter></paramdef>
24 <paramdef>GLuint <parameter>storageBlockIndex</parameter></paramdef>
25 <paramdef>GLuint <parameter>storageBlockBinding</parameter></paramdef>
26 </funcprototype>
27 </funcsynopsis>
28 </refsynopsisdiv>
29 <refsect1 id="parameters"><title>Parameters</title>
30 <variablelist>
31 <varlistentry>
32 <term><parameter>program</parameter></term>
33 <listitem>
34 <para>
35 The name of the program containing the block whose binding to change.
36 </para>
37 </listitem>
38 </varlistentry>
39 <varlistentry>
40 <term><parameter>storageBlockIndex</parameter></term>
41 <listitem>
42 <para>
43 The index storage block within the program.
44 </para>
45 </listitem>
46 </varlistentry>
47 <varlistentry>
48 <term><parameter>storageBlockBinding</parameter></term>
49 <listitem>
50 <para>
51 The index storage block binding to associate with the specified storage block.
52 </para>
53 </listitem>
54 </varlistentry>
55 </variablelist>
56 </refsect1>
57 <refsect1 id="description"><title>Description</title>
58 <para>
59 <function>glShaderStorageBlockBinding</function>, changes the active
60 shader storage block with an assigned index of <parameter>storageBlockIndex</parameter>
61 in program object <parameter>program</parameter>. <parameter>storageBlockIndex</parameter> must be an active shader storage block
62 index in <parameter>program</parameter>. <parameter>storageBlockBinding</parameter> must be less than the value of <constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant>.
63 If successful, <function>glShaderStorageBinding</function> specifies that <parameter>program</parameter> will use the data store of
64 the buffer object bound to the binding point <parameter>storageBlockBinding</parameter> to read
65 and write the values of the buffer variables in the shader storage block identified by <parameter>storageBlockIndex</parameter>.
66 </para>
67 </refsect1>
68 <refsect1 id="errors"><title>Errors</title>
69 <para>
70 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>attribindex</parameter> is greater than
71 or equal to the value of <constant>GL_MAX_VERTEX_ATTRIBS</constant>.
72 </para>
73 <para>
74 <constant>GL_INVAILD_VALUE</constant> is generated if <parameter>bindingindex</parameter> is greater than
75 or equal to the value of <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant>.
76 </para>
77 <para>
78 <constant>GL_INVALID_OPERATION</constant> is generated if no vertex array object is bound.
79 </para>
80 </refsect1>
81 <refsect1 id="associatedgets"><title>Associated Gets</title>
82 <para>
83 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with arguments <constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant>,
84 <constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant>, <constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant>,
85 <constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant>,
86 <constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant>,
87 <constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant> or <constant>GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS</constant>,
88 <constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant>, or <constant>GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES</constant>.
89 </para>
90 </refsect1>
91 <refsect1 id="Copyright"><title>Copyright</title>
92 <para>
93 Copyright <trademark class="copyright"></trademark> 2012 Khronos Group.
94 This material may be distributed subject to the terms and conditions set forth in
95 the Open Publication License, v 1.0, 8 June 1999.
96 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
97 </para>
98 </refsect1>
99 </refentry>