<function>glClearBufferData</function> fills the entirety of a buffer object's
data store with data from client memory. 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>internalforamt</parameter>.
This converted data is then replicated throughout the buffer object's
data store.
</para>
<para>
If <parameter>data</parameter> is NULL, then the buffer's data store
is filled with zeros.
</para>
</refsect1>
<refsect1id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> not one of the generic buffer binding targets.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if no buffer is bound to <parameter>target</parameter>.
</para>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not a sized internal format.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if any part of the buffer's data store is
mapped with <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glMapBuffer.</refentrytitle></citerefentry>