Specifies the target of the operation. <parameter>target</parameter> must be <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>samples</parameter></term>
<listitem>
<para>
The number of samples in the multisample texture's image.
The internal format to be used to store the multisample texture's image. <parameter>internalformat</parameter> must specify a color-renderable, depth-renderable, or stencil-renderable format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
The width of the multisample texture's image, in texels.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
The height of the multisample texture's image, in texels.
Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
depend on the internal format or size of the image.
<function>glTexImage2DMultisample</function> establishes the data storage, format, dimensions and number of samples of a multisample texture's image.
</para>
<para>
<parameter>target</parameter> must be <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE</constant>.
<parameter>width</parameter> and <parameter>height</parameter> are the dimensions in texels of the texture, and must be in the range zero
to <constant>GL_MAX_TEXTURE_SIZE</constant> - 1. <parameter>samples</parameter> specifies the number of samples in the image and must be
in the range zero to <constant>GL_MAX_SAMPLES</constant> - 1.
</para>
<para>
<parameter>internalformat</parameter> must be a color-renderable, depth-renderable, or stencil-renderable format.
</para>
<para>
If <parameter>fixedsamplelocations</parameter> is <constant>GL_TRUE</constant>, the image will use identical sample locations and the same
number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
</para>
<para>
When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer
corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the
multisample texture targets.
</para>
</refsect1>
<refsect1id="notes"><title>Notes</title>
<para>
<function>glTexImage2DMultisample</function> is available only if the GL version is 3.2 or greater.
</para>
</refsect1>
<refsect1id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a depth- or stencil-renderable format and <parameter>samples</parameter>
is greater than the value of <constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a color-renderable format and <parameter>samples</parameter> is
greater than the value of <constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a signed or unsigned integer format and <parameter>samples</parameter>
is greater than the value of <constant>GL_MAX_INTEGER_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if either <parameter>width</parameter> or <parameter>height</parameter> negative or is greater than <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>samples</parameter> is greater than <constant>GL_MAX_SAMPLES</constant>.