This commit is contained in:
Stefanos A 2013-10-24 01:47:00 +02:00
commit 7aa5499f3e
119 changed files with 13067 additions and 2581 deletions

View file

@ -2,62 +2,24 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK", "Source\OpenTK\OpenTK.csproj", "{A37A7E14-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.Compatibility", "Source\Compatibility\OpenTK.Compatibility.csproj", "{62C0DB35-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.Examples", "Source\Examples\OpenTK.Examples.csproj", "{868E37B3-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.GLControl", "Source\GLControl\OpenTK.GLControl.csproj", "{A625BE88-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Installer.Nsis", "Installers\Nsis\Build.Installer.Nsis.csproj", "{ADC34399-7613-44D2-90B2-19250F06FE7A}"
ProjectSection(ProjectDependencies) = postProject
{A37A7E14-0000-0000-0000-000000000000} = {A37A7E14-0000-0000-0000-000000000000}
{31D19132-0000-0000-0000-000000000000} = {31D19132-0000-0000-0000-000000000000}
{62C0DB35-0000-0000-0000-000000000000} = {62C0DB35-0000-0000-0000-000000000000}
{650C6F3D-33B5-4216-9536-956AB42C0624} = {650C6F3D-33B5-4216-9536-956AB42C0624}
{A625BE88-0000-0000-0000-000000000000} = {A625BE88-0000-0000-0000-000000000000}
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
{868E37B3-0000-0000-0000-000000000000} = {868E37B3-0000-0000-0000-000000000000}
{5FDFF4B6-0000-0000-0000-000000000000} = {5FDFF4B6-0000-0000-0000-000000000000}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Docs", "Documentation\Build.Docs.csproj", "{650C6F3D-33B5-4216-9536-956AB42C0624}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Generator.Bind", "Source\Bind\Generator.Bind.csproj", "{31D19132-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Generator.Convert", "Source\Converter\Generator.Convert.csproj", "{5FDFF4B6-0000-0000-0000-000000000000}"
ProjectSection(ProjectDependencies) = postProject
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.UpdateVersion", "Source\Build.UpdateVersion\Build.UpdateVersion.csproj", "{75DC22B1-113F-4A66-96B9-2FF8208C10E8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Installer.Zip", "Installers\Zip\Build.Installer.Zip.csproj", "{ADC34399-7613-44D2-90B2-19250F06FE7B}"
ProjectSection(ProjectDependencies) = postProject
{A37A7E14-0000-0000-0000-000000000000} = {A37A7E14-0000-0000-0000-000000000000}
{31D19132-0000-0000-0000-000000000000} = {31D19132-0000-0000-0000-000000000000}
{62C0DB35-0000-0000-0000-000000000000} = {62C0DB35-0000-0000-0000-000000000000}
{650C6F3D-33B5-4216-9536-956AB42C0624} = {650C6F3D-33B5-4216-9536-956AB42C0624}
{A625BE88-0000-0000-0000-000000000000} = {A625BE88-0000-0000-0000-000000000000}
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
{868E37B3-0000-0000-0000-000000000000} = {868E37B3-0000-0000-0000-000000000000}
{5FDFF4B6-0000-0000-0000-000000000000} = {5FDFF4B6-0000-0000-0000-000000000000}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -132,7 +94,7 @@ Global
{ADC34399-7613-44D2-90B2-19250F06FE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = Source\Examples\OpenTK.Examples.csproj
StartupItem = Source\Converter\Generator.Convert.csproj
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -64,6 +64,7 @@ namespace Bind
{
TranslateReturnType(nav, d, enums);
TranslateParameters(nav, d, enums);
TranslateAttributes(nav, d, enums);
}
Console.WriteLine("Generating wrappers.");
@ -120,9 +121,9 @@ namespace Bind
string ext = d.Extension;
var function_override =
nav.SelectSingleNode(String.Format(Path, name, ext)) ??
nav.SelectSingleNode(String.Format(Path, d.Name, ext)) ??
nav.SelectSingleNode(String.Format(Path, Utilities.StripGL2Extension(d.Name), ext));
nav.SelectSingleNode(String.Format(Path, Utilities.StripGL2Extension(d.Name), ext)) ??
nav.SelectSingleNode(String.Format(Path, name, ext));
return function_override;
}
@ -216,6 +217,26 @@ namespace Bind
}
}
void TranslateAttributes(XPathNavigator nav, Delegate d, EnumCollection enums)
{
var function_override = GetFuncOverride(nav, d);
if (function_override != null)
{
var version_override = function_override.SelectSingleNode("version");
if (version_override != null)
{
d.Version = version_override.Value;
}
var profile_override = function_override.SelectSingleNode("profile");
if (profile_override != null)
{
Debug.Print("Profile override not yet implemented");
}
}
}
static FunctionCollection CreateWrappers(DelegateCollection delegates, EnumCollection enums)
{
var wrappers = new FunctionCollection();

View file

@ -33,7 +33,7 @@
<para>
Specifies which texture unit to make active. The number
of texture units is implementation dependent, but must be at least
two. <parameter>texture</parameter> must be one of
80. <parameter>texture</parameter> must be one of
<constant>GL_TEXTURE<emphasis>i</emphasis></constant>,
where
<emphasis>i</emphasis> ranges from 0 (<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant> - 1).
@ -47,7 +47,7 @@
<para>
<function>glActiveTexture</function> selects which texture unit subsequent texture state calls will
affect. The number of texture units an implementation supports is
implementation dependent, but must be at least 48.
implementation dependent, but must be at least 80.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>

View file

@ -35,6 +35,7 @@
Specifies the target type of query object established between
<function>glBeginQuery</function> and the subsequent <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
<constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>,
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
<constant>GL_TIME_ELAPSED</constant>.
</para>
@ -67,6 +68,7 @@
<para>
Specifies the target type of query object to be concluded.
The symbolic constant must be one of <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
<constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>,
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, or
<constant>GL_TIME_ELAPSED</constant>.
</para>
@ -85,7 +87,7 @@
object depends on its type and is as follows.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>id</parameter> must be an unused name,
or the name of an existing occlusion query object.
When <function>glBeginQuery</function> is executed, the query object's samples-passed counter is reset to 0. Subsequent
rendering will increment the counter for every sample that passes the depth test. If the value of <constant>GL_SAMPLE_BUFFERS</constant>
@ -98,16 +100,19 @@
<constant>GL_QUERY_RESULT</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
or the name of an existing boolean occlusion query object.
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant> or <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>,
<parameter>id</parameter> must be an unused name, or the name of an existing boolean occlusion query object.
When <function>glBeginQuery</function> is executed, the query object's samples-passed flag is reset to <constant>GL_FALSE</constant>.
Subsequent rendering causes the flag to be set to <constant>GL_TRUE</constant> if any sample passes the depth test. When
Subsequent rendering causes the flag to be set to <constant>GL_TRUE</constant> if any sample passes the depth test in the case of <constant>GL_ANY_SAMPLES_PASSED</constant>,
or if the implementation determines that any sample might pass the depth test in the case of <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>.
The implementation may be able to provide a more efficient test in the case of <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>
if some false positives are acceptable to the application. When
<function>glEndQuery</function> is executed, the samples-passed flag is assigned to the query object's result value. This value can
be queried by calling <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry> with <parameter>pname</parameter>
<constant>GL_QUERY_RESULT</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>target</parameter> must be an unused
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>id</parameter> must be an unused
name, or the name of an existing primitive query object previously bound to the <constant>GL_PRIMITIVES_GENERATED</constant> query binding.
When <function>glBeginQuery</function> is executed, the query object's primitives-generated counter is reset to 0. Subsequent
rendering will increment the counter once for every vertex that is emitted from the geometry shader, or from the vertex shader if
@ -116,7 +121,7 @@
<constant>GL_QUERY_RESULT</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>target</parameter> must be
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>id</parameter> must be
an unused name, or the name of an existing primitive query object previously bound to the <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>
query binding. When <function>glBeginQuery</function> is executed, the query object's primitives-written counter is reset to 0. Subsequent
rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s). If transform feedback
@ -126,7 +131,7 @@
<constant>GL_QUERY_RESULT</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>target</parameter> must be
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>id</parameter> must be
an unused name, or the name of an existing timer query object previously bound to the <constant>GL_TIME_ELAPSED</constant>
query binding. When <function>glBeginQuery</function> is executed, the query object's time counter is reset to 0. When <function>glEndQuery</function>
is executed, the elapsed server time that has passed since the call to <function>glBeginQuery</function> is written into the query object's
@ -160,6 +165,9 @@
The query targets <constant>GL_ANY_SAMPLES_PASSED</constant>, and <constant>GL_TIME_ELAPSED</constant> are availale only if
the GL version is 3.3 or higher.
</para>
<para>
The query target <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant> is available only of the GL version is 4.3 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -195,7 +203,8 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2010-2012 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -107,7 +107,7 @@
maximum.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
If <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>id</parameter> must be an unused name,
or the name of an existing occlusion query object.
When <function>glBeginQueryIndexed</function> is executed, the query object's samples-passed counter is reset to 0. Subsequent
rendering will increment the counter for every sample that passes the depth test. If the value of <constant>GL_SAMPLE_BUFFERS</constant>
@ -121,7 +121,7 @@
When <parameter>target</parameter> is <constant>GL_SAMPLES_PASSED</constant>, <parameter>index</parameter> must be zero.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>target</parameter> must be an unused name,
If <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>id</parameter> must be an unused name,
or the name of an existing boolean occlusion query object.
When <function>glBeginQueryIndexed</function> is executed, the query object's samples-passed flag is reset to <constant>GL_FALSE</constant>.
Subsequent rendering causes the flag to be set to <constant>GL_TRUE</constant> if any sample passes the depth test. When
@ -131,7 +131,7 @@
When <parameter>target</parameter> is <constant>GL_ANY_SAMPLES_PASSED</constant>, <parameter>index</parameter> must be zero.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>target</parameter> must be an unused
If <parameter>target</parameter> is <constant>GL_PRIMITIVES_GENERATED</constant>, <parameter>id</parameter> must be an unused
name, or the name of an existing primitive query object previously bound to the <constant>GL_PRIMITIVES_GENERATED</constant> query binding.
When <function>glBeginQueryIndexed</function> is executed, the query object's primitives-generated counter is reset to 0. Subsequent
rendering will increment the counter once for every vertex that is emitted from the geometry shader to the stream given by <parameter>index</parameter>,
@ -143,7 +143,7 @@
less than the value of <constant>GL_MAX_VERTEX_STREAMS</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>target</parameter> must be
If <parameter>target</parameter> is <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>, <parameter>id</parameter> must be
an unused name, or the name of an existing primitive query object previously bound to the <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>
query binding. When <function>glBeginQueryIndexed</function> is executed, the query object's primitives-written counter for the stream specified by
<parameter>index</parameter> is reset to 0. Subsequent rendering will increment the counter once for every vertex that is written into the bound
@ -156,7 +156,7 @@
less than the value of <constant>GL_MAX_VERTEX_STREAMS</constant>.
</para>
<para>
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>target</parameter> must be
If <parameter>target</parameter> is <constant>GL_TIME_ELAPSED</constant>, <parameter>id</parameter> must be
an unused name, or the name of an existing timer query object previously bound to the <constant>GL_TIME_ELAPSED</constant>
query binding. When <function>glBeginQueryIndexed</function> is executed, the query object's time counter is reset to 0. When <function>glEndQueryIndexed</function>
is executed, the elapsed server time that has passed since the call to <function>glBeginQueryIndexed</function> is written into the query object's

View file

@ -34,11 +34,16 @@
Specifies the target to which the buffer object is bound.
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -92,6 +97,17 @@
the vertex array pointer parameter is interpreted as an offset within the
buffer object measured in basic machine units.
</para>
<para>
When a non-zero buffer object is bound to the <constant>GL_DRAW_INDIRECT_BUFFER</constant> target,
parameters for draws issued through <citerefentry><refentrytitle>glDrawArraysIndirect</refentrytitle></citerefentry>
and <citerefentry><refentrytitle>glDrawElementsIndirect</refentrytitle></citerefentry> are sourced
from the specified offset in that buffer object's data store.
</para>
<para>
When a non-zero buffer object is bound to the <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> target,
the parameters for compute dispatches issued through <citerefentry><refentrytitle>glDispatchComputeIndirect</refentrytitle></citerefentry>
are sourced from the specified offset in that buffer object's data store.
</para>
<para>
While a non-zero buffer object is bound to the <constant>GL_ELEMENT_ARRAY_BUFFER</constant> target,
the indices parameter of <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
@ -138,13 +154,20 @@
but will not directly affect transform feedback state. Instead, the indexed <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>
bindings must be used through a call to <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>
or <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>. This will affect the generic
<constant>GL_TRANSFORM_FEEDABCK_BUFFER</constant> binding.
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> binding.
</para>
<para>
Likewise, the <constant>GL_UNIFORM_BUFFER</constant> buffer binding point may be used, but does not directly affect
uniform buffer state. <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>
Likewise, the <constant>GL_UNIFORM_BUFFER</constant>, <constant>GL_ATOMIC_COUNTER_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant>
buffer binding points may
be used, but do not directly affect uniform buffer, atomic counter buffer or shader storage buffer state, respectively.
<citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>
or <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry> must be used to bind a buffer to
an indexed uniform buffer binding point.
an indexed uniform buffer, atomic counter buffer or shader storage buffer binding point.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> binding point is used to specify a buffer object that is to
receive the results of query objects through calls to the <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>
family of commands.
</para>
<para>
A buffer object binding created with <function>glBindBuffer</function> remains active until a different
@ -162,6 +185,15 @@
The <constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> and
<constant>GL_TEXTURE_BUFFER</constant> targets are available only if the GL version is 3.1 or greater.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -177,12 +209,21 @@
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ARRAY_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ATOMIC_COUNTER_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COPY_READ_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COPY_WRITE_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DRAW_INDIRECT_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_ELEMENT_ARRAY_BUFFER_BINDING</constant>
</para>
@ -192,6 +233,9 @@
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TRANSFORM_FEEDBACK_BUFFER_BINDING</constant>
</para>
@ -213,7 +257,8 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -20,9 +20,9 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glBindBufferBase</function></funcdef>
<paramdef>GLenum<parameter>target</parameter></paramdef>
<paramdef>GLuint<parameter>index</parameter></paramdef>
<paramdef>GLuint<parameter>buffer</parameter></paramdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLuint <parameter>index</parameter></paramdef>
<paramdef>GLuint <parameter>buffer</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -33,7 +33,9 @@
<listitem>
<para>
Specify the target of the bind operation. <parameter>target</parameter> must be
either <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
one of <constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> or
<constant>GL_SHADER_STORAGE_BUFFER</constant>.
</para>
</listitem>
</varlistentry>
@ -68,24 +70,33 @@
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>glBindBufferBase</function> is available only if the GL version is 3.0 or greater.
</para>
<para>
Calling <function>glBindBufferBase</function> is equivalent to calling
<citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry> with <parameter>offset</parameter>
zero and <parameter>size</parameter> equal to the size of the buffer.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_SHADER_STORAGE_BUFFER</constant> target is available only if the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> or
<constant>GL_SHADER_STORAGE_BUFFER</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater
than or equal to the number of <parameter>target</parameter>-specific indexed binding points.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>buffer</parameter> does
not have an associated data store, or if the size of that store is zero.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
@ -98,7 +109,7 @@
</para>
</refsect1> <refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2011 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -35,7 +35,9 @@
<listitem>
<para>
Specify the target of the bind operation. <parameter>target</parameter> must be
either <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
one of <constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant>,
or <constant>GL_SHADER_STORAGE_BUFFER</constant>.
</para>
</listitem>
</varlistentry>
@ -82,7 +84,7 @@
as a single general binding point that can be used by other buffer manipulation functions such as
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry> or
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>. In addition to binding
a range of <parameter>buffer</parameter> to the indexed buffer binding target, <function>glBindBufferBase</function>
a range of <parameter>buffer</parameter> to the indexed buffer binding target, <function>glBindBufferRange</function>
also binds the range to the generic buffer binding point specified by <parameter>target</parameter>.
</para>
<para>
@ -91,10 +93,20 @@
can be read from the buffer object while used as an indexed target.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_SHADER_STORAGE_BUFFER</constant> target is available only if the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>.
one of <constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> or
<constant>GL_SHADER_STORAGE_BUFFER</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>index</parameter> is greater
@ -122,7 +134,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2011 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -112,7 +112,7 @@
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DRAW_BUFFERS</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFERS</constant>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>colorNumber</parameter> is greater than or equal to <constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant>
and <parameter>index</parameter> is greater than or equal to one.
</para>
<para>

View file

@ -67,7 +67,7 @@
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>unit</parameter> is greater than or equal to the value of
<constant>GL_MAX_COMBIED_TEXTURE_IMAGE_UNITS</constant>.
<constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>sampler</parameter> is not zero or a name previously

View file

@ -32,14 +32,16 @@
<listitem>
<para>
Specifies the target to which the texture is bound.
Must be either
Must be one of
<constant>GL_TEXTURE_1D</constant>,
<constant>GL_TEXTURE_2D</constant>,
<constant>GL_TEXTURE_3D</constant>, or
<constant>GL_TEXTURE_3D</constant>,
<constant>GL_TEXTURE_1D_ARRAY</constant>,
<constant>GL_TEXTURE_2D_ARRAY</constant>,
<constant>GL_TEXTURE_RECTANGLE</constant>,
<constant>GL_TEXTURE_CUBE_MAP</constant>,
<constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or
<constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>.
</para>
@ -59,9 +61,17 @@
<para>
<function>glBindTexture</function> lets you create or use a named texture. Calling <function>glBindTexture</function> with
<parameter>target</parameter> set to
<constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant>, or
<constant>GL_TEXTURE_1D_ARRAY</constant>, <constant>GL_TEXTURE_2D_ARRAY</constant>, <constant>GL_TEXTURE_RECTANGLE</constant>,
<constant>GL_TEXTURE_CUBE_MAP</constant>, <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>
<constant>GL_TEXTURE_1D</constant>,
<constant>GL_TEXTURE_2D</constant>,
<constant>GL_TEXTURE_3D</constant>,
<constant>GL_TEXTURE_1D_ARRAY</constant>,
<constant>GL_TEXTURE_2D_ARRAY</constant>,
<constant>GL_TEXTURE_RECTANGLE</constant>,
<constant>GL_TEXTURE_CUBE_MAP</constant>,
<constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or
<constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>
and <parameter>texture</parameter> set to the name of the new texture binds the texture name to the target.
When a texture is bound to a target, the previous binding for that target is automatically broken.
</para>
@ -83,8 +93,10 @@
texture first bound to <constant>GL_TEXTURE_3D</constant> becomes three-dimensional texture, a
texture first bound to <constant>GL_TEXTURE_1D_ARRAY</constant> becomes one-dimensional array texture, a
texture first bound to <constant>GL_TEXTURE_2D_ARRAY</constant> becomes two-dimensional arary texture, a
texture first bound to <constant>GL_TEXTURE_RECTANGLE</constant> becomes rectangle texture, a,
texture first bound to <constant>GL_TEXTURE_RECTANGLE</constant> becomes rectangle texture, a
texture first bound to <constant>GL_TEXTURE_CUBE_MAP</constant> becomes a cube-mapped texture, a
texture first bound to <constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant> becomes a cube-mapped array texture, a
texture first bound to <constant>GL_TEXTURE_BUFFER</constant> becomes a buffer texture, a
texture first bound to <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> becomes a two-dimensional multisampled texture, and a
texture first bound to <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant> becomes a two-dimensional multisampled array texture.
The state of a one-dimensional texture immediately after it is first bound is equivalent to the state of the
@ -135,7 +147,10 @@
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BINDING_1D</constant>,
<constant>GL_TEXTURE_BINDING_2D</constant>, <constant>GL_TEXTURE_BINDING_3D</constant>, <constant>GL_TEXTURE_BINDING_1D_ARRAY</constant>,
<constant>GL_TEXTURE_BINDING_2D_ARRAY</constant>, <constant>GL_TEXTURE_BINDING_RECTANGLE</constant>, <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant>,
<constant>GL_TEXTURE_BINDING_2D_ARRAY</constant>, <constant>GL_TEXTURE_BINDING_RECTANGLE</constant>,
<constant>GL_TEXTURE_BINDING_BUFFER</constant>, <constant>GL_TEXTURE_BINDING_CUBE_MAP</constant>, <constant>GL_TEXTURE_BINDING_CUBE_MAP</constant>,
<constant>GL_TEXTURE_BINDING_CUBE_MAP_ARRAY</constant>,
<constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant>,
or <constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant>.
</para>
</refsect1>
@ -151,6 +166,7 @@
<citerefentry><refentrytitle>glTexImage2DMultisample</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3DMultisample</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexBuffer</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
</para>
</refsect1>

View file

@ -20,10 +20,10 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glBlendColor</function></funcdef>
<paramdef>GLclampf <parameter>red</parameter></paramdef>
<paramdef>GLclampf <parameter>green</parameter></paramdef>
<paramdef>GLclampf <parameter>blue</parameter></paramdef>
<paramdef>GLclampf <parameter>alpha</parameter></paramdef>
<paramdef>GLfloat <parameter>red</parameter></paramdef>
<paramdef>GLfloat <parameter>green</parameter></paramdef>
<paramdef>GLfloat <parameter>blue</parameter></paramdef>
<paramdef>GLfloat <parameter>alpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -46,7 +46,7 @@
<refsect1 id="description"><title>Description</title>
<para>
The <constant>GL_BLEND_COLOR</constant> may be used to calculate the source and destination
blending factors. The color components are clamped to the range
blending factors. The color components are clamped to the range
<inlineequation><mml:math>
<!-- eqn: [0,1]: -->
<mml:mfenced open="[" close="]">
@ -59,6 +59,17 @@
Initially the <constant>GL_BLEND_COLOR</constant> is set to (0, 0, 0, 0).
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The type of the <parameter>red</parameter>,
<parameter>green</parameter>, <parameter>blue</parameter>,
and <parameter>alpha</parameter> parameters was changed from
GLclampf to GLfloat. This change is transparent to user code
and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_COLOR</constant>
@ -68,7 +79,8 @@
<para>
<citerefentry><refentrytitle>glBlendEquation</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -22,11 +22,25 @@
<funcdef>void <function>glBlendEquation</function></funcdef>
<paramdef>GLenum <parameter>mode</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glBlendEquationi</function></funcdef>
<paramdef>GLuint <parameter>buf</parameter></paramdef>
<paramdef>GLenum <parameter>mode</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>buf</parameter></term>
<listitem>
<para>
for <function>glBlendEquationi</function>, specifies the index of the draw buffer
for which to set the blend equation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
@ -44,7 +58,9 @@
The blend equations determine how a new pixel (the ''source'' color)
is combined with a pixel already in the framebuffer (the ''destination''
color). This function sets both the RGB blend equation and the alpha
blend equation to a single equation.
blend equation to a single equation. <function>glBlendEquationi</function>
specifies the blend equation for a single draw buffer whereas <function>glBlendEquation</function>
sets the blend equation for all draw buffers.
</para>
<para>
These equations use the source and destination blend factors
@ -732,6 +748,10 @@
<constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated by <function>glBlendEquationi</function> if <parameter>buf</parameter> is greater
than or equal to the value of <constant>GL_MAX_DRAW_BUFFERS</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>

View file

@ -23,11 +23,26 @@
<paramdef>GLenum <parameter>modeRGB</parameter></paramdef>
<paramdef>GLenum <parameter>modeAlpha</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glBlendEquationSeparatei</function></funcdef>
<paramdef>GLuint <parameter>buf</parameter></paramdef>
<paramdef>GLenum <parameter>modeRGB</parameter></paramdef>
<paramdef>GLenum <parameter>modeAlpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>buf</parameter></term>
<listitem>
<para>
for <function>glBlendEquationSeparatei</function>, specifies the index of the draw buffer for which
to set the blend equations.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>modeRGB</parameter></term>
<listitem>
@ -54,8 +69,10 @@
<para>
The blend equations determines how a new pixel (the ''source'' color)
is combined with a pixel already in the framebuffer (the ''destination''
color). This function specifies one blend equation for the RGB-color
components and one blend equation for the alpha component.
color). These functions specifie one blend equation for the RGB-color
components and one blend equation for the alpha component. <function>glBlendEquationSeparatei</function>
specifies the blend equations for a single draw buffer whereas <function>glBlendEquationSeparate</function>
sets the blend equations for all draw buffers.
</para>
<para>
The blend equations use the source and destination blend factors
@ -743,6 +760,10 @@
<constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
<constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated by <function>glBlendEquationSeparatei</function> if <parameter>buf</parameter> is greater
than or equal to the value of <constant>GL_MAX_DRAW_BUFFERS</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>

View file

@ -23,11 +23,26 @@
<paramdef>GLenum <parameter>sfactor</parameter></paramdef>
<paramdef>GLenum <parameter>dfactor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glBlendFunci</function></funcdef>
<paramdef>GLuint <parameter>buf</parameter></paramdef>
<paramdef>GLenum <parameter>sfactor</parameter></paramdef>
<paramdef>GLenum <parameter>dfactor</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>buf</parameter></term>
<listitem>
<para>
For <function>glBlendFunci</function>, specifies the index of the draw
buffer for which to set the blend function.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>sfactor</parameter></term>
<listitem>
@ -75,7 +90,9 @@
to enable and disable blending.
</para>
<para>
<function>glBlendFunc</function> defines the operation of blending when it is enabled.
<function>glBlendFunc</function> defines the operation of blending for all draw buffers when it is enabled.
<function>glBlendFunci</function> defines the operation of blending for a single draw buffer
specified by <parameter>buf</parameter> when enabled for that draw buffer.
<parameter>sfactor</parameter> specifies which method is used to scale the
source color components.
<parameter>dfactor</parameter> specifies which method is used to scale the
@ -1415,13 +1432,23 @@
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>sfactor</parameter>
or <parameter>dfactor</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated by <function>glBlendFunci</function> if <parameter>buf</parameter> is greater
than or equal to the value of <constant>GL_MAX_DRAW_BUFFERS</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_SRC</constant>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_SRC_RGB</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_DST</constant>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_SRC_ALPHA</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_DST_RGB</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_BLEND_DST_ALPHA</constant>
</para>
<para>
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_BLEND</constant>

View file

@ -25,11 +25,28 @@
<paramdef>GLenum <parameter>srcAlpha</parameter></paramdef>
<paramdef>GLenum <parameter>dstAlpha</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glBlendFuncSeparatei</function></funcdef>
<paramdef>GLuint <parameter>buf</parameter></paramdef>
<paramdef>GLenum <parameter>srcRGB</parameter></paramdef>
<paramdef>GLenum <parameter>dstRGB</parameter></paramdef>
<paramdef>GLenum <parameter>srcAlpha</parameter></paramdef>
<paramdef>GLenum <parameter>dstAlpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>buf</parameter></term>
<listitem>
<para>
For <function>glBlendFuncSeparatei</function>, specifies the index of the draw
buffer for which to set the blend functions.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>srcRGB</parameter></term>
<listitem>
@ -79,7 +96,9 @@
to enable and disable blending.
</para>
<para>
<function>glBlendFuncSeparate</function> defines the operation of blending when it is enabled.
<function>glBlendFuncSeparate</function> defines the operation of blending for all draw buffers when it is enabled.
<function>glBlendFuncSeparatei</function> defines the operation of blending for a single draw buffer
specified by <parameter>buf</parameter> when enabled for that draw buffer.
<parameter>srcRGB</parameter> specifies which method is used to scale the
source RGB-color components.
<parameter>dstRGB</parameter> specifies which method is used to scale the
@ -1457,6 +1476,10 @@
<constant>GL_INVALID_ENUM</constant> is generated if either <parameter>srcRGB</parameter> or <parameter>dstRGB</parameter> is not an
accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated by <function>glBlendFuncSeparatei</function> if <parameter>buf</parameter> is greater
than or equal to the value of <constant>GL_MAX_DRAW_BUFFERS</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glBindVertexArray">
<refentry id="glBlitFramebuffer">
<refmeta>
<refmetainfo>
<copyright>
@ -114,11 +114,6 @@
is undefined.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>glBindVertexArray</function> is available only if the GL version is 3.0 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mask</parameter> contains any of the <constant>GL_DEPTH_BUFFER_BIT</constant>
@ -143,7 +138,7 @@
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>mask</parameter> contains <constant>GL_DEPTH_BUFFER_BIT</constant> or
<constant>GL_DEPTH_BUFFER_BIT</constant> and the source and destination depth and stencil formats do not match.
<constant>GL_STENCIL_BUFFER_BIT</constant> and the source and destination depth and stencil formats do not match.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>filter</parameter> is <constant>GL_LINEAR</constant> and the read buffer

View file

@ -35,12 +35,18 @@
<listitem>
<para>
Specifies the target buffer object.
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -163,6 +169,17 @@
a datum comprising <inlineequation><mml:math><mml:mi mathvariant="italic">N</mml:mi> bytes be a
multiple of <mml:mi mathvariant="italic">N</mml:mi></mml:math></inlineequation>.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFFER</constant> target is available only if the GL version
is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version
is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -204,6 +221,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2011-2012 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -35,12 +35,18 @@
<listitem>
<para>
Specifies the target buffer object.
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -101,6 +107,17 @@
a datum comprising <inlineequation><mml:math><mml:mi mathvariant="italic">N</mml:mi> bytes be a
multiple of <mml:mi mathvariant="italic">N</mml:mi></mml:math></inlineequation>.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFFER</constant> target is available only if the GL version
is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version
is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>

View file

@ -64,7 +64,7 @@
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER</constant> is returned if the value of <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant>
is <constant>GL_NONE</constant> for any color attachment point(s) named by <constant>GL_DRAWBUFFERi</constant>.
is <constant>GL_NONE</constant> for any color attachment point(s) named by <constant>GL_DRAW_BUFFERi</constant>.
</para>
</listitem>
<listitem>

View file

@ -100,7 +100,7 @@
<refsect1 id="description"><title>Description</title>
<para>
<function>glClearBuffer*</function> clears the specified buffer to the specified value(s). If <parameter>buffer</parameter> is
<constant>GL_COLOR</constant>, a particular draw buffer <constant>GL_DRAWBUFFER<parameter>i</parameter></constant> is specified
<constant>GL_COLOR</constant>, a particular draw buffer <constant>GL_DRAW_BUFFER<parameter>i</parameter></constant> is specified
by passing <parameter>i</parameter> as <parameter>drawBuffer</parameter>. In this case, <parameter>value</parameter> points to
a four-element vector specifying the R, G, B and A color to clear that draw buffer to. If <parameter>buffer</parameter> is
one of <constant>GL_FRONT</constant>, <constant>GL_BACK</constant>, <constant>GL_LEFT</constant>, <constant>GL_RIGHT</constant>,
@ -117,7 +117,7 @@
<para>
If <parameter>buffer</parameter> is <constant>GL_STENCIL</constant>, <parameter>drawBuffer</parameter> must be zero, and <parameter>value</parameter>
points to a single value to clear the stencil buffer to. Only <function>glClearBufferiv</function> should be used to clear
stencil buffers. Masing and type conversion are performed in the same fashion as
stencil buffers. Masking and type conversion are performed in the same fashion as
<citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>.
</para>
<para>

View file

@ -20,10 +20,10 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glClearColor</function></funcdef>
<paramdef>GLclampf <parameter>red</parameter></paramdef>
<paramdef>GLclampf <parameter>green</parameter></paramdef>
<paramdef>GLclampf <parameter>blue</parameter></paramdef>
<paramdef>GLclampf <parameter>alpha</parameter></paramdef>
<paramdef>GLfloat <parameter>red</parameter></paramdef>
<paramdef>GLfloat <parameter>green</parameter></paramdef>
<paramdef>GLfloat <parameter>blue</parameter></paramdef>
<paramdef>GLfloat <parameter>alpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -60,6 +60,17 @@
</mml:math></inlineequation>.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The type of the <parameter>red</parameter>,
<parameter>green</parameter>, <parameter>blue</parameter>,
and <parameter>alpha</parameter> parameters was changed from
GLclampf to GLfloat. This change is transparent to user code
and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_COLOR_CLEAR_VALUE</constant>
@ -67,7 +78,8 @@
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -20,11 +20,11 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glClearDepth</function></funcdef>
<paramdef>GLclampd <parameter>depth</parameter></paramdef>
<paramdef>GLdouble <parameter>depth</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glClearDepthf</function></funcdef>
<paramdef>GLclampf <parameter>depth</parameter></paramdef>
<paramdef>GLfloat <parameter>depth</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -54,6 +54,18 @@
</mml:math></inlineequation>.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The type of the <parameter>depth</parameter> parameter was
changed from GLclampf to GLfloat for
<function>glClearDepthf</function> and from GLclampd to
GLdouble for <function>glClearDepth</function>. This change
is transparent to user code and is described in detail on
the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_CLEAR_VALUE</constant>
@ -61,7 +73,8 @@
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -13,7 +13,7 @@
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glColorMask</refname>
<refname>glColorMask, glColorMaski</refname>
<refpurpose>enable and disable writing of frame buffer color components</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
@ -26,9 +26,28 @@
<paramdef>GLboolean <parameter>alpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glColorMaski</function></funcdef>
<paramdef>GLuint <parameter>buf</parameter></paramdef>
<paramdef>GLboolean <parameter>red</parameter></paramdef>
<paramdef>GLboolean <parameter>green</parameter></paramdef>
<paramdef>GLboolean <parameter>blue</parameter></paramdef>
<paramdef>GLboolean <parameter>alpha</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>buf</parameter></term>
<listitem>
<para>
For <function>glColorMaski</function>, specifies the index of the
draw buffer whose color mask to set.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>red</parameter></term>
<term><parameter>green</parameter></term>
@ -36,10 +55,10 @@
<term><parameter>alpha</parameter></term>
<listitem>
<para>
Specify whether red, green, blue, and alpha can or cannot be written
Specify whether red, green, blue, and alpha are to be written
into the frame buffer.
The initial values are all <constant>GL_TRUE</constant>,
indicating that the color components can be written.
indicating that the color components are written.
</para>
</listitem>
</varlistentry>
@ -47,8 +66,9 @@
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glColorMask</function> specifies whether the individual color components in the frame buffer
can or cannot be written.
<function>glColorMask</function> and <function>glColorMaski</function> specify whether the individual color components in the frame buffer
can or cannot be written. <function>glColorMaski</function> sets the mask for a specific draw buffer, whereas
<function>glColorMask</function> sets the mask for all draw buffers.
If <parameter>red</parameter> is <constant>GL_FALSE</constant>,
for example,
no change is made to the red component of any pixel in any of the
@ -76,7 +96,9 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2010-2011 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -122,6 +122,63 @@
(see <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>) while a texture image is
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
</para>
<para>
If the compressed data are arranged into fixed-size blocks of texels, the pixel
storage modes can be used to select a sub-rectangle from a larger containing rectangle.
These pixel storage modes operate in the same way as they do for <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>.
In the following description, denote by <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>, and
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>,
the values of pixel storage modes <constant>GL_UNPACK_COMPRESSED_BLOCK_SIZE</constant>,
<constant>GL_UNPACK_COMPRESSED_BLOCK_WIDTH</constant>, <constant>GL_UNPACK_COMPRESSED_BLOCK_HEIGHT</constant>,
and <constant>GL_UNPACK_COMPRESSED_BLOCK_DEPTH</constant>, respectively.
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math> is
the compressed block size in bytes; <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>,
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math> are the compressed block width, height, and depth in pixels.
</para>
<para>
By default the pixel storage modes <constant>GL_UNPACK_ROW_LENGTH</constant>,
<constant>GL_UNPACK_SKIP_ROWS</constant>, <constant>GL_UNPACK_SKIP_PIXELS</constant>,
<constant>GL_UNPACK_IMAGE_HEIGHT</constant> and <constant>GL_UNPACK_SKIP_IMAGES</constant>
are ignored for compressed images. To enable <constant>GL_UNPACK_SKIP_PIXELS</constant>
and <constant>GL_UNPACK_ROW_LENGTH</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math> must both be non-zero.
To also enable <constant>GL_UNPACK_SKIP_ROWS</constant> and <constant>GL_UNPACK_IMAGE_HEIGHT</constant>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math> must be non-zero.
To also enable <constant>GL_UNPACK_SKIP_IMAGES</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>
must be non-zero. All parameters must be consistent with the compressed format to produce the desired results.
</para>
<para>
When selecting a sub-rectangle from a compressed image:
<itemizedlist>
<listitem>the value of <constant>GL_UNPACK_SKIP_PIXELS</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>;</listitem>
</itemizedlist>
</para>
<para>
<parameter>imageSize</parameter> must be equal to:
</para>
<para>
<mml:math display = 'block'>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>width</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
</mml:mrow>
</mml:math>
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -208,7 +265,8 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. <trademark class="copyright"></trademark> 2011
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -74,8 +74,7 @@
<listitem>
<para>
Specifies the width of the texture image.
All implementations support 2D texture images that are at least 64 texels
wide and cube-mapped texture images that are at least 16 texels wide.
All implementations support 2D texture and cube map texture images that are at least 16384 texels wide.
</para>
</listitem>
</varlistentry>
@ -84,8 +83,7 @@
<listitem>
<para>
Specifies the height of the texture image.
All implementations support 2D texture images that are at least 64 texels
high and cube-mapped texture images that are at least 16 texels high.
All implementations support 2D texture and cube map texture images that are at least 16384 texels high.
</para>
</listitem>
</varlistentry>
@ -132,7 +130,7 @@
</para>
<para>
If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_2D</constant>, <constant>GL_PROXY_TEXTURE_1D_ARRAY</constant>
or <constant>GL_PROXY_CUBE_MAP</constant>, no data is read from <parameter>data</parameter>, but
or <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>, no data is read from <parameter>data</parameter>, but
all of the texture image state is recalculated, checked for consistency,
and checked against the implementation's capabilities. If the
implementation cannot handle a texture of the requested texture size, it
@ -154,17 +152,112 @@
(see <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>) while a texture image is
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
</para>
<para>
If the compressed data are arranged into fixed-size blocks of texels, the pixel
storage modes can be used to select a sub-rectangle from a larger containing rectangle.
These pixel storage modes operate in the same way as they do for <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
In the following description, denote by <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>, and
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>,
the values of pixel storage modes <constant>GL_UNPACK_COMPRESSED_BLOCK_SIZE</constant>,
<constant>GL_UNPACK_COMPRESSED_BLOCK_WIDTH</constant>, <constant>GL_UNPACK_COMPRESSED_BLOCK_HEIGHT</constant>,
and <constant>GL_UNPACK_COMPRESSED_BLOCK_DEPTH</constant>, respectively.
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math> is
the compressed block size in bytes; <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>,
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math> are the compressed block width, height, and depth in pixels.
</para>
<para>
By default the pixel storage modes <constant>GL_UNPACK_ROW_LENGTH</constant>,
<constant>GL_UNPACK_SKIP_ROWS</constant>, <constant>GL_UNPACK_SKIP_PIXELS</constant>,
<constant>GL_UNPACK_IMAGE_HEIGHT</constant> and <constant>GL_UNPACK_SKIP_IMAGES</constant>
are ignored for compressed images. To enable <constant>GL_UNPACK_SKIP_PIXELS</constant>
and <constant>GL_UNPACK_ROW_LENGTH</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math> must both be non-zero.
To also enable <constant>GL_UNPACK_SKIP_ROWS</constant> and <constant>GL_UNPACK_IMAGE_HEIGHT</constant>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math> must be non-zero.
To also enable <constant>GL_UNPACK_SKIP_IMAGES</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>
must be non-zero. All parameters must be consistent with the compressed format to produce the desired results.
</para>
<para>
When selecting a sub-rectangle from a compressed image:
<itemizedlist>
<listitem>the value of <constant>GL_UNPACK_SKIP_PIXELS</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>;</listitem>
<listitem>the value of <constant>GL_UNPACK_SKIP_ROWS</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>.</listitem>
</itemizedlist>
</para>
<para>
<parameter>imageSize</parameter> must be equal to:
</para>
<para>
<mml:math display = 'block'>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>width</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>height</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
</mml:mrow>
</mml:math>
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The specific compressed internal formats <constant>GL_COMPRESSED_RGB8_ETC2</constant>,
<constant>GL_COMPRESSED_SRGB8_ETC2</constant>,
<constant>GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2</constant>,
<constant>GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2</constant>,
<constant>GL_COMPRESSED_RGBA8_ETC2_EAC</constant>,
<constant>GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC</constant>,
<constant>GL_COMPRESSED_R11_EAC</constant>,
<constant>GL_COMPRESSED_SIGNED_R11_EAC</constant>,
<constant>GL_COMPRESSED_RG11_EAC</constant>, and
<constant>GL_COMPRESSED_SIGNED_RG11_EAC</constant> are available only if the GL version
is 4.3 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the generic
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not one of the specific
compressed internal formats:
<constant>GL_COMPRESSED_RED</constant>,
<constant>GL_COMPRESSED_RG</constant>,
<constant>GL_COMPRESSED_RGB</constant>,
<constant>GL_COMPRESSED_RGBA</constant>.
<constant>GL_COMPRESSED_SRGB</constant>, or
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>.
<constant>GL_COMPRESSED_RED_RGTC1</constant>,
<constant>GL_COMPRESSED_SIGNED_RED_RGTC1</constant>,
<constant>GL_COMPRESSED_RG_RGTC2</constant>,
<constant>GL_COMPRESSED_SIGNED_RG_RGTC2</constant>.
<constant>GL_COMPRESSED_RGBA_BPTC_UNORM</constant>,
<constant>GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM</constant>,
<constant>GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT</constant>,
<constant>GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT</constant>,
<constant>GL_COMPRESSED_RGB8_ETC2</constant>,
<constant>GL_COMPRESSED_SRGB8_ETC2</constant>,
<constant>GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2</constant>,
<constant>GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2</constant>,
<constant>GL_COMPRESSED_RGBA8_ETC2_EAC</constant>,
<constant>GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC</constant>,
<constant>GL_COMPRESSED_R11_EAC</constant>,
<constant>GL_COMPRESSED_SIGNED_R11_EAC</constant>,
<constant>GL_COMPRESSED_RG11_EAC</constant>, or
<constant>GL_COMPRESSED_SIGNED_RG11_EAC</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>imageSize</parameter> is not consistent with
@ -233,7 +326,8 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. <trademark class="copyright"></trademark> 2011
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -155,6 +155,85 @@
(see <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>) while a texture image is
specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
</para>
<para>
If the compressed data are arranged into fixed-size blocks of texels, the pixel
storage modes can be used to select a sub-rectangle from a larger containing rectangle.
These pixel storage modes operate in the same way as they do for <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>.
In the following description, denote by <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>, and
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>,
the values of pixel storage modes <constant>GL_UNPACK_COMPRESSED_BLOCK_SIZE</constant>,
<constant>GL_UNPACK_COMPRESSED_BLOCK_WIDTH</constant>, <constant>GL_UNPACK_COMPRESSED_BLOCK_HEIGHT</constant>,
and <constant>GL_UNPACK_COMPRESSED_BLOCK_DEPTH</constant>, respectively.
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math> is
the compressed block size in bytes; <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math>,
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math> are the compressed block width, height, and depth in pixels.
</para>
<para>
By default the pixel storage modes <constant>GL_UNPACK_ROW_LENGTH</constant>,
<constant>GL_UNPACK_SKIP_ROWS</constant>, <constant>GL_UNPACK_SKIP_PIXELS</constant>,
<constant>GL_UNPACK_IMAGE_HEIGHT</constant> and <constant>GL_UNPACK_SKIP_IMAGES</constant>
are ignored for compressed images. To enable <constant>GL_UNPACK_SKIP_PIXELS</constant>
and <constant>GL_UNPACK_ROW_LENGTH</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math>
and <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math> must both be non-zero.
To also enable <constant>GL_UNPACK_SKIP_ROWS</constant> and <constant>GL_UNPACK_IMAGE_HEIGHT</constant>,
<mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math> must be non-zero.
To also enable <constant>GL_UNPACK_SKIP_IMAGES</constant>, <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math>
must be non-zero. All parameters must be consistent with the compressed format to produce the desired results.
</para>
<para>
When selecting a sub-rectangle from a compressed image:
<itemizedlist>
<listitem>the value of <constant>GL_UNPACK_SKIP_PIXELS</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>;</listitem>
<listitem>the value of <constant>GL_UNPACK_SKIP_ROWS</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>;</listitem>
<listitem>the value of <constant>GL_UNPACK_SKIP_IMAGES</constant> must be a multiple of <mml:math><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math>.</listitem>
</itemizedlist>
</para>
<para>
<parameter>imageSize</parameter> must be equal to:
</para>
<para>
<mml:math display = 'block'>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>width</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>height</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>h</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
<mml:mo lspace='2px' rspace='2px'>&times;</mml:mo>
<mml:mfenced open = '&lceil;' close = '&rceil;'>
<mml:mfrac>
<mml:mi>depth</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mfenced>
</mml:mrow>
</mml:math>
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -231,7 +310,8 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. <trademark class="copyright"></trademark> 2011
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -82,8 +82,10 @@
</para>
<para>
<parameter>readtarget</parameter> and <parameter>writetarget</parameter> must be <constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_QUERY_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or <constant>GL_UNIFORM_BUFFER</constant>. Any of these targets may be used,
although the targets <constant>GL_COPY_READ_BUFFER</constant> and <constant>GL_COPY_WRITE_BUFFER</constant> are provided
specifically to allow copies between buffers without disturbing other GL state.
@ -99,7 +101,11 @@
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>glCopyBufferSubData</function> is available only if the GL version is 3.1 or greater.
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version
is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
@ -134,7 +140,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glCopyTexImage1D</refentrytitle>
@ -68,6 +68,7 @@
<constant>GL_DEPTH_COMPONENT16</constant>,
<constant>GL_DEPTH_COMPONENT24</constant>,
<constant>GL_DEPTH_COMPONENT32</constant>,
<constant>GL_STENCIL_INDEX8</constant>,
<constant>GL_RED</constant>,
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
@ -108,25 +109,6 @@
<listitem>
<para>
Specifies the width of the texture image.
Must be 0 or
<inlineequation><mml:math>
<!-- eqn: 2 sup n + 2 ( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
The height of the texture image is 1.
</para>
</listitem>
@ -135,8 +117,7 @@
<term><parameter>border</parameter></term>
<listitem>
<para>
Specifies the width of the border.
Must be either 0 or 1.
Must be 0.
</para>
</listitem>
</varlistentry>
@ -158,18 +139,7 @@
</mml:math></inlineequation>
and with a length of
<inlineequation><mml:math>
<!-- eqn: width + 2 ( border ): -->
<mml:mrow>
<mml:mi mathvariant="italic">width</mml:mi>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="italic">width</mml:mi>
</mml:math></inlineequation>
defines the texture array
at the mipmap level specified by <parameter>level</parameter>.
@ -216,6 +186,10 @@
<para>
An image with 0 width indicates a NULL texture.
</para>
<para>
<constant>GL_STENCIL_INDEX8</constant> is accepted for <parameter>internalformat</parameter> only
if the GL version is 4.4 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -249,27 +223,7 @@
<constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> cannot be represented as
<inlineequation><mml:math>
<!-- eqn: 2 sup n + 2 ( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer value of <emphasis>n</emphasis>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is
@ -299,7 +253,9 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glCopyTexImage2D</refentrytitle>
@ -75,6 +75,7 @@
<constant>GL_DEPTH_COMPONENT16</constant>,
<constant>GL_DEPTH_COMPONENT24</constant>,
<constant>GL_DEPTH_COMPONENT32</constant>,
<constant>GL_STENCIL_INDEX8</constant>,
<constant>GL_RED</constant>,
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
@ -115,25 +116,6 @@
<listitem>
<para>
Specifies the width of the texture image.
Must be 0 or
<inlineequation><mml:math>
<!-- eqn: 2 sup n + 2 ( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer
<inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
</para>
</listitem>
</varlistentry>
@ -142,25 +124,6 @@
<listitem>
<para>
Specifies the height of the texture image.
Must be 0 or
<inlineequation><mml:math>
<!-- eqn: 2 sup m + 2 ( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer
<inlineequation><mml:math><mml:mi mathvariant="italic">m</mml:mi></mml:math></inlineequation>.
</para>
</listitem>
</varlistentry>
@ -168,8 +131,7 @@
<term><parameter>border</parameter></term>
<listitem>
<para>
Specifies the width of the border.
Must be either 0 or 1.
Must be 0.
</para>
</listitem>
</varlistentry>
@ -185,33 +147,11 @@
The screen-aligned pixel rectangle with lower left corner at (<parameter>x</parameter>,
<parameter>y</parameter>) and with a width of
<inlineequation><mml:math>
<!-- eqn: width + 2 ( border ): -->
<mml:mrow>
<mml:mi mathvariant="italic">width</mml:mi>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="italic">width</mml:mi>
</mml:math></inlineequation>
and a height of
<inlineequation><mml:math>
<!-- eqn: height + 2 ( border ): -->
<mml:mrow>
<mml:mi mathvariant="italic">height</mml:mi>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="italic">height</mml:mi>
</mml:math></inlineequation>
defines the texture array
at the mipmap level specified by <parameter>level</parameter>.
@ -260,6 +200,10 @@
<para>
An image with height or width of 0 indicates a NULL texture.
</para>
<para>
<constant>GL_STENCIL_INDEX8</constant> is accepted for <parameter>internalformat</parameter> only
if the GL version is 4.4 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -297,28 +241,7 @@
<constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> or <parameter>depth</parameter> cannot be represented as
<inlineequation><mml:math>
<!-- eqn: 2 sup k + 2 ( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer
<inlineequation><mml:math><mml:mi mathvariant="italic">k</mml:mi></mml:math></inlineequation>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>internalformat</parameter> is not an
@ -352,7 +275,9 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glCopyTexSubImage1D</refentrytitle>
@ -128,8 +128,7 @@
rendering context, then the values obtained for those pixels are undefined.
</para>
<para>
No change is made to the <emphasis>internalformat</emphasis>, <emphasis>width</emphasis>,
or <emphasis>border</emphasis> parameters of the specified texture
No change is made to the <emphasis>internalformat</emphasis> or <emphasis>width</emphasis> parameters of the specified texture
array or to texel values outside the specified subregion.
</para>
</refsect1>
@ -176,10 +175,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">xoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
or
@ -194,24 +190,13 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
</mml:math></inlineequation>,
where
<inlineequation><mml:math><mml:mi mathvariant="italic">w</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_WIDTH</constant> and
<inlineequation><mml:math><mml:mi mathvariant="italic">b</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_BORDER</constant>
is the <constant>GL_TEXTURE_WIDTH</constant>
of the texture image being modified.
Note that
<inlineequation><mml:math><mml:mi mathvariant="italic">w</mml:mi></mml:math></inlineequation>
includes twice the border width.
</para>
<para>
</para>
@ -241,7 +226,9 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glCopyTexSubImage2D</refentrytitle>
@ -46,8 +46,9 @@
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, or
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>.
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
<constant>GL_TEXTURE_1D_ARRAY</constant>.
</para>
</listitem>
</varlistentry>
@ -107,8 +108,9 @@
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glCopyTexSubImage2D</function> replaces a rectangular portion of a two-dimensional texture image or
cube-map texture image with pixels from the current <constant>GL_READ_BUFFER</constant>
<function>glCopyTexSubImage2D</function> replaces a rectangular portion of a two-dimensional texture image,
cube-map texture image or a linear portion of a number of slices of a one-dimensional array texture
with pixels from the current <constant>GL_READ_BUFFER</constant>
(rather than from main memory, as is the case for <citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>).
</para>
<para>
@ -167,14 +169,19 @@
It is not an error to specify a subtexture with zero width or height, but
such a specification has no effect.
</para>
<para>
When <parameter>target</parameter> is <constant>GL_TEXTURE_1D_ARRAY</constant>
then the y coordinate and height are treated as the start slice and number
of slices to modify.
</para>
<para>
If any of the pixels within the specified rectangle of the current
<constant>GL_READ_BUFFER</constant> are outside the read window associated with the current
rendering context, then the values obtained for those pixels are undefined.
</para>
<para>
No change is made to the <emphasis>internalformat</emphasis>, <emphasis>width</emphasis>,
<emphasis>height</emphasis>, or <emphasis>border</emphasis> parameters of the specified texture
No change is made to the <emphasis>internalformat</emphasis>, <emphasis>width</emphasis>, or
<emphasis>height</emphasis>, parameters of the specified texture
array or to texel values outside the specified subregion.
</para>
</refsect1>
@ -190,8 +197,9 @@
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, or
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>.
<constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
<constant>GL_TEXTURE_1D_ARRAY</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if the texture array has not been
@ -229,10 +237,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">xoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -246,13 +251,7 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -260,10 +259,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">yoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
or
@ -278,29 +274,15 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
where
<inlineequation><mml:math><mml:mi mathvariant="italic">w</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_WIDTH</constant>,
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_HEIGHT</constant>,
and
<inlineequation><mml:math><mml:mi mathvariant="italic">b</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_BORDER</constant>
is the <constant>GL_TEXTURE_HEIGHT</constant> and
of the texture image being modified.
Note that
<inlineequation><mml:math><mml:mi mathvariant="italic">w</mml:mi></mml:math></inlineequation>
and
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
include twice the border width.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
@ -328,7 +310,8 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2012-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glCopyTexSubImage3D</refentrytitle>
@ -42,7 +42,7 @@
<listitem>
<para>
Specifies the target texture.
Must be <constant>GL_TEXTURE_3D</constant>
Must be <constant>GL_TEXTURE_3D</constant> or <constant>GL_TEXTURE_2D_ARRAY</constant>.
</para>
</listitem>
</varlistentry>
@ -111,7 +111,7 @@
<refsect1 id="description"><title>Description</title>
<para>
<function>glCopyTexSubImage3D</function> replaces a rectangular portion of a three-dimensional
texture image with pixels from the current <constant>GL_READ_BUFFER</constant> (rather
or two-dimensional array texture image with pixels from the current <constant>GL_READ_BUFFER</constant> (rather
than from main memory, as is the case for <citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>).
</para>
<para>
@ -210,7 +210,9 @@
</mml:math></inlineequation>,
where
<inlineequation><mml:math><mml:mi mathvariant="italic">max</mml:mi></mml:math></inlineequation>
is the returned value of <constant>GL_MAX_3D_TEXTURE_SIZE</constant>.
is the returned value of <constant>GL_MAX_3D_TEXTURE_SIZE</constant> if <parameter>target</parameter>
is <constant>GL_TEXTURE_3D</constant> or the returned value of <constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant>
if <parameter>target</parameter> is <constant>GL_TEXTURE_2D_ARRAY</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if
@ -219,10 +221,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">xoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -236,13 +235,7 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -250,10 +243,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">yoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -267,13 +257,7 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
</mml:math></inlineequation>,
<inlineequation><mml:math>
@ -281,10 +265,7 @@
<mml:mrow>
<mml:mi mathvariant="italic">zoffset</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math></inlineequation>,
or
@ -299,13 +280,7 @@
</mml:mrow>
</mml:mfenced>
<mml:mo>&gt;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:math></inlineequation>,
where
@ -314,10 +289,7 @@
<inlineequation><mml:math><mml:mi mathvariant="italic">h</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_HEIGHT</constant>,
<inlineequation><mml:math><mml:mi mathvariant="italic">d</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_DEPTH</constant>,
and
<inlineequation><mml:math><mml:mi mathvariant="italic">b</mml:mi></mml:math></inlineequation>
is the <constant>GL_TEXTURE_BORDER</constant>
is the <constant>GL_TEXTURE_DEPTH</constant> and
of the texture image being modified.
Note that
<inlineequation><mml:math><mml:mi mathvariant="italic">w</mml:mi></mml:math></inlineequation>,
@ -352,7 +324,9 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -24,7 +24,8 @@
<term><parameter>shaderType</parameter></term>
<listitem>
<para>Specifies the type of shader to be created.
Must be one of <constant>GL_VERTEX_SHADER</constant>,
Must be one of <constant>GL_COMPUTE_SHADER</constant>,
<constant>GL_VERTEX_SHADER</constant>,
<constant>GL_TESS_CONTROL_SHADER</constant>,
<constant>GL_TESS_EVALUATION_SHADER</constant>,
<constant>GL_GEOMETRY_SHADER</constant>,
@ -40,6 +41,8 @@
strings that define a shader. <parameter>shaderType</parameter>
indicates the type of shader to be created. Five types of shader
are supported. A shader of type
<constant>GL_COMPUTE_SHADER</constant> is a shader that is
intended to run on the programmable compute processor. A shader of type
<constant>GL_VERTEX_SHADER</constant> is a shader that is
intended to run on the programmable vertex processor.
A shader of type <constant>GL_TESS_CONTROL_SHADER</constant> is a shader that
@ -54,7 +57,7 @@
<para>When created, a shader object's
<constant>GL_SHADER_TYPE</constant> parameter is set to either
<constant>GL_VERTEX_SHADER</constant>, <constant>GL_TESS_CONTROL_SHADER</constant>,
<constant>GL_COMPUTE_SHADER</constant>, <constant>GL_VERTEX_SHADER</constant>, <constant>GL_TESS_CONTROL_SHADER</constant>,
<constant>GL_TESS_EVALUATION_SHADER</constant>, <constant>GL_GEOMETRY_SHADER</constant>
or <constant>GL_FRAGMENT_SHADER</constant>, depending on the value
of <parameter>shaderType</parameter>.</para>
@ -70,6 +73,8 @@
<para>Applications are responsible for providing the
synchronization across API calls when objects are accessed from
different execution threads.</para>
<para><constant>GL_COMPUTE_SHADER</constant> is available only if the GL version is 4.3 or higher.</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>This function returns 0 if an error occurs creating the

View file

@ -91,14 +91,18 @@
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pipeline</parameter> is not
a name previously returned from a call to <citerefentry><refentrytitle>glGenProgramPipelines</refentrytitle></citerefentry>
or if such a name has been deleted by a call to
<citerefentry><refentrytitle>glDeleteProgramPipelines</refentrytitle></citerefentry>.
<constant>GL_INVALID_ENUM</constant> is generated if if <parameter>type</parameter> is not
an accepted shader type.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>program</parameter> refers
to a program object that has not been successfully linked.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>count</parameter> is
negative.
</para>
<para>
Other errors are generated if the supplied shader code fails to compile
and link, as described for the commands in the pseudocode sequence above,
but all such errors are generated without any side effects of executing those
commands.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
@ -111,7 +115,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2012 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -9,7 +9,7 @@
<holder>Khronos Group.</holder>
</copyright>
</refmetainfo>
<refentrytitle>c</refentrytitle>
<refentrytitle>glDeleteProgramPipelines</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>

View file

@ -60,11 +60,6 @@
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glDeleteQueries</function> is executed
between the execution of <citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry> and the corresponding
execution of <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glDeleteFramebuffers">
<refentry id="glDeleteRenderbuffers">
<refmeta>
<refmetainfo>
<copyright>

View file

@ -21,7 +21,7 @@
<funcprototype>
<funcdef>void <function>glDeleteSamplers</function></funcdef>
<paramdef>GLsizei <parameter>n</parameter></paramdef>
<paramdef>const GLuint * <parameter>ids</parameter></paramdef>
<paramdef>const GLuint * <parameter>samplers</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -36,7 +36,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>ids</parameter></term>
<term><parameter>samplers</parameter></term>
<listitem>
<para>
Specifies an array of sampler objects to be deleted.
@ -47,7 +47,7 @@
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glDeleteSamplers</function> deletes <parameter>n</parameter> sampler objects named by the elements of the array <parameter>ids</parameter>.
<function>glDeleteSamplers</function> deletes <parameter>n</parameter> sampler objects named by the elements of the array <parameter>samplers</parameter>.
After a sampler object is deleted, its name is again unused. If a sampler object that is currently bound to a sampler unit is deleted, it is as
though <citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry> is called with unit set to the unit the sampler is bound to and
sampler zero. Unused names in samplers are silently ignored, as is the reserved name zero.

View file

@ -54,6 +54,14 @@
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_DEPTH_WRITEMASK</constant>
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
Even if the depth buffer exists and the depth mask is non-zero, the
depth buffer is not updated if the depth test is disabled. In order to
unconditionally write to the depth buffer, the depth test should be enabled
and set to <constant>GL_ALWAYS</constant> (see <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>).
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>,
@ -65,7 +73,10 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012
Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -20,13 +20,13 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glDepthRange</function></funcdef>
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
<paramdef>GLdouble <parameter>nearVal</parameter></paramdef>
<paramdef>GLdouble <parameter>farVal</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glDepthRangef</function></funcdef>
<paramdef>GLclampf <parameter>nearVal</parameter></paramdef>
<paramdef>GLclampf <parameter>farVal</parameter></paramdef>
<paramdef>GLfloat <parameter>nearVal</parameter></paramdef>
<paramdef>GLfloat <parameter>farVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -102,6 +102,16 @@
</mml:math></inlineequation>
are acceptable.
</para>
<para>
The type of the <parameter>nearVal</parameter> and
<parameter>farVal</parameter> parameters was changed from
GLclampf to GLfloat for <function>glDepthRangef</function>
and from GLclampd to GLdouble for
<function>glDepthRange</function>. This change is
transparent to user code and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
@ -112,7 +122,8 @@
<para>
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -22,7 +22,7 @@
<funcdef>void <function>glDepthRangeArrayv</function></funcdef>
<paramdef>GLuint <parameter>first</parameter></paramdef>
<paramdef>GLsizei <parameter>count</parameter></paramdef>
<paramdef>const GLclampd *<parameter>v</parameter></paramdef>
<paramdef>const GLdouble *<parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -117,6 +117,13 @@
</mml:math></inlineequation>
are acceptable.
</para>
<para>
The type of the <parameter>v</parameter> parameter was
changed from GLclampd to GLdouble. This change is
transparent to user code and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -137,9 +144,11 @@
<para>
<citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDepthRangeIndexed</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewportArray</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glDepthRangeArray">
<refentry id="glDepthRangeIndexed">
<refmeta>
<refmetainfo>
<copyright>
@ -19,10 +19,10 @@
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glDepthRangeArrayv</function></funcdef>
<funcdef>void <function>glDepthRangeIndexed</function></funcdef>
<paramdef>GLuint <parameter>index</parameter></paramdef>
<paramdef>GLclampd <parameter>nearVal</parameter></paramdef>
<paramdef>GLclampd <parameter>farVal</parameter></paramdef>
<paramdef>GLdouble <parameter>nearVal</parameter></paramdef>
<paramdef>GLdouble <parameter>farVal</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -75,7 +75,7 @@
<function>glDepthRangeIndexed</function> specifies a linear mapping of the normalized depth coordinates
in this range to window depth coordinates for a specified viewport.
Thus,
the values accepted by <function>glDepthRangeArray</function> are both clamped to this range
the values accepted by <function>glDepthRangeIndexed</function> are both clamped to this range
before they are accepted.
</para>
<para>
@ -114,6 +114,14 @@
</mml:math></inlineequation>
are acceptable.
</para>
<para>
The type of the <parameter>nearVal</parameter> and
<parameter>farVal</parameter> parameters was changed from
GLclampd to GLdouble. This change is transparent to user
code and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -133,7 +141,8 @@
<citerefentry><refentrytitle>glDepthRangeArray</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewportArray</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -9,7 +9,7 @@
<holder>Khronos Group.</holder>
</copyright>
</refmetainfo>
<refentrytitle>glDrawTransformFeedback</refentrytitle>
<refentrytitle>glDrawArraysIndirect</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
@ -64,8 +64,8 @@
<para>
<function>glDrawArraysIndirect</function> specifies multiple geometric primitives
with very few subroutine calls. <function>glDrawArraysIndirect</function> behaves
similarly to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
execpt that the parameters to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>
similarly to <citerefentry><refentrytitle>glDrawArraysInstancedBaseInstance</refentrytitle></citerefentry>,
execept that the parameters to <citerefentry><refentrytitle>glDrawArraysInstancedBaseInstance</refentrytitle></citerefentry>
are stored in memory at the address given by <parameter>indirect</parameter>.
</para>
<para>
@ -75,23 +75,22 @@
uint count;
uint primCount;
uint first;
uint reservedMustBeZero;
uint baseInstance;
} DrawArraysIndirectCommand;
const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect;
glDrawArraysInstanced(mode, cmd->first, cmd->count, cmd->primCount);]]></programlisting>
glDrawArraysInstancedBaseInstance(mode, cmd->first, cmd->count, cmd->primCount, cmd->baseInstance);]]></programlisting>
</para>
<para>
If a buffer is bound to the <constant>GL_INDIRECT_BUFFER</constant> binding at the time
If a buffer is bound to the <constant>GL_DRAW_INDIRECT_BUFFER</constant> binding at the time
of a call to <function>glDrawArraysIndirect</function>, <parameter>indirect</parameter>
is interpreted as an offset, in basic machine units, into that buffer and the parameter
data is read from the buffer rather than from client memory.
</para>
<para>
In contrast to <citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
In contrast to <citerefentry><refentrytitle>glDrawArraysInstancedBaseInstance</refentrytitle></citerefentry>,
the <code>first</code> member of the parameter structure is unsigned, and out-of-range indices
do not generate an error. The results of the operation are undefined if the <code>reservedMustBeZero</code> member
of the parameter structure is non-zero. However, no error is generated in this case.
do not generate an error.
</para>
<para>
Vertex attributes that are modified by <function>glDrawArraysIndirect</function> have an
@ -99,13 +98,21 @@
modified remain well defined.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The <parameter>baseInstance</parameter> member of the <parameter>DrawArraysIndirectCommand</parameter>
structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2,
this parameter is present but is reserved and should be set to zero. On earlier versions of the GL,
behavior is undefined if it is non-zero.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
enabled array or to the <constant>GL_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
enabled array or to the <constant>GL_DRAW_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>

View file

@ -138,7 +138,7 @@
<para><constant>GL_INVALID_ENUM</constant> is generated if the GL is bound
to a framebuffer object and one or more of the values in <parameter>bufs</parameter>
is anything other than <constant>GL_NONE</constant> or one of the
<constant>GL_COLOR_ATTACHMENTS<emphasis>n</emphasis></constant> tokens.</para>
<constant>GL_COLOR_ATTACHMENT<emphasis>n</emphasis></constant> tokens.</para>
<para><constant>GL_INVALID_ENUM</constant> is generated if
<parameter>n</parameter> is less than 0.</para>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glDrawArraysIndirect">
<refentry id="glDrawElementsIndirect">
<refmeta>
<refmetainfo>
<copyright>
@ -73,8 +73,8 @@
<para>
<function>glDrawElementsIndirect</function> specifies multiple indexed geometric primitives
with very few subroutine calls. <function>glDrawElementsIndirect</function> behaves
similarly to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>,
execpt that the parameters to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertex</refentrytitle></citerefentry>
similarly to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertexBaseInstance</refentrytitle></citerefentry>,
execpt that the parameters to <citerefentry><refentrytitle>glDrawElementsInstancedBaseVertexBaseInstance</refentrytitle></citerefentry>
are stored in memory at the address given by <parameter>indirect</parameter>.
</para>
<para>
@ -85,7 +85,7 @@
uint primCount;
uint firstIndex;
uint baseVertex;
uint reservedMustBeZero;
uint baseInstance;
} DrawElementsIndirectCommand;]]></programlisting>
<para>
<function>glDrawElementsIndirect</function> is equivalent to:
@ -93,16 +93,17 @@
<programlisting><![CDATA[ void glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect)
{
const DrawElementsIndirectCommand *cmd = (const DrawElementsIndirectCommand *)indirect;
glDrawElementsInstancedBaseVertex(mode,
cmd->count,
type,
cmd->firstIndex + size-of-type,
cmd->primCount,
cmd->baseVertex);
glDrawElementsInstancedBaseVertexBaseInstance(mode,
cmd->count,
type,
cmd->firstIndex + size-of-type,
cmd->primCount,
cmd->baseVertex,
cmd->baseInstance);
}]]></programlisting>
</para>
<para>
If a buffer is bound to the <constant>GL_INDIRECT_BUFFER</constant> binding at the time
If a buffer is bound to the <constant>GL_DRAW_INDIRECT_BUFFER</constant> binding at the time
of a call to <function>glDrawElementsIndirect</function>, <parameter>indirect</parameter>
is interpreted as an offset, in basic machine units, into that buffer and the parameter
data is read from the buffer rather than from client memory.
@ -121,6 +122,14 @@
modified remain well defined.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The <parameter>baseInstance</parameter> member of the <parameter>DrawElementsIndirectCommand</parameter>
structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2,
this parameter is present but is reserved and should be set to zero. On earlier versions of the GL,
behavior is undefined if it is non-zero.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
@ -131,7 +140,7 @@
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
enabled array or to the <constant>GL_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
enabled array or to the <constant>GL_DRAW_INDIRECT_BUFFER</constant> binding and the buffer object's data store is currently mapped.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a geometry shader is active and <parameter>mode</parameter>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glDrawElementsBaseVertex">
<refentry id="glDrawElementsInstancedBaseVertex">
<refmeta>
<refmetainfo>
<copyright>

View file

@ -80,7 +80,7 @@
by <parameter>id</parameter>.
</para>
<para>
Calling <citerefentry>glDrawTransformFeedback</citerefentry> is equivalent to calling <function>glDrawTransformFeedbackStream</function>
Calling <citerefentry><refentrytitle>glDrawTransformFeedback</refentrytitle></citerefentry> is equivalent to calling <function>glDrawTransformFeedbackStream</function>
with <parameter>stream</parameter> set to zero.
</para>
</refsect1>

View file

@ -128,7 +128,7 @@
which can assume one of the following values:
</para>
<para>
Some of the GL's capabilities are indicated. <function>glEnablei</function> and <function>glDisablei</function> enable and disable
Some of the GL's capabilities are indexed. <function>glEnablei</function> and <function>glDisablei</function> enable and disable
indexed capabilities.
</para>
<variablelist>
@ -178,6 +178,33 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DEBUG_OUTPUT</constant></term>
<listitem>
<para>
</para>
<para>
If enabled, debug messages are produced by a debug context. When disabled,
the debug message log is silenced. Note that in a non-debug context, very
few, if any messages might be produced, even when <constant>GL_DEBUG_OUTPUT</constant>
is enabled.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DEBUG_OUTPUT_SYNCHRONOUS</constant></term>
<listitem>
<para>
</para>
<para>
If enabled, debug messages are produced synchronously by a debug context. If disabled,
debug messages may be produced asynchronously. In particular, they may be delayed relative
to the execution of GL commands, and the debug callback function may be called from
a thread other than that in which the commands are executed.
See <citerefentry><refentrytitle>glDebugMessageCallback</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DEPTH_CLAMP</constant></term>
<listitem>
@ -223,6 +250,21 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_FRAMEBUFFER_SRGB</constant> </term>
<listitem>
<para>
</para>
<para>
If enabled
and the value of <constant>GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING</constant> for the
framebuffer attachment corresponding to the destination buffer is <constant>GL_SRGB</constant>,
the R, G, and B destination color values (after conversion from fixed-point to floating-point)
are considered to be encoded for the sRGB color space and hence are linearized prior to
their use in blending.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_LINE_SMOOTH</constant></term>
<listitem>
@ -313,6 +355,38 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_PRIMITIVE_RESTART_FIXED_INDEX</constant></term>
<listitem>
<para>
</para>
<para>
Enables primitive restarting with a fixed index. If enabled, any one of the
draw commands which transfers a set of generic attribute array elements to the GL will
restart the primitive when the index of the vertex is equal to the fixed primitive
index for the specified index type. The fixed index is equal to
<inlineequation><mml:math><mml:msup><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:msup><mml:mo>&minus;</mml:mo><mml:mn>1</mml:mn></mml:math></inlineequation>
where <emphasis>n</emphasis> is equal to 8 for <constant>GL_UNSIGNED_BYTE</constant>,
16 for <constant>GL_UNSIGNED_SHORT</constant> and 32 for <constant>GL_UNSIGNED_INT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_RASTERIZER_DISCARD</constant></term>
<listitem>
<para>
</para>
<para>
If enabled,
primitives are discarded after the optional transform feedback stage,
but before rasterization. Furthermore, when enabled, <citerefentry><refentrytitle>glClear</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glClearBufferData</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glClearBufferSubData</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glClearTexImage</refentrytitle></citerefentry>, and
<citerefentry><refentrytitle>glClearTexSubImage</refentrytitle></citerefentry> are ignored.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant></term>
<listitem>
@ -351,6 +425,31 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SAMPLE_SHADING</constant></term>
<listitem>
<para>
</para>
<para>
If enabled, the active fragment shader is run once for each covered sample, or at
fraction of this rate as determined by the current value of <constant>GL_MIN_SAMPLE_SHADING_VALUE</constant>.
See <citerefentry><refentrytitle>glMinSampleShading</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SAMPLE_MASK</constant></term>
<listitem>
<para>
</para>
<para>
If enabled, the sample coverage mask generated for a fragment during rasterization
will be ANDed with the value of <constant>GL_SAMPLE_MASK_VALUE</constant> before
shading occurs.
See <citerefentry><refentrytitle>glSampleMaski</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SCISSOR_TEST</constant></term>
<listitem>
@ -381,7 +480,10 @@
<para>
</para>
<para>
If enabled, modifies the way sampling is performed on cube map textures. See the spec for more information.
If enabled, cubemap textures are sampled such that when linearly sampling from the border
between two adjacent faces, texels from both faces are used to generate the final sample
value. When disabled, texels from only a single face are used to construct the final
sample value.
</para>
</listitem>
</varlistentry>
@ -416,6 +518,12 @@
<para>
<constant>GL_TEXTURE_CUBE_MAP_SEAMLESS</constant> is available only if the GL version is 3.2 or greater.
</para>
<para>
<constant>GL_PRIMITIVE_RESTART_FIXED_INDEX</constant> is available only if the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_DEBUG_OUTPUT</constant> and <constant>GL_DEBUG_OUTPUT_SYNCHRONOUS</constant> are available only if the GL version is 4.3 or greater.
</para>
<para>
Any token accepted by <function>glEnable</function> or <function>glDisable</function> is also accepted by
<function>glEnablei</function> and <function>glDisablei</function>, but if the capability is not indexed,
@ -460,7 +568,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010-2011 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.

View file

@ -19,7 +19,7 @@
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>GLsync <function>glFlushMappedBufferRange</function></funcdef>
<funcdef>void <function>glFlushMappedBufferRange</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLintptr <parameter>offset</parameter></paramdef>
<paramdef>GLsizeiptr <parameter>length</parameter></paramdef>
@ -34,8 +34,10 @@
<listitem>
<para>
Specifies the target of the flush operation. <parameter>target</parameter> must be <constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or <constant>GL_UNIFORM_BUFFER</constant>.
</para>
</listitem>
@ -61,12 +63,21 @@
<refsect1 id="description"><title>Description</title>
<para>
<function>glFlushMappedBufferRange</function> indicates that modifications have been made to a range of a mapped buffer.
The buffer must previously have been mapped with the <constant>GL_MAP_FLUSH_EXPLICIT</constant> flag. <parameter>offset</parameter>
The buffer must previously have been mapped with the <constant>GL_MAP_FLUSH_EXPLICIT_BIT</constant> flag. <parameter>offset</parameter>
and <parameter>length</parameter> indicate the modified subrange of the mapping, in basic units. The specified subrange to flush
is relative to the start of the currently mapped range of the buffer. <function>glFlushMappedBufferRange</function> may be called
multiple times to indicate distinct subranges of the mapping which require flushing.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version
is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or <parameter>length</parameter>
@ -77,7 +88,7 @@
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if the buffer bound to <parameter>target</parameter> is not
mapped, or is mapped without the <constant>GL_MAP_FLUSH_EXPLICIT</constant> flag.
mapped, or is mapped without the <constant>GL_MAP_FLUSH_EXPLICIT_BIT</constant> flag.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>

View file

@ -19,7 +19,7 @@
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>GLsync <function>glFramebufferRenderbuffer</function></funcdef>
<funcdef>void <function>glFramebufferRenderbuffer</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
<paramdef>GLenum <parameter>renderbuffertarget</parameter></paramdef>

View file

@ -29,6 +29,7 @@
<funcdef>void <function>glFramebufferTexture1D</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
<paramdef>GLenum <parameter>textarget</parameter></paramdef>
<paramdef>GLuint <parameter>texture</parameter></paramdef>
<paramdef>GLint <parameter>level</parameter></paramdef>
</funcprototype>
@ -36,6 +37,7 @@
<funcdef>void <function>glFramebufferTexture2D</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
<paramdef>GLenum <parameter>textarget</parameter></paramdef>
<paramdef>GLuint <parameter>texture</parameter></paramdef>
<paramdef>GLint <parameter>level</parameter></paramdef>
</funcprototype>
@ -43,6 +45,7 @@
<funcdef>void <function>glFramebufferTexture3D</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
<paramdef>GLenum <parameter>textarget</parameter></paramdef>
<paramdef>GLuint <parameter>texture</parameter></paramdef>
<paramdef>GLint <parameter>level</parameter></paramdef>
<paramdef>GLint <parameter>layer</parameter></paramdef>
@ -68,7 +71,17 @@
<para>
Specifies the attachment point of the framebuffer. <parameter>attachment</parameter> must be
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>textarget</parameter></term>
<listitem>
<para>
For <function>glFramebufferTexture1D</function>, <function>glFramebufferTexture2D</function> and
<function>glFramebufferTexture3D</function>, specifies what type of texture is expected
in the <parameter>texture</parameter> parameter, or for cube map textures, which face is to be attached.
</para>
</listitem>
</varlistentry>
@ -101,13 +114,22 @@
<para>
<parameter>attachment</parameter> specifies the logical attachment of the framebuffer and must be
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>.
<emphasis>i</emphasis> in <constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant> may range from zero to
the value of <constant>GL_MAX_COLOR_ATTACHMENTS</constant> - 1. Attaching a level of a texture to
<constant>GL_DEPTH_STENCIL_ATTACHMENT</constant> is equivalent to attaching that level to both the
<constant>GL_DEPTH_ATTACHMENT</constant> <emphasis>and</emphasis> the <constant>GL_STENCIL_ATTACHMENT</constant>
attachment points simultaneously.
</para>
<para>
<parameter>textarget</parameter> specifies what type of texture is named by <parameter>texture</parameter>, and for
cube map textures, specifies the face that is to be attached. If <parameter>texture</parameter> is not zero, it
must be the name of an existing texture with type <parameter>textarget</parameter>, unless it is a cube map
texture, in which case <parameter>textarget</parameter> must be <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>, <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, or
<constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>.
</para>
<para>
If <parameter>texture</parameter> is non-zero, the specified <parameter>level</parameter> of the texture object named
<parameter>texture</parameter> is attached to the framebfufer attachment point named by <parameter>attachment</parameter>.
@ -158,6 +180,10 @@
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if zero is bound to <parameter>target</parameter>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>textarget</parameter> and <parameter>texture</parameter>
are not compatible.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>

View file

@ -47,7 +47,7 @@
<para>
Specifies the attachment point of the framebuffer. <parameter>attachment</parameter> must be
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>, <constant>GL_DEPTH_ATTACHMENT</constant>,
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMMENT</constant>.
<constant>GL_STENCIL_ATTACHMENT</constant> or <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>.
</para>
</listitem>
</varlistentry>

View file

@ -66,11 +66,6 @@
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>n</parameter> is negative.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <function>glGenQueries</function> is executed
between the execution of <citerefentry><refentrytitle>glBeginQuery</refentrytitle></citerefentry> and the corresponding
execution of <citerefentry><refentrytitle>glEndQuery</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glGenRenderbuffers">
<refentry id="glGenSamplers">
<refmeta>
<refmetainfo>
<copyright>

View file

@ -103,6 +103,26 @@
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetFloati_v</function></funcdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLuint <parameter>index</parameter></paramdef>
<paramdef>GLfloat * <parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetDoublei_v</function></funcdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLuint <parameter>index</parameter></paramdef>
<paramdef>GLdouble * <parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
@ -379,6 +399,176 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a compute shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum total number of active shader storage blocks that may be accessed by all active shaders.
</para>
</listitem>
</varlistentry>
<!-- // ARB_compute_shader -->
<varlistentry>
<term><constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of uniform blocks per compute shader. The value must be at least 14.
See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value, the maximum supported texture image units that
can be used to access texture maps from the compute shader. The value may be at least 16.
See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of individual floating-point, integer, or boolean values that can be held
in uniform variable storage for a compute shader. The value must be at least 1024.
See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to compute shaders.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a compute shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the number of words for compute shader uniform variables in all uniform
blocks (including default). The value must be at least 1.
See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the number of invocations in a single local work group
(i.e., the product of the three dimensions) that may
be dispatched to a compute shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant></term>
<listitem>
<para>
</para>
<para>
Accepted by the indexed versions of <function>glGet</function>.
<parameter>params</parameter> the maximum number of work
groups that may be dispatched to a compute shader. Indices
0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
Accepted by the indexed versions of <function>glGet</function>.
<parameter>params</parameter> the maximum size of a work
groups that may be used during compilation of a compute shader. Indices
0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the name of the buffer object
currently bound to the target <constant>GL_DISPATCH_INDIRECT_BUFFER</constant>. If no buffer object
is bound to this target, 0 is returned. The initial value is 0.
See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<!-- // ARB_compute_shader -->
<!-- ARB_debug_group -->
<varlistentry>
<term><constant>GL_MAX_DEBUG_GROUP_STACK_DEPTH</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum depth of the
debug message group stack.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DEBUG_GROUP_STACK_DEPTH</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the current depth of the
debug message group stack.
</para>
</listitem>
</varlistentry>
<!-- // ARB_debug_group -->
<varlistentry>
<term><constant>GL_CONTEXT_FLAGS</constant></term>
<listitem>
@ -548,7 +738,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_DRAW_FRAMEBFUFER_BINDING</constant></term>
<term><constant>GL_DRAW_FRAMEBUFFER_BINDING</constant></term>
<listitem>
<para>
</para>
@ -561,7 +751,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_READ_FRAMEBFUFER_BINDING</constant></term>
<term><constant>GL_READ_FRAMEBUFFER_BINDING</constant></term>
<listitem>
<para>
</para>
@ -681,31 +871,6 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_LINE_WIDTH_GRANULARITY</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the width difference between adjacent supported widths for antialiased lines.
See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_LINE_WIDTH_RANGE</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns two values:
the smallest and largest supported widths for antialiased
lines.
See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_LOGIC_OP_MODE</constant></term>
<listitem>
@ -778,6 +943,18 @@
</para>
</listitem>
</varlistentry>
<!-- ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_COMBINED_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to all active shaders.
</para>
</listitem>
</varlistentry>
<!-- // ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
<listitem>
@ -826,7 +1003,7 @@
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of uniform blocks per program. The value must be at least 36.
the maximum number of uniform blocks per program. The value must be at least 70.
See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
</para>
</listitem>
@ -884,7 +1061,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_DUALSOURCE_DRAW_BUFFERS</constant></term>
<term><constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant></term>
<listitem>
<para>
</para>
@ -920,6 +1097,29 @@
</para>
</listitem>
</varlistentry>
<!-- ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_FRAGMENT_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to fragment shaders.
</para>
</listitem>
</varlistentry>
<!-- // ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a fragment shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_FRAGMENT_INPUT_COMPONENTS</constant></term>
<listitem>
@ -971,6 +1171,77 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_FRAMEBUFFER_WIDTH</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum width for a framebuffer that has no attachments, which must be at least 16384.
See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum height for a framebuffer that has no attachments, which must be at least 16384.
See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_FRAMEBUFFER_LAYERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of layers for a framebuffer that has no attachments, which must be at least 2048.
See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum samples in a framebuffer that has no attachments, which must be at least 4.
See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<!-- ARB_shader_atomic_counter -->
<varlistentry>
<term><constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to geometry shaders.
</para>
</listitem>
</varlistentry>
<!-- // ARB_shader_atomic_counter -->
<varlistentry>
<term><constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a geometry shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant></term>
<listitem>
@ -1041,6 +1312,32 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the minimum alignment in basic machine units of pointers returned from<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>
and <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry>. This value must be a power of two and must
be at least 64.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_LABEL_LENGTH</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum length of a label that may be assigned to an object.
See <citerefentry><refentrytitle>glObjectLabel</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glObjectPtrLabel</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_PROGRAM_TEXEL_OFFSET</constant></term>
<listitem>
@ -1072,7 +1369,7 @@
<parameter>params</parameter> returns one value.
The value gives a rough estimate of the largest rectangular texture that
the GL can handle. The value must be at least 1024.
Use <constant>GL_PROXY_RECTANGLE_TEXTURE</constant>
Use <constant>GL_PROXY_TEXTURE_RECTANGLE</constant>
to determine if a texture is too large.
See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
</para>
@ -1112,6 +1409,61 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of shader storage buffer binding points on the context, which must be at least 8.
</para>
</listitem>
</varlistentry>
<!-- ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation control shaders.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation evaluation shaders.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a tessellation control shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a tessellation evaluation shader.
</para>
</listitem>
</varlistentry>
<!-- // ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant></term>
<listitem>
@ -1186,6 +1538,17 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_UNIFORM_LOCATIONS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of explicitly assignable uniform locations, which must be at least 1024.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_VARYING_COMPONENTS</constant></term>
<listitem>
@ -1223,6 +1586,18 @@
</para>
</listitem>
</varlistentry>
<!-- ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum number of atomic counters available to vertex shaders.
</para>
</listitem>
</varlistentry>
<!-- /ARB_shader_atomic_counters -->
<varlistentry>
<term><constant>GL_MAX_VERTEX_ATTRIBS</constant></term>
<listitem>
@ -1236,6 +1611,17 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns one value,
the maximum number of active shader storage blocks that may be accessed by a vertex shader.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS</constant></term>
<listitem>
@ -1561,6 +1947,21 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_PROGRAM_POINT_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single boolean value indicating whether vertex
program point size mode is enabled. If enabled, then the
point size is taken from the shader built-in <code>gl_PointSize</code>. If disabled,
then the point size is taken from the point state as specified
by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
The initial value is <constant>GL_FALSE</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_PROVOKING_VERTEX</constant></term>
<listitem>
@ -1835,6 +2236,62 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant></term>
<listitem>
<para>
</para>
<para>
When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
<parameter>params</parameter> returns a single value, the name of the buffer object
currently bound to the target <constant>GL_SHADER_STORAGE_BUFFER</constant>. If no buffer object
is bound to this target, 0 is returned.
When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
<parameter>params</parameter> returns a single value, the name of the buffer object
bound to the indexed shader storage buffer binding points. The initial value is 0 for all targets.
See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
<citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the minimum required alignment
for shader storage buffer sizes and offset. The initial value is 1.
See <citerefentry><refentrytitle>glShaderStorateBlockBinding</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SHADER_STORAGE_BUFFER_START</constant></term>
<listitem>
<para>
</para>
<para>
When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
<parameter>params</parameter> returns a single value, the start offset of the binding range for each
indexed shader storage buffer binding. The initial value is 0 for all bindings.
See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SHADER_STORAGE_BUFFER_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
<parameter>params</parameter> returns a single value, the size of the binding range for each
indexed shader storage buffer binding. The initial value is 0 for all bindings.
See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_SMOOTH_LINE_WIDTH_RANGE</constant></term>
<listitem>
@ -2244,17 +2701,29 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_BUFFER_BINDING</constant></term>
<term><constant>GL_TEXTURE_BINDING_BUFFER</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the name of the texture buffer object
currently bound. The initial value is 0.
<parameter>params</parameter> returns a single value, the name of the buffer object
currently bound to the <constant>GL_TEXTURE_BUFFER</constant> buffer binding point. The initial value is 0.
See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the minimum required alignment
for texture buffer sizes and offset. The initial value is 1.
See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TIMESTAMP</constant></term>
<listitem>
@ -2472,17 +2941,69 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_VERTEX_PROGRAM_POINT_SIZE</constant></term>
<term><constant>GL_VERTEX_ARRAY_BINDING</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single boolean value indicating whether vertex
program point size mode is enabled. If enabled, and a vertex shader is active, then the
point size is taken from the shader built-in <code>gl_PointSize</code>. If disabled,
and a vertex shader is active, then the point size is taken from the point state as specified
by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
The initial value is <constant>GL_FALSE</constant>.
<parameter>params</parameter> returns a single value, the name of the vertex array object
currently bound to the context. If no vertex array object
is bound to the context, 0 is returned. The initial value is 0.
See <citerefentry><refentrytitle>glBindVertexArray</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_VERTEX_BINDING_DIVISOR</constant></term>
<listitem>
<para>
</para>
<para>
Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the instance step
divisor of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_VERTEX_BINDING_OFFSET</constant></term>
<listitem>
<para>
</para>
<para>
Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_VERTEX_BINDING_STRIDE</constant></term>
<listitem>
<para>
</para>
<para>
Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
between the start of each element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single integer value containing the maximum offset that may be added to a vertex binding
offset.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single integer value containing the maximum number of vertex buffers that may be bound.
</para>
</listitem>
</varlistentry>
@ -2568,7 +3089,18 @@
</para>
</listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term><constant>GL_MAX_ELEMENT_INDEX</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single value, the maximum index that may be specified during the
transfer of generic vertex attributes to the GL.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Many of the boolean parameters can also be queried more easily using
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>.
@ -2587,6 +3119,52 @@
and <constant>GL_VIEWPORT_INDEX_PROVOKING_VERTEX</constant>
are available only if the GL version is 4.1 or greater.
</para>
<para>
<constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant>,
<constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant>,
<constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant>,
<constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant>,
<constant>GL_MAX_FRAMGENT_ATOMIC_COUNTERS</constant>, and
<constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> are accepted by <parameter>pname</parameter>
only if the GL version is 4.2 or greater.
</para>
<para>
<constant>GL_MAX_ELEMENT_INDEX</constant> is accepted by <parameter>pname</parameter> only
if the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant>, <constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant>,
<constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant>, <constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant>,
<constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant>, <constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant>,
<constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant>, <constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant>, and
<constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant> and <constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant> are available only if the GL version
is 4.3 or greater.
</para>
<para>
<constant>GL_MAX_DEBUG_GROUP_STACK_DEPTH</constant>, <constant>GL_DEBUG_GROUP_STACK_DEPTH</constant> and <constant>GL_MAX_LABEL_LENGTH</constant> are accepted only if
the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_MAX_UNIFORM_LOCATIONS</constant> is accepted only if the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_MAX_FRAMEBUFFER_WIDTH</constant>, <constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant>, <constant>GL_MAX_FRAMEBUFFER_LAYERS</constant>,
and <constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant> are available only if the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant>,
<constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant>,
<constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant>, and <constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant> are available
only if the GL version is 4.3 or higher.
</para>
<para>
<constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant> is available only if the GL version is 4.3 or greater.
</para>
<para>
<constant>GL_VERTEX_BINDING_DIVISOR</constant>, <constant>GL_VERTEX_BINDING_OFFSET</constant>, <constant>GL_VERTEX_BINDING_STRIDE</constant>,
<constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant> and <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant> are available only if
the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -2628,9 +3206,9 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2010-2011 Khronos Group.
This document is licensed under the SGI Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>
</refsect1>

View file

@ -154,7 +154,7 @@
<constant>GL_INT_VEC2</constant>,
<constant>GL_INT_VEC3</constant>,
<constant>GL_INT_VEC4</constant>,
<constant>GL_UNSIGNED_INT_VEC</constant>,
<constant>GL_UNSIGNED_INT</constant>,
<constant>GL_UNSIGNED_INT_VEC2</constant>,
<constant>GL_UNSIGNED_INT_VEC3</constant>,
<constant>GL_UNSIGNED_INT_VEC4</constant>,

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glGetActiveSubroutineName">
<refentry id="glGetActiveSubroutineUniform">
<refmeta>
<refmetainfo>
<copyright>

View file

@ -745,6 +745,255 @@
<constant>usampler2DRect</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_1D</constant>
</entry>
<entry align="left">
<constant>image1D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_2D</constant>
</entry>
<entry align="left">
<constant>image2D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_3D</constant>
</entry>
<entry align="left">
<constant>image3D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_2D_RECT</constant>
</entry>
<entry align="left">
<constant>image2DRect</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_CUBE</constant>
</entry>
<entry align="left">
<constant>imageCube</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_BUFFER</constant>
</entry>
<entry align="left">
<constant>imageBuffer</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_1D_ARRAY</constant>
</entry>
<entry align="left">
<constant>image1DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_2D_ARRAY</constant>
</entry>
<entry align="left">
<constant>image2DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_2D_MULTISAMPLE</constant>
</entry>
<entry align="left">
<constant>image2DMS</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_IMAGE_2D_MULTISAMPLE_ARRAY</constant>
</entry>
<entry align="left">
<constant>image2DMSArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_1D</constant>
</entry>
<entry align="left">
<constant>iimage1D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_2D</constant>
</entry>
<entry align="left">
<constant>iimage2D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_3D</constant>
</entry>
<entry align="left">
<constant>iimage3D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_2D_RECT</constant>
</entry>
<entry align="left">
<constant>iimage2DRect</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_CUBE</constant>
</entry>
<entry align="left">
<constant>iimageCube</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_BUFFER</constant>
</entry>
<entry align="left">
<constant>iimageBuffer</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_1D_ARRAY</constant>
</entry>
<entry align="left">
<constant>iimage1DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_2D_ARRAY</constant>
</entry>
<entry align="left">
<constant>iimage2DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_2D_MULTISAMPLE</constant>
</entry>
<entry align="left">
<constant>iimage2DMS</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY</constant>
</entry>
<entry align="left">
<constant>iimage2DMSArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_1D</constant>
</entry>
<entry align="left">
<constant>uimage1D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_2D</constant>
</entry>
<entry align="left">
<constant>uimage2D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_3D</constant>
</entry>
<entry align="left">
<constant>uimage3D</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_2D_RECT</constant>
</entry>
<entry align="left">
<constant>uimage2DRect</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_CUBE</constant>
</entry>
<entry align="left">
<constant>uimageCube</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_BUFFER</constant>
</entry>
<entry align="left">
<constant>uimageBuffer</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_1D_ARRAY</constant>
</entry>
<entry align="left">
<constant>uimage1DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_2D_ARRAY</constant>
</entry>
<entry align="left">
<constant>uimage2DArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE</constant>
</entry>
<entry align="left">
<constant>uimage2DMS</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY</constant>
</entry>
<entry align="left">
<constant>uimage2DMSArray</constant>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_UNSIGNED_INT_ATOMIC_COUNTER</constant>
</entry>
<entry align="left">
<constant>atomic_uint</constant>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
@ -805,6 +1054,43 @@
and <constant>GL_DOUBLE_MAT4x3</constant> are only available if the GL
version is 4.1 or higher.
</para>
<para>
The image types,
<constant>GL_IMAGE_1D</constant>,
<constant>GL_IMAGE_2D</constant>,
<constant>GL_IMAGE_3D</constant>,
<constant>GL_IMAGE_2D_RECT</constant>,
<constant>GL_IMAGE_CUBE</constant>,
<constant>GL_IMAGE_BUFFER</constant>,
<constant>GL_IMAGE_1D_ARRAY</constant>,
<constant>GL_IMAGE_2D_ARRAY</constant>,
<constant>GL_IMAGE_2D_MULTISAMPLE</constant>,
<constant>GL_IMAGE_2D_MULTISAMPLE_ARRAY</constant>,
<constant>GL_INT_IMAGE_1D</constant>,
<constant>GL_INT_IMAGE_2D</constant>,
<constant>GL_INT_IMAGE_3D</constant>,
<constant>GL_INT_IMAGE_2D_RECT</constant>,
<constant>GL_INT_IMAGE_CUBE</constant>,
<constant>GL_INT_IMAGE_BUFFER</constant>,
<constant>GL_INT_IMAGE_1D_ARRAY</constant>,
<constant>GL_INT_IMAGE_2D_ARRAY</constant>,
<constant>GL_INT_IMAGE_2D_MULTISAMPLE</constant>,
<constant>GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_1D</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_2D</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_3D</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_2D_RECT</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_CUBE</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_BUFFER</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_1D_ARRAY</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_2D_ARRAY</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE</constant>,
<constant>GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY</constant>,
and the atomic counter type,
<constant>GL_UNSIGNED_INT_ATOMIC_COUNTER</constant>
are only available if the GL
version is 4.2 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para><constant>GL_INVALID_VALUE</constant> is generated if
@ -826,8 +1112,9 @@
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
with argument <constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant>,
<constant>GL_MAX_GEOMETRY_UNIFORM_COMPONENTS</constant>,
<constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant>, or
<constant>GL_MAX_COMBINED_UNIFORM_COMPONENTS</constant>.</para>
<constant>GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS</constant>,
<constant>GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS</constant>,
<constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant>.</para>
<para><citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>
with argument <constant>GL_ACTIVE_UNIFORMS</constant> or

View file

@ -23,7 +23,7 @@
<paramdef>GLuint <parameter>program</parameter></paramdef>
<paramdef>GLuint <parameter>uniformBlockIndex</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLint <parameter>params</parameter></paramdef>
<paramdef>GLint *<parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -108,9 +108,12 @@
<parameter>params</parameter> is the value of <constant>GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS</constant> for <parameter>uniformBlockIndex</parameter>.
</para>
<para>
If <parameter>pname</parameter> is <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER</constant>, <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER</constant>,
or <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER</constant>, then a boolean value indicating whether the uniform block identified by
<parameter>uniformBlockIndex</parameter> is referenced by the vertex, geometry, or fragment programming stages of program, respectively, is returned.
If <parameter>pname</parameter> is <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER</constant>, <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER</constant>,
<constant>GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER</constant>, <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER</constant>,
<constant>GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER</constant>, or <constant>GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER</constant>
then a boolean value indicating whether the uniform block identified by
<parameter>uniformBlockIndex</parameter> is referenced by the vertex, tessellation control, tessellation evaluation, geometry, fragment or compute
programming stages of program, respectively, is returned.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
@ -130,6 +133,10 @@
<para>
<function>glGetActiveUniformBlockiv</function> is available only if the GL version is 3.1 or greater.
</para>
<para>
<constant>GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER</constant> is accepted only if the GL version is 4.3
or greater.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
@ -140,7 +147,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -41,7 +41,7 @@
<term><parameter>count</parameter></term>
<listitem>
<para>Returns the number of names actually returned
in <parameter>objects</parameter>.</para>
in <parameter>shaders</parameter>.</para>
</listitem>
</varlistentry>
<varlistentry>

View file

@ -25,6 +25,14 @@
<paramdef>GLint * <parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetBufferParameteri64v</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>value</parameter></paramdef>
<paramdef>GLint64 * <parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
@ -33,12 +41,18 @@
<listitem>
<para>
Specifies the target buffer object.
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -117,6 +131,15 @@
If an error is generated,
no change is made to the contents of <parameter>data</parameter>.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -138,6 +161,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -33,12 +33,18 @@
<listitem>
<para>
Specifies the target buffer object.
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -79,6 +85,15 @@
<para>
The initial value for the pointer is <constant>NULL</constant>.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -98,6 +113,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2011-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -35,12 +35,17 @@
<listitem>
<para>
Specifies the target buffer object.
The symbolic constant must be <constant>GL_ARRAY_BUFFER</constant>,
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_RESULT_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -89,6 +94,15 @@
If an error is generated,
no change is made to the contents of <parameter>data</parameter>.
</para>
<para>
The <constant>GL_ATOMIC_COUNTER_BUFER</constant> target is available only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> target is available only if the GL version is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_RESULT_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -120,6 +134,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2011-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -116,6 +116,24 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_STACK_UNDERFLOW</constant></term>
<listitem>
<para>
An attempt has been made to perform an operation that would
cause an internal stack to underflow.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_STACK_OVERFLOW</constant></term>
<listitem>
<para>
An attempt has been made to perform an operation that would
cause an internal stack to overflow.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
When an error flag is set,
@ -131,7 +149,10 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2012
Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glClampColor">
<refentry id="glGetFragDataLocation">
<refmeta>
<refmetainfo>
<copyright>

View file

@ -19,7 +19,7 @@
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetFramebufferAttachmentParameter</function></funcdef>
<funcdef>void <function>glGetFramebufferAttachmentParameteriv</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>attachment</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
@ -66,7 +66,7 @@
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glGetFramebufferAttachmentParameter</function> returns information about attachments of a bound framebuffer
<function>glGetFramebufferAttachmentParameteriv</function> returns information about attachments of a bound framebuffer
object. <parameter>target</parameter> specifies the framebuffer binding point and must be <constant>GL_DRAW_FRAMEBUFFER</constant>,
<constant>GL_READ_FRAMEBUFFER</constant> or <constant>GL_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant> is equivalent
to <constant>GL_DRAW_FRAMEBUFFER</constant>.
@ -218,7 +218,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -39,12 +39,14 @@
<constant>GL_VALIDATE_STATUS</constant>,
<constant>GL_INFO_LOG_LENGTH</constant>,
<constant>GL_ATTACHED_SHADERS</constant>,
<constant>GL_ACTIVE_ATOMIC_COUNTER_BUFFERS</constant>,
<constant>GL_ACTIVE_ATTRIBUTES</constant>,
<constant>GL_ACTIVE_ATTRIBUTE_MAX_LENGTH</constant>,
<constant>GL_ACTIVE_UNIFORMS</constant>,
<constant>GL_ACTIVE_UNIFORM_BLOCKS</constant>,
<constant>GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH</constant>,
<constant>GL_ACTIVE_UNIFORM_MAX_LENGTH</constant>,
<constant>GL_COMPUTE_WORK_GROUP_SIZE</constant>
<constant>GL_PROGRAM_BINARY_LENGTH</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER_MODE</constant>,
<constant>GL_TRANSFORM_FEEDBACK_VARYINGS</constant>,
@ -135,6 +137,17 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_ACTIVE_ATOMIC_COUNTER_BUFFERS</constant></term>
<listitem>
<para>
</para>
<para> <parameter>params</parameter> returns the
number of active attribute atomic counter buffers used by
<parameter>program</parameter>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_ACTIVE_ATTRIBUTES</constant></term>
<listitem>
@ -201,6 +214,21 @@
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_COMPUTE_WORK_GROUP_SIZE</constant></term>
<listitem>
<para>
</para>
<para> <parameter>params</parameter> returns an
array of three integers containing the local work group size of
the compute program as specified by its input layout qualifier(s).
<parameter>program</parameter> must be the name of a program object
that has been previously linked successfully and contains a binary
for the compute shader stage.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_MODE</constant></term>
<listitem>
@ -277,6 +305,10 @@
and <constant>GL_GEOMETRY_OUTPUT_TYPE</constant> are accepted only if the GL
version is 3.2 or greater.
</para>
<para>
<constant>GL_COMPUTE_WORK_GROUP_SIZE</constant> is accepted only if the
GL version is 4.3 or greater.
</para>
<para>If an error is generated, no change is made to the
contents of <parameter>params</parameter>.</para>
@ -299,6 +331,10 @@
is generated if <parameter>pname</parameter>
is not an accepted value.</para>
<para><constant>GL_INVALID_OPERATION</constant> is generated if <parameter>pname</parameter>
is <constant>GL_COMPUTE_WORK_GROUP_SIZE</constant> and <parameter>program</parameter>
does not contain a binary for the compute shader stage.</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para><citerefentry><refentrytitle>glGetActiveAttrib</refentrytitle></citerefentry>
@ -327,7 +363,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2003-2005 3Dlabs Inc. Ltd.
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2011 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -34,7 +34,7 @@
<listitem>
<para>
Specifies a query object target.
Must be <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
Must be <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>,
<constant>GL_TIME_ELAPSED</constant>, or <constant>GL_TIMESTAMP</constant>.
</para>
@ -82,6 +82,9 @@
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The target <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant> is available only if the GL version is 4.3 or greater.
</para>
<para>
If an error is generated,
no change is made to the contents of <parameter>params</parameter>.

View file

@ -73,7 +73,10 @@
<term><parameter>params</parameter></term>
<listitem>
<para>
Returns the requested data.
If a buffer is bound to the <constant>GL_QUERY_RESULT_BUFFER</constant> target, then <parameter>params</parameter>
is treated as an offset to a location within that buffer's data store to receive the result of the query. If
no buffer is bound to <constant>GL_QUERY_RESULT_BUFFER</constant>, then <parameter>params</parameter> is
treated as an address in client memory of a variable to receive the resulting data.
</para>
</listitem>
</varlistentry>
@ -92,7 +95,18 @@
<term><constant>GL_QUERY_RESULT</constant></term>
<listitem>
<para>
<parameter>params</parameter> returns the value of the query object's passed samples counter.
<parameter>params</parameter> returns the value of the query object's passed samples counter.
The initial value is 0.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_QUERY_RESULT_NO_WAIT</constant></term>
<listitem>
<para>
If the result of the query is available (that is, a query of <constant>GL_QUERY_RESULT_AVAILABLE</constant> would
return non-zero), then <parameter>params</parameter> returns the value of the query object's passed samples counter,
otherwise, the data referred to by <parameter>params</parameter> is not modified.
The initial value is 0.
</para>
</listitem>
@ -128,6 +142,14 @@
<function>glGetQueryObjecti64v</function> and <function>glGetQueryObjectui64v</function> are available only
if the GL version is 3.3 or greater.
</para>
<para>
<constant>GL_QUERY_RESULT_NO_WAIT</constant> is accepted for <parameter>pname</parameter> only if the
GL version is 4.4 or greater.
</para>
<para>
The <constant>GL_QUERY_RESULT_BUFFER</constant> target is available only if the GL version is 4.4 or higher.
On earlier versions of the GL, <parameter>params</parameter> is always an address in client memory.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -140,6 +162,11 @@
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>id</parameter> is the name of a currently active
query object.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a buffer is currently bound to the
<constant>GL_QUERY_RESULT_BUFFER</constant> target and the command would cause data to be written beyond the bounds
of that buffer's data store.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
@ -153,6 +180,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -33,7 +33,7 @@
<listitem>
<para>
Specifies a query object target.
Must be <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>,
Must be <constant>GL_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED</constant>, <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant>
<constant>GL_PRIMITIVES_GENERATED</constant>, <constant>GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</constant>,
<constant>GL_TIME_ELAPSED</constant>, or <constant>GL_TIMESTAMP</constant>.
</para>
@ -72,6 +72,9 @@
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The target <constant>GL_ANY_SAMPLES_PASSED_CONSERVATIVE</constant> is available only if the GL version is 4.3 or greater.
</para>
<para>
If an error is generated,
no change is made to the contents of <parameter>params</parameter>.

View file

@ -33,6 +33,22 @@
<paramdef>GLint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetSamplerParameterIiv</function></funcdef>
<paramdef>GLuint <parameter>sampler</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetSamplerParameterIuiv</function></funcdef>
<paramdef>GLuint <parameter>sampler</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLuint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>

View file

@ -208,6 +208,10 @@
<para>
<function>glGetTexImage</function> returns the texture image for the active texture unit.
</para>
<para>
<constant>GL_STENCIL_INDEX</constant> is accepted for <parameter>format</parameter> only if the GL
version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -237,7 +241,7 @@
is the returned value of <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is returned if <parameter>type</parameter> is one of
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
<constant>GL_UNSIGNED_BYTE_3_3_2</constant>,
<constant>GL_UNSIGNED_BYTE_2_3_3_REV</constant>,
<constant>GL_UNSIGNED_SHORT_5_6_5</constant>,
@ -245,7 +249,7 @@
<constant>GL_UNSIGNED_INT_10F_11F_11F_REV</constant> and <parameter>format</parameter> is not <constant>GL_RGB</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is returned if <parameter>type</parameter> is one of
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
<constant>GL_UNSIGNED_SHORT_4_4_4_4</constant>,
<constant>GL_UNSIGNED_SHORT_4_4_4_4_REV</constant>,
<constant>GL_UNSIGNED_SHORT_5_5_5_1</constant>,
@ -257,6 +261,11 @@
<constant>GL_UNSIGNED_INT_5_9_9_9_REV</constant> and <parameter>format</parameter> is neither <constant>GL_RGBA</constant>
or <constant>GL_BGRA</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>format</parameter> is
<constant>GL_STENCIL_INDEX</constant> and the base internal format is not <constant>GL_STENCIL_INDEX</constant>
or <constant>GL_DEPTH_STENCIL</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to the
<constant>GL_PIXEL_PACK_BUFFER</constant> target and the buffer object's data store is currently mapped.
@ -305,7 +314,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010-2013
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glGetTexLevelParameter</refentrytitle>
@ -95,14 +95,14 @@
<constant>GL_TEXTURE_HEIGHT</constant>,
<constant>GL_TEXTURE_DEPTH</constant>,
<constant>GL_TEXTURE_INTERNAL_FORMAT</constant>,
<constant>GL_TEXTURE_BORDER</constant>,
<constant>GL_TEXTURE_RED_SIZE</constant>,
<constant>GL_TEXTURE_GREEN_SIZE</constant>,
<constant>GL_TEXTURE_BLUE_SIZE</constant>,
<constant>GL_TEXTURE_ALPHA_SIZE</constant>,
<constant>GL_TEXTURE_DEPTH_SIZE</constant>,
<constant>GL_TEXTURE_COMPRESSED</constant>, and
<constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
<constant>GL_TEXTURE_COMPRESSED</constant>,
<constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>, and
<constant>GL_TEXTURE_BUFFER_OFFSET</constant>
are accepted.
</para>
</listitem>
@ -139,8 +139,8 @@
<constant>GL_MAX_TEXTURE_SIZE</constant>, and <constant>GL_MAX_3D_TEXTURE_SIZE</constant> are not really
descriptive enough.
It has to report the largest square texture image that can be
accommodated with mipmaps and borders,
but a long skinny texture, or a texture without mipmaps and borders, may
accommodated with mipmaps
but a long skinny texture, or a texture without mipmaps may
easily fit in texture memory.
The proxy targets allow the user to more accurately query
whether the GL can accommodate a texture of a given configuration.
@ -165,8 +165,7 @@
<para>
<parameter>params</parameter> returns a single value,
the width of the texture image.
This value includes the border of the texture image. The initial value is
0.
The initial value is 0.
</para>
</listitem>
</varlistentry>
@ -178,8 +177,7 @@
<para>
<parameter>params</parameter> returns a single value,
the height of the texture image.
This value includes the border of the texture image. The initial value is
0.
The initial value is 0.
</para>
</listitem>
</varlistentry>
@ -191,8 +189,7 @@
<para>
<parameter>params</parameter> returns a single value,
the depth of the texture image.
This value includes the border of the texture image. The initial value is
0.
The initial value is 0.
</para>
</listitem>
</varlistentry>
@ -299,6 +296,30 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_BUFFER_OFFSET</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single integer value, the offset into the
data store of the buffer bound to a buffer texture.
<citerefentry><refentrytitle>glTexBufferRange</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_BUFFER_SIZE</constant></term>
<listitem>
<para>
</para>
<para>
<parameter>params</parameter> returns a single integer value, the size of the range of a
data store of the buffer bound to a buffer texture.
<citerefentry><refentrytitle>glTexBufferRange</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
@ -309,6 +330,10 @@
<para>
<function>glGetTexLevelParameter</function> returns the texture level parameters for the active texture unit.
</para>
<para>
<constant>GL_TEXTURE_BUFFER_OFFSET</constant> and <constant>GL_TEXTURE_BUFFER_SIZE</constant> are available only
if the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -361,7 +386,7 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010-2013
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.

View file

@ -33,6 +33,22 @@
<paramdef>GLint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetTexParameterIiv</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetTexParameterIuiv</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLuint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
@ -47,8 +63,9 @@
<constant>GL_TEXTURE_1D_ARRAY</constant>,
<constant>GL_TEXTURE_2D_ARRAY</constant>,
<constant>GL_TEXTURE_3D</constant>,
<constant>GL_TEXTURE_RECTANGLE</constant>, and
<constant>GL_TEXTURE_CUBE_MAP</constant>
<constant>GL_TEXTURE_RECTANGLE</constant>,
<constant>GL_TEXTURE_CUBE_MAP</constant>, and
<constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant>
are accepted.
</para>
</listitem>
@ -58,10 +75,13 @@
<listitem>
<para>
Specifies the symbolic name of a texture parameter.
<constant>GL_DEPTH_STENCIL_TEXTURE_MODE</constant>,
<constant>GL_TEXTURE_BASE_LEVEL</constant>,
<constant>GL_TEXTURE_BORDER_COLOR</constant>,
<constant>GL_TEXTURE_COMPARE_MODE</constant>,
<constant>GL_TEXTURE_COMPARE_FUNC</constant>,
<constant>GL_TEXTURE_IMMUTABLE_FORMAT</constant>,
<constant>GL_TEXTURE_IMMUTABLE_LEVELS</constant>,
<constant>GL_TEXTURE_LOD_BIAS</constant>,
<constant>GL_TEXTURE_MAG_FILTER</constant>,
<constant>GL_TEXTURE_MAX_LEVEL</constant>,
@ -73,6 +93,10 @@
<constant>GL_TEXTURE_SWIZZLE_B</constant>,
<constant>GL_TEXTURE_SWIZZLE_A</constant>,
<constant>GL_TEXTURE_SWIZZLE_RGBA</constant>,
<constant>GL_TEXTURE_VIEW_MIN_LAYER</constant>,
<constant>GL_TEXTURE_VIEW_MIN_LEVEL</constant>,
<constant>GL_TEXTURE_VIEW_NUM_LAYERS</constant>,
<constant>GL_TEXTURE_VIEW_NUM_LEVELS</constant>,
<constant>GL_TEXTURE_WRAP_S</constant>,
<constant>GL_TEXTURE_WRAP_T</constant>, and
<constant>GL_TEXTURE_WRAP_R</constant>
@ -100,13 +124,23 @@
<constant>GL_TEXTURE_3D</constant>,
<constant>GL_TEXTURE_1D_ARRAY</constant>,
<constant>GL_TEXTURE_2D_ARRAY</constant>,
<constant>GL_TEXTURE_RECTANGLE</constant>, and
<constant>GL_TEXTURE_CUBE_MAP</constant>
specify one-, two-, or three-dimensional, one-dimensional array, two-dimensional array, rectangle or cube-mapped texturing, respectively.
<constant>GL_TEXTURE_RECTANGLE</constant>,
<constant>GL_TEXTURE_CUBE_MAP</constant>,
<constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant>
specify one-, two-, or three-dimensional, one-dimensional array, two-dimensional array, rectangle, cube-mapped or cube-mapped array texturing, respectively.
<parameter>pname</parameter> accepts the same symbols as <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>,
with the same interpretations:
</para>
<variablelist>
<varlistentry>
<term><constant>GL_DEPTH_STENCIL_TEXTURE_MODE</constant></term>
<listitem>
<para>
Returns the single-value depth stencil texture mode, a symbolic constant.
The initial value is <constant>GL_DEPTH_COMPONENT</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_MAG_FILTER</constant></term>
<listitem>
@ -278,6 +312,68 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_VIEW_MIN_LEVEL</constant></term>
<listitem>
<para>
Returns a single-valued base level of a texture view relative to its parent. The
initial value is 0. See <citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_VIEW_NUM_LEVELS</constant></term>
<listitem>
<para>
Returns a single-valued number of levels of detail of a texture view.
See <citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_VIEW_MIN_LAYER</constant></term>
<listitem>
<para>
Returns a single-valued first level of a texture array view relative to its parent.
See <citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_VIEW_NUM_LAYERS</constant></term>
<listitem>
<para>
Returns a single-valued number of layers in a texture array view.
See <citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>GL_TEXTURE_IMMUTABLE_LEVELS</constant></term>
<listitem>
<para>
Returns a single-valued number of immutable texture levels in a texture view.
See <citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
In addition to the parameters that may be set with <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>,
<function>glGetTexParameter</function> accepts the following read-only parameters:
</para>
<variablelist>
<varlistentry>
<term><constant>GL_TEXTURE_IMMUTABLE_FORMAT</constant></term>
<listitem>
<para>
Returns non-zero if the texture has an immutable format. Textures become
immutable if their storage is specified with <citerefentry><refentrytitle>glTexStorage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexStorage2D</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glTexStorage3D</refentrytitle></citerefentry>.
The initial value is <constant>GL_FALSE</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
@ -285,6 +381,11 @@
If an error is generated,
no change is made to the contents of <parameter>params</parameter>.
</para>
<para>
<constant>GL_DEPTH_STENCIL_TEXTURE_MODE</constant>, <constant>GL_TEXTURE_VIEW_MIN_LEVEL</constant>,
<constant>GL_TEXTURE_VIEW_NUM_LEVELS</constant>, <constant>GL_TEXTURE_VIEW_MIN_LAYER</constant>,
<constant>GL_TEXTURE_VIEW_NUM_LAYERS</constant> and <constant>GL_TEXTURE_IMMUTABLE_LEVELS</constant> are available only if the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -294,13 +395,17 @@
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexStorage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexStorage2D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexStorage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTextureView</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010-2012
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.

View file

@ -24,7 +24,7 @@
<paramdef>GLuint<parameter>index</parameter></paramdef>
<paramdef>GLsizei<parameter>bufSize</parameter></paramdef>
<paramdef>GLsizei *<parameter>length</parameter></paramdef>
<paramdef>GLsizei<parameter>size</parameter></paramdef>
<paramdef>GLsizei *<parameter>size</parameter></paramdef>
<paramdef>GLenum *<parameter>type</parameter></paramdef>
<paramdef>char *<parameter>name</parameter></paramdef>
</funcprototype>
@ -99,7 +99,7 @@
variable selected by <parameter>index</parameter>. An <parameter>index</parameter> of 0 selects
the first varying variable specified in the <parameter>varyings</parameter> array passed
to <citerefentry><refentrytitle>glTransformFeedbackVaryings</refentrytitle></citerefentry>, and
an <parameter>index</parameter> of <constant>GL_TRANSFORM_FEEDBACK_VARYINGS-1</constant> selects
an <parameter>index</parameter> of <constant>GL_TRANSFORM_FEEDBACK_VARYINGS</constant> - 1 selects
the last such variable.
</para>
<para>
@ -152,7 +152,7 @@
</para>
</refsect1> <refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -26,6 +26,18 @@
<paramdef>GLint <parameter>location</parameter></paramdef>
<paramdef>GLint *<parameter>params</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glGetUniformuiv</function></funcdef>
<paramdef>GLuint <parameter>program</parameter></paramdef>
<paramdef>GLint <parameter>location</parameter></paramdef>
<paramdef>GLuint *<parameter>params</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>void <function>glGetUniformdv</function></funcdef>
<paramdef>GLuint <parameter>program</parameter></paramdef>
<paramdef>GLint <parameter>location</parameter></paramdef>
<paramdef>GLdouble *<parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>

View file

@ -19,7 +19,7 @@
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>GLuint <function>glGetUniformIndices</function></funcdef>
<funcdef>void <function>glGetUniformIndices</function></funcdef>
<paramdef>GLuint <parameter>program</parameter></paramdef>
<paramdef>GLsizei <parameter>uniformCount</parameter></paramdef>
<paramdef>const GLchar **<parameter>uniformNames</parameter></paramdef>

View file

@ -48,8 +48,10 @@
an array of structures, or a subcomponent of a vector or a
matrix. This function returns -1 if <parameter>name</parameter>
does not correspond to an active uniform variable in
<parameter>program</parameter> or if <parameter>name</parameter>
starts with the reserved prefix &quot;gl_&quot;.</para>
<parameter>program</parameter>, if <parameter>name</parameter>
starts with the reserved prefix &quot;gl_&quot;, or if
<parameter>name</parameter> is associated with an atomic counter or
a named uniform block.</para>
<para>Uniform variables that are structures or arrays of
structures may be queried by calling
@ -114,7 +116,8 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2003-2005 3Dlabs Inc. Ltd.
Copyright <trademark class="copyright"></trademark> 2003-2005 3Dlabs Inc. Ltd.
<trademark class="copyright"></trademark> 2011 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -13,7 +13,7 @@
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glIsEnabled</refname>
<refname>glIsEnabled, glIsEnabledi</refname>
<refpurpose>test whether a capability is enabled</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
@ -23,6 +23,13 @@
<paramdef>GLenum <parameter>cap</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>GLboolean <function>glIsEnabledi</function></funcdef>
<paramdef>GLenum <parameter>cap</parameter></paramdef>
<paramdef>GLuint <parameter>index</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
@ -34,12 +41,22 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>index</parameter></term>
<listitem>
<para>
Specifies the index of the capability.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glIsEnabled</function> returns <constant>GL_TRUE</constant> if <parameter>cap</parameter> is an enabled capability
and returns <constant>GL_FALSE</constant> otherwise.
and returns <constant>GL_FALSE</constant> otherwise. Boolean states that are indexed may be tested with <function>glIsEnabledi</function>.
For <function>glIsEnabledi</function>, <parameter>index</parameter> specifies the index of the capability to test. <parameter>index</parameter>
must be between zero and the count of indexed capabilities for <parameter>cap</parameter>.
Initially all capabilities except <constant>GL_DITHER</constant> are disabled;
<constant>GL_DITHER</constant> is initially enabled.
</para>
@ -103,6 +120,22 @@
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_DEBUG_OUTPUT</constant>
</entry>
<entry align="left">
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_DEBUG_OUTPUT_SYNCHRONOUS</constant>
</entry>
<entry align="left">
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>
</entry>
</row>
<row>
<entry align="left">
<constant>GL_DEPTH_TEST</constant>
@ -241,7 +274,7 @@
</row>
<row>
<entry align="left">
<constant>GL_TEXTURE_CUBEMAP_SEAMLESS</constant>
<constant>GL_TEXTURE_CUBE_MAP_SEAMLESS</constant>
</entry>
<entry align="left">
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>
@ -256,24 +289,33 @@
<refsect1 id="notes"><title>Notes</title>
<para>
If an error is generated,
<function>glIsEnabled</function> returns <constant>GL_FALSE</constant>.
<function>glIsEnabled</function> and <function>glIsEnabledi</function> return <constant>GL_FALSE</constant>.
</para>
<para>
<constant>GL_DEBUG_OUTPUT</constant> and <constant>GL_DEBUG_OUTPUT_SYNCHRONOUS</constant> are available only if the GL version is 4.3 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>cap</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated by <function>glIsEnabledi</function> if <parameter>index</parameter> is outside the
valid range for the indexed state <parameter>cap</parameter>.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010-2011
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -38,8 +38,8 @@
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glIsVertexArray</function> returns <constant>GL_TRUE</constant> if <parameter>array</parameter> is currently the name of a renderbuffer
object. If <parameter>renderbuffer</parameter> is zero, or if <parameter>array</parameter> is not the name of a renderbuffer object, or if an error
<function>glIsVertexArray</function> returns <constant>GL_TRUE</constant> if <parameter>array</parameter> is currently the name of a vertex array
object. If <parameter>array</parameter> is zero, or if <parameter>array</parameter> is not the name of a vertex array object, or if an error
occurs, <function>glIsVertexArray</function> returns <constant>GL_FALSE</constant>. If <parameter>array</parameter> is a name returned by
<citerefentry><refentrytitle>glGenVertexArrays</refentrytitle></citerefentry>, by that has not yet been bound through a call to
<citerefentry><refentrytitle>glBindVertexArray</refentrytitle></citerefentry>, then the name is not a vertex array object and
@ -55,7 +55,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -165,7 +165,7 @@
<listitem>
<para>The total number of components to capture in any transform feedback varying variable
is greater than the constant <constant>GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS</constant>
and the buffer mode is <constant>SEPARATE_ATTRIBS</constant>.</para>
and the buffer mode is <constant>GL_SEPARATE_ATTRIBS</constant>.</para>
</listitem>
</itemizedlist>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>2005</year>
<holder>Sams Publishing</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glMapBuffer</refentrytitle>
@ -34,11 +34,16 @@
Specifies the target buffer object being mapped.
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_QUERY_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -75,11 +80,15 @@
Specifies the target buffer object being unmapped.
The symbolic constant must be
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_SHADER_STORAGE_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or
<constant>GL_UNIFORM_BUFFER</constant>.
@ -95,6 +104,10 @@
the returned pointer, depending on the specified <parameter>access</parameter> policy. If the GL is unable to
map the buffer object's data store, <function>glMapBuffer</function> generates an error and returns
<constant>NULL</constant>. This may occur for system-specific reasons, such as low virtual memory availability.
If no error occurs, the returned pointer will have an alignment of at least <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant>
basic machine units. The value of <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> can be retrieved by calling
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with <parameter>pname</parameter> set to
<constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> and must be a power of two that is at least 64.
</para>
<para>
If a mapped data store is accessed in a way inconsistent with the specified <parameter>access</parameter> policy,
@ -128,19 +141,23 @@
Parameter values passed to GL commands may not be sourced from the returned pointer. No error will be generated,
but results will be undefined and will likely vary across GL implementations.
</para>
<para>
Alignment of the returned pointer is guaranteed only if the version
of the GL version is 4.2 or greater. Also, the <constant>GL_ATOMIC_COUNTER_BUFFER</constant>
target is accepted only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are available only if the GL version
is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not
<constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>,
<constant>GL_COPY_WRITE_BUFFER</constant>,
<constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>,
<constant>GL_PIXEL_UNPACK_BUFFER</constant>,
<constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant> or
<constant>GL_UNIFORM_BUFFER</constant>.
one of the accepted targets.
</para>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>access</parameter> is not
@ -183,7 +200,8 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2005 Addison-Wesley.
Copyright <trademark class="copyright"></trademark> 2010-2011 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -5,7 +5,7 @@
<refmeta>
<refmetainfo>
<copyright>
<year>2010</year>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
@ -67,9 +67,11 @@
<para>
<function>glMapBufferRange</function> maps all or part of the data store of a buffer object into the client's address
space. <parameter>target</parameter> specifies the target to which the buffer is bound and must be one of <constant>GL_ARRAY_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, or <constant>GL_UNIFORM_BUFFER</constant>. <parameter>offset</parameter> and
<constant>GL_ATOMIC_COUNTER_BUFFER</constant>,
<constant>GL_COPY_READ_BUFFER</constant>, <constant>GL_COPY_WRITE_BUFFER</constant>, <constant>GL_DRAW_INDIRECT_BUFFER</constant>,
<constant>GL_DISPATCH_INDIRECT_BUFFER</constant>, <constant>GL_ELEMENT_ARRAY_BUFFER</constant>,
<constant>GL_PIXEL_PACK_BUFFER</constant>, <constant>GL_PIXEL_UNPACK_BUFFER</constant>, <constant>GL_QUERY_BUFFER</constant>, <constant>GL_TEXTURE_BUFFER</constant>,
<constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>, <constant>GL_UNIFORM_BUFFER</constant> or <constant>GL_SHADER_STORAGE_BUFFER</constant>. <parameter>offset</parameter> and
<parameter>length</parameter> indicate the range of data in the buffer object htat is to be mapped, in terms of basic machine units.
<parameter>access</parameter> is a bitfield containing flags which describe the requested mapping. These flags are described below.
</para>
@ -141,10 +143,52 @@
but the result of such previous and any subsequent operations is undefined.
</para>
</listitem>
<listitem>
<para>
<constant>GL_MAP_PERSISTENT_BIT</constant> indicates that the mapping is to be made in a persistent
fassion and that the client intends to hold and use the returned pointer during subsequent GL operation. It is not
an error to call drawing commands (render) while buffers are mapped using this flag. It is an error to
specify this flag if the buffer's data store was not allocated through a call to the <citerefentry><refentrytitle>glBufferStorage</refentrytitle></citerefentry>
command in which the <constant>GL_MAP_PERSISTENT_BIT</constant> was also set.
</para>
</listitem>
<listitem>
<para>
<constant>GL_MAP_COHERENT_BIT</constant> indicates that a persistent mapping is also to be coherent.
Coherent maps guarantee that the effect of writes to a buffer's data store by either the client or server will
eventually become visible to the other without further intervention from the application. In the absence
of this bit, persistent mappings are not coherent and modified ranges of the buffer store must be explicitly
communicated to the GL, either by unmapping the buffer, or through a call to
<citerefentry><refentrytitle>glFlushMappedBufferRange</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glMemoryBarrier</refentrytitle></citerefentry>.
</para>
</listitem>
</itemizedlist>
</para>
<para>
If an error occurs, <function>glMapBufferRange</function> returns a <code>NULL</code> pointer.
If no error occurs, the returned pointer will reflect an alignment of at least <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant>
basic machine units. The value of <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> can be retrieved by calling
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with <parameter>pname</parameter> set to
<constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> and must be a power of two that is at least 64. Subtracting <parameter>offset</parameter>
from this returned pointed will always produce a multiple of <constant>GL_MIN_MAP_BUFFER_ALINMENT</constant>.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
Alignment of the returned pointer is guaranteed only if the version
of the GL version is 4.2 or greater. Also, the <constant>GL_ATOMIC_COUNTER_BUFFER</constant>
target is accepted only if the GL version is 4.2 or greater.
</para>
<para>
The <constant>GL_DISPATCH_INDIRECT_BUFFER</constant> and <constant>GL_SHADER_STORAGE_BUFFER</constant> targets are accepted only if the
GL version is 4.3 or greater.
</para>
<para>
The <constant>GL_QUERY_BUFFER</constant> target is available only if the GL version is 4.4 or greater.
</para>
<para>
The <constant>GL_MAP_PERSISTENT_BIT</constant> and <constant>GL_MAP_COHERENT_BIT</constant> flags are available
only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
@ -179,6 +223,13 @@
<constant>GL_MAP_FLUSH_EXPLICIT_BIT</constant> is set and <constant>GL_MAP_WRITE_BIT</constant> is not set.
</para>
</listitem>
<listitem>
<para>
Any of <constant>GL_MAP_READ_BIT</constant>, <constant>GL_MAP_WRITE_BIT</constant>, <constant>GL_MAP_PERSISTENT_BIT</constant>,
or <constant>GL_MAP_COHERENT_BIT</constant> are included in <parameter>access</parameter>, but the same bit
is not included in the buffer's storage flags.
</para>
</listitem>
</itemizedlist>
</para>
<para>
@ -190,12 +241,13 @@
<para>
<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glFlushMappedBufferRange</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glBufferStorage</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glMultiDrawArrays</refentrytitle>
@ -23,7 +23,7 @@
<paramdef>GLenum <parameter>mode</parameter></paramdef>
<paramdef>const GLint * <parameter>first</parameter></paramdef>
<paramdef>const GLsizei * <parameter>count</parameter></paramdef>
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
<paramdef>GLsizei <parameter>drawcount</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -68,7 +68,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>primcount</parameter></term>
<term><parameter>drawcount</parameter></term>
<listitem>
<para>
Specifies the size of the first and count
@ -88,7 +88,7 @@
call to <function>glMultiDrawArrays</function>.
</para>
<para>
<function>glMultiDrawArrays</function> behaves identically to <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> except that <parameter>primcount</parameter>
<function>glMultiDrawArrays</function> behaves identically to <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> except that <parameter>drawcount</parameter>
separate ranges of elements are specified instead.
</para>
<para>
@ -118,7 +118,7 @@
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>primcount</parameter> is negative.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>drawcount</parameter> is negative.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
@ -134,7 +134,10 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2010-2013
Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glMultiDrawElements</refentrytitle>
@ -23,8 +23,8 @@
<paramdef>GLenum <parameter>mode</parameter></paramdef>
<paramdef>const GLsizei * <parameter>count</parameter></paramdef>
<paramdef>GLenum <parameter>type</parameter></paramdef>
<paramdef>const GLvoid ** <parameter>indices</parameter></paramdef>
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
<paramdef>const GLvoid * const * <parameter>indices</parameter></paramdef>
<paramdef>GLsizei <parameter>drawcount</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -79,10 +79,10 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>primcount</parameter></term>
<term><parameter>drawcount</parameter></term>
<listitem>
<para>
Specifies the size of the <parameter>count</parameter> array.
Specifies the size of the <parameter>count</parameter> and <parameter>indices</parameter> arrays.
</para>
</listitem>
</varlistentry>
@ -98,7 +98,7 @@
</para>
<para>
<function>glMultiDrawElements</function> is identical in operation to <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry> except that
<parameter>primcount</parameter> separate lists of elements are specified.
<parameter>drawcount</parameter> separate lists of elements are specified.
</para>
<para>
Vertex attributes that are modified by <function>glMultiDrawElements</function> have an
@ -120,7 +120,7 @@
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>primcount</parameter> is negative.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>drawcount</parameter> is negative.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an
@ -136,7 +136,10 @@
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2010-2013
Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,7 +5,7 @@
<refmeta>
<refmetainfo>
<copyright>
<year>2010</year>
<year>2010-2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
@ -23,9 +23,9 @@
<paramdef>GLenum <parameter>mode</parameter></paramdef>
<paramdef>const GLsizei *<parameter>count</parameter></paramdef>
<paramdef>GLenum <parameter>type</parameter></paramdef>
<paramdef>const GLvoid **<parameter>indices</parameter></paramdef>
<paramdef>GLsizei <parameter>primcount</parameter></paramdef>
<paramdef>GLint *<parameter>basevertex</parameter></paramdef>
<paramdef>const GLvoid * const *<parameter>indices</parameter></paramdef>
<paramdef>GLsizei <parameter>drawcount</parameter></paramdef>
<paramdef>const GLint *<parameter>basevertex</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -80,10 +80,10 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>primcount</parameter></term>
<term><parameter>drawcount</parameter></term>
<listitem>
<para>
Specifies the size of the <parameter>count</parameter> array.
Specifies the size of the <parameter>count</parameter>, <parameter>indices</parameter> and <parameter>basevertex</parameter> arrays.
</para>
</listitem>
</varlistentry>
@ -100,11 +100,11 @@
<refsect1 id="description"><title>Description</title>
<para>
<function>glMultiDrawElementsBaseVertex</function> behaves identically to <citerefentry><refentrytitle>glDrawElementsBaseVertex</refentrytitle></citerefentry>,
except that <parameter>primcount</parameter> separate lists of elements are specifried instead.
except that <parameter>drawcount</parameter> separate lists of elements are specifried instead.
</para>
<para>
It has the same effect as:
<programlisting> for (int i = 0; i &lt; <parameter>primcount</parameter>; i++)
<programlisting> for (int i = 0; i &lt; <parameter>drawcount</parameter>; i++)
if (<parameter>count</parameter>[i] > 0)
glDrawElementsBaseVertex(<parameter>mode</parameter>,
<parameter>count</parameter>[i],
@ -130,7 +130,7 @@
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>primcount</parameter> is negative.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>drawcount</parameter> is negative.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to an

View file

@ -77,7 +77,10 @@
<citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry> as well as the unpacking of
texture patterns (see <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>).
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>),
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>.
</para>
<para>
<parameter>pname</parameter> is a symbolic constant indicating the parameter to be set, and
@ -1404,13 +1407,20 @@
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexImage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexSubImage2D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompressedTexSubImage1D</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Silicon Graphics, Inc. <trademark class="copyright"></trademark> 2011
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -67,12 +67,6 @@
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POINT_SIZE</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POINT_SIZE_MIN</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POINT_SIZE_MAX</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POINT_FADE_THRESHOLD_SIZE</constant>
</para>

View file

@ -38,8 +38,9 @@
<constant>GL_BACK_RIGHT</constant>,
<constant>GL_FRONT</constant>,
<constant>GL_BACK</constant>,
<constant>GL_LEFT</constant>, and
<constant>GL_RIGHT</constant>.
<constant>GL_LEFT</constant>,
<constant>GL_RIGHT</constant>, and the constants
<constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>.
</para>
</listitem>
</varlistentry>
@ -60,6 +61,9 @@
<constant>GL_RIGHT</constant> name the front right buffer, and
<constant>GL_BACK_LEFT</constant> and
<constant>GL_BACK</constant> name the back left buffer.
Further more, the constants <constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant> may be used to indicate the
<emphasis>i</emphasis><superscript>th</superscript> color attachment where <emphasis>i</emphasis> ranges from zero to the
value of <constant>GL_MAX_COLOR_ATTACHMENTS</constant> minus one.
</para>
<para>
Nonstereo double-buffered configurations have only a front left and a
@ -101,8 +105,9 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2011 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -191,11 +191,6 @@
<listitem>
<para>
Stencil values are read from the stencil buffer.
Each index is converted to fixed point,
shifted left or right depending on the value and sign of <constant>GL_INDEX_SHIFT</constant>,
and added to <constant>GL_INDEX_OFFSET</constant>.
If <constant>GL_MAP_STENCIL</constant> is <constant>GL_TRUE</constant>,
indices are replaced by their mappings in the table <constant>GL_PIXEL_MAP_S_TO_S</constant>.
</para>
</listitem>
</varlistentry>
@ -206,9 +201,7 @@
Depth values are read from the depth buffer.
Each component is converted to floating point such that the minimum depth
value maps to 0 and the maximum value maps to 1.
Each component is then multiplied by <constant>GL_DEPTH_SCALE</constant>,
added to <constant>GL_DEPTH_BIAS</constant>,
and finally clamped to the range
Each component is clamped to the range
<inlineequation><mml:math>
<!-- eqn: [0,1]: -->
<mml:mfenced open="[" close="]">
@ -1164,9 +1157,6 @@
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_INDEX_MODE</constant>
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_PACK_BUFFER_BINDING</constant>
</para>

View file

@ -20,7 +20,7 @@
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glSampleCoverage</function></funcdef>
<paramdef>GLclampf <parameter>value</parameter></paramdef>
<paramdef>GLfloat <parameter>value</parameter></paramdef>
<paramdef>GLboolean <parameter>invert</parameter></paramdef>
</funcprototype>
</funcsynopsis>
@ -83,6 +83,15 @@
information, allowing those operations to be performed on each sample.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The type of the <parameter>value</parameter> parameter was
changed from GLclampf to GLfloat. This change is transparent
to user code and is described in detail on the
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
page.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_SAMPLE_COVERAGE_VALUE</constant>
@ -105,7 +114,8 @@
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>removedTypes</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>

View file

@ -91,6 +91,22 @@
<paramdef>const GLint * <parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glSamplerParameterIiv</function></funcdef>
<paramdef>GLuint <parameter>sampler</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>const GLint *<parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glSamplerParameterIuiv</function></funcdef>
<paramdef>GLuint <parameter>sampler</parameter></paramdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>const GLuint *<parameter>params</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters2"><title>Parameters</title>
<variablelist>
@ -498,8 +514,8 @@
<para>
Sets the wrap parameter for texture coordinate
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>, or
<constant>GL_REPEAT</constant>. <constant>GL_CLAMP_TO_BORDER</constant> causes the
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>,
<constant>GL_REPEAT</constant>, or <constant>GL_MIRROR_CLAMP_TO_EDGE</constant>. <constant>GL_CLAMP_TO_BORDER</constant> causes the
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
coordinate to be clamped to the range
<inlineequation><mml:math>
@ -606,6 +622,9 @@
</mml:math></inlineequation>
represents the fractional part of
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>.
<constant>GL_MIRROR_CLAMP_TO_EDGE</constant> causes the the <inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
coordinate to be repeated as for <constant>GL_MIRRORED_REPEAT</constant> for one reptition of the texture,
at which point the coordinate to be clamped as in <constant>GL_CLAMP_TO_EDGE</constant>.
Initially, <constant>GL_TEXTURE_WRAP_S</constant> is set to <constant>GL_REPEAT</constant>.
</para>
</listitem>
@ -620,8 +639,8 @@
<para>
Sets the wrap parameter for texture coordinate
<inlineequation><mml:math><mml:mi mathvariant="italic">t</mml:mi></mml:math></inlineequation>
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>, or
<constant>GL_REPEAT</constant>. See the discussion under <constant>GL_TEXTURE_WRAP_S</constant>.
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>,
<constant>GL_REPEAT</constant>, or <constant>GL_MIRROR_CLAMP_TO_EDGE</constant>. See the discussion under <constant>GL_TEXTURE_WRAP_S</constant>.
Initially, <constant>GL_TEXTURE_WRAP_T</constant> is set to <constant>GL_REPEAT</constant>.
</para>
</listitem>
@ -632,8 +651,8 @@
<para>
Sets the wrap parameter for texture coordinate
<inlineequation><mml:math><mml:mi mathvariant="italic">r</mml:mi></mml:math></inlineequation>
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>, or
<constant>GL_REPEAT</constant>. See the discussion under <constant>GL_TEXTURE_WRAP_S</constant>.
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>,
<constant>GL_REPEAT</constant>, or <constant>GL_MIRROR_CLAMP_TO_EDGE</constant>. See the discussion under <constant>GL_TEXTURE_WRAP_S</constant>.
Initially, <constant>GL_TEXTURE_WRAP_R</constant> is set to <constant>GL_REPEAT</constant>.
</para>
</listitem>
@ -1091,6 +1110,9 @@
another. Thus, completeness can be considered a function of a sampler object and a texture object bound to a single
texture unit, rather than a property of the texture object itself.
</para>
<para>
<constant>GL_MIRROR_CLAMP_TO_EDGE</constant> is available only if the GL version is 4.4 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>

View file

@ -9,7 +9,7 @@
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glScissorArray</refentrytitle>
<refentrytitle>glScissorIndexed</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>

View file

@ -22,7 +22,7 @@
<funcdef>void <function>glTexBuffer</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>internalFormat</parameter></paramdef>
<paramdef>Gluint<parameter>buffer</parameter></paramdef>
<paramdef>GLuint <parameter>buffer</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -489,7 +489,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -60,39 +60,9 @@
<listitem>
<para>
Specifies the number of color components in the texture.
Must be one of the following symbolic constants:
<constant>GL_COMPRESSED_RED</constant>,
<constant>GL_COMPRESSED_RG</constant>,
<constant>GL_COMPRESSED_RGB</constant>,
<constant>GL_COMPRESSED_RGBA</constant>,
<constant>GL_COMPRESSED_SRGB</constant>,
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>,
<constant>GL_DEPTH_COMPONENT</constant>,
<constant>GL_DEPTH_COMPONENT16</constant>,
<constant>GL_DEPTH_COMPONENT24</constant>,
<constant>GL_DEPTH_COMPONENT32</constant>,
<constant>GL_R3_G3_B2</constant>,
<constant>GL_RED</constant>,
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
<constant>GL_RGB4</constant>,
<constant>GL_RGB5</constant>,
<constant>GL_RGB8</constant>,
<constant>GL_RGB10</constant>,
<constant>GL_RGB12</constant>,
<constant>GL_RGB16</constant>,
<constant>GL_RGBA</constant>,
<constant>GL_RGBA2</constant>,
<constant>GL_RGBA4</constant>,
<constant>GL_RGB5_A1</constant>,
<constant>GL_RGBA8</constant>,
<constant>GL_RGB10_A2</constant>,
<constant>GL_RGBA12</constant>,
<constant>GL_RGBA16</constant>,
<constant>GL_SRGB</constant>,
<constant>GL_SRGB8</constant>,
<constant>GL_SRGB_ALPHA</constant>, or
<constant>GL_SRGB8_ALPHA8</constant>.
Must be one of base internal formats given in Table 1,
one of the sized internal formats given in Table 2, or one
of the compressed internal formats given in Table 3, below.
</para>
</listitem>
</varlistentry>
@ -124,8 +94,17 @@
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
<constant>GL_BGR</constant>,
<constant>GL_RGBA</constant>, and
<constant>GL_BGRA</constant>.
<constant>GL_RGBA</constant>,
<constant>GL_BGRA</constant>,
<constant>GL_RED_INTEGER</constant>,
<constant>GL_RG_INTEGER</constant>,
<constant>GL_RGB_INTEGER</constant>,
<constant>GL_BGR_INTEGER</constant>,
<constant>GL_RGBA_INTEGER</constant>,
<constant>GL_BGRA_INTEGER</constant>,
<constant>GL_STENCIL_INDEX</constant>,
<constant>GL_DEPTH_COMPONENT</constant>,
<constant>GL_DEPTH_STENCIL</constant>.
</para>
</listitem>
</varlistentry>
@ -235,9 +214,7 @@
Each element is a single red component.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -248,9 +225,7 @@
Each element is a single red/green double
The GL converts it to floating point and assembles it into an RGBA element
by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -266,9 +241,7 @@
Each element is an RGB triple.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -282,9 +255,7 @@
<listitem>
<para>
Each element contains all four components.
Each component is multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -293,9 +264,7 @@
<listitem>
<para>
Each element is a single depth value.
The GL converts it to floating point, multiplies by the signed scale factor
<constant>GL_DEPTH_SCALE</constant>, adds the signed bias <constant>GL_DEPTH_BIAS</constant>,
and clamps to the range [0,1].
The GL converts it to floating point and clamps to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -309,6 +278,27 @@
(The representations specified by <constant>GL_RED</constant>, <constant>GL_RG</constant>,
<constant>GL_RGB</constant> and <constant>GL_RGBA</constant> must match exactly.)
</para>
<para>
<parameter>internalFormat</parameter> may be one of the base internal formats shown in
Table 1, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="baseformattable.xml" />
</para>
<para>
<parameter>internalFormat</parameter> may also be one of the sized internal formats
shown in Table 2, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="internalformattable.xml" />
</para>
<para>
Finally, <parameter>internalFormat</parameter> may also be one of the generic or compressed
compressed texture formats shown in Table 3 below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="compressedformattable.xml" />
</para>
<para>
If the <parameter>internalFormat</parameter> parameter is one of the generic compressed formats,
<constant>GL_COMPRESSED_RED</constant>, <constant>GL_COMPRESSED_RG</constant>,
@ -453,6 +443,10 @@
<function>glTexImage1D</function> specifies the one-dimensional texture for the current texture unit,
specified with <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
</para>
<para>
<constant>GL_STENCIL_INDEX</constant> may be used for <parameter>format</parameter> only if the GL
version is 4.4 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -495,27 +489,7 @@
or greater than <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> cannot be represented as
<inlineequation><mml:math>
<!-- eqn: 2 sup n + 2(border): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some integer value of <emphasis>n</emphasis>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
@ -591,8 +565,9 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2011-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -72,39 +72,9 @@
<listitem>
<para>
Specifies the number of color components in the texture.
Must be one of the following symbolic constants:
<constant>GL_COMPRESSED_RED</constant>,
<constant>GL_COMPRESSED_RG</constant>,
<constant>GL_COMPRESSED_RGB</constant>,
<constant>GL_COMPRESSED_RGBA</constant>,
<constant>GL_COMPRESSED_SRGB</constant>,
<constant>GL_COMPRESSED_SRGB_ALPHA</constant>,
<constant>GL_DEPTH_COMPONENT</constant>,
<constant>GL_DEPTH_COMPONENT16</constant>,
<constant>GL_DEPTH_COMPONENT24</constant>,
<constant>GL_DEPTH_COMPONENT32</constant>,
<constant>GL_R3_G3_B2</constant>,
<constant>GL_RED</constant>,
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
<constant>GL_RGB4</constant>,
<constant>GL_RGB5</constant>,
<constant>GL_RGB8</constant>,
<constant>GL_RGB10</constant>,
<constant>GL_RGB12</constant>,
<constant>GL_RGB16</constant>,
<constant>GL_RGBA</constant>,
<constant>GL_RGBA2</constant>,
<constant>GL_RGBA4</constant>,
<constant>GL_RGB5_A1</constant>,
<constant>GL_RGBA8</constant>,
<constant>GL_RGB10_A2</constant>,
<constant>GL_RGBA12</constant>,
<constant>GL_RGBA16</constant>,
<constant>GL_SRGB</constant>,
<constant>GL_SRGB8</constant>,
<constant>GL_SRGB_ALPHA</constant>, or
<constant>GL_SRGB8_ALPHA8</constant>.
Must be one of base internal formats given in Table 1,
one of the sized internal formats given in Table 2, or one
of the compressed internal formats given in Table 3, below.
</para>
</listitem>
</varlistentry>
@ -148,8 +118,17 @@
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
<constant>GL_BGR</constant>,
<constant>GL_RGBA</constant>, and
<constant>GL_BGRA</constant>.
<constant>GL_RGBA</constant>,
<constant>GL_BGRA</constant>,
<constant>GL_RED_INTEGER</constant>,
<constant>GL_RG_INTEGER</constant>,
<constant>GL_RGB_INTEGER</constant>,
<constant>GL_BGR_INTEGER</constant>,
<constant>GL_RGBA_INTEGER</constant>,
<constant>GL_BGRA_INTEGER</constant>,
<constant>GL_STENCIL_INDEX</constant>,
<constant>GL_DEPTH_COMPONENT</constant>,
<constant>GL_DEPTH_STENCIL</constant>.
</para>
</listitem>
</varlistentry>
@ -255,9 +234,7 @@
Each element is a single red component.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -268,9 +245,7 @@
Each element is a red/green double.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -286,9 +261,7 @@
Each element is an RGB triple.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -302,9 +275,7 @@
<listitem>
<para>
Each element contains all four components.
Each component is multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -313,9 +284,7 @@
<listitem>
<para>
Each element is a single depth value.
The GL converts it to floating point, multiplies by the signed scale factor
<constant>GL_DEPTH_SCALE</constant>, adds the signed bias <constant>GL_DEPTH_BIAS</constant>,
and clamps to the range [0,1].
The GL converts it to floating point and clamps to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -340,6 +309,27 @@
<constant>GL_RG</constant>, <constant>GL_RGB</constant>,
and <constant>GL_RGBA</constant> must match exactly.)
</para>
<para>
<parameter>internalFormat</parameter> may be one of the base internal formats shown in
Table 1, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="baseformattable.xml" />
</para>
<para>
<parameter>internalFormat</parameter> may also be one of the sized internal formats
shown in Table 2, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="internalformattable.xml" />
</para>
<para>
Finally, <parameter>internalFormat</parameter> may also be one of the generic or compressed
compressed texture formats shown in Table 3 below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="compressedformattable.xml" />
</para>
<para>
If the <parameter>internalFormat</parameter> parameter is one of the generic compressed formats,
<constant>GL_COMPRESSED_RED</constant>, <constant>GL_COMPRESSED_RG</constant>,
@ -489,6 +479,10 @@
<function>glTexImage2D</function> specifies the two-dimensional texture for the current texture unit,
specified with <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
</para>
<para>
<constant>GL_STENCIL_INDEX</constant> may be used for <parameter>format</parameter> only if the GL
version is 4.4 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -552,27 +546,6 @@
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> or <parameter>height</parameter> is less than 0
or greater than <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> or <parameter>height</parameter> cannot be represented as
<inlineequation><mml:math>
<!-- eqn: 2 sup k + 2(border): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some
integer value of <emphasis>k</emphasis>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
</para>
@ -664,8 +637,9 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2011-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -5,7 +5,7 @@
<refmeta>
<refmetainfo>
<copyright>
<year>2010</year>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
@ -22,7 +22,7 @@
<funcdef>void <function>glTexImage2DMultisample</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLsizei <parameter>samples</parameter></paramdef>
<paramdef>GLint <parameter>internalformat</parameter></paramdef>
<paramdef>GLenum <parameter>internalformat</parameter></paramdef>
<paramdef>GLsizei <parameter>width</parameter></paramdef>
<paramdef>GLsizei <parameter>height</parameter></paramdef>
<paramdef>GLboolean <parameter>fixedsamplelocations</parameter></paramdef>
@ -138,7 +138,7 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.

View file

@ -5,8 +5,8 @@
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glTexImage3D</refentrytitle>
@ -72,68 +72,9 @@
<listitem>
<para>
Specifies the number of color components in the texture.
Must be one of the following symbolic constants:
<constant>GL_RGBA32F</constant>,
<constant>GL_RGBA32I</constant>,
<constant>GL_RGBA32UI</constant>,
<constant>GL_RGBA16</constant>,
<constant>GL_RGBA16F</constant>,
<constant>GL_RGBA16I</constant>,
<constant>GL_RGBA16UI</constant>,
<constant>GL_RGBA8</constant>,
<constant>GL_RGBA8UI</constant>,
<constant>GL_SRGB8_ALPHA8</constant>,
<constant>GL_RGB10_A2</constant>,
<constant>GL_RGBA10_A2UI</constant>,
<constant>GL_R11_G11_B10F</constant>,
<constant>GL_RG32F</constant>,
<constant>GL_RG32I</constant>,
<constant>GL_RG32UI</constant>,
<constant>GL_RG16</constant>,
<constant>GL_RG16F</constant>,
<constant>GL_RGB16I</constant>,
<constant>GL_RGB16UI</constant>,
<constant>GL_RG8</constant>,
<constant>GL_RG8I</constant>,
<constant>GL_RG8UI</constant>,
<constant>GL_R23F</constant>,
<constant>GL_R32I</constant>,
<constant>GL_R32UI</constant>,
<constant>GL_R16F</constant>,
<constant>GL_R16I</constant>,
<constant>GL_R16UI</constant>,
<constant>GL_R8</constant>,
<constant>GL_R8I</constant>,
<constant>GL_R8UI</constant>,
<constant>GL_RGBA16_UNORM</constant>,
<constant>GL_RGBA8_SNORM</constant>,
<constant>GL_RGB32F</constant>,
<constant>GL_RGB32I</constant>,
<constant>GL_RGB32UI</constant>,
<constant>GL_RGB16_SNORM</constant>,
<constant>GL_RGB16F</constant>,
<constant>GL_RGB16I</constant>,
<constant>GL_RGB16UI</constant>,
<constant>GL_RGB16</constant>,
<constant>GL_RGB8_SNORM</constant>,
<constant>GL_RGB8</constant>,
<constant>GL_RGB8I</constant>,
<constant>GL_RGB8UI</constant>,
<constant>GL_SRGB8</constant>,
<constant>GL_RGB9_E5</constant>,
<constant>GL_RG16_SNORM</constant>,
<constant>GL_RG8_SNORM</constant>,
<constant>GL_COMPRESSED_RG_RGTC2</constant>,
<constant>GL_COMPRESSED_SIGNED_RG_RGTC2</constant>,
<constant>GL_R16_SNORM</constant>,
<constant>GL_R8_SNORM</constant>,
<constant>GL_COMPRESSED_RED_RGTC1</constant>,
<constant>GL_COMPRESSED_SIGNED_RED_RGTC1</constant>,
<constant>GL_DEPTH_COMPONENT32F</constant>,
<constant>GL_DEPTH_COMPONENT24</constant>,
<constant>GL_DEPTH_COMPONENT16</constant>,
<constant>GL_DEPTH32F_STENCIL8</constant>,
<constant>GL_DEPTH24_STENCIL8</constant>.
Must be one of base internal formats given in Table 1,
one of the sized internal formats given in Table 2, or one
of the compressed internal formats given in Table 3, below.
</para>
</listitem>
</varlistentry>
@ -185,8 +126,17 @@
<constant>GL_RG</constant>,
<constant>GL_RGB</constant>,
<constant>GL_BGR</constant>,
<constant>GL_RGBA</constant>, and
<constant>GL_BGRA</constant>.
<constant>GL_RGBA</constant>,
<constant>GL_BGRA</constant>,
<constant>GL_RED_INTEGER</constant>,
<constant>GL_RG_INTEGER</constant>,
<constant>GL_RGB_INTEGER</constant>,
<constant>GL_BGR_INTEGER</constant>,
<constant>GL_RGBA_INTEGER</constant>,
<constant>GL_BGRA_INTEGER</constant>,
<constant>GL_STENCIL_INDEX</constant>,
<constant>GL_DEPTH_COMPONENT</constant>,
<constant>GL_DEPTH_STENCIL</constant>.
</para>
</listitem>
</varlistentry>
@ -300,9 +250,7 @@
Each element is a single red component.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 0 for green and blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -313,9 +261,7 @@
Each element is a red and green pair.
The GL converts each to floating point and assembles it into an RGBA element
by attaching 0 for blue, and 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -331,9 +277,7 @@
Each element is an RGB triple.
The GL converts it to floating point and assembles it into an RGBA element
by attaching 1 for alpha.
Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -347,9 +291,7 @@
<listitem>
<para>
Each element contains all four components.
Each component is multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
added to the signed bias <constant>GL_c_BIAS</constant>,
and clamped to the range [0,1].
Each component is clamped to the range [0,1].
</para>
</listitem>
</varlistentry>
@ -363,6 +305,27 @@
(The representations specified by <constant>GL_RED</constant>, <constant>GL_RG</constant>, <constant>GL_RGB</constant>,
and <constant>GL_RGBA</constant> must match exactly.)
</para>
<para>
<parameter>internalFormat</parameter> may be one of the base internal formats shown in
Table 1, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="baseformattable.xml" />
</para>
<para>
<parameter>internalFormat</parameter> may also be one of the sized internal formats
shown in Table 2, below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="internalformattable.xml" />
</para>
<para>
Finally, <parameter>internalFormat</parameter> may also be one of the generic or compressed
compressed texture formats shown in Table 3 below
</para>
<para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="compressedformattable.xml" />
</para>
<para>
If the <parameter>internalFormat</parameter> parameter is one of the generic compressed formats,
<constant>GL_COMPRESSED_RED</constant>, <constant>GL_COMPRESSED_RG</constant>,
@ -507,6 +470,10 @@
<function>glTexImage3D</function> specifies the three-dimensional texture for the current texture unit,
specified with <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
</para>
<para>
<constant>GL_STENCIL_INDEX</constant> may be used for <parameter>format</parameter> only if the GL
version is 4.4 or higher.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
@ -548,28 +515,7 @@
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter>, <parameter>height</parameter>, or <parameter>depth</parameter> is less than 0 or greater than <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter>, <parameter>height</parameter>, or <parameter>depth</parameter> cannot be represented as
<inlineequation><mml:math>
<!-- eqn: 2 sup k + 2( border ): -->
<mml:mrow>
<mml:msup><mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&af;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">border</mml:mi>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>
for some
integer value of <emphasis>k</emphasis>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
@ -645,8 +591,9 @@
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
Copyright <trademark class="copyright"></trademark> 2011-2013 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
</para>

View file

@ -22,7 +22,7 @@
<funcdef>void <function>glTexImage3DMultisample</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLsizei <parameter>samples</parameter></paramdef>
<paramdef>GLint <parameter>internalformat</parameter></paramdef>
<paramdef>GLenum <parameter>internalformat</parameter></paramdef>
<paramdef>GLsizei <parameter>width</parameter></paramdef>
<paramdef>GLsizei <parameter>height</parameter></paramdef>
<paramdef>GLsizei <parameter>depth</parameter></paramdef>

Some files were not shown because too many files have changed in this diff Show more