include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man4 / glTexStorage3DMultisample.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="glTexStorage3DMultisample">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2012</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glTexStorage3DMultisample</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glTexStorage3DMultisample</refname>
17 <refpurpose>specify storage for a two-dimensional multisample array texture</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glTexStorage3DMultisample</function></funcdef>
23 <paramdef>GLenum <parameter>target</parameter></paramdef>
24 <paramdef>GLsizei <parameter>samples</parameter></paramdef>
25 <paramdef>GLenum <parameter>internalformat</parameter></paramdef>
26 <paramdef>GLsizei <parameter>width</parameter></paramdef>
27 <paramdef>GLsizei <parameter>height</parameter></paramdef>
28 <paramdef>GLsizei <parameter>depth</parameter></paramdef>
29 <paramdef>GLboolean <parameter>fixedsamplelocations</parameter></paramdef>
30 </funcprototype>
31 </funcsynopsis>
32 </refsynopsisdiv>
33 <refsect1 id="parameters"><title>Parameters</title>
34 <variablelist>
35 <varlistentry>
36 <term><parameter>target</parameter></term>
37 <listitem>
38 <para>
39 Specify the target of the operation. <parameter>target</parameter> must be
40 <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant> or <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE_MULTISAMPLE</constant>.
41 </para>
42 </listitem>
43 </varlistentry>
44 <varlistentry>
45 <term><parameter>samples</parameter></term>
46 <listitem>
47 <para>
48 Specify the number of samples in the texture.
49 </para>
50 </listitem>
51 </varlistentry>
52 <varlistentry>
53 <term><parameter>internalformat</parameter></term>
54 <listitem>
55 <para>
56 Specifies the sized internal format to be used to store texture image data.
57 </para>
58 </listitem>
59 </varlistentry>
60 <varlistentry>
61 <term><parameter>width</parameter></term>
62 <listitem>
63 <para>
64 Specifies the width of the texture, in texels.
65 </para>
66 </listitem>
67 </varlistentry>
68 <varlistentry>
69 <term><parameter>height</parameter></term>
70 <listitem>
71 <para>
72 Specifies the height of the texture, in texels.
73 </para>
74 </listitem>
75 </varlistentry>
76 <varlistentry>
77 <term><parameter>depth</parameter></term>
78 <listitem>
79 <para>
80 Specifies the depth of the texture, in layers.
81 </para>
82 </listitem>
83 </varlistentry>
84 <varlistentry>
85 <term><parameter>fixedsamplelocations</parameter></term>
86 <listitem>
87 <para>
88 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
89 depend on the internal format or size of the image.
90 </para>
91 </listitem>
92 </varlistentry>
93 </variablelist>
94 </refsect1>
95 <refsect1 id="description"><title>Description</title>
96 <para>
97 <function>glTexStorage3DMultisample</function> specifies the storage requirements for
98 a two-dimensional multisample array texture. Once a texture is specified with this
99 command, its format and dimensions become immutable unless it is a proxy
100 texture. The contents of the image may still be modified, however, its storage requirements
101 may not change. Such a texture is referred to as an <emphasis>immutable-format</emphasis>
102 texture.
103 </para>
104 <para>
105 <parameter>samples</parameter> specifies the number of samples to be used for the texture
106 and must be greater than zero and less than or equal to the value of <constant>GL_MAX_SAMPLES</constant>.
107 <parameter>internalformat</parameter> must be a color-renderable, depth-renderable, or stencil-renderable format.
108 <parameter>width</parameter> and <parameter>height</parameter> specify the width and height,
109 respectively, of the texture and <parameter>depth</parameter> specifies the depth (or the number of layers)
110 of the texture. If <parameter>fixedsamplelocations</parameter> is <constant>GL_TRUE</constant>,
111 the image will use identical sample locations and the same number of samples for all texels in the image,
112 and the sample locations will not depend on the internal format or size of the image.
113 </para>
114 <para>
115 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="internalformattable.xml" />
116 </para>
117 </refsect1>
118 <refsect1 id="errors"><title>Errors</title>
119 <para>
120 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not a
121 valid color-renderable, depth-renderable or stencil-renderable format.
122 </para>
123 <para>
124 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
125 one of the accepted target enumerants.
126 </para>
127 <para>
128 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> or <parameter>height</parameter>
129 are less than 1 or greater than the value of <constant>GL_MAX_TEXTURE_SIZE</constant>.
130 </para>
131 <para>
132 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>depth</parameter>
133 is less than 1 or greater than the value of <constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant>.
134 </para>
135 <para>
136 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>samples</parameter> is greater than the
137 value of <constant>GL_MAX_SAMPLES</constant>.
138 </para>
139 <para>
140 <constant>GL_INVALID_OPERATION</constant> is generated if the value of <constant>GL_TEXTURE_IMMUTABLE_FORMAT</constant>
141 for the texture bound to <parameter>target</parameter> is not <constant>GL_FALSE</constant>.
142 </para>
143 </refsect1>
144 <refsect1 id="associatedgets"><title>Associated Gets</title>
145 <para>
146 <citerefentry><refentrytitle>glGetInteger</refentrytitle></citerefentry> with arguments <constant>GL_MAX_TEXTURE_SIZE</constant>,
147 <constant>GL_MAX_ARRAY_TEXTURE_LEVELS</constant>, <constant>GL_TEXTURE_VIEW_MIN_LAYER</constant>,
148 <constant>GL_TEXTURE_VIEW_NUM_LAYERS</constant>, or <constant>GL_TEXTURE_IMMUTABLE_LEVELS</constant>.
149 </para>
150 </refsect1>
151 <refsect1 id="seealso"><title>See Also</title>
152 <para>
153 <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
154 <citerefentry><refentrytitle>glTexImage3DMultisample</refentrytitle></citerefentry>,
155 <citerefentry><refentrytitle>glTexStorage1D</refentrytitle></citerefentry>,
156 <citerefentry><refentrytitle>glTexStorage2DMultisample</refentrytitle></citerefentry>,
157 <citerefentry><refentrytitle>glTexStorage3D</refentrytitle></citerefentry>.
158 </para>
159 </refsect1>
160 <refsect1 id="Copyright"><title>Copyright</title>
161 <para>
162 Copyright <trademark class="copyright"></trademark> 2012 Khronos Group.
163 This material may be distributed subject to the terms and conditions set forth in
164 the Open Publication License, v 1.0, 8 June 1999.
165 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
166 </para>
167 </refsect1>
168 </refentry>