File: glClearBufferSubData.xml

package info (click to toggle)
khronos-opengl-man4 1.0~svn33624-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 6,304 kB
  • sloc: xml: 93,066; makefile: 730; python: 627; javascript: 55; sh: 50; php: 4
file content (234 lines) | stat: -rw-r--r-- 10,724 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>

<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glClearBufferSubData">
    <info>
        <copyright>
            <year>2014</year>
            <holder>Khronos Group</holder>
        </copyright>
    </info>
    <refmeta>
        <refentrytitle>glClearBufferSubData</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>glClearBufferSubData</refname>
        <refname>glClearNamedBufferSubData</refname>
        <refpurpose>fill all or part of buffer object's data store with a fixed value</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glClearBufferSubData</function></funcdef>
                <paramdef>GLenum <parameter>target</parameter></paramdef>
                <paramdef>GLenum <parameter>internalformat</parameter></paramdef>
                <paramdef>GLintptr <parameter>offset</parameter></paramdef>
                <paramdef>GLsizeiptr <parameter>size</parameter></paramdef>
                <paramdef>GLenum <parameter>format</parameter></paramdef>
                <paramdef>GLenum <parameter>type</parameter></paramdef>
                <paramdef>const void * <parameter>data</parameter></paramdef>
            </funcprototype>
            <funcprototype>
                <funcdef>void <function>glClearNamedBufferSubData</function></funcdef>
                <paramdef>GLuint <parameter>buffer</parameter></paramdef>
                <paramdef>GLenum <parameter>internalformat</parameter></paramdef>
                <paramdef>GLintptr <parameter>offset</parameter></paramdef>
                <paramdef>GLsizei <parameter>size</parameter></paramdef>
                <paramdef>GLenum <parameter>format</parameter></paramdef>
                <paramdef>GLenum <parameter>type</parameter></paramdef>
                <paramdef>const void *<parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 xml:id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>target</parameter></term>
            <listitem>
                <para>
                    Specifies the target to which the buffer object is bound
                    for <function>glClearBufferSubData</function>, which
                    must be one of the buffer binding targets in the
                    following table:
                </para>
                <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bufferbindings.xml"/>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>buffer</parameter></term>
            <listitem>
                <para>
                    Specifies the name of the buffer object for
                    <function>glClearNamedBufferSubData</function>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>internalformat</parameter></term>
            <listitem>
                <para>
                    The internal format with which the data will be stored
                    in the buffer object.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>offset</parameter></term>
            <listitem>
                <para>
                    The offset in basic machine units into the buffer
                    object's data store at which to start filling.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>size</parameter></term>
            <listitem>
                <para>
                    The size in basic machine units of the range of the
                    data store to fill.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>format</parameter></term>
            <listitem>
                <para>
                    The format of the data in memory addressed by
                    <parameter>data</parameter>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>type</parameter></term>
            <listitem>
                <para>
                    The type of the data in memory addressed by
                    <parameter>data</parameter>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>data</parameter></term>
            <listitem>
                <para>
                    The address of a memory location storing the data to be
                    replicated into the buffer's data store.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 xml:id="description"><title>Description</title>
        <para>
            <function>glClearBufferSubData</function> and
            <function>glClearNamedBufferSubData</function> fill a specified
            region of a buffer object's data store with data from client
            memory. 
        </para>
        <para>
            <parameter>offset</parameter> and <parameter>size</parameter>
            specify the extent of the region within the data store of the
            buffer object to fill with data. Data, initially supplied in a
            format specified by <parameter>format</parameter> in data type
            <parameter>type</parameter> is read from the memory address
            given by <parameter>data</parameter> and converted into the
            internal representation given by
            <parameter>internalformat</parameter>, which must be one of the
            following sized internal formats:
        </para>
        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texboformattable.xml"/>
        <para>
            This converted data is then replicated throughout the specified
            region of the buffer object's data store. If
            <parameter>data</parameter> is NULL, then the subrange of the
            buffer's data store is filled with zeros.
        </para>
    </refsect1>
    <refsect1 xml:id="errors"><title>Errors</title>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated by
            <function>glClearBufferSubData</function> if
            <parameter>target</parameter> is not one of the generic buffer
            binding targets.
        </para>
        <para>
            <constant>GL_INVALID_VALUE</constant> is generated by
            <function>glClearBufferSubData</function> if no buffer is bound
            to <parameter>target</parameter>.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated by
            <function>glClearNamedBufferSubData</function> if
            <parameter>buffer</parameter> is not the name of an existing
            buffer object.
        </para>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated if
            <parameter>internalformat</parameter> is not one of the valid
            sized internal formats listed in the table above.
        </para>
        <para>
            <constant>GL_INVALID_VALUE</constant> is generated if
            <parameter>offset</parameter> or <parameter>range</parameter>
            are not multiples of the number of basic machine units
            per-element for the internal format specified by
            <parameter>internalformat</parameter>. This value may be
            computed by multiplying the number of components for
            <parameter>internalformat</parameter> from the table by the size
            of the base type from the table.
        </para>
        <para>
            <constant>GL_INVALID_VALUE</constant> is generated if
            <parameter>offset</parameter> or <parameter>size</parameter> is
            negative, or if $offset + size$ is greater than the value of
            <constant>GL_BUFFER_SIZE</constant> for the buffer object.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated if any
            part of the specified range of the buffer object is mapped with
            <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry>
            or
            <citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
            unless it was mapped with the
            <constant>GL_MAP_PERSISTENT_BIT</constant> bit set in the
            <function>glMapBufferRange</function>
            <parameter>access</parameter> flags.
        </para>
        <para>
            <constant>GL_INVALID_VALUE</constant> is generated if
            <parameter>format</parameter> is not a valid format, or
            <parameter>type</parameter> is not a valid type.
        </para>
    </refsect1>
    <refsect1 xml:id="versions"><title>Version Support</title>
        <informaltable>
            <tgroup cols="13" align="left">
                <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apifunchead.xml" xpointer="xpointer(/*/*)"/>
                <tbody>
                    <row>
                        <entry><function>glClearBufferSubData</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='43']/*)"/>
                    </row>
                    <row>
                        <entry><function>glClearNamedBufferSubData</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='45']/*)"/>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect1>
    <refsect1 xml:id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>glClearBufferData</refentrytitle></citerefentry>.
        </para>
    </refsect1>
    <refsect1 xml:id="Copyright"><title>Copyright</title>
        <para>
            Copyright <trademark class="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.
            <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://opencontent.org/openpub/">http://opencontent.org/openpub/</link>.
        </para>
    </refsect1>
</refentry>