<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>

<!-- Converted by db4-upgrade version 1.1 -->

<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glGet">
    <info>
        <copyright>
            <year>1991-2006</year>
            <holder>Silicon Graphics, Inc.</holder>
        </copyright>
        <copyright>
            <year>2010-2015</year>
            <holder>Khronos Group</holder>
        </copyright>
    </info>
    <refmeta>
        <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>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetFloatv</function></funcdef>
                <paramdef>GLenum <parameter>pname</parameter></paramdef>
                <paramdef>GLfloat * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetIntegerv</function></funcdef>
                <paramdef>GLenum <parameter>pname</parameter></paramdef>
                <paramdef>GLint * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetInteger64v</function></funcdef>
                <paramdef>GLenum <parameter>pname</parameter></paramdef>
                <paramdef>GLint64 * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetBooleani_v</function></funcdef>
                <paramdef>GLenum <parameter>target</parameter></paramdef>
                <paramdef>GLuint <parameter>index</parameter></paramdef>
                <paramdef>GLboolean * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetIntegeri_v</function></funcdef>
                <paramdef>GLenum <parameter>target</parameter></paramdef>
                <paramdef>GLuint <parameter>index</parameter></paramdef>
                <paramdef>GLint * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glGetInteger64i_v</function></funcdef>
                <paramdef>GLenum <parameter>target</parameter></paramdef>
                <paramdef>GLuint <parameter>index</parameter></paramdef>
                <paramdef>GLint64 * <parameter>data</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 xml: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>target</parameter></term>
            <listitem>
                <para>
                    Specifies the parameter value to be returned
                    for indexed versions of <function>glGet</function>.
                    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 xml:id="description"><title>Description</title>
        <para>
            These 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>data</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>data</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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
                <!-- eqn: -1.0: -->
                <mml:mn>-1.0</mml:mn>
            </mml:math></inlineequation>
            to the most negative representable integer value.
            If <function>glGetFloatv</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>
                        <parameter>data</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>
                        <parameter>data</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_ALIASED_POINT_SIZE_RANGE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns two values:
                        the smallest and largest supported sizes for
                        points. The smallest size must be at most 1, and the largest size must
                        be at least 1.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_ALPHA_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of alpha bitplanes in the color buffer of the
                        currently bound draw framebuffer. This is deﬁned only if all color attachments
                        of the draw framebuffer have identical formats, in which case the number of alpha bits
                        of color attachment zero are returned.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_ARRAY_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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_ALPHA</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_EQUATION_RGB</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_SRC_ALPHA</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_BLUE_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of blue bitplanes in the color buffer of the
                        currently bound draw framebuffer. This is deﬁned only if all color attachments
                        of the draw framebuffer have identical formats, in which case the number of blue bits
                        of color attachment zero are returned.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_COLOR_CLEAR_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
                            <!-- 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_WRITEMASK</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_CONTEXT_FLAGS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the flags with which the context was created (such as debugging functionality).
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_CONTEXT_ROBUST_ACCESS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one boolean value,
                        indicating if robust buffer access has been enabled at context creation time.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_COPY_READ_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        currently bound to the target <constant>GL_COPY_READ_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_COPY_WRITE_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        currently bound to the target <constant>GL_COPY_WRITE_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_CULL_FACE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_CULL_FACE_MODE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value indicating the mode of polygon culling.
                        The initial value is <constant>GL_BACK</constant>.
                        See <citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_CURRENT_PROGRAM</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_DEBUG_GROUP_STACK_DEPTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the current depth of the
                        debug message group stack.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEBUG_LOGGED_MESSAGES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the number of messages
						currently in the debug log.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the length, including
						the NULL terminator, of the oldest message in the debug log.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEPTH_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of bitplanes in the depth buffer of the
                        currently bound framebuffer.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEPTH_CLEAR_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
                            <!-- 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>glClearDepthf</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEPTH_FUNC</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
                            <!-- 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>glDepthRangef</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEPTH_TEST</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glDepthRangef</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DEPTH_WRITEMASK</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_DISPATCH_INDIRECT_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        currently bound to the target <constant>GL_DISPATCH_INDIRECT_BUFFER</constant>. If no buffer object
                        is bound to this target, 0 is returned.  The initial value is 0.
                        See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_DITHER</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_DRAW_BUFFER</constant><emphasis>i</emphasis></term>
                <listitem>
                    <para>
                        <parameter>data</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>.  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>
                        <parameter>data</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_ELEMENT_ARRAY_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_FRAGMENT_INTERPOLATION_OFFSET_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value indicating the number
						of subpixels bits available in the offset for interpolation.
                        See <citerefentry><refentrytitle>interpolateAtOffset</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_FRAGMENT_SHADER_DERIVATIVE_HINT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_FRONT_FACE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value indicating the winding order
                        of polygon front faces.
                        The initial value is <constant>GL_CCW</constant>.
                        See <citerefentry><refentrytitle>glFrontFace</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_GENERATE_MIPMAP_HINT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        a symbolic constant indicating the mode of the generate mipmap quality hint.
                        The initial value is
                        <constant>GL_DONT_CARE</constant>. See
                        <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_GREEN_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of green bitplanes in the color buffer of the
                        currently bound draw framebuffer. This is deﬁned only if all color attachments
                        of the draw framebuffer have identical formats, in which case the number of green bits
                        of color attachment zero are returned.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_IMAGE_BINDING_LAYERED</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        corresponding to whether the image bound to the indexed image unit is layered or not. 
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_IMPLEMENTATION_COLOR_READ_FORMAT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the format
                        chosen by the implementation in which pixels may be read from the
                        color buffer of the currently bound framebuffer in conjunction with
                        <constant>GL_IMPLEMENTATION_COLOR_READ_TYPE</constant>.
                        See <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_IMPLEMENTATION_COLOR_READ_TYPE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the type
                        chosen by the implementation with which pixels may be read from the
                        color buffer of the currently bound framebuffer in conjunction with
                        <constant>GL_IMPLEMENTATION_COLOR_READ_FORMAT</constant>.
                        See <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_LAYER_PROVOKING_VERTEX</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the implementation dependent specifc vertex of a primitive that is used to select the rendering layer.
                        If the value returned is <constant>GL_FIRST_VERTEX_CONVENTION</constant>, then the
                        selection is always taken from the first vertex in the primitive.
                        If the value returned is <constant>GL_LAST_VERTEX_CONVENTION</constant>, then the
                        selection is always taken from the last vertex in the primitive.
                        If the value returned is <constant>GL_UNDEFINED_VERTEX</constant>, then the
                        selection is not guaranteed to be taken from any specific vertex in the primitive.
                        Portable applications will therefore assign the same layer for all vertices in a primitive.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_LINE_WIDTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_MAJOR_VERSION</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the major version number of the OpenGL ES API supported by the current context.
                        This must be 3.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_3D_TEXTURE_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        a rough estimate of the largest 3D texture that the GL can handle.
                        The value must be at least 256. See <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_ATOMIC_COUNTER_BUFFER_BINDINGS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum number
                        of atomic counter buffer binding points.
                        The value must be at least 1.
                        See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>,
						<citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>,
                        and <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COLOR_ATTACHMENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum number
                        of color attachment points in a framebuffer object.
                        The value must be at least 4.
                        See <citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>
                        and <citerefentry><refentrytitle>glFramebufferTexture2D</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of samples in a color multisample texture.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to all active shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by all active shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of words for compute shader uniform variables in all uniform
                        blocks (including default). The value must be at least 1.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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
                        <constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant> +
                        <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant> * <constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant> / 4.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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
                        <constant>GL_MAX_GEOMETRY_UNIFORM_COMPONENTS</constant> +
                        <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant> * <constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant> / 4.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum total number of active shader storage blocks that may be accessed by all active shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of words for tesselation control shader uniform variables in all uniform
                        blocks (including default). The value must be at least
                        <constant>GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS</constant> +
                        <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant> * <constant>GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS</constant> / 4.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of words for tesselation evaluation shader uniform variables in all uniform
                        blocks (including default). The value must be at least
                        <constant>GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS</constant> +
                        <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant> * <constant>GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS</constant> / 4.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported texture image units that
                        can be used to access texture maps from the all the shader stages 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 96.
                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of uniform blocks per program.  The value must be at least 60.
                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 .
                        <constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant> +
                        <constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant> * <constant>GL_MAX_VERTEX_UNIFORM_BLOCKS</constant> / 4.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to compute shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a compute shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in compute shaders.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a compute shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported texture image units that 
                        can be used to access texture maps from the compute shader. The value may be at least 16.
                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of uniform blocks per compute shader.  The value must be at least 14.
                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of individual floating-point, integer, or boolean values that can be held 
                        in uniform variable storage for a compute shader. The value must be at least 1024.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of invocations in a single local work group
                        (i.e., the product of the three dimensions) that may
                        be dispatched to a compute shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant></term>
                <listitem>
                    <para>
                        Accepted by the indexed versions of <function>glGet</function>.
                        <parameter>data</parameter> the maximum number of work
                        groups that may be dispatched to a compute shader. Indices
                        0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant></term>
                <listitem>
                    <para>
                        Accepted by the indexed versions of <function>glGet</function>.
                        <parameter>data</parameter> the maximum size of a work
                        groups that may be used during compilation of a compute shader. Indices
                        0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_CUBE_MAP_TEXTURE_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 2048.
                        See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_DEBUG_GROUP_STACK_DEPTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum depth of the
                        debug message group stack.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_DEBUG_LOGGED_MESSAGES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of messages
						stored in the debug message log.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_DEBUG_MESSAGE_LENGTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum length of a
						debug message string, including its null terminator.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant></term>
                <listitem>
                    <para>
                        <parameter>params</parameter> returns one value,
                        the maximum number of samples in a depth/stencil multisample texture.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_DRAW_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum number
                        of simultaneous outputs that may be written in a fragment shader.
                        The value must be at least 4.
                        See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_ELEMENT_INDEX</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum index supported by the implementation.
                        The value must be at least
                            <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
                                    <!-- eqn: 2 sup 24 - 1: -->
                                    <mml:mrow>
                                            <mml:msup>
                                                <mml:mn>2</mml:mn>
                                                <mml:mn>24</mml:mn>
                                            </mml:msup>
                                            <mml:mo>-</mml:mo>
                                            <mml:mn>1</mml:mn>
                                    </mml:mrow>
                            </mml:math></inlineequation>.                                       
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_ELEMENTS_INDICES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to fragment shaders.
                        In GL ES 3.1, the minimum value is 0. In GL ES 3.2, the minimum value is 8.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a fragment shader.
                        In GL ES 3.1, the minimum value is 0. In GL ES 3.2, the minimum value is 1.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in fragment shaders.
                        In GL ES 3.1, the minimum value is 0. In GL ES 3.2, the minimum value is 4.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_INPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of the inputs read by the fragment shader, which must be at least 60.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_INTERPOLATION_OFFSET</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single floating-point value indicating the maximum
						valid offset for interpolation.
                        See <citerefentry><refentrytitle>interpolateAtOffset</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a fragment shader.
                        In GL ES 3.1, the minimum value is 0. In GL ES 3.2, the minimum value is 4.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 896.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAGMENT_UNIFORM_VECTORS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of vector floating-point, integer, or boolean values that can be held
                        in uniform variable storage for a fragment shader. The value must be at least 224.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum height for a framebuffer that has no attachments, which must be at least 16384.
                        See <citerefentry><refentrytitle>glFramebufferParameteri</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAMEBUFFER_LAYERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of layers for a framebuffer that has no attachments, which must be at least 256.
                        See <citerefentry><refentrytitle>glFramebufferParameteri</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum samples in a framebuffer that has no attachments, which must be at least 4.
                        See <citerefentry><refentrytitle>glFramebufferParameteri</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_FRAMEBUFFER_WIDTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum width for a framebuffer that has no attachments, which must be at least 16384.
                        See <citerefentry><refentrytitle>glFramebufferParameteri</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a geometry shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to geometry shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in geometry shaders.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_GEOMETRY_OUTPUT_VERTICES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of vertices emit by a geometry shader, which must be at least 256.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a geometry shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_SHADER_INVOCATIONS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum supported number of invocations per primitive of a geometry shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_GEOMETRY_TOTAL_OUTPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum total number of components of active outputs for all vertices written 
                        by a geometry shader, which must be at least 1024.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_INTEGER_SAMPLES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of samples supported in integer format multisample buffers.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_LABEL_LENGTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum length of a
                        label string.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_PROGRAM_TEXEL_OFFSET</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_RENDERBUFFER_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value.
                        The value indicates the maximum supported size for renderbuffers and must be at least 2048.
                        See <citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_SAMPLE_MASK_WORDS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of sample mask words.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_SAMPLES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value.
                        The value indicates the maximum supported number of samples for multisampling.
                        The value must be at least 4.
                        See <citerefentry><refentrytitle>glGetInternalformativ</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_SERVER_WAIT_TIMEOUT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry> timeout interval.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_SHADER_STORAGE_BLOCK_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum size in basic machine units of a shader storage block.
                        The value must be at least            
						<inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
							<mml:msup>
								<mml:mn>2</mml:mn>
								<mml:mi>27</mml:mi>
							</mml:msup>
						</mml:math></inlineequation>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of shader storage buffer binding points on the context, which must be at least 8.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a tesselation control shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to tessellation control shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in tesselation control shaders.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_INPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of inputs read by a tesselation control shader, which must be at least 128.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of outputs written by a tesselation control shader, which must be at least 128.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a tessellation control shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported texture image units that 
                        can be used to access texture maps from the tesselation control shader. The value may be at least 16.
                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum total number of components of active outputs for all vertices written 
                        by a tesselation control shader, including per-vertex and per-patch outputs, which must be at least 2048.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of uniform blocks per tesselation control shader.  The value must be at least 12.
                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 tesselation control shader. The value must be at least 1024.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a tesselation evaluation shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to tessellation evaluation shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in tesselation evaluation shaders.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of inputs read by a tesselation evaluation shader, which must be at least 128.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of outputs written by a tesselation evaluation shader, which must be at least 128.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a tessellation evaluation shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported texture image units that 
                        can be used to access texture maps from the tesselation evaluation shader. The value may be at least 16.
                        See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of uniform blocks per tesselation evaluation shader.  The value must be at least 12.
                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 tesselation evaluation shader. The value must be at least 1024.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_TESS_GEN_LEVEL</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum tessellation level 
                        supported by the tesselation primitive generator.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TESS_PATCH_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components of per-patch outputs written by a tesselation control shader, which must be at least 128.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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 2048.
                        See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components which can be written to a single transform feedback buffer in
                        interleaved mode. The value must be at least 64.
                        See <citerefentry><refentrytitle>glTransformFeedbackVaryings</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum separate attributes or outputs which can be captured in separate
                        transform feedback mode. The value must be at least 4.
                        See <citerefentry><refentrytitle>glTransformFeedbackVaryings</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of components which can be written per attribute or output in separate
                        transform feedback mode. The value must be at least 4.
                        See <citerefentry><refentrytitle>glTransformFeedbackVaryings</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_UNIFORM_BUFFER_BINDINGS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of uniform buffer binding points on the context, which must be at least 72.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_UNIFORM_LOCATIONS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of explicitly assignable uniform locations, which must be at least 1024.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VARYING_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number components for varying variables, which must be at least 60.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VARYING_VECTORS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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 vector
                        values that can be interpolated; varying variables declared as matrices and arrays
                        will consume multiple interpolators. The value must be at least 15.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counters available to vertex shaders.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a vertex shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value containing the maximum number of vertex buffers that may be bound.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value containing the maximum offset that may be added to a vertex binding
                        offset.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_ATTRIBS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_IMAGE_UNIFORMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value, the maximum supported number of image variables 
                        in vertex shaders.
                    </para>
                </listitem>
            </varlistentry>            
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of active shader storage blocks that may be accessed by a vertex shader.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_VERTEX_OUTPUT_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_VERTEX_UNIFORM_BLOCKS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_VERTEX_UNIFORM_COMPONENTS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_UNIFORM_VECTORS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the maximum number of vector floating-point, integer, or boolean values that can be held
                        in uniform variable storage for a vertex shader. The value must be at least 256.
                        See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MAX_VIEWPORT_DIMS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_MIN_FRAGMENT_INTERPOLATION_OFFSET</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single floating-point value indicating the minimum
						valid offset for interpolation.
                        See <citerefentry><refentrytitle>interpolateAtOffset</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MIN_PROGRAM_TEXEL_OFFSET</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_MIN_SAMPLE_SHADING_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single floating-point value indicating the minimum
						sample shading fraction.
                        See <citerefentry><refentrytitle>glMinSampleShading</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MINOR_VERSION</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the minor version number of the OpenGL ES API supported by the current context.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_MULTISAMPLE_LINE_WIDTH_RANGE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a pair of values indicating the range of
                        widths supported for lines drawn when <constant>GL_SAMPLE_BUFFERS</constant> is one. 
                        See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value indicating the number of available
                        compressed texture formats.  The minimum value is 38.
                        See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_NUM_EXTENSIONS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_NUM_PROGRAM_BINARY_FORMATS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value indicating the number of available
                        program binary formats. The minimum value is 0.
                        See <citerefentry><refentrytitle>glProgramBinary</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_NUM_SHADER_BINARY_FORMATS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value indicating the number of available
                        shader binary formats. The minimum value is 0.
                        See <citerefentry><refentrytitle>glShaderBinary</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PACK_ALIGNMENT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the byte alignment used for writing pixel data to memory. The initial
                        value is 4.
                        See <citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PACK_ROW_LENGTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the row length used for writing pixel data to memory. The initial value is
                        0.
                        See <citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PACK_SKIP_PIXELS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PACK_SKIP_ROWS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PATCH_VERTICES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of vertices in an input patch. The initial value is 3.
                        See <citerefentry><refentrytitle>glPatchParameteri</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PIXEL_PACK_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_POLYGON_OFFSET_FACTOR</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_FILL</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating whether polygon offset
                        is enabled for polygons. The initial value is <constant>GL_FALSE</constant>.
                        See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_POLYGON_OFFSET_UNITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_PRIMITIVE_BOUNDING_BOX</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns eight values 
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">minX</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">minY</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">minZ</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">minW</mml:mi></mml:math></inlineequation>, and
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">maxX</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">maxY</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">maxZ</mml:mi></mml:math></inlineequation>,
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">maxW</mml:mi></mml:math></inlineequation>
                        corresponding to the clip space coordinates of the primitive bounding box.
                        See <citerefentry><refentrytitle>glPrimitiveBoundingBox</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PRIMITIVE_RESTART_FIXED_INDEX</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating whether primitive restart
                        with a fixed index is enabled. The initial value is <constant>GL_FALSE</constant>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PROGRAM_BINARY_FORMATS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a list of symbolic
                        constants of length <constant>GL_NUM_PROGRAM_BINARY_FORMATS</constant>
                        indicating which program binary formats are available.
                        See <citerefentry><refentrytitle>glProgramBinary</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_PROGRAM_PIPELINE_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> a single value, the name of the currently bound program pipeline
                        object, or zero if no program pipeline object is bound.
                        See <citerefentry><refentrytitle>glBindProgramPipeline</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_RASTERIZER_DISCARD</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        a single boolean value indicating whether primitives are discarded immediately before
						the rasterization stage, but after the optional transform feedback stage.
                        See <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_READ_BUFFER</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        a symbolic constant indicating which color buffer is selected for
                        reading. The initial value is <constant>GL_BACK</constant>.
                        See
                        <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_READ_FRAMEBUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_RED_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of red bitplanes in the color buffer of the
                        currently bound draw framebuffer. This is deﬁned only if all color attachments
                        of the draw framebuffer have identical formats, in which case the number of red bits
                        of color attachment zero are returned.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_RENDERBUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_RESET_NOTIFICATION_STRATEGY</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the behaviour of reset notification. Valid
                        values are <constant>GL_NO_RESET_NOTIFICATION</constant>, indicating that no reset notification events
                        will be provided by the implementation, or <constant>GL_LOSE_CONTEXT_ON_RESET</constant>, indicating
                        that a reset will result in the loss of graphics context. This loss can be found by querying
                         <citerefentry><refentrytitle>glGetGraphicsResetStatus</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SAMPLE_ALPHA_TO_COVERAGE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating whether modification
                        of sample coverage based on alpha is
                        enabled. The initial value is <constant>GL_FALSE</constant>.
                        See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SAMPLE_BUFFERS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating whether modification
                        of sample coverage based on the value specified by
                        <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry> is
                        enabled. The initial value is <constant>GL_FALSE</constant>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SAMPLE_COVERAGE_INVERT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_SAMPLE_COVERAGE_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_MASK_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>params</parameter> returns one value indicating the current sample mask value.
                        See <citerefentry><refentrytitle>glSampleMaski</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SAMPLE_SHADING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single integer value indicating whether sample rate 
						shading is enabled.
                        See <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SAMPLER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</parameter> returns four values:
                        the
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
                        and
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
                        and
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><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>
                        <parameter>data</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_SHADER_BINARY_FORMATS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a list of symbolic
                        constants of length <constant>GL_NUM_SHADER_BINARY_FORMATS</constant>
                        indicating which shader binary formats are available.
                        See <citerefentry><refentrytitle>glShaderBinary</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SHADER_COMPILER</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating whether
                        a shader compiler is supported. This value is always <constant>GL_TRUE</constant>.
                        See <citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        currently bound to the target <constant>GL_SHADER_STORAGE_BUFFER</constant>. If no buffer object
                        is bound to this target, 0 is returned.
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        bound to the indexed shader storage buffer binding points. The initial value is 0 for all targets.
                        See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
                        <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the minimum required alignment
                        for shader storage buffer sizes and offset.  The initial value is 1.
                        See <citerefentry><refentrytitle>glShaderStorateBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SHADER_STORAGE_BUFFER_SIZE</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</parameter> returns a single value, the size of the binding range for each
                        indexed shader storage buffer binding. The initial value is 0 for all bindings.
                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_SHADER_STORAGE_BUFFER_START</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</parameter> returns a single value, the start offset of the binding range for each
                        indexed shader storage buffer binding. The initial value is 0 for all bindings.
                        See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_STENCIL_BACK_FAIL</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the number of bitplanes in the stencil buffer of the
                        currently bound framebuffer.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_STENCIL_CLEAR_VALUE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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_SUBPIXEL_BITS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_2D</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_3D</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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>
                        <parameter>data</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_2D_MULTISAMPLE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>
                        <parameter>data</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_CUBE_MAP_ARRAY</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the texture
                        currently bound to the target <constant>GL_TEXTURE_CUBE_MAP_ARRAY</constant>. The initial value is 0.
                        See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_TEXTURE_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the buffer object
                        currently bound to the target <constant>GL_TEXTURE_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_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the minimum required alignment
                        for texture buffer sizes and offset.  The initial value is 1.
                        See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_TRANSFORM_FEEDBACK_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the transform feedback object
                        currently bound to the <constant>GL_TRANSFORM_FEEDBACK</constant> target. If no transform feedback object
                        is bound to this target, 0 is returned.  The initial value is 0.
                        See <citerefentry><refentrytitle>glBindTransformFeedback</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_TRANSFORM_FEEDBACK_ACTIVE</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating if the currently
                        bound transform feedback object is active.
                        See <citerefentry><refentrytitle>glBeginTransformFeedback</refentrytitle></citerefentry>
                        and <citerefentry><refentrytitle>glResumeTransformFeedback</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
                        <parameter>data</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>data</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_PAUSED</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single boolean value indicating if the currently
                        bound transform feedback object is paused.
                        See <citerefentry><refentrytitle>glPauseTransformFeedback</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_SIZE</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</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_TRANSFORM_FEEDBACK_BUFFER_START</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</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_UNIFORM_BUFFER_BINDING</constant></term>
                <listitem>
                    <para>
                        When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
                        <parameter>data</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>data</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_OFFSET_ALIGNMENT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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_UNIFORM_BUFFER_SIZE</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</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_START</constant></term>
                <listitem>
                    <para>
                        When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
                        <parameter>data</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_UNPACK_ALIGNMENT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the byte alignment used for reading pixel data from memory. The initial
                        value is 4.
                        See <citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_UNPACK_IMAGE_HEIGHT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the image height used for reading pixel data from memory.  The initial
                        is 0.
                        See <citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_UNPACK_ROW_LENGTH</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns one value,
                        the row length used for reading pixel data from memory. The initial value
                        is 0.
                        See <citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_UNPACK_SKIP_IMAGES</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_UNPACK_SKIP_PIXELS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_UNPACK_SKIP_ROWS</constant></term>
                <listitem>
                    <para>
                        <parameter>data</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>glPixelStorei</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_VERTEX_ARRAY_BINDING</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns a single value, the name of the vertex array object
                        currently bound. If no vertex array object is bound, 0 is returned.  The initial value is 0.
                        See <citerefentry><refentrytitle>glBindVertexArray</refentrytitle></citerefentry>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_VERTEX_BINDING_DIVISOR</constant></term>
                <listitem>
                    <para>
                        Accepted by the indexed forms. <parameter>data</parameter> returns a single integer value representing the instance step
                        divisor of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_VERTEX_BINDING_OFFSET</constant></term>
                <listitem>
                    <para>
                        Accepted by the indexed forms. <parameter>data</parameter> returns a single integer value representing the byte offset
                        of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_VERTEX_BINDING_STRIDE</constant></term>
                <listitem>
                    <para>
                        Accepted by the indexed forms. <parameter>data</parameter> returns a single integer value representing the byte offset
                        between the start of each element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_VIEWPORT</constant></term>
                <listitem>
                    <para>
                        <parameter>data</parameter> returns four values:
                        the
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
                        and
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><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 xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
                        and
                        <inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><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 xml:id="notes"><title>Notes</title>
        <para>
            The following parameters return the associated value for the active texture unit:
            <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_VERTEX_ATOMIC_COUNTERS</constant>,
            <constant>GL_MAX_FRAMGENT_ATOMIC_COUNTERS</constant>,
            <constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant>,
            <constant>GL_MAX_COMBINED_ATOMIC_COUNTERS</constant>,
            <constant>GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS</constant>,
            <constant>GL_MAX_FRAMGENT_ATOMIC_COUNTER_BUFFERS</constant>,
            <constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant>,
            <constant>GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS</constant>,
            <constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant>,
            <constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant>,
            <constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant>,
            <constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant>,
            <constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant>,
            <constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant>,
            <constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant>,
            <constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant>,
            <constant>GL_MAX_UNIFORM_LOCATIONS</constant>,
            <constant>GL_MAX_FRAMEBUFFER_WIDTH</constant>,
            <constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant>,
            <constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant>,
            <constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant>,
            <constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant>,
            <constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant>,
            <constant>GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS</constant>,
            <constant>GL_VERTEX_BINDING_DIVISOR</constant>,
            <constant>GL_VERTEX_BINDING_OFFSET</constant>,
            <constant>GL_VERTEX_BINDING_STRIDE</constant>,
            <constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant> and
            <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant> are available
            only if the GL ES version is 3.1 or greater.
        </para>
    </refsect1>
    <refsect1 xml: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 either <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 xml:id="versions">
        <title>API Version Support</title>
        <informaltable>
            <tgroup cols="5" align="left">
                <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apifunchead.xml" xpointer="xpointer(/*/*)"/>
                <tbody>
                    <row>
                        <entry><function>glGetBooleanv</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es20']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetBooleani_v</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es31']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetFloatv</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es20']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetIntegerv</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es20']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetInteger64v</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es30']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetIntegeri_v</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es30']/*)"/>
                    </row>
                    <row>
                        <entry><function>glGetInteger64i_v</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='es30']/*)"/>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect1>
    <refsect1 xml: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>glGetError</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetProgramiv</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetProgramInfoLog</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetQueryObjectuiv</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetShaderiv</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetShaderSource</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGetString</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 xml:id="Copyright"><title>Copyright</title>
        <para>
            Copyright <trademark class="copyright"/> 1991-2006 Silicon Graphics, Inc.
            Copyright <trademark class="copyright"/> 2010-2015 Khronos Group.
            This document is licensed under the SGI Free Software B License.
            For details, see
            <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</link>.
        </para>
    </refsect1>
</refentry>
