rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man3 / glGet.xml
diff --git a/upstream-doc/man3/glGet.xml b/upstream-doc/man3/glGet.xml
new file mode 100644 (file)
index 0000000..ed98aa8
--- /dev/null
@@ -0,0 +1,2473 @@
+<?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="glGet">
+    <refmeta>
+        <refmetainfo>
+            <copyright>
+                <year>1991-2006</year>
+                <holder>Silicon Graphics, Inc.</holder>
+            </copyright>
+        </refmetainfo>
+        <refentrytitle>glGet</refentrytitle>
+        <manvolnum>3G</manvolnum>
+    </refmeta>
+    <refnamediv>
+        <refname>glGet</refname>
+        <refpurpose>return the value or values of a selected parameter</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetBooleanv</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLboolean * <parameter>params</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetDoublev</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLdouble * <parameter>params</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetFloatv</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLfloat * <parameter>params</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetIntegerv</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLint * <parameter>params</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetInteger64v</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLint64 * <parameter>params</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <!-- eqn: ignoring delim $$ -->
+    <refsect1 id="parameters"><title>Parameters</title>
+        <variablelist>
+        <varlistentry>
+            <term><parameter>pname</parameter></term>
+            <listitem>
+                <para>
+                    Specifies the parameter value to be returned.
+                    The symbolic constants in the list below are accepted.
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term><parameter>params</parameter></term>
+            <listitem>
+                <para>
+                    Returns the value or values of the specified parameter.
+                </para>
+            </listitem>
+        </varlistentry>
+        </variablelist>
+    </refsect1>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetBooleani_v</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLuint <parameter>index</parameter></paramdef>
+                <paramdef>GLboolean * <parameter>data</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetIntegeri_v</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLuint <parameter>index</parameter></paramdef>
+                <paramdef>GLint * <parameter>data</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>glGetInteger64i_v</function></funcdef>
+                <paramdef>GLenum <parameter>pname</parameter></paramdef>
+                <paramdef>GLuint <parameter>index</parameter></paramdef>
+                <paramdef>GLint64 * <parameter>data</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <!-- eqn: ignoring delim $$ -->
+    <refsect1 id="parameters2"><title>Parameters</title>
+        <variablelist>
+        <varlistentry>
+            <term><parameter>pname</parameter></term>
+            <listitem>
+                <para>
+                    Specifies the parameter value to be returned.
+                    The symbolic constants in the list below are accepted.
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term><parameter>index</parameter></term>
+            <listitem>
+                <para>
+                    Specifies the index of the particular element being queried.
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term><parameter>data</parameter></term>
+            <listitem>
+                <para>
+                    Returns the value or values of the specified parameter.
+                </para>
+            </listitem>
+        </varlistentry>
+        </variablelist>
+    </refsect1>
+    <refsect1 id="description"><title>Description</title>
+        <para>
+            These four commands return values for simple state variables in GL.
+            <parameter>pname</parameter> is a symbolic constant indicating the state variable to be returned,
+            and <parameter>params</parameter> is a pointer to an array of the indicated type in
+            which to place the returned data.
+        </para>
+        <para>
+            Type conversion is performed if <parameter>params</parameter> has a different type than
+            the state variable value being requested.
+            If <function>glGetBooleanv</function> is called,
+            a floating-point (or integer) value is converted to <constant>GL_FALSE</constant> if
+            and only if it is 0.0 (or 0).
+            Otherwise,
+            it is converted to <constant>GL_TRUE</constant>.
+            If <function>glGetIntegerv</function> is called, boolean values are returned as
+            <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>, and most floating-point values are
+            rounded to the nearest integer value. Floating-point colors and
+            normals, however, are returned with a linear mapping that maps 1.0 to
+            the most positive representable integer value
+            and 
+            <inlineequation><mml:math>
+                <!-- eqn: -1.0: -->
+                <mml:mn>-1.0</mml:mn>
+            </mml:math></inlineequation>
+            to the most negative representable integer value.
+            If <function>glGetFloatv</function> or <function>glGetDoublev</function> is called,
+            boolean values are returned as <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>,
+            and integer values are converted to floating-point values.
+        </para>
+        <para>
+            The following symbolic constants are accepted by <parameter>pname</parameter>:
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term><constant>GL_ACTIVE_TEXTURE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value indicating the active multitexture unit.
+                        The initial value is <constant>GL_TEXTURE0</constant>.
+                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_ALIASED_LINE_WIDTH_RANGE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a pair of values indicating the range of
+                        widths supported for aliased lines. See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SMOOTH_LINE_WIDTH_RANGE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a pair of values indicating the range of
+                        widths supported for smooth (antialiased) lines. See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SMOOTH_LINE_WIDTH_GRANULARITY</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value indicating the level of
+                        quantization applied to smooth line width parameters.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_ARRAY_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_ARRAY_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>
+           <varlistentry>
+                <term><constant>GL_BLEND</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether blending is
+                        enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_COLOR</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns four values,
+                        the red, green, blue, and alpha values which are the components of
+                        the blend color.
+                        See <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_DST_ALPHA</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the symbolic constant identifying the alpha destination blend
+                        function. The initial value is <constant>GL_ZERO</constant>.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_DST_RGB</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the symbolic constant identifying the RGB destination blend
+                        function. The initial value is <constant>GL_ZERO</constant>.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_EQUATION_RGB</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value, a symbolic constant indicating whether
+                        the RGB blend equation is <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, 
+                        <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant> or <constant>GL_MAX</constant>.
+                        See <citerefentry><refentrytitle>glBlendEquationSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_EQUATION_ALPHA</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value, a symbolic constant indicating whether
+                        the Alpha blend equation is <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, 
+                        <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant> or <constant>GL_MAX</constant>.
+                        See <citerefentry><refentrytitle>glBlendEquationSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_SRC_ALPHA</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the symbolic constant identifying the alpha source blend function. The initial
+                        value is <constant>GL_ONE</constant>.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_BLEND_SRC_RGB</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the symbolic constant identifying the RGB source blend function. The initial
+                        value is <constant>GL_ONE</constant>.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_COLOR_CLEAR_VALUE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns four values:
+                        the red, green, blue, and alpha values used to clear the color buffers.
+                        Integer values,
+                        if requested,
+                        are linearly mapped from the internal floating-point representation such
+                        that 1.0 returns the most positive representable integer value,
+                        and 
+                        <inlineequation><mml:math>
+                            <!-- eqn: -1.0: -->
+                            <mml:mn>-1.0</mml:mn>
+                        </mml:math></inlineequation>
+                        returns the most negative representable integer
+                        value. The initial value is (0, 0, 0, 0).
+                        See <citerefentry><refentrytitle>glClearColor</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_COLOR_LOGIC_OP</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether a fragment's
+                        RGBA color values are merged into the framebuffer using a logical
+                        operation. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_COLOR_WRITEMASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns four boolean values:
+                        the red, green, blue, and alpha write enables for the color
+                        buffers. The initial value is (<constant>GL_TRUE</constant>, <constant>GL_TRUE</constant>,
+                        <constant>GL_TRUE</constant>, <constant>GL_TRUE</constant>).
+                        See <citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_COMPRESSED_TEXTURE_FORMATS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a list of symbolic
+                        constants of length <constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant> 
+                        indicating which compressed texture formats are available.
+                        See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_CULL_FACE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether polygon culling
+                        is enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_CURRENT_PROGRAM</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the name of the program object that is currently active, or 0 if no program object is active.
+                        See <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DEPTH_CLEAR_VALUE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the value that is used to clear the depth buffer.
+                        Integer values,
+                        if requested,
+                        are linearly mapped from the internal floating-point representation such
+                        that 1.0 returns the most positive representable integer value,
+                        and 
+                        <inlineequation><mml:math>
+                            <!-- eqn: -1.0: -->
+                            <mml:mn>-1.0</mml:mn>
+                        </mml:math></inlineequation>
+                        returns the most negative representable integer
+                        value. The initial value is 1.
+                        See <citerefentry><refentrytitle>glClearDepth</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DEPTH_FUNC</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the symbolic constant that indicates the depth comparison
+                        function. The initial value is <constant>GL_LESS</constant>.
+                        See <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DEPTH_RANGE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns two values:
+                        the near and far mapping limits for the depth buffer.
+                        Integer values,
+                        if requested,
+                        are linearly mapped from the internal floating-point representation such
+                        that 1.0 returns the most positive representable integer value,
+                        and 
+                        <inlineequation><mml:math>
+                            <!-- eqn: -1.0: -->
+                            <mml:mn>-1.0</mml:mn>
+                        </mml:math></inlineequation>
+                        returns the most negative representable integer
+                        value. The initial value is (0, 1).
+                        See <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DEPTH_TEST</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether depth testing
+                        of fragments is enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DEPTH_WRITEMASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating if the depth buffer
+                        is enabled for writing. The initial value is <constant>GL_TRUE</constant>.
+                        See <citerefentry><refentrytitle>glDepthMask</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DITHER</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether dithering of
+                        fragment colors and indices is enabled. The initial value is <constant>GL_TRUE</constant>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DOUBLEBUFFER</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether double buffering
+                        is supported.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DRAW_BUFFER</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating which buffers are being drawn to.
+                        See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>. The initial value is <constant>GL_BACK</constant> if there
+                        are back buffers, otherwise it is <constant>GL_FRONT</constant>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DRAW_BUFFER</constant><emphasis>i</emphasis></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating which buffers are being drawn to by the corresponding output color.
+                        See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>. 
+                        The initial value of <constant>GL_DRAW_BUFFER0</constant> is <constant>GL_BACK</constant> if there
+                        are back buffers, otherwise it is <constant>GL_FRONT</constant>.  The
+                        initial values of draw buffers for all other output colors is <constant>GL_NONE</constant>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_DRAW_FRAMEBUFFER_BINDING</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the name of the framebuffer object currently bound to the <constant>GL_DRAW_FRAMEBUFFER</constant> target.
+                        If the default framebuffer is bound, this value will be zero. The initial value is zero.
+                        See <citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_READ_FRAMEBUFFER_BINDING</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the name of the framebuffer object currently bound to the <constant>GL_READ_FRAMEBUFFER</constant> target.
+                        If the default framebuffer is bound, this value will be zero. The initial value is zero.
+                        See <citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_ELEMENT_ARRAY_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_ELEMENT_ARRAY_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>
+            <varlistentry>
+                <term><constant>GL_RENDERBUFFER_BINDING</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the renderbuffer object
+                        currently bound to the target <constant>GL_RENDERBUFFER</constant>. If no renderbuffer object
+                        is bound to this target, 0 is returned.  The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindRenderbuffer</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_FRAGMENT_SHADER_DERIVATIVE_HINT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating the mode of the derivative accuracy hint 
+                        for fragment shaders. The initial value
+                        is <constant>GL_DONT_CARE</constant>.
+                        See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_LINE_SMOOTH</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether antialiasing of
+                        lines is enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_LINE_SMOOTH_HINT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating the mode of the line antialiasing
+                        hint. The initial value is <constant>GL_DONT_CARE</constant>.
+                        See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_LINE_WIDTH</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the line width as specified with <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>. The initial value is
+                        1.
+                    </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>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating the selected logic operation
+                        mode. The initial value is <constant>GL_COPY</constant>.
+                        See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_3D_TEXTURE_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a rough estimate of the largest 3D texture that the GL can handle.
+                        The value must be at least 64.
+                        Use <constant>GL_PROXY_TEXTURE_3D</constant> to determine if a texture is too large.
+                        See <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_CLIP_DISTANCES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of application-defined clipping distances. The value must be at least 8.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of words for fragment 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_COMBINED_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 vertex shader and the fragment processor combined. 
+                        If both the vertex shader and the fragment processing stage access the same texture image
+                        unit, then that counts as using two texture image units against this limit.
+                        The value must be at least 48.
+                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of words for vertex 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_COMBINED_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of words for geometry 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_VARYING_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number components for varying variables, which must be at least 60.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_COMBINED_UNIFORM_BLOCKS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of uniform blocks per program.  The value must be at least 36.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_CUBE_MAP_TEXTURE_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        The value gives a rough estimate of the largest cube-map texture that
+                        the GL can handle. The value must be at least 1024.
+                        Use <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>
+                        to determine if a texture is too large.
+                        See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_DRAW_BUFFERS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value, the maximum number
+                        of simultaneous outputs that may be written in a fragment shader.
+                        The value must be at least 8.
+                        See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_DUALSOURCE_DRAW_BUFFERS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value, the maximum number
+                        of active draw buffers when using dual-source  blending. The value must be at least 1.
+                        See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and 
+                        <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_ELEMENTS_INDICES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the recommended maximum number of vertex array indices.
+                        See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_ELEMENTS_VERTICES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the recommended maximum number of vertex array vertices.
+                        See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_FRAGMENT_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 fragment shader. The value must be at least 1024.
+                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of uniform blocks per fragment shader.  The value must be at least 12.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_FRAGMENT_INPUT_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of components of the inputs read by the fragment shader, which must be at least 128.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MIN_PROGRAM_TEXEL_OFFSET</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the minimum texel offset allowed in a texture lookup, which must be at most -8.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_PROGRAM_TEXEL_OFFSET</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum texel offset allowed in a texture lookup, which must be at least 7.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_RECTANGLE_TEXTURE_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <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>
+                        to determine if a texture is too large.
+                        See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_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 fragment shader. 
+                        The value must be at least 16.
+                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_TEXTURE_LOD_BIAS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum, absolute value of the texture level-of-detail bias.  The
+                        value must be at least 2.0.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_TEXTURE_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        The value gives a rough estimate of the largest texture that
+                        the GL can handle. The value must be at least 1024.
+                        Use a proxy texture target such as <constant>GL_PROXY_TEXTURE_1D</constant> or <constant>GL_PROXY_TEXTURE_2D</constant>
+                        to determine if a texture is too large.
+                        See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_RENDERBUFFER_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        The value indicates the maximum supported size for renderbuffers.
+                        See <citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        The value indicates the maximum number of layers allowed in an array texture, and must be at least 256.
+                        See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        The value gives the maximum number of texels allowed in the texel array of a texture buffer object.
+                        Value must be at least 65536.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum size in basic machine units of a uniform block.  
+                        The value must be at least 16384.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VARYING_FLOATS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of interpolators available for processing varying variables used by
+                        vertex and fragment shaders. This value represents the number of individual floating-point 
+                        values that can be interpolated; varying variables declared as vectors, matrices, and arrays 
+                        will all consume multiple interpolators. The value must be at least 32.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VERTEX_ATTRIBS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of 4-component generic vertex attributes accessible to a vertex shader. 
+                        The value must be at least 16.
+                        See <citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VERTEX_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 vertex shader. The value may be at least 16.
+                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_GEOMETRY_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 geometry shader. The value must be at least 16.
+                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VERTEX_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 vertex shader. The value must be at least 1024.
+                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VERTEX_OUTPUT_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of components of output written by a vertex shader, which must be at least 64.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_GEOMETRY_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 geometry shader. The value must be at least 1024.
+                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_SAMPLE_MASK_WORDS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of sample mask words.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of samples in a color multisample texture.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of samples in a multisample depth or depth-stencil texture.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of samples in a multisample depth or depth-stencil texture.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_INTEGER_SAMPLES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of samples supported in integer format multisample buffers.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_SERVER_WAIT_TIMEOUT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry> timeout interval.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_UNIFORM_BUFFER_BINDINGS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of uniform buffer binding points on the context, which must be at least 36.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum size in basic machine units of a uniform block, which must be at least 16384.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the minimum required alignment for uniform buffer sizes and offsets.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VERTEX_UNIFORM_BLOCKS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of uniform blocks per vertex shader.  The value must be at least 12.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of uniform blocks per geometry shader.  The value must be at least 12.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of components of inputs read by a geometry shader, which must be at least 64.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_GEOMETRY_OUTPUT_COMPONENTS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the maximum number of components of outputs written by a geometry shader, which must be at least 128.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAX_VIEWPORT_DIMS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns two values:
+                        the maximum supported width and height of the viewport.
+                        These must be at least as large as the visible dimensions of the display
+                        being rendered to.
+                        See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single integer value indicating the number of available
+                        compressed texture formats.  The minimum value is 4.
+                        See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_ALIGNMENT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the byte alignment used for writing pixel data to memory. The initial
+                        value is 4.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_IMAGE_HEIGHT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the image height used for writing pixel data to memory.  The initial
+                        value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_LSB_FIRST</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether single-bit
+                        pixels being written to memory are written first to the least significant
+                        bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_ROW_LENGTH</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the row length used for writing pixel data to memory. The initial value is
+                        0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_SKIP_IMAGES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of pixel images skipped before the first pixel is written
+                        into memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_SKIP_PIXELS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of pixel locations skipped before the first pixel is written
+                        into memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_SKIP_ROWS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of rows of pixel locations skipped before the first pixel is written
+                        into memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PACK_SWAP_BYTES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
+                        two-byte and four-byte pixel indices and components are swapped before being
+                        written to memory. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PIXEL_PACK_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_PIXEL_PACK_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>
+            <varlistentry>
+                <term><constant>GL_PIXEL_UNPACK_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_PIXEL_UNPACK_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>
+            <varlistentry>
+                <term><constant>GL_POINT_FADE_THRESHOLD_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the point size threshold for determining the point size.
+                        See <citerefentry><refentrytitle>glPointParameter</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PRIMITIVE_RESTART_INDEX</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the current primitive restart index. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPrimitiveRestartIndex</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_PROVOKING_VERTEX</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the currently selected provoking vertex convention. The initial value is <constant>GL_LAST_VERTEX_CONVENTION</constant>.
+                        See <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POINT_SIZE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the point size as specified by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
+                        The initial value is 1.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POINT_SIZE_GRANULARITY</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the size difference between adjacent supported sizes for antialiased points.
+                        See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POINT_SIZE_RANGE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns two values:
+                        the smallest and largest supported sizes for antialiased
+                        points. The smallest size must be at most 1, and the largest size must
+                        be at least 1.
+                        See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_OFFSET_FACTOR</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the scaling factor used to determine the variable offset that is added
+                        to the depth value of each fragment generated when a polygon is
+                        rasterized. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_OFFSET_UNITS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value.
+                        This value is multiplied by an implementation-specific value and then
+                        added to the depth value of each fragment
+                        generated when a polygon is rasterized. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_OFFSET_FILL</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
+                        is enabled for polygons in fill mode. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_OFFSET_LINE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
+                        is enabled for polygons in line mode. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_OFFSET_POINT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
+                        is enabled for polygons in point mode. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_SMOOTH</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether antialiasing of
+                        polygons is enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPolygonMode</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_POLYGON_SMOOTH_HINT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating the mode of the polygon antialiasing
+                        hint. The initial value is <constant>GL_DONT_CARE</constant>.
+                        See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_READ_BUFFER</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating which color buffer is selected for
+                        reading. The initial value is <constant>GL_BACK</constant> if there is a back buffer,
+                        otherwise it is <constant>GL_FRONT</constant>.
+                        See
+                        <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SAMPLE_BUFFERS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single integer value indicating the number of sample buffers
+                        associated with the framebuffer.
+                        See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SAMPLE_COVERAGE_VALUE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single positive floating-point value indicating the
+                        current sample coverage value.
+                        See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SAMPLE_COVERAGE_INVERT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating if the temporary
+                        coverage value should be inverted.
+                        See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SAMPLER_BINDING</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the sampler object
+                        currently bound to the active texture unit.  The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SAMPLES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single integer value indicating the coverage mask size.
+                        See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SCISSOR_BOX</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns four values:
+                        the 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
+                        and 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
+                        window coordinates of the scissor box,
+                        followed by its width and height.
+                        Initially the 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
+                        and 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
+                        window coordinates are both 0 and the
+                        width and height are set to the size of the window.
+                        See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SCISSOR_TEST</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether scissoring is
+                        enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_FAIL</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken for back-facing polygons when the stencil
+                        test fails. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_FUNC</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what function is used for back-facing polygons to compare the
+                        stencil reference value with the stencil buffer value. The initial value
+                        is <constant>GL_ALWAYS</constant>.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_PASS_DEPTH_FAIL</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken for back-facing polygons when the stencil
+                        test passes,
+                        but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_PASS_DEPTH_PASS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken for back-facing polygons when the stencil
+                        test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_REF</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the reference value that is compared with the contents of the stencil
+                        buffer for back-facing polygons. The initial value is 0.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_VALUE_MASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the mask that is used for back-facing polygons to mask both the stencil reference value and the
+                        stencil buffer value before they are compared. The initial value is all 1's.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_BACK_WRITEMASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value
+                        is all 1's.
+                        See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_CLEAR_VALUE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the index to which the stencil bitplanes are cleared. The initial value is
+                        0.
+                        See <citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_FAIL</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken when the stencil
+                        test fails. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_FUNC</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what function is used to compare the
+                        stencil reference value with the stencil buffer value. The initial value
+                        is <constant>GL_ALWAYS</constant>.
+                        See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_PASS_DEPTH_FAIL</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken when the stencil
+                        test passes,
+                        but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_PASS_DEPTH_PASS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        a symbolic constant indicating what action is taken when the stencil
+                        test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
+                        See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_REF</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the reference value that is compared with the contents of the stencil
+                        buffer. The initial value is 0.
+                        See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_TEST</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether stencil testing
+                        of fragments is enabled. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_VALUE_MASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the mask that is used to mask both the stencil reference value and the
+                        stencil buffer value before they are compared. The initial value is all 1's.
+                        See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STENCIL_WRITEMASK</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the mask that controls writing of the stencil bitplanes. The initial value
+                        is all 1's.
+                        See <citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>.
+                        This stencil state only affects non-polygons
+                        and front-facing polygons.  Back-facing polygons use separate stencil state.
+                        See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_STEREO</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether stereo buffers
+                        (left and right) are supported.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_SUBPIXEL_BITS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        an estimate of the number of bits of subpixel resolution that are used to
+                        position rasterized geometry in window coordinates. The value must be at least 4.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_1D</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_1D</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_1D_ARRAY</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_1D_ARRAY</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_2D</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_2D</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_2D_ARRAY</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_2D_ARRAY</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_3D</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_3D</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_BUFFER</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_BUFFER</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_CUBE_MAP</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_CUBE_MAP</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BINDING_RECTANGLE</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the name of the texture
+                        currently bound to the target <constant>GL_TEXTURE_RECTANGLE</constant>. The initial value is 0.
+                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_COMPRESSION_HINT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value indicating the mode of the texture
+                        compression hint.  The initial value is <constant>GL_DONT_CARE</constant>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TEXTURE_BUFFER_BINDING</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.
+                        See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TIMESTAMP</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the 64-bit value of the current
+                        GL time.
+                        See <citerefentry><refentrytitle>glQueryCounter</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TRANSFORM_FEEDBACK_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_TRANSFORM_FEEDBACK_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 transform feedback attribute stream. 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_TRANSFORM_FEEDBACK_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
+                        transform feedback attribute stream. The initial value is 0 for all streams.
+                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_TRANSFORM_FEEDBACK_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
+                        transform feedback attribute stream. The initial value is 0 for all streams.
+                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNIFORM_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_UNIFORM_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 uniform buffer binding point. 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_UNIFORM_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 uniform buffer binding. The initial value is 0 for all bindings.
+                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNIFORM_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 uniform buffer binding. The initial value is 0 for all bindings.
+                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single value, the minimum required alignment
+                        for uniform buffer sizes and offset.  The initial value is 1.
+                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_ALIGNMENT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the byte alignment used for reading pixel data from memory. The initial
+                        value is 4.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_IMAGE_HEIGHT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the image height used for reading pixel data from memory.  The initial
+                        is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_LSB_FIRST</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether single-bit
+                        pixels being read from memory are read first from the least significant
+                        bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_ROW_LENGTH</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the row length used for reading pixel data from memory. The initial value
+                        is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_SKIP_IMAGES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of pixel images skipped before the first pixel is read
+                        from memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_SKIP_PIXELS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of pixel locations skipped before the first pixel is read
+                        from memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_SKIP_ROWS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of rows of pixel locations skipped before the first pixel is read
+                        from memory. The initial value is 0.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_UNPACK_SWAP_BYTES</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
+                        two-byte and four-byte pixel indices and components are swapped after being
+                        read from memory. The initial value is <constant>GL_FALSE</constant>.
+                        See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_NUM_EXTENSIONS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the number of extensions supported by the GL implementation for the current context.
+                        See <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MAJOR_VERSION</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the major version number of the OpenGL API supported by the current context.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_MINOR_VERSION</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the minor version number of the OpenGL API supported by the current context.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_CONTEXT_FLAGS</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns one value,
+                        the flags with which the context was created (such as debugging functionality).
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_VERTEX_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, 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>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GL_VIEWPORT</constant></term>
+                <listitem>
+              <para>
+              </para>
+                    <para>
+                        <parameter>params</parameter> returns four values:
+                        the 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
+                        and 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
+                        window coordinates of the viewport,
+                        followed by its width and height.
+                        Initially the 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
+                        and 
+                        <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
+                        window coordinates are both set to 0,
+                        and the width and height are set to the width and height of the window into
+                        which the GL will do its rendering.
+                        See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+        <para>
+            Many of the boolean parameters can also be queried more easily using
+            <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>.
+        </para>
+    </refsect1>
+    <refsect1 id="notes"><title>Notes</title>
+        <para>
+            The following parameters return the associated value for the active texture unit:
+            <constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_BINDING_1D</constant>,
+            <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_BINDING_2D</constant>,
+            <constant>GL_TEXTURE_3D</constant> and <constant>GL_TEXTURE_BINDING_3D</constant>.
+        </para>
+        <para>
+            <constant>GL_MAX_RECTANGLE_TEXTURE_SIZE</constant>, <constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant>, 
+            <constant>GL_UNIFORM_BUFFER_BINDING</constant>, <constant>GL_TEXTURE_BUFFER_BINDING</constant>,
+            <constant>GL_MAX_VERTEX_UNIFORM_BLOCKS</constant>, <constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant>,
+            <constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant>, <constant>GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS</constant>
+            <constant>GL_MAX_COMBINED_UNIFORM_BLOCKS</constant>, <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant>,
+            and <constant>GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT</constant>
+            are available only if the GL version is 3.1 or greater.
+        </para>
+        <para>
+            <constant>GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS</constant>, <constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant>,
+            <constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant>, <constant>GL_MAX_GEOMETRY_OUTPUT_COMPONENTS</constant>,
+            <constant>GL_MAX_GEOMETRY_OUTPUT_VERTICES</constant>, <constant>GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS</constant> and
+            <constant>GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS</constant> are available only if the GL version is 3.2 or greater.
+        </para>
+        <para>
+            <function>glGetInteger64v</function> and <function>glGetInteger64i_v</function> are available only if 
+            the GL version is 3.2 or greater.
+        </para>
+        <para>
+            <constant>GL_MAX_DUALSOURCE_DRAW_BUFFERS</constant>, <constant>GL_SAMPLER_BINDING</constant>, and
+            <constant>GL_TIMESTAMP</constant> are available only if the GL version is 3.3 or greater.
+        </para>
+    </refsect1>
+    <refsect1 id="errors"><title>Errors</title>
+        <para>
+            <constant>GL_INVALID_ENUM</constant> is generated if <parameter>pname</parameter> is not an accepted value.
+        </para>
+        <para>
+            <constant>GL_INVALID_VALUE</constant> is generated on any of <function>glGetBooleani_v</function>,
+            <function>glGetIntegeri_v</function>, or <function>glGetInteger64i_v</function> if 
+            <parameter>index</parameter> is outside of the valid range for the indexed state <parameter>target</parameter>.
+        </para>
+    </refsect1>
+    <refsect1 id="seealso"><title>See Also</title>
+        <para>
+            <citerefentry><refentrytitle>glGetActiveUniform</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetBufferParameter</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetBufferPointerv</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetCompressedTexImage</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetProgramInfoLog</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetShaderSource</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetUniform</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetUniformLocation</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>glIsEnabled</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
+            Free Software B License. For details, see
+            <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
+        </para>
+    </refsect1>
+</refentry>