update upstream sources
[clinton/guile-figl.git] / upstream-doc / man4 / glGet.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glGet">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glGet</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glGet</refname>
17 <refpurpose>return the value or values of a selected parameter</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glGetBooleanv</function></funcdef>
23 <paramdef>GLenum <parameter>pname</parameter></paramdef>
24 <paramdef>GLboolean * <parameter>params</parameter></paramdef>
25 </funcprototype>
26 </funcsynopsis>
27 </refsynopsisdiv>
28 <refsynopsisdiv><title>C Specification</title>
29 <funcsynopsis>
30 <funcprototype>
31 <funcdef>void <function>glGetDoublev</function></funcdef>
32 <paramdef>GLenum <parameter>pname</parameter></paramdef>
33 <paramdef>GLdouble * <parameter>params</parameter></paramdef>
34 </funcprototype>
35 </funcsynopsis>
36 </refsynopsisdiv>
37 <refsynopsisdiv><title>C Specification</title>
38 <funcsynopsis>
39 <funcprototype>
40 <funcdef>void <function>glGetFloatv</function></funcdef>
41 <paramdef>GLenum <parameter>pname</parameter></paramdef>
42 <paramdef>GLfloat * <parameter>params</parameter></paramdef>
43 </funcprototype>
44 </funcsynopsis>
45 </refsynopsisdiv>
46 <refsynopsisdiv><title>C Specification</title>
47 <funcsynopsis>
48 <funcprototype>
49 <funcdef>void <function>glGetIntegerv</function></funcdef>
50 <paramdef>GLenum <parameter>pname</parameter></paramdef>
51 <paramdef>GLint * <parameter>params</parameter></paramdef>
52 </funcprototype>
53 </funcsynopsis>
54 </refsynopsisdiv>
55 <refsynopsisdiv><title>C Specification</title>
56 <funcsynopsis>
57 <funcprototype>
58 <funcdef>void <function>glGetInteger64v</function></funcdef>
59 <paramdef>GLenum <parameter>pname</parameter></paramdef>
60 <paramdef>GLint64 * <parameter>params</parameter></paramdef>
61 </funcprototype>
62 </funcsynopsis>
63 </refsynopsisdiv>
64 <!-- eqn: ignoring delim $$ -->
65 <refsect1 id="parameters"><title>Parameters</title>
66 <variablelist>
67 <varlistentry>
68 <term><parameter>pname</parameter></term>
69 <listitem>
70 <para>
71 Specifies the parameter value to be returned.
72 The symbolic constants in the list below are accepted.
73 </para>
74 </listitem>
75 </varlistentry>
76 <varlistentry>
77 <term><parameter>params</parameter></term>
78 <listitem>
79 <para>
80 Returns the value or values of the specified parameter.
81 </para>
82 </listitem>
83 </varlistentry>
84 </variablelist>
85 </refsect1>
86 <refsynopsisdiv><title>C Specification</title>
87 <funcsynopsis>
88 <funcprototype>
89 <funcdef>void <function>glGetBooleani_v</function></funcdef>
90 <paramdef>GLenum <parameter>pname</parameter></paramdef>
91 <paramdef>GLuint <parameter>index</parameter></paramdef>
92 <paramdef>GLboolean * <parameter>data</parameter></paramdef>
93 </funcprototype>
94 </funcsynopsis>
95 </refsynopsisdiv>
96 <refsynopsisdiv><title>C Specification</title>
97 <funcsynopsis>
98 <funcprototype>
99 <funcdef>void <function>glGetIntegeri_v</function></funcdef>
100 <paramdef>GLenum <parameter>pname</parameter></paramdef>
101 <paramdef>GLuint <parameter>index</parameter></paramdef>
102 <paramdef>GLint * <parameter>data</parameter></paramdef>
103 </funcprototype>
104 </funcsynopsis>
105 </refsynopsisdiv>
106 <refsynopsisdiv><title>C Specification</title>
107 <funcsynopsis>
108 <funcprototype>
109 <funcdef>void <function>glGetFloati_v</function></funcdef>
110 <paramdef>GLenum <parameter>pname</parameter></paramdef>
111 <paramdef>GLuint <parameter>index</parameter></paramdef>
112 <paramdef>GLfloat * <parameter>data</parameter></paramdef>
113 </funcprototype>
114 </funcsynopsis>
115 </refsynopsisdiv>
116 <refsynopsisdiv><title>C Specification</title>
117 <funcsynopsis>
118 <funcprototype>
119 <funcdef>void <function>glGetDoublei_v</function></funcdef>
120 <paramdef>GLenum <parameter>pname</parameter></paramdef>
121 <paramdef>GLuint <parameter>index</parameter></paramdef>
122 <paramdef>GLdouble * <parameter>data</parameter></paramdef>
123 </funcprototype>
124 </funcsynopsis>
125 </refsynopsisdiv>
126 <refsynopsisdiv><title>C Specification</title>
127 <funcsynopsis>
128 <funcprototype>
129 <funcdef>void <function>glGetInteger64i_v</function></funcdef>
130 <paramdef>GLenum <parameter>pname</parameter></paramdef>
131 <paramdef>GLuint <parameter>index</parameter></paramdef>
132 <paramdef>GLint64 * <parameter>data</parameter></paramdef>
133 </funcprototype>
134 </funcsynopsis>
135 </refsynopsisdiv>
136 <!-- eqn: ignoring delim $$ -->
137 <refsect1 id="parameters2"><title>Parameters</title>
138 <variablelist>
139 <varlistentry>
140 <term><parameter>pname</parameter></term>
141 <listitem>
142 <para>
143 Specifies the parameter value to be returned.
144 The symbolic constants in the list below are accepted.
145 </para>
146 </listitem>
147 </varlistentry>
148 <varlistentry>
149 <term><parameter>index</parameter></term>
150 <listitem>
151 <para>
152 Specifies the index of the particular element being queried.
153 </para>
154 </listitem>
155 </varlistentry>
156 <varlistentry>
157 <term><parameter>data</parameter></term>
158 <listitem>
159 <para>
160 Returns the value or values of the specified parameter.
161 </para>
162 </listitem>
163 </varlistentry>
164 </variablelist>
165 </refsect1>
166 <refsect1 id="description"><title>Description</title>
167 <para>
168 These four commands return values for simple state variables in GL.
169 <parameter>pname</parameter> is a symbolic constant indicating the state variable to be returned,
170 and <parameter>params</parameter> is a pointer to an array of the indicated type in
171 which to place the returned data.
172 </para>
173 <para>
174 Type conversion is performed if <parameter>params</parameter> has a different type than
175 the state variable value being requested.
176 If <function>glGetBooleanv</function> is called,
177 a floating-point (or integer) value is converted to <constant>GL_FALSE</constant> if
178 and only if it is 0.0 (or 0).
179 Otherwise,
180 it is converted to <constant>GL_TRUE</constant>.
181 If <function>glGetIntegerv</function> is called, boolean values are returned as
182 <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>, and most floating-point values are
183 rounded to the nearest integer value. Floating-point colors and
184 normals, however, are returned with a linear mapping that maps 1.0 to
185 the most positive representable integer value
186 and
187 <inlineequation><mml:math>
188 <!-- eqn: -1.0: -->
189 <mml:mn>-1.0</mml:mn>
190 </mml:math></inlineequation>
191 to the most negative representable integer value.
192 If <function>glGetFloatv</function> or <function>glGetDoublev</function> is called,
193 boolean values are returned as <constant>GL_TRUE</constant> or <constant>GL_FALSE</constant>,
194 and integer values are converted to floating-point values.
195 </para>
196 <para>
197 The following symbolic constants are accepted by <parameter>pname</parameter>:
198 </para>
199 <variablelist>
200 <varlistentry>
201 <term><constant>GL_ACTIVE_TEXTURE</constant></term>
202 <listitem>
203 <para>
204 </para>
205 <para>
206 <parameter>params</parameter> returns a single value indicating the active multitexture unit.
207 The initial value is <constant>GL_TEXTURE0</constant>.
208 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
209 </para>
210 </listitem>
211 </varlistentry>
212 <varlistentry>
213 <term><constant>GL_ALIASED_LINE_WIDTH_RANGE</constant></term>
214 <listitem>
215 <para>
216 </para>
217 <para>
218 <parameter>params</parameter> returns a pair of values indicating the range of
219 widths supported for aliased lines. See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
220 </para>
221 </listitem>
222 </varlistentry>
223 <varlistentry>
224 <term><constant>GL_ARRAY_BUFFER_BINDING</constant></term>
225 <listitem>
226 <para>
227 </para>
228 <para>
229 <parameter>params</parameter> returns a single value, the name of the buffer object
230 currently bound to the target <constant>GL_ARRAY_BUFFER</constant>. If no buffer object
231 is bound to this target, 0 is returned. The initial value is 0.
232 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
233 </para>
234 </listitem>
235 </varlistentry>
236 <varlistentry>
237 <term><constant>GL_BLEND</constant></term>
238 <listitem>
239 <para>
240 </para>
241 <para>
242 <parameter>params</parameter> returns a single boolean value indicating whether blending is
243 enabled. The initial value is <constant>GL_FALSE</constant>.
244 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>.
245 </para>
246 </listitem>
247 </varlistentry>
248 <varlistentry>
249 <term><constant>GL_BLEND_COLOR</constant></term>
250 <listitem>
251 <para>
252 </para>
253 <para>
254 <parameter>params</parameter> returns four values,
255 the red, green, blue, and alpha values which are the components of
256 the blend color.
257 See <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>.
258 </para>
259 </listitem>
260 </varlistentry>
261 <varlistentry>
262 <term><constant>GL_BLEND_DST_ALPHA</constant></term>
263 <listitem>
264 <para>
265 </para>
266 <para>
267 <parameter>params</parameter> returns one value,
268 the symbolic constant identifying the alpha destination blend
269 function. The initial value is <constant>GL_ZERO</constant>.
270 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
271 </para>
272 </listitem>
273 </varlistentry>
274 <varlistentry>
275 <term><constant>GL_BLEND_DST_RGB</constant></term>
276 <listitem>
277 <para>
278 </para>
279 <para>
280 <parameter>params</parameter> returns one value,
281 the symbolic constant identifying the RGB destination blend
282 function. The initial value is <constant>GL_ZERO</constant>.
283 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
284 </para>
285 </listitem>
286 </varlistentry>
287 <varlistentry>
288 <term><constant>GL_BLEND_EQUATION_RGB</constant></term>
289 <listitem>
290 <para>
291 </para>
292 <para>
293 <parameter>params</parameter> returns one value, a symbolic constant indicating whether
294 the RGB blend equation is <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>,
295 <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant> or <constant>GL_MAX</constant>.
296 See <citerefentry><refentrytitle>glBlendEquationSeparate</refentrytitle></citerefentry>.
297 </para>
298 </listitem>
299 </varlistentry>
300 <varlistentry>
301 <term><constant>GL_BLEND_EQUATION_ALPHA</constant></term>
302 <listitem>
303 <para>
304 </para>
305 <para>
306 <parameter>params</parameter> returns one value, a symbolic constant indicating whether
307 the Alpha blend equation is <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>,
308 <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant> or <constant>GL_MAX</constant>.
309 See <citerefentry><refentrytitle>glBlendEquationSeparate</refentrytitle></citerefentry>.
310 </para>
311 </listitem>
312 </varlistentry>
313 <varlistentry>
314 <term><constant>GL_BLEND_SRC_ALPHA</constant></term>
315 <listitem>
316 <para>
317 </para>
318 <para>
319 <parameter>params</parameter> returns one value,
320 the symbolic constant identifying the alpha source blend function. The initial
321 value is <constant>GL_ONE</constant>.
322 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
323 </para>
324 </listitem>
325 </varlistentry>
326 <varlistentry>
327 <term><constant>GL_BLEND_SRC_RGB</constant></term>
328 <listitem>
329 <para>
330 </para>
331 <para>
332 <parameter>params</parameter> returns one value,
333 the symbolic constant identifying the RGB source blend function. The initial
334 value is <constant>GL_ONE</constant>.
335 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
336 </para>
337 </listitem>
338 </varlistentry>
339 <varlistentry>
340 <term><constant>GL_COLOR_CLEAR_VALUE</constant></term>
341 <listitem>
342 <para>
343 </para>
344 <para>
345 <parameter>params</parameter> returns four values:
346 the red, green, blue, and alpha values used to clear the color buffers.
347 Integer values,
348 if requested,
349 are linearly mapped from the internal floating-point representation such
350 that 1.0 returns the most positive representable integer value,
351 and
352 <inlineequation><mml:math>
353 <!-- eqn: -1.0: -->
354 <mml:mn>-1.0</mml:mn>
355 </mml:math></inlineequation>
356 returns the most negative representable integer
357 value. The initial value is (0, 0, 0, 0).
358 See <citerefentry><refentrytitle>glClearColor</refentrytitle></citerefentry>.
359 </para>
360 </listitem>
361 </varlistentry>
362 <varlistentry>
363 <term><constant>GL_COLOR_LOGIC_OP</constant></term>
364 <listitem>
365 <para>
366 </para>
367 <para>
368 <parameter>params</parameter> returns a single boolean value indicating whether a fragment's
369 RGBA color values are merged into the framebuffer using a logical
370 operation. The initial value is <constant>GL_FALSE</constant>.
371 See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
372 </para>
373 </listitem>
374 </varlistentry>
375 <varlistentry>
376 <term><constant>GL_COLOR_WRITEMASK</constant></term>
377 <listitem>
378 <para>
379 </para>
380 <para>
381 <parameter>params</parameter> returns four boolean values:
382 the red, green, blue, and alpha write enables for the color
383 buffers. The initial value is (<constant>GL_TRUE</constant>, <constant>GL_TRUE</constant>,
384 <constant>GL_TRUE</constant>, <constant>GL_TRUE</constant>).
385 See <citerefentry><refentrytitle>glColorMask</refentrytitle></citerefentry>.
386 </para>
387 </listitem>
388 </varlistentry>
389 <varlistentry>
390 <term><constant>GL_COMPRESSED_TEXTURE_FORMATS</constant></term>
391 <listitem>
392 <para>
393 </para>
394 <para>
395 <parameter>params</parameter> returns a list of symbolic
396 constants of length <constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant>
397 indicating which compressed texture formats are available.
398 See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
399 </para>
400 </listitem>
401 </varlistentry>
402 <varlistentry>
403 <term><constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant></term>
404 <listitem>
405 <para>
406 </para>
407 <para>
408 <parameter>params</parameter> returns one value,
409 the maximum number of active shader storage blocks that may be accessed by a compute shader.
410 </para>
411 </listitem>
412 </varlistentry>
413 <varlistentry>
414 <term><constant>GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS</constant></term>
415 <listitem>
416 <para>
417 </para>
418 <para>
419 <parameter>params</parameter> returns one value,
420 the maximum total number of active shader storage blocks that may be accessed by all active shaders.
421 </para>
422 </listitem>
423 </varlistentry>
424 <!-- // ARB_compute_shader -->
425 <varlistentry>
426 <term><constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant></term>
427 <listitem>
428 <para>
429 </para>
430 <para>
431 <parameter>params</parameter> returns one value,
432 the maximum number of uniform blocks per compute shader. The value must be at least 14.
433 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
434 </para>
435 </listitem>
436 </varlistentry>
437 <varlistentry>
438 <term><constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant></term>
439 <listitem>
440 <para>
441 </para>
442 <para>
443 <parameter>params</parameter> returns one value, the maximum supported texture image units that
444 can be used to access texture maps from the compute shader. The value may be at least 16.
445 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
446 </para>
447 </listitem>
448 </varlistentry>
449 <varlistentry>
450 <term><constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant></term>
451 <listitem>
452 <para>
453 </para>
454 <para>
455 <parameter>params</parameter> returns one value,
456 the maximum number of individual floating-point, integer, or boolean values that can be held
457 in uniform variable storage for a compute shader. The value must be at least 1024.
458 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
459 </para>
460 </listitem>
461 </varlistentry>
462 <varlistentry>
463 <term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant></term>
464 <listitem>
465 <para>
466 </para>
467 <para>
468 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to compute shaders.
469 </para>
470 </listitem>
471 </varlistentry>
472 <varlistentry>
473 <term><constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant></term>
474 <listitem>
475 <para>
476 </para>
477 <para>
478 <parameter>params</parameter> returns a single value, the maximum number of atomic counter buffers that may be accessed by a compute shader.
479 </para>
480 </listitem>
481 </varlistentry>
482 <varlistentry>
483 <term><constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant></term>
484 <listitem>
485 <para>
486 </para>
487 <para>
488 <parameter>params</parameter> returns one value,
489 the number of words for compute shader uniform variables in all uniform
490 blocks (including default). The value must be at least 1.
491 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
492 </para>
493 </listitem>
494 </varlistentry>
495 <varlistentry>
496 <term><constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant></term>
497 <listitem>
498 <para>
499 </para>
500 <para>
501 <parameter>params</parameter> returns one value,
502 the number of invocations in a single local work group
503 (i.e., the product of the three dimensions) that may
504 be dispatched to a compute shader.
505 </para>
506 </listitem>
507 </varlistentry>
508 <varlistentry>
509 <term><constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant></term>
510 <listitem>
511 <para>
512 </para>
513 <para>
514 Accepted by the indexed versions of <function>glGet</function>.
515 <parameter>params</parameter> the maximum number of work
516 groups that may be dispatched to a compute shader. Indices
517 0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
518 </para>
519 </listitem>
520 </varlistentry>
521 <varlistentry>
522 <term><constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant></term>
523 <listitem>
524 <para>
525 </para>
526 <para>
527 Accepted by the indexed versions of <function>glGet</function>.
528 <parameter>params</parameter> the maximum size of a work
529 groups that may be used during compilation of a compute shader. Indices
530 0, 1, and 2 correspond to the X, Y and Z dimensions, respectively.
531 </para>
532 </listitem>
533 </varlistentry>
534 <varlistentry>
535 <term><constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant></term>
536 <listitem>
537 <para>
538 </para>
539 <para>
540 <parameter>params</parameter> returns a single value, the name of the buffer object
541 currently bound to the target <constant>GL_DISPATCH_INDIRECT_BUFFER</constant>. If no buffer object
542 is bound to this target, 0 is returned. The initial value is 0.
543 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
544 </para>
545 </listitem>
546 </varlistentry>
547 <!-- // ARB_compute_shader -->
548 <!-- ARB_debug_group -->
549 <varlistentry>
550 <term><constant>GL_MAX_DEBUG_GROUP_STACK_DEPTH</constant></term>
551 <listitem>
552 <para>
553 </para>
554 <para>
555 <parameter>params</parameter> returns a single value, the maximum depth of the
556 debug message group stack.
557 </para>
558 </listitem>
559 </varlistentry>
560 <varlistentry>
561 <term><constant>GL_DEBUG_GROUP_STACK_DEPTH</constant></term>
562 <listitem>
563 <para>
564 </para>
565 <para>
566 <parameter>params</parameter> returns a single value, the current depth of the
567 debug message group stack.
568 </para>
569 </listitem>
570 </varlistentry>
571 <!-- // ARB_debug_group -->
572 <varlistentry>
573 <term><constant>GL_CONTEXT_FLAGS</constant></term>
574 <listitem>
575 <para>
576 </para>
577 <para>
578 <parameter>params</parameter> returns one value,
579 the flags with which the context was created (such as debugging functionality).
580 </para>
581 </listitem>
582 </varlistentry>
583 <varlistentry>
584 <term><constant>GL_CULL_FACE</constant></term>
585 <listitem>
586 <para>
587 </para>
588 <para>
589 <parameter>params</parameter> returns a single boolean value indicating whether polygon culling
590 is enabled. The initial value is <constant>GL_FALSE</constant>.
591 See <citerefentry><refentrytitle>glCullFace</refentrytitle></citerefentry>.
592 </para>
593 </listitem>
594 </varlistentry>
595 <varlistentry>
596 <term><constant>GL_CURRENT_PROGRAM</constant></term>
597 <listitem>
598 <para>
599 </para>
600 <para>
601 <parameter>params</parameter> returns one value,
602 the name of the program object that is currently active, or 0 if no program object is active.
603 See <citerefentry><refentrytitle>glUseProgram</refentrytitle></citerefentry>.
604 </para>
605 </listitem>
606 </varlistentry>
607 <varlistentry>
608 <term><constant>GL_DEPTH_CLEAR_VALUE</constant></term>
609 <listitem>
610 <para>
611 </para>
612 <para>
613 <parameter>params</parameter> returns one value,
614 the value that is used to clear the depth buffer.
615 Integer values,
616 if requested,
617 are linearly mapped from the internal floating-point representation such
618 that 1.0 returns the most positive representable integer value,
619 and
620 <inlineequation><mml:math>
621 <!-- eqn: -1.0: -->
622 <mml:mn>-1.0</mml:mn>
623 </mml:math></inlineequation>
624 returns the most negative representable integer
625 value. The initial value is 1.
626 See <citerefentry><refentrytitle>glClearDepth</refentrytitle></citerefentry>.
627 </para>
628 </listitem>
629 </varlistentry>
630 <varlistentry>
631 <term><constant>GL_DEPTH_FUNC</constant></term>
632 <listitem>
633 <para>
634 </para>
635 <para>
636 <parameter>params</parameter> returns one value,
637 the symbolic constant that indicates the depth comparison
638 function. The initial value is <constant>GL_LESS</constant>.
639 See <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry>.
640 </para>
641 </listitem>
642 </varlistentry>
643 <varlistentry>
644 <term><constant>GL_DEPTH_RANGE</constant></term>
645 <listitem>
646 <para>
647 </para>
648 <para>
649 <parameter>params</parameter> returns two values:
650 the near and far mapping limits for the depth buffer.
651 Integer values,
652 if requested,
653 are linearly mapped from the internal floating-point representation such
654 that 1.0 returns the most positive representable integer value,
655 and
656 <inlineequation><mml:math>
657 <!-- eqn: -1.0: -->
658 <mml:mn>-1.0</mml:mn>
659 </mml:math></inlineequation>
660 returns the most negative representable integer
661 value. The initial value is (0, 1).
662 See <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>.
663 </para>
664 </listitem>
665 </varlistentry>
666 <varlistentry>
667 <term><constant>GL_DEPTH_TEST</constant></term>
668 <listitem>
669 <para>
670 </para>
671 <para>
672 <parameter>params</parameter> returns a single boolean value indicating whether depth testing
673 of fragments is enabled. The initial value is <constant>GL_FALSE</constant>.
674 See <citerefentry><refentrytitle>glDepthFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDepthRange</refentrytitle></citerefentry>.
675 </para>
676 </listitem>
677 </varlistentry>
678 <varlistentry>
679 <term><constant>GL_DEPTH_WRITEMASK</constant></term>
680 <listitem>
681 <para>
682 </para>
683 <para>
684 <parameter>params</parameter> returns a single boolean value indicating if the depth buffer
685 is enabled for writing. The initial value is <constant>GL_TRUE</constant>.
686 See <citerefentry><refentrytitle>glDepthMask</refentrytitle></citerefentry>.
687 </para>
688 </listitem>
689 </varlistentry>
690 <varlistentry>
691 <term><constant>GL_DITHER</constant></term>
692 <listitem>
693 <para>
694 </para>
695 <para>
696 <parameter>params</parameter> returns a single boolean value indicating whether dithering of
697 fragment colors and indices is enabled. The initial value is <constant>GL_TRUE</constant>.
698 </para>
699 </listitem>
700 </varlistentry>
701 <varlistentry>
702 <term><constant>GL_DOUBLEBUFFER</constant></term>
703 <listitem>
704 <para>
705 </para>
706 <para>
707 <parameter>params</parameter> returns a single boolean value indicating whether double buffering
708 is supported.
709 </para>
710 </listitem>
711 </varlistentry>
712 <varlistentry>
713 <term><constant>GL_DRAW_BUFFER</constant></term>
714 <listitem>
715 <para>
716 </para>
717 <para>
718 <parameter>params</parameter> returns one value,
719 a symbolic constant indicating which buffers are being drawn to.
720 See <citerefentry><refentrytitle>glDrawBuffer</refentrytitle></citerefentry>. The initial value is <constant>GL_BACK</constant> if there
721 are back buffers, otherwise it is <constant>GL_FRONT</constant>.
722 </para>
723 </listitem>
724 </varlistentry>
725 <varlistentry>
726 <term><constant>GL_DRAW_BUFFER</constant><emphasis>i</emphasis></term>
727 <listitem>
728 <para>
729 </para>
730 <para>
731 <parameter>params</parameter> returns one value,
732 a symbolic constant indicating which buffers are being drawn to by the corresponding output color.
733 See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>.
734 The initial value of <constant>GL_DRAW_BUFFER0</constant> is <constant>GL_BACK</constant> if there
735 are back buffers, otherwise it is <constant>GL_FRONT</constant>. The
736 initial values of draw buffers for all other output colors is <constant>GL_NONE</constant>.
737 </para>
738 </listitem>
739 </varlistentry>
740 <varlistentry>
741 <term><constant>GL_DRAW_FRAMEBUFFER_BINDING</constant></term>
742 <listitem>
743 <para>
744 </para>
745 <para>
746 <parameter>params</parameter> returns one value,
747 the name of the framebuffer object currently bound to the <constant>GL_DRAW_FRAMEBUFFER</constant> target.
748 If the default framebuffer is bound, this value will be zero. The initial value is zero.
749 See <citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>.
750 </para>
751 </listitem>
752 </varlistentry>
753 <varlistentry>
754 <term><constant>GL_READ_FRAMEBUFFER_BINDING</constant></term>
755 <listitem>
756 <para>
757 </para>
758 <para>
759 <parameter>params</parameter> returns one value,
760 the name of the framebuffer object currently bound to the <constant>GL_READ_FRAMEBUFFER</constant> target.
761 If the default framebuffer is bound, this value will be zero. The initial value is zero.
762 See <citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>.
763 </para>
764 </listitem>
765 </varlistentry>
766 <varlistentry>
767 <term><constant>GL_ELEMENT_ARRAY_BUFFER_BINDING</constant></term>
768 <listitem>
769 <para>
770 </para>
771 <para>
772 <parameter>params</parameter> returns a single value, the name of the buffer object
773 currently bound to the target <constant>GL_ELEMENT_ARRAY_BUFFER</constant>. If no buffer object
774 is bound to this target, 0 is returned. The initial value is 0.
775 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
776 </para>
777 </listitem>
778 </varlistentry>
779 <varlistentry>
780 <term><constant>GL_FRAGMENT_SHADER_DERIVATIVE_HINT</constant></term>
781 <listitem>
782 <para>
783 </para>
784 <para>
785 <parameter>params</parameter> returns one value,
786 a symbolic constant indicating the mode of the derivative accuracy hint
787 for fragment shaders. The initial value
788 is <constant>GL_DONT_CARE</constant>.
789 See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
790 </para>
791 </listitem>
792 </varlistentry>
793 <varlistentry>
794 <term><constant>GL_IMPLEMENTATION_COLOR_READ_FORMAT</constant></term>
795 <listitem>
796 <para>
797 </para>
798 <para>
799 <parameter>params</parameter> returns a single GLenum value indicating
800 the implementation's preferred pixel data format.
801 See <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
802 </para>
803 </listitem>
804 </varlistentry>
805 <varlistentry>
806 <term><constant>GL_IMPLEMENTATION_COLOR_READ_TYPE</constant></term>
807 <listitem>
808 <para>
809 </para>
810 <para>
811 <parameter>params</parameter> returns a single GLenum value indicating
812 the implementation's preferred pixel data type.
813 See <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
814 </para>
815 </listitem>
816 </varlistentry>
817 <varlistentry>
818 <term><constant>GL_LINE_SMOOTH</constant></term>
819 <listitem>
820 <para>
821 </para>
822 <para>
823 <parameter>params</parameter> returns a single boolean value indicating whether antialiasing of
824 lines is enabled. The initial value is <constant>GL_FALSE</constant>.
825 See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
826 </para>
827 </listitem>
828 </varlistentry>
829 <varlistentry>
830 <term><constant>GL_LINE_SMOOTH_HINT</constant></term>
831 <listitem>
832 <para>
833 </para>
834 <para>
835 <parameter>params</parameter> returns one value,
836 a symbolic constant indicating the mode of the line antialiasing
837 hint. The initial value is <constant>GL_DONT_CARE</constant>.
838 See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
839 </para>
840 </listitem>
841 </varlistentry>
842 <varlistentry>
843 <term><constant>GL_LINE_WIDTH</constant></term>
844 <listitem>
845 <para>
846 </para>
847 <para>
848 <parameter>params</parameter> returns one value,
849 the line width as specified with <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>. The initial value is
850 1.
851 </para>
852 </listitem>
853 </varlistentry>
854 <varlistentry>
855 <term><constant>GL_LAYER_PROVOKING_VERTEX</constant></term>
856 <listitem>
857 <para>
858 </para>
859 <para>
860 <parameter>params</parameter> returns one value,
861 the implementation dependent specifc vertex of a primitive that is used to select the rendering layer.
862 If the value returned is equivalent to <constant>GL_PROVOKING_VERTEX</constant>, then the vertex
863 selection follows the convention specified by
864 <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
865 If the value returned is equivalent to <constant>GL_FIRST_VERTEX_CONVENTION</constant>, then the
866 selection is always taken from the first vertex in the primitive.
867 If the value returned is equivalent to <constant>GL_LAST_VERTEX_CONVENTION</constant>, then the
868 selection is always taken from the last vertex in the primitive.
869 If the value returned is equivalent to <constant>GL_UNDEFINED_VERTEX</constant>, then the
870 selection is not guaranteed to be taken from any specific vertex in the primitive.
871 </para>
872 </listitem>
873 </varlistentry>
874 <varlistentry>
875 <term><constant>GL_LOGIC_OP_MODE</constant></term>
876 <listitem>
877 <para>
878 </para>
879 <para>
880 <parameter>params</parameter> returns one value,
881 a symbolic constant indicating the selected logic operation
882 mode. The initial value is <constant>GL_COPY</constant>.
883 See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
884 </para>
885 </listitem>
886 </varlistentry>
887 <varlistentry>
888 <term><constant>GL_MAJOR_VERSION</constant></term>
889 <listitem>
890 <para>
891 </para>
892 <para>
893 <parameter>params</parameter> returns one value,
894 the major version number of the OpenGL API supported by the current context.
895 </para>
896 </listitem>
897 </varlistentry>
898 <varlistentry>
899 <term><constant>GL_MAX_3D_TEXTURE_SIZE</constant></term>
900 <listitem>
901 <para>
902 </para>
903 <para>
904 <parameter>params</parameter> returns one value,
905 a rough estimate of the largest 3D texture that the GL can handle.
906 The value must be at least 64.
907 Use <constant>GL_PROXY_TEXTURE_3D</constant> to determine if a texture is too large.
908 See <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
909 </para>
910 </listitem>
911 </varlistentry>
912 <varlistentry>
913 <term><constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant></term>
914 <listitem>
915 <para>
916 </para>
917 <para>
918 <parameter>params</parameter> returns one value.
919 The value indicates the maximum number of layers allowed in an array texture, and must be at least 256.
920 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
921 </para>
922 </listitem>
923 </varlistentry>
924 <varlistentry>
925 <term><constant>GL_MAX_CLIP_DISTANCES</constant></term>
926 <listitem>
927 <para>
928 </para>
929 <para>
930 <parameter>params</parameter> returns one value,
931 the maximum number of application-defined clipping distances. The value must be at least 8.
932 </para>
933 </listitem>
934 </varlistentry>
935 <varlistentry>
936 <term><constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant></term>
937 <listitem>
938 <para>
939 </para>
940 <para>
941 <parameter>params</parameter> returns one value,
942 the maximum number of samples in a color multisample texture.
943 </para>
944 </listitem>
945 </varlistentry>
946 <!-- ARB_shader_atomic_counters -->
947 <varlistentry>
948 <term><constant>GL_MAX_COMBINED_ATOMIC_COUNTERS</constant></term>
949 <listitem>
950 <para>
951 </para>
952 <para>
953 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to all active shaders.
954 </para>
955 </listitem>
956 </varlistentry>
957 <!-- // ARB_shader_atomic_counters -->
958 <varlistentry>
959 <term><constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
960 <listitem>
961 <para>
962 </para>
963 <para>
964 <parameter>params</parameter> returns one value,
965 the number of words for fragment shader uniform variables in all uniform
966 blocks (including default). The value must be at least 1.
967 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
968 </para>
969 </listitem>
970 </varlistentry>
971 <varlistentry>
972 <term><constant>GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
973 <listitem>
974 <para>
975 </para>
976 <para>
977 <parameter>params</parameter> returns one value,
978 the number of words for geometry shader uniform variables in all uniform
979 blocks (including default). The value must be at least 1.
980 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
981 </para>
982 </listitem>
983 </varlistentry>
984 <varlistentry>
985 <term><constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant></term>
986 <listitem>
987 <para>
988 </para>
989 <para>
990 <parameter>params</parameter> returns one value, the maximum supported texture image units that
991 can be used to access texture maps from the vertex shader and the fragment processor combined.
992 If both the vertex shader and the fragment processing stage access the same texture image
993 unit, then that counts as using two texture image units against this limit.
994 The value must be at least 48.
995 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
996 </para>
997 </listitem>
998 </varlistentry>
999 <varlistentry>
1000 <term><constant>GL_MAX_COMBINED_UNIFORM_BLOCKS</constant></term>
1001 <listitem>
1002 <para>
1003 </para>
1004 <para>
1005 <parameter>params</parameter> returns one value,
1006 the maximum number of uniform blocks per program. The value must be at least 36.
1007 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1008 </para>
1009 </listitem>
1010 </varlistentry>
1011 <varlistentry>
1012 <term><constant>GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS</constant></term>
1013 <listitem>
1014 <para>
1015 </para>
1016 <para>
1017 <parameter>params</parameter> returns one value,
1018 the number of words for vertex shader uniform variables in all uniform
1019 blocks (including default). The value must be at least 1.
1020 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1021 </para>
1022 </listitem>
1023 </varlistentry>
1024 <varlistentry>
1025 <term><constant>GL_MAX_CUBE_MAP_TEXTURE_SIZE</constant></term>
1026 <listitem>
1027 <para>
1028 </para>
1029 <para>
1030 <parameter>params</parameter> returns one value.
1031 The value gives a rough estimate of the largest cube-map texture that
1032 the GL can handle. The value must be at least 1024.
1033 Use <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>
1034 to determine if a texture is too large.
1035 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1036 </para>
1037 </listitem>
1038 </varlistentry>
1039 <varlistentry>
1040 <term><constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant></term>
1041 <listitem>
1042 <para>
1043 </para>
1044 <para>
1045 <parameter>params</parameter> returns one value,
1046 the maximum number of samples in a multisample depth or depth-stencil texture.
1047 </para>
1048 </listitem>
1049 </varlistentry>
1050 <varlistentry>
1051 <term><constant>GL_MAX_DRAW_BUFFERS</constant></term>
1052 <listitem>
1053 <para>
1054 </para>
1055 <para>
1056 <parameter>params</parameter> returns one value, the maximum number
1057 of simultaneous outputs that may be written in a fragment shader.
1058 The value must be at least 8.
1059 See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>.
1060 </para>
1061 </listitem>
1062 </varlistentry>
1063 <varlistentry>
1064 <term><constant>GL_MAX_DUAL_SOURCE_DRAW_BUFFERS</constant></term>
1065 <listitem>
1066 <para>
1067 </para>
1068 <para>
1069 <parameter>params</parameter> returns one value, the maximum number
1070 of active draw buffers when using dual-source blending. The value must be at least 1.
1071 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and
1072 <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
1073 </para>
1074 </listitem>
1075 </varlistentry>
1076 <varlistentry>
1077 <term><constant>GL_MAX_ELEMENTS_INDICES</constant></term>
1078 <listitem>
1079 <para>
1080 </para>
1081 <para>
1082 <parameter>params</parameter> returns one value,
1083 the recommended maximum number of vertex array indices.
1084 See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
1085 </para>
1086 </listitem>
1087 </varlistentry>
1088 <varlistentry>
1089 <term><constant>GL_MAX_ELEMENTS_VERTICES</constant></term>
1090 <listitem>
1091 <para>
1092 </para>
1093 <para>
1094 <parameter>params</parameter> returns one value,
1095 the recommended maximum number of vertex array vertices.
1096 See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
1097 </para>
1098 </listitem>
1099 </varlistentry>
1100 <!-- ARB_shader_atomic_counters -->
1101 <varlistentry>
1102 <term><constant>GL_MAX_FRAGMENT_ATOMIC_COUNTERS</constant></term>
1103 <listitem>
1104 <para>
1105 </para>
1106 <para>
1107 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to fragment shaders.
1108 </para>
1109 </listitem>
1110 </varlistentry>
1111 <!-- // ARB_shader_atomic_counters -->
1112 <varlistentry>
1113 <term><constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant></term>
1114 <listitem>
1115 <para>
1116 </para>
1117 <para>
1118 <parameter>params</parameter> returns one value,
1119 the maximum number of active shader storage blocks that may be accessed by a fragment shader.
1120 </para>
1121 </listitem>
1122 </varlistentry>
1123 <varlistentry>
1124 <term><constant>GL_MAX_FRAGMENT_INPUT_COMPONENTS</constant></term>
1125 <listitem>
1126 <para>
1127 </para>
1128 <para>
1129 <parameter>params</parameter> returns one value,
1130 the maximum number of components of the inputs read by the fragment shader, which must be at least 128.
1131 </para>
1132 </listitem>
1133 </varlistentry>
1134 <varlistentry>
1135 <term><constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
1136 <listitem>
1137 <para>
1138 </para>
1139 <para>
1140 <parameter>params</parameter> returns one value,
1141 the maximum number of individual floating-point, integer, or boolean values that can be held
1142 in uniform variable storage for a fragment shader. The value must be at least 1024.
1143 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1144 </para>
1145 </listitem>
1146 </varlistentry>
1147 <varlistentry>
1148 <term><constant>GL_MAX_FRAGMENT_UNIFORM_VECTORS</constant></term>
1149 <listitem>
1150 <para>
1151 </para>
1152 <para>
1153 <parameter>params</parameter> returns one value,
1154 the maximum number of individual 4-vectors of floating-point, integer, or boolean values
1155 that can be held
1156 in uniform variable storage for a fragment shader. The value is equal to the value of
1157 <constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant> divided by 4 and must be at least 256.
1158 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1159 </para>
1160 </listitem>
1161 </varlistentry>
1162 <varlistentry>
1163 <term><constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant></term>
1164 <listitem>
1165 <para>
1166 </para>
1167 <para>
1168 <parameter>params</parameter> returns one value,
1169 the maximum number of uniform blocks per fragment shader. The value must be at least 12.
1170 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1171 </para>
1172 </listitem>
1173 </varlistentry>
1174 <varlistentry>
1175 <term><constant>GL_MAX_FRAMEBUFFER_WIDTH</constant></term>
1176 <listitem>
1177 <para>
1178 </para>
1179 <para>
1180 <parameter>params</parameter> returns one value,
1181 the maximum width for a framebuffer that has no attachments, which must be at least 16384.
1182 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1183 </para>
1184 </listitem>
1185 </varlistentry>
1186 <varlistentry>
1187 <term><constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant></term>
1188 <listitem>
1189 <para>
1190 </para>
1191 <para>
1192 <parameter>params</parameter> returns one value,
1193 the maximum height for a framebuffer that has no attachments, which must be at least 16384.
1194 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1195 </para>
1196 </listitem>
1197 </varlistentry>
1198 <varlistentry>
1199 <term><constant>GL_MAX_FRAMEBUFFER_LAYERS</constant></term>
1200 <listitem>
1201 <para>
1202 </para>
1203 <para>
1204 <parameter>params</parameter> returns one value,
1205 the maximum number of layers for a framebuffer that has no attachments, which must be at least 2048.
1206 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1207 </para>
1208 </listitem>
1209 </varlistentry>
1210 <varlistentry>
1211 <term><constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant></term>
1212 <listitem>
1213 <para>
1214 </para>
1215 <para>
1216 <parameter>params</parameter> returns one value,
1217 the maximum samples in a framebuffer that has no attachments, which must be at least 4.
1218 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1219 </para>
1220 </listitem>
1221 </varlistentry>
1222 <!-- ARB_shader_atomic_counter -->
1223 <varlistentry>
1224 <term><constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant></term>
1225 <listitem>
1226 <para>
1227 </para>
1228 <para>
1229 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to geometry shaders.
1230 </para>
1231 </listitem>
1232 </varlistentry>
1233 <!-- // ARB_shader_atomic_counter -->
1234 <varlistentry>
1235 <term><constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant></term>
1236 <listitem>
1237 <para>
1238 </para>
1239 <para>
1240 <parameter>params</parameter> returns one value,
1241 the maximum number of active shader storage blocks that may be accessed by a geometry shader.
1242 </para>
1243 </listitem>
1244 </varlistentry>
1245 <varlistentry>
1246 <term><constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant></term>
1247 <listitem>
1248 <para>
1249 </para>
1250 <para>
1251 <parameter>params</parameter> returns one value,
1252 the maximum number of components of inputs read by a geometry shader, which must be at least 64.
1253 </para>
1254 </listitem>
1255 </varlistentry>
1256 <varlistentry>
1257 <term><constant>GL_MAX_GEOMETRY_OUTPUT_COMPONENTS</constant></term>
1258 <listitem>
1259 <para>
1260 </para>
1261 <para>
1262 <parameter>params</parameter> returns one value,
1263 the maximum number of components of outputs written by a geometry shader, which must be at least 128.
1264 </para>
1265 </listitem>
1266 </varlistentry>
1267 <varlistentry>
1268 <term><constant>GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS</constant></term>
1269 <listitem>
1270 <para>
1271 </para>
1272 <para>
1273 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1274 can be used to access texture maps from the geometry shader. The value must be at least 16.
1275 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1276 </para>
1277 </listitem>
1278 </varlistentry>
1279 <varlistentry>
1280 <term><constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant></term>
1281 <listitem>
1282 <para>
1283 </para>
1284 <para>
1285 <parameter>params</parameter> returns one value,
1286 the maximum number of uniform blocks per geometry shader. The value must be at least 12.
1287 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1288 </para>
1289 </listitem>
1290 </varlistentry>
1291 <varlistentry>
1292 <term><constant>GL_MAX_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
1293 <listitem>
1294 <para>
1295 </para>
1296 <para>
1297 <parameter>params</parameter> returns one value,
1298 the maximum number of individual floating-point, integer, or boolean values that can be held
1299 in uniform variable storage for a geometry shader. The value must be at least 1024.
1300 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1301 </para>
1302 </listitem>
1303 </varlistentry>
1304 <varlistentry>
1305 <term><constant>GL_MAX_INTEGER_SAMPLES</constant></term>
1306 <listitem>
1307 <para>
1308 </para>
1309 <para>
1310 <parameter>params</parameter> returns one value,
1311 the maximum number of samples supported in integer format multisample buffers.
1312 </para>
1313 </listitem>
1314 </varlistentry>
1315 <varlistentry>
1316 <term><constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant></term>
1317 <listitem>
1318 <para>
1319 </para>
1320 <para>
1321 <parameter>params</parameter> returns one value,
1322 the minimum alignment in basic machine units of pointers returned from<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>
1323 and <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry>. This value must be a power of two and must
1324 be at least 64.
1325 </para>
1326 </listitem>
1327 </varlistentry>
1328 <varlistentry>
1329 <term><constant>GL_MAX_LABEL_LENGTH</constant></term>
1330 <listitem>
1331 <para>
1332 </para>
1333 <para>
1334 <parameter>params</parameter> returns one value,
1335 the maximum length of a label that may be assigned to an object.
1336 See <citerefentry><refentrytitle>glObjectLabel</refentrytitle></citerefentry> and
1337 <citerefentry><refentrytitle>glObjectPtrLabel</refentrytitle></citerefentry>.
1338 </para>
1339 </listitem>
1340 </varlistentry>
1341 <varlistentry>
1342 <term><constant>GL_MAX_PROGRAM_TEXEL_OFFSET</constant></term>
1343 <listitem>
1344 <para>
1345 </para>
1346 <para>
1347 <parameter>params</parameter> returns one value,
1348 the maximum texel offset allowed in a texture lookup, which must be at least 7.
1349 </para>
1350 </listitem>
1351 </varlistentry>
1352 <varlistentry>
1353 <term><constant>GL_MIN_PROGRAM_TEXEL_OFFSET</constant></term>
1354 <listitem>
1355 <para>
1356 </para>
1357 <para>
1358 <parameter>params</parameter> returns one value,
1359 the minimum texel offset allowed in a texture lookup, which must be at most -8.
1360 </para>
1361 </listitem>
1362 </varlistentry>
1363 <varlistentry>
1364 <term><constant>GL_MAX_RECTANGLE_TEXTURE_SIZE</constant></term>
1365 <listitem>
1366 <para>
1367 </para>
1368 <para>
1369 <parameter>params</parameter> returns one value.
1370 The value gives a rough estimate of the largest rectangular texture that
1371 the GL can handle. The value must be at least 1024.
1372 Use <constant>GL_PROXY_TEXTURE_RECTANGLE</constant>
1373 to determine if a texture is too large.
1374 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1375 </para>
1376 </listitem>
1377 </varlistentry>
1378 <varlistentry>
1379 <term><constant>GL_MAX_RENDERBUFFER_SIZE</constant></term>
1380 <listitem>
1381 <para>
1382 </para>
1383 <para>
1384 <parameter>params</parameter> returns one value.
1385 The value indicates the maximum supported size for renderbuffers.
1386 See <citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>.
1387 </para>
1388 </listitem>
1389 </varlistentry>
1390 <varlistentry>
1391 <term><constant>GL_MAX_SAMPLE_MASK_WORDS</constant></term>
1392 <listitem>
1393 <para>
1394 </para>
1395 <para>
1396 <parameter>params</parameter> returns one value,
1397 the maximum number of sample mask words.
1398 </para>
1399 </listitem>
1400 </varlistentry>
1401 <varlistentry>
1402 <term><constant>GL_MAX_SERVER_WAIT_TIMEOUT</constant></term>
1403 <listitem>
1404 <para>
1405 </para>
1406 <para>
1407 <parameter>params</parameter> returns one value,
1408 the maximum <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry> timeout interval.
1409 </para>
1410 </listitem>
1411 </varlistentry>
1412 <varlistentry>
1413 <term><constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant></term>
1414 <listitem>
1415 <para>
1416 </para>
1417 <para>
1418 <parameter>params</parameter> returns one value,
1419 the maximum number of shader storage buffer binding points on the context, which must be at least 8.
1420 </para>
1421 </listitem>
1422 </varlistentry>
1423 <!-- ARB_shader_atomic_counters -->
1424 <varlistentry>
1425 <term><constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant></term>
1426 <listitem>
1427 <para>
1428 </para>
1429 <para>
1430 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation control shaders.
1431 </para>
1432 </listitem>
1433 </varlistentry>
1434 <varlistentry>
1435 <term><constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant></term>
1436 <listitem>
1437 <para>
1438 </para>
1439 <para>
1440 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation evaluation shaders.
1441 </para>
1442 </listitem>
1443 </varlistentry>
1444 <varlistentry>
1445 <term><constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant></term>
1446 <listitem>
1447 <para>
1448 </para>
1449 <para>
1450 <parameter>params</parameter> returns one value,
1451 the maximum number of active shader storage blocks that may be accessed by a tessellation control shader.
1452 </para>
1453 </listitem>
1454 </varlistentry>
1455 <varlistentry>
1456 <term><constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant></term>
1457 <listitem>
1458 <para>
1459 </para>
1460 <para>
1461 <parameter>params</parameter> returns one value,
1462 the maximum number of active shader storage blocks that may be accessed by a tessellation evaluation shader.
1463 </para>
1464 </listitem>
1465 </varlistentry>
1466 <!-- // ARB_shader_atomic_counters -->
1467 <varlistentry>
1468 <term><constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant></term>
1469 <listitem>
1470 <para>
1471 </para>
1472 <para>
1473 <parameter>params</parameter> returns one value.
1474 The value gives the maximum number of texels allowed in the texel array of a texture buffer object.
1475 Value must be at least 65536.
1476 </para>
1477 </listitem>
1478 </varlistentry>
1479 <varlistentry>
1480 <term><constant>GL_MAX_TEXTURE_IMAGE_UNITS</constant></term>
1481 <listitem>
1482 <para>
1483 </para>
1484 <para>
1485 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1486 can be used to access texture maps from the fragment shader.
1487 The value must be at least 16.
1488 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1489 </para>
1490 </listitem>
1491 </varlistentry>
1492 <varlistentry>
1493 <term><constant>GL_MAX_TEXTURE_LOD_BIAS</constant></term>
1494 <listitem>
1495 <para>
1496 </para>
1497 <para>
1498 <parameter>params</parameter> returns one value,
1499 the maximum, absolute value of the texture level-of-detail bias. The
1500 value must be at least 2.0.
1501 </para>
1502 </listitem>
1503 </varlistentry>
1504 <varlistentry>
1505 <term><constant>GL_MAX_TEXTURE_SIZE</constant></term>
1506 <listitem>
1507 <para>
1508 </para>
1509 <para>
1510 <parameter>params</parameter> returns one value.
1511 The value gives a rough estimate of the largest texture that
1512 the GL can handle. The value must be at least 1024.
1513 Use a proxy texture target such as <constant>GL_PROXY_TEXTURE_1D</constant> or <constant>GL_PROXY_TEXTURE_2D</constant>
1514 to determine if a texture is too large.
1515 See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1516 </para>
1517 </listitem>
1518 </varlistentry>
1519 <varlistentry>
1520 <term><constant>GL_MAX_UNIFORM_BUFFER_BINDINGS</constant></term>
1521 <listitem>
1522 <para>
1523 </para>
1524 <para>
1525 <parameter>params</parameter> returns one value,
1526 the maximum number of uniform buffer binding points on the context, which must be at least 36.
1527 </para>
1528 </listitem>
1529 </varlistentry>
1530 <varlistentry>
1531 <term><constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant></term>
1532 <listitem>
1533 <para>
1534 </para>
1535 <para>
1536 <parameter>params</parameter> returns one value,
1537 the maximum size in basic machine units of a uniform block, which must be at least 16384.
1538 </para>
1539 </listitem>
1540 </varlistentry>
1541 <varlistentry>
1542 <term><constant>GL_MAX_UNIFORM_LOCATIONS</constant></term>
1543 <listitem>
1544 <para>
1545 </para>
1546 <para>
1547 <parameter>params</parameter> returns one value,
1548 the maximum number of explicitly assignable uniform locations, which must be at least 1024.
1549 </para>
1550 </listitem>
1551 </varlistentry>
1552 <varlistentry>
1553 <term><constant>GL_MAX_VARYING_COMPONENTS</constant></term>
1554 <listitem>
1555 <para>
1556 </para>
1557 <para>
1558 <parameter>params</parameter> returns one value,
1559 the number components for varying variables, which must be at least 60.
1560 </para>
1561 </listitem>
1562 </varlistentry>
1563 <varlistentry>
1564 <term><constant>GL_MAX_VARYING_VECTORS</constant></term>
1565 <listitem>
1566 <para>
1567 </para>
1568 <para>
1569 <parameter>params</parameter> returns one value,
1570 the number 4-vectors for varying variables, which is equal to the value of
1571 <constant>GL_MAX_VARYING_COMPONENTS</constant> and must be at least 15.
1572 </para>
1573 </listitem>
1574 </varlistentry>
1575 <varlistentry>
1576 <term><constant>GL_MAX_VARYING_FLOATS</constant></term>
1577 <listitem>
1578 <para>
1579 </para>
1580 <para>
1581 <parameter>params</parameter> returns one value,
1582 the maximum number of interpolators available for processing varying variables used by
1583 vertex and fragment shaders. This value represents the number of individual floating-point
1584 values that can be interpolated; varying variables declared as vectors, matrices, and arrays
1585 will all consume multiple interpolators. The value must be at least 32.
1586 </para>
1587 </listitem>
1588 </varlistentry>
1589 <!-- ARB_shader_atomic_counters -->
1590 <varlistentry>
1591 <term><constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant></term>
1592 <listitem>
1593 <para>
1594 </para>
1595 <para>
1596 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to vertex shaders.
1597 </para>
1598 </listitem>
1599 </varlistentry>
1600 <!-- /ARB_shader_atomic_counters -->
1601 <varlistentry>
1602 <term><constant>GL_MAX_VERTEX_ATTRIBS</constant></term>
1603 <listitem>
1604 <para>
1605 </para>
1606 <para>
1607 <parameter>params</parameter> returns one value,
1608 the maximum number of 4-component generic vertex attributes accessible to a vertex shader.
1609 The value must be at least 16.
1610 See <citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>.
1611 </para>
1612 </listitem>
1613 </varlistentry>
1614 <varlistentry>
1615 <term><constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant></term>
1616 <listitem>
1617 <para>
1618 </para>
1619 <para>
1620 <parameter>params</parameter> returns one value,
1621 the maximum number of active shader storage blocks that may be accessed by a vertex shader.
1622 </para>
1623 </listitem>
1624 </varlistentry>
1625 <varlistentry>
1626 <term><constant>GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS</constant></term>
1627 <listitem>
1628 <para>
1629 </para>
1630 <para>
1631 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1632 can be used to access texture maps from the vertex shader. The value may be at least 16.
1633 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1634 </para>
1635 </listitem>
1636 </varlistentry>
1637 <varlistentry>
1638 <term><constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant></term>
1639 <listitem>
1640 <para>
1641 </para>
1642 <para>
1643 <parameter>params</parameter> returns one value,
1644 the maximum number of individual floating-point, integer, or boolean values that can be held
1645 in uniform variable storage for a vertex shader. The value must be at least 1024.
1646 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1647 </para>
1648 </listitem>
1649 </varlistentry>
1650 <varlistentry>
1651 <term><constant>GL_MAX_VERTEX_UNIFORM_VECTORS</constant></term>
1652 <listitem>
1653 <para>
1654 </para>
1655 <para>
1656 <parameter>params</parameter> returns one value,
1657 the maximum number of 4-vectors that may be held in uniform variable storage for the vertex
1658 shader. The value of <constant>GL_MAX_VERTEX_UNIFORM_VECTORS</constant> is equal to the
1659 value of <constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant> and must be at least
1660 256.
1661 </para>
1662 </listitem>
1663 </varlistentry>
1664 <varlistentry>
1665 <term><constant>GL_MAX_VERTEX_OUTPUT_COMPONENTS</constant></term>
1666 <listitem>
1667 <para>
1668 </para>
1669 <para>
1670 <parameter>params</parameter> returns one value,
1671 the maximum number of components of output written by a vertex shader, which must be at least 64.
1672 </para>
1673 </listitem>
1674 </varlistentry>
1675 <varlistentry>
1676 <term><constant>GL_MAX_VERTEX_UNIFORM_BLOCKS</constant></term>
1677 <listitem>
1678 <para>
1679 </para>
1680 <para>
1681 <parameter>params</parameter> returns one value,
1682 the maximum number of uniform blocks per vertex shader. The value must be at least 12.
1683 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1684 </para>
1685 </listitem>
1686 </varlistentry>
1687 <varlistentry>
1688 <term><constant>GL_MAX_VIEWPORT_DIMS</constant></term>
1689 <listitem>
1690 <para>
1691 </para>
1692 <para>
1693 <parameter>params</parameter> returns two values:
1694 the maximum supported width and height of the viewport.
1695 These must be at least as large as the visible dimensions of the display
1696 being rendered to.
1697 See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
1698 </para>
1699 </listitem>
1700 </varlistentry>
1701 <varlistentry>
1702 <term><constant>GL_MAX_VIEWPORTS</constant></term>
1703 <listitem>
1704 <para>
1705 </para>
1706 <para>
1707 <parameter>params</parameter> returns one value, the maximum number
1708 of simultaneous viewports that are supported.
1709 The value must be at least 16.
1710 See <citerefentry><refentrytitle>glViewportIndexed</refentrytitle></citerefentry>.
1711 </para>
1712 </listitem>
1713 </varlistentry>
1714 <varlistentry>
1715 <term><constant>GL_MINOR_VERSION</constant></term>
1716 <listitem>
1717 <para>
1718 </para>
1719 <para>
1720 <parameter>params</parameter> returns one value,
1721 the minor version number of the OpenGL API supported by the current context.
1722 </para>
1723 </listitem>
1724 </varlistentry>
1725 <varlistentry>
1726 <term><constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant></term>
1727 <listitem>
1728 <para>
1729 </para>
1730 <para>
1731 <parameter>params</parameter> returns a single integer value indicating the number of available
1732 compressed texture formats. The minimum value is 4.
1733 See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
1734 </para>
1735 </listitem>
1736 </varlistentry>
1737 <varlistentry>
1738 <term><constant>GL_NUM_EXTENSIONS</constant></term>
1739 <listitem>
1740 <para>
1741 </para>
1742 <para>
1743 <parameter>params</parameter> returns one value,
1744 the number of extensions supported by the GL implementation for the current context.
1745 See <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>.
1746 </para>
1747 </listitem>
1748 </varlistentry>
1749 <varlistentry>
1750 <term><constant>GL_NUM_PROGRAM_BINARY_FORMATS</constant></term>
1751 <listitem>
1752 <para>
1753 </para>
1754 <para>
1755 <parameter>params</parameter> returns one value,
1756 the number of program binary formats supported by the implementation.
1757 </para>
1758 </listitem>
1759 </varlistentry>
1760 <varlistentry>
1761 <term><constant>GL_NUM_SHADER_BINARY_FORMATS</constant></term>
1762 <listitem>
1763 <para>
1764 </para>
1765 <para>
1766 <parameter>params</parameter> returns one value,
1767 the number of binary shader formats supported by the implementation. If this value is
1768 greater than zero, then the implementation supports loading binary shaders. If it is
1769 zero, then the loading of binary shaders by the implementation is not supported.
1770 </para>
1771 </listitem>
1772 </varlistentry>
1773 <varlistentry>
1774 <term><constant>GL_PACK_ALIGNMENT</constant></term>
1775 <listitem>
1776 <para>
1777 </para>
1778 <para>
1779 <parameter>params</parameter> returns one value,
1780 the byte alignment used for writing pixel data to memory. The initial
1781 value is 4.
1782 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1783 </para>
1784 </listitem>
1785 </varlistentry>
1786 <varlistentry>
1787 <term><constant>GL_PACK_IMAGE_HEIGHT</constant></term>
1788 <listitem>
1789 <para>
1790 </para>
1791 <para>
1792 <parameter>params</parameter> returns one value,
1793 the image height used for writing pixel data to memory. The initial
1794 value is 0.
1795 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1796 </para>
1797 </listitem>
1798 </varlistentry>
1799 <varlistentry>
1800 <term><constant>GL_PACK_LSB_FIRST</constant></term>
1801 <listitem>
1802 <para>
1803 </para>
1804 <para>
1805 <parameter>params</parameter> returns a single boolean value indicating whether single-bit
1806 pixels being written to memory are written first to the least significant
1807 bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
1808 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1809 </para>
1810 </listitem>
1811 </varlistentry>
1812 <varlistentry>
1813 <term><constant>GL_PACK_ROW_LENGTH</constant></term>
1814 <listitem>
1815 <para>
1816 </para>
1817 <para>
1818 <parameter>params</parameter> returns one value,
1819 the row length used for writing pixel data to memory. The initial value is
1820 0.
1821 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1822 </para>
1823 </listitem>
1824 </varlistentry>
1825 <varlistentry>
1826 <term><constant>GL_PACK_SKIP_IMAGES</constant></term>
1827 <listitem>
1828 <para>
1829 </para>
1830 <para>
1831 <parameter>params</parameter> returns one value,
1832 the number of pixel images skipped before the first pixel is written
1833 into memory. The initial value is 0.
1834 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1835 </para>
1836 </listitem>
1837 </varlistentry>
1838 <varlistentry>
1839 <term><constant>GL_PACK_SKIP_PIXELS</constant></term>
1840 <listitem>
1841 <para>
1842 </para>
1843 <para>
1844 <parameter>params</parameter> returns one value,
1845 the number of pixel locations skipped before the first pixel is written
1846 into memory. The initial value is 0.
1847 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1848 </para>
1849 </listitem>
1850 </varlistentry>
1851 <varlistentry>
1852 <term><constant>GL_PACK_SKIP_ROWS</constant></term>
1853 <listitem>
1854 <para>
1855 </para>
1856 <para>
1857 <parameter>params</parameter> returns one value,
1858 the number of rows of pixel locations skipped before the first pixel is written
1859 into memory. The initial value is 0.
1860 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1861 </para>
1862 </listitem>
1863 </varlistentry>
1864 <varlistentry>
1865 <term><constant>GL_PACK_SWAP_BYTES</constant></term>
1866 <listitem>
1867 <para>
1868 </para>
1869 <para>
1870 <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
1871 two-byte and four-byte pixel indices and components are swapped before being
1872 written to memory. The initial value is <constant>GL_FALSE</constant>.
1873 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1874 </para>
1875 </listitem>
1876 </varlistentry>
1877 <varlistentry>
1878 <term><constant>GL_PIXEL_PACK_BUFFER_BINDING</constant></term>
1879 <listitem>
1880 <para>
1881 </para>
1882 <para>
1883 <parameter>params</parameter> returns a single value, the name of the buffer object
1884 currently bound to the target <constant>GL_PIXEL_PACK_BUFFER</constant>. If no buffer object
1885 is bound to this target, 0 is returned. The initial value is 0.
1886 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
1887 </para>
1888 </listitem>
1889 </varlistentry>
1890 <varlistentry>
1891 <term><constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant></term>
1892 <listitem>
1893 <para>
1894 </para>
1895 <para>
1896 <parameter>params</parameter> returns a single value, the name of the buffer object
1897 currently bound to the target <constant>GL_PIXEL_UNPACK_BUFFER</constant>. If no buffer object
1898 is bound to this target, 0 is returned. The initial value is 0.
1899 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
1900 </para>
1901 </listitem>
1902 </varlistentry>
1903 <varlistentry>
1904 <term><constant>GL_POINT_FADE_THRESHOLD_SIZE</constant></term>
1905 <listitem>
1906 <para>
1907 </para>
1908 <para>
1909 <parameter>params</parameter> returns one value,
1910 the point size threshold for determining the point size.
1911 See <citerefentry><refentrytitle>glPointParameter</refentrytitle></citerefentry>.
1912 </para>
1913 </listitem>
1914 </varlistentry>
1915 <varlistentry>
1916 <term><constant>GL_PRIMITIVE_RESTART_INDEX</constant></term>
1917 <listitem>
1918 <para>
1919 </para>
1920 <para>
1921 <parameter>params</parameter> returns one value,
1922 the current primitive restart index. The initial value is 0.
1923 See <citerefentry><refentrytitle>glPrimitiveRestartIndex</refentrytitle></citerefentry>.
1924 </para>
1925 </listitem>
1926 </varlistentry>
1927 <varlistentry>
1928 <term><constant>GL_PROGRAM_BINARY_FORMATS</constant></term>
1929 <listitem>
1930 <para>
1931 </para>
1932 <para>
1933 <parameter>params</parameter> an array of <constant>GL_NUM_PROGRAM_BINARY_FORMATS</constant> values,
1934 indicating the proram binary formats supported by the implementation.
1935 </para>
1936 </listitem>
1937 </varlistentry>
1938 <varlistentry>
1939 <term><constant>GL_PROGRAM_PIPELINE_BINDING</constant></term>
1940 <listitem>
1941 <para>
1942 </para>
1943 <para>
1944 <parameter>params</parameter> a single value, the name of the currently bound program pipeline
1945 object, or zero if no program pipeline object is bound.
1946 See <citerefentry><refentrytitle>glBindProgramPipeline</refentrytitle></citerefentry>.
1947 </para>
1948 </listitem>
1949 </varlistentry>
1950 <varlistentry>
1951 <term><constant>GL_PROGRAM_POINT_SIZE</constant></term>
1952 <listitem>
1953 <para>
1954 </para>
1955 <para>
1956 <parameter>params</parameter> returns a single boolean value indicating whether vertex
1957 program point size mode is enabled. If enabled, then the
1958 point size is taken from the shader built-in <code>gl_PointSize</code>. If disabled,
1959 then the point size is taken from the point state as specified
1960 by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
1961 The initial value is <constant>GL_FALSE</constant>.
1962 </para>
1963 </listitem>
1964 </varlistentry>
1965 <varlistentry>
1966 <term><constant>GL_PROVOKING_VERTEX</constant></term>
1967 <listitem>
1968 <para>
1969 </para>
1970 <para>
1971 <parameter>params</parameter> returns one value,
1972 the currently selected provoking vertex convention. The initial value is <constant>GL_LAST_VERTEX_CONVENTION</constant>.
1973 See <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
1974 </para>
1975 </listitem>
1976 </varlistentry>
1977 <varlistentry>
1978 <term><constant>GL_POINT_SIZE</constant></term>
1979 <listitem>
1980 <para>
1981 </para>
1982 <para>
1983 <parameter>params</parameter> returns one value,
1984 the point size as specified by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
1985 The initial value is 1.
1986 </para>
1987 </listitem>
1988 </varlistentry>
1989 <varlistentry>
1990 <term><constant>GL_POINT_SIZE_GRANULARITY</constant></term>
1991 <listitem>
1992 <para>
1993 </para>
1994 <para>
1995 <parameter>params</parameter> returns one value,
1996 the size difference between adjacent supported sizes for antialiased points.
1997 See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
1998 </para>
1999 </listitem>
2000 </varlistentry>
2001 <varlistentry>
2002 <term><constant>GL_POINT_SIZE_RANGE</constant></term>
2003 <listitem>
2004 <para>
2005 </para>
2006 <para>
2007 <parameter>params</parameter> returns two values:
2008 the smallest and largest supported sizes for antialiased
2009 points. The smallest size must be at most 1, and the largest size must
2010 be at least 1.
2011 See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
2012 </para>
2013 </listitem>
2014 </varlistentry>
2015 <varlistentry>
2016 <term><constant>GL_POLYGON_OFFSET_FACTOR</constant></term>
2017 <listitem>
2018 <para>
2019 </para>
2020 <para>
2021 <parameter>params</parameter> returns one value,
2022 the scaling factor used to determine the variable offset that is added
2023 to the depth value of each fragment generated when a polygon is
2024 rasterized. The initial value is 0.
2025 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2026 </para>
2027 </listitem>
2028 </varlistentry>
2029 <varlistentry>
2030 <term><constant>GL_POLYGON_OFFSET_UNITS</constant></term>
2031 <listitem>
2032 <para>
2033 </para>
2034 <para>
2035 <parameter>params</parameter> returns one value.
2036 This value is multiplied by an implementation-specific value and then
2037 added to the depth value of each fragment
2038 generated when a polygon is rasterized. The initial value is 0.
2039 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2040 </para>
2041 </listitem>
2042 </varlistentry>
2043 <varlistentry>
2044 <term><constant>GL_POLYGON_OFFSET_FILL</constant></term>
2045 <listitem>
2046 <para>
2047 </para>
2048 <para>
2049 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2050 is enabled for polygons in fill mode. The initial value is <constant>GL_FALSE</constant>.
2051 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2052 </para>
2053 </listitem>
2054 </varlistentry>
2055 <varlistentry>
2056 <term><constant>GL_POLYGON_OFFSET_LINE</constant></term>
2057 <listitem>
2058 <para>
2059 </para>
2060 <para>
2061 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2062 is enabled for polygons in line mode. The initial value is <constant>GL_FALSE</constant>.
2063 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2064 </para>
2065 </listitem>
2066 </varlistentry>
2067 <varlistentry>
2068 <term><constant>GL_POLYGON_OFFSET_POINT</constant></term>
2069 <listitem>
2070 <para>
2071 </para>
2072 <para>
2073 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2074 is enabled for polygons in point mode. The initial value is <constant>GL_FALSE</constant>.
2075 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2076 </para>
2077 </listitem>
2078 </varlistentry>
2079 <varlistentry>
2080 <term><constant>GL_POLYGON_SMOOTH</constant></term>
2081 <listitem>
2082 <para>
2083 </para>
2084 <para>
2085 <parameter>params</parameter> returns a single boolean value indicating whether antialiasing of
2086 polygons is enabled. The initial value is <constant>GL_FALSE</constant>.
2087 See <citerefentry><refentrytitle>glPolygonMode</refentrytitle></citerefentry>.
2088 </para>
2089 </listitem>
2090 </varlistentry>
2091 <varlistentry>
2092 <term><constant>GL_POLYGON_SMOOTH_HINT</constant></term>
2093 <listitem>
2094 <para>
2095 </para>
2096 <para>
2097 <parameter>params</parameter> returns one value,
2098 a symbolic constant indicating the mode of the polygon antialiasing
2099 hint. The initial value is <constant>GL_DONT_CARE</constant>.
2100 See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
2101 </para>
2102 </listitem>
2103 </varlistentry>
2104 <varlistentry>
2105 <term><constant>GL_READ_BUFFER</constant></term>
2106 <listitem>
2107 <para>
2108 </para>
2109 <para>
2110 <parameter>params</parameter> returns one value,
2111 a symbolic constant indicating which color buffer is selected for
2112 reading. The initial value is <constant>GL_BACK</constant> if there is a back buffer,
2113 otherwise it is <constant>GL_FRONT</constant>.
2114 See
2115 <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
2116 </para>
2117 </listitem>
2118 </varlistentry>
2119 <varlistentry>
2120 <term><constant>GL_RENDERBUFFER_BINDING</constant></term>
2121 <listitem>
2122 <para>
2123 </para>
2124 <para>
2125 <parameter>params</parameter> returns a single value, the name of the renderbuffer object
2126 currently bound to the target <constant>GL_RENDERBUFFER</constant>. If no renderbuffer object
2127 is bound to this target, 0 is returned. The initial value is 0.
2128 See <citerefentry><refentrytitle>glBindRenderbuffer</refentrytitle></citerefentry>.
2129 </para>
2130 </listitem>
2131 </varlistentry>
2132 <varlistentry>
2133 <term><constant>GL_SAMPLE_BUFFERS</constant></term>
2134 <listitem>
2135 <para>
2136 </para>
2137 <para>
2138 <parameter>params</parameter> returns a single integer value indicating the number of sample buffers
2139 associated with the framebuffer.
2140 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2141 </para>
2142 </listitem>
2143 </varlistentry>
2144 <varlistentry>
2145 <term><constant>GL_SAMPLE_COVERAGE_VALUE</constant></term>
2146 <listitem>
2147 <para>
2148 </para>
2149 <para>
2150 <parameter>params</parameter> returns a single positive floating-point value indicating the
2151 current sample coverage value.
2152 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2153 </para>
2154 </listitem>
2155 </varlistentry>
2156 <varlistentry>
2157 <term><constant>GL_SAMPLE_COVERAGE_INVERT</constant></term>
2158 <listitem>
2159 <para>
2160 </para>
2161 <para>
2162 <parameter>params</parameter> returns a single boolean value indicating if the temporary
2163 coverage value should be inverted.
2164 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2165 </para>
2166 </listitem>
2167 </varlistentry>
2168 <varlistentry>
2169 <term><constant>GL_SAMPLER_BINDING</constant></term>
2170 <listitem>
2171 <para>
2172 </para>
2173 <para>
2174 <parameter>params</parameter> returns a single value, the name of the sampler object
2175 currently bound to the active texture unit. The initial value is 0.
2176 See <citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry>.
2177 </para>
2178 </listitem>
2179 </varlistentry>
2180 <varlistentry>
2181 <term><constant>GL_SAMPLES</constant></term>
2182 <listitem>
2183 <para>
2184 </para>
2185 <para>
2186 <parameter>params</parameter> returns a single integer value indicating the coverage mask size.
2187 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2188 </para>
2189 </listitem>
2190 </varlistentry>
2191 <varlistentry>
2192 <term><constant>GL_SCISSOR_BOX</constant></term>
2193 <listitem>
2194 <para>
2195 </para>
2196 <para>
2197 <parameter>params</parameter> returns four values:
2198 the
2199 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
2200 and
2201 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
2202 window coordinates of the scissor box,
2203 followed by its width and height.
2204 Initially the
2205 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
2206 and
2207 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
2208 window coordinates are both 0 and the
2209 width and height are set to the size of the window.
2210 See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
2211 </para>
2212 </listitem>
2213 </varlistentry>
2214 <varlistentry>
2215 <term><constant>GL_SCISSOR_TEST</constant></term>
2216 <listitem>
2217 <para>
2218 </para>
2219 <para>
2220 <parameter>params</parameter> returns a single boolean value indicating whether scissoring is
2221 enabled. The initial value is <constant>GL_FALSE</constant>.
2222 See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
2223 </para>
2224 </listitem>
2225 </varlistentry>
2226 <varlistentry>
2227 <term><constant>GL_SHADER_COMPILER</constant></term>
2228 <listitem>
2229 <para>
2230 </para>
2231 <para>
2232 <parameter>params</parameter> returns a single boolean value indicating whether an online shader
2233 compiler is present in the implementation. All desktop OpenGL implementations must support
2234 online shader compilations, and therefore the value of <constant>GL_SHADER_COMPILER</constant>
2235 will always be <constant>GL_TRUE</constant>.
2236 </para>
2237 </listitem>
2238 </varlistentry>
2239 <varlistentry>
2240 <term><constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant></term>
2241 <listitem>
2242 <para>
2243 </para>
2244 <para>
2245 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2246 <parameter>params</parameter> returns a single value, the name of the buffer object
2247 currently bound to the target <constant>GL_SHADER_STORAGE_BUFFER</constant>. If no buffer object
2248 is bound to this target, 0 is returned.
2249 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2250 <parameter>params</parameter> returns a single value, the name of the buffer object
2251 bound to the indexed shader storage buffer binding points. The initial value is 0 for all targets.
2252 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2253 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2254 </para>
2255 </listitem>
2256 </varlistentry>
2257 <varlistentry>
2258 <term><constant>GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT</constant></term>
2259 <listitem>
2260 <para>
2261 </para>
2262 <para>
2263 <parameter>params</parameter> returns a single value, the minimum required alignment
2264 for shader storage buffer sizes and offset. The initial value is 1.
2265 See <citerefentry><refentrytitle>glShaderStorateBlockBinding</refentrytitle></citerefentry>.
2266 </para>
2267 </listitem>
2268 </varlistentry>
2269 <varlistentry>
2270 <term><constant>GL_SHADER_STORAGE_BUFFER_START</constant></term>
2271 <listitem>
2272 <para>
2273 </para>
2274 <para>
2275 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2276 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2277 indexed shader storage buffer binding. The initial value is 0 for all bindings.
2278 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2279 </para>
2280 </listitem>
2281 </varlistentry>
2282 <varlistentry>
2283 <term><constant>GL_SHADER_STORAGE_BUFFER_SIZE</constant></term>
2284 <listitem>
2285 <para>
2286 </para>
2287 <para>
2288 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2289 <parameter>params</parameter> returns a single value, the size of the binding range for each
2290 indexed shader storage buffer binding. The initial value is 0 for all bindings.
2291 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2292 </para>
2293 </listitem>
2294 </varlistentry>
2295 <varlistentry>
2296 <term><constant>GL_SMOOTH_LINE_WIDTH_RANGE</constant></term>
2297 <listitem>
2298 <para>
2299 </para>
2300 <para>
2301 <parameter>params</parameter> returns a pair of values indicating the range of
2302 widths supported for smooth (antialiased) lines. See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
2303 </para>
2304 </listitem>
2305 </varlistentry>
2306 <varlistentry>
2307 <term><constant>GL_SMOOTH_LINE_WIDTH_GRANULARITY</constant></term>
2308 <listitem>
2309 <para>
2310 </para>
2311 <para>
2312 <parameter>params</parameter> returns a single value indicating the level of
2313 quantization applied to smooth line width parameters.
2314 </para>
2315 </listitem>
2316 </varlistentry>
2317 <varlistentry>
2318 <term><constant>GL_STENCIL_BACK_FAIL</constant></term>
2319 <listitem>
2320 <para>
2321 </para>
2322 <para>
2323 <parameter>params</parameter> returns one value,
2324 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2325 test fails. The initial value is <constant>GL_KEEP</constant>.
2326 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2327 </para>
2328 </listitem>
2329 </varlistentry>
2330 <varlistentry>
2331 <term><constant>GL_STENCIL_BACK_FUNC</constant></term>
2332 <listitem>
2333 <para>
2334 </para>
2335 <para>
2336 <parameter>params</parameter> returns one value,
2337 a symbolic constant indicating what function is used for back-facing polygons to compare the
2338 stencil reference value with the stencil buffer value. The initial value
2339 is <constant>GL_ALWAYS</constant>.
2340 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2341 </para>
2342 </listitem>
2343 </varlistentry>
2344 <varlistentry>
2345 <term><constant>GL_STENCIL_BACK_PASS_DEPTH_FAIL</constant></term>
2346 <listitem>
2347 <para>
2348 </para>
2349 <para>
2350 <parameter>params</parameter> returns one value,
2351 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2352 test passes,
2353 but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
2354 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2355 </para>
2356 </listitem>
2357 </varlistentry>
2358 <varlistentry>
2359 <term><constant>GL_STENCIL_BACK_PASS_DEPTH_PASS</constant></term>
2360 <listitem>
2361 <para>
2362 </para>
2363 <para>
2364 <parameter>params</parameter> returns one value,
2365 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2366 test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
2367 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2368 </para>
2369 </listitem>
2370 </varlistentry>
2371 <varlistentry>
2372 <term><constant>GL_STENCIL_BACK_REF</constant></term>
2373 <listitem>
2374 <para>
2375 </para>
2376 <para>
2377 <parameter>params</parameter> returns one value,
2378 the reference value that is compared with the contents of the stencil
2379 buffer for back-facing polygons. The initial value is 0.
2380 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2381 </para>
2382 </listitem>
2383 </varlistentry>
2384 <varlistentry>
2385 <term><constant>GL_STENCIL_BACK_VALUE_MASK</constant></term>
2386 <listitem>
2387 <para>
2388 </para>
2389 <para>
2390 <parameter>params</parameter> returns one value,
2391 the mask that is used for back-facing polygons to mask both the stencil reference value and the
2392 stencil buffer value before they are compared. The initial value is all 1's.
2393 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2394 </para>
2395 </listitem>
2396 </varlistentry>
2397 <varlistentry>
2398 <term><constant>GL_STENCIL_BACK_WRITEMASK</constant></term>
2399 <listitem>
2400 <para>
2401 </para>
2402 <para>
2403 <parameter>params</parameter> returns one value,
2404 the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value
2405 is all 1's.
2406 See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
2407 </para>
2408 </listitem>
2409 </varlistentry>
2410 <varlistentry>
2411 <term><constant>GL_STENCIL_CLEAR_VALUE</constant></term>
2412 <listitem>
2413 <para>
2414 </para>
2415 <para>
2416 <parameter>params</parameter> returns one value,
2417 the index to which the stencil bitplanes are cleared. The initial value is
2418 0.
2419 See <citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>.
2420 </para>
2421 </listitem>
2422 </varlistentry>
2423 <varlistentry>
2424 <term><constant>GL_STENCIL_FAIL</constant></term>
2425 <listitem>
2426 <para>
2427 </para>
2428 <para>
2429 <parameter>params</parameter> returns one value,
2430 a symbolic constant indicating what action is taken when the stencil
2431 test fails. The initial value is <constant>GL_KEEP</constant>.
2432 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2433 This stencil state only affects non-polygons
2434 and front-facing polygons. Back-facing polygons use separate stencil state.
2435 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2436 </para>
2437 </listitem>
2438 </varlistentry>
2439 <varlistentry>
2440 <term><constant>GL_STENCIL_FUNC</constant></term>
2441 <listitem>
2442 <para>
2443 </para>
2444 <para>
2445 <parameter>params</parameter> returns one value,
2446 a symbolic constant indicating what function is used to compare the
2447 stencil reference value with the stencil buffer value. The initial value
2448 is <constant>GL_ALWAYS</constant>.
2449 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2450 This stencil state only affects non-polygons
2451 and front-facing polygons. Back-facing polygons use separate stencil state.
2452 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2453 </para>
2454 </listitem>
2455 </varlistentry>
2456 <varlistentry>
2457 <term><constant>GL_STENCIL_PASS_DEPTH_FAIL</constant></term>
2458 <listitem>
2459 <para>
2460 </para>
2461 <para>
2462 <parameter>params</parameter> returns one value,
2463 a symbolic constant indicating what action is taken when the stencil
2464 test passes,
2465 but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
2466 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2467 This stencil state only affects non-polygons
2468 and front-facing polygons. Back-facing polygons use separate stencil state.
2469 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2470 </para>
2471 </listitem>
2472 </varlistentry>
2473 <varlistentry>
2474 <term><constant>GL_STENCIL_PASS_DEPTH_PASS</constant></term>
2475 <listitem>
2476 <para>
2477 </para>
2478 <para>
2479 <parameter>params</parameter> returns one value,
2480 a symbolic constant indicating what action is taken when the stencil
2481 test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
2482 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2483 This stencil state only affects non-polygons
2484 and front-facing polygons. Back-facing polygons use separate stencil state.
2485 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2486 </para>
2487 </listitem>
2488 </varlistentry>
2489 <varlistentry>
2490 <term><constant>GL_STENCIL_REF</constant></term>
2491 <listitem>
2492 <para>
2493 </para>
2494 <para>
2495 <parameter>params</parameter> returns one value,
2496 the reference value that is compared with the contents of the stencil
2497 buffer. The initial value is 0.
2498 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2499 This stencil state only affects non-polygons
2500 and front-facing polygons. Back-facing polygons use separate stencil state.
2501 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2502 </para>
2503 </listitem>
2504 </varlistentry>
2505 <varlistentry>
2506 <term><constant>GL_STENCIL_TEST</constant></term>
2507 <listitem>
2508 <para>
2509 </para>
2510 <para>
2511 <parameter>params</parameter> returns a single boolean value indicating whether stencil testing
2512 of fragments is enabled. The initial value is <constant>GL_FALSE</constant>.
2513 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2514 </para>
2515 </listitem>
2516 </varlistentry>
2517 <varlistentry>
2518 <term><constant>GL_STENCIL_VALUE_MASK</constant></term>
2519 <listitem>
2520 <para>
2521 </para>
2522 <para>
2523 <parameter>params</parameter> returns one value,
2524 the mask that is used to mask both the stencil reference value and the
2525 stencil buffer value before they are compared. The initial value is all 1's.
2526 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2527 This stencil state only affects non-polygons
2528 and front-facing polygons. Back-facing polygons use separate stencil state.
2529 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2530 </para>
2531 </listitem>
2532 </varlistentry>
2533 <varlistentry>
2534 <term><constant>GL_STENCIL_WRITEMASK</constant></term>
2535 <listitem>
2536 <para>
2537 </para>
2538 <para>
2539 <parameter>params</parameter> returns one value,
2540 the mask that controls writing of the stencil bitplanes. The initial value
2541 is all 1's.
2542 See <citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>.
2543 This stencil state only affects non-polygons
2544 and front-facing polygons. Back-facing polygons use separate stencil state.
2545 See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
2546 </para>
2547 </listitem>
2548 </varlistentry>
2549 <varlistentry>
2550 <term><constant>GL_STEREO</constant></term>
2551 <listitem>
2552 <para>
2553 </para>
2554 <para>
2555 <parameter>params</parameter> returns a single boolean value indicating whether stereo buffers
2556 (left and right) are supported.
2557 </para>
2558 </listitem>
2559 </varlistentry>
2560 <varlistentry>
2561 <term><constant>GL_SUBPIXEL_BITS</constant></term>
2562 <listitem>
2563 <para>
2564 </para>
2565 <para>
2566 <parameter>params</parameter> returns one value,
2567 an estimate of the number of bits of subpixel resolution that are used to
2568 position rasterized geometry in window coordinates. The value must be at least 4.
2569 </para>
2570 </listitem>
2571 </varlistentry>
2572 <varlistentry>
2573 <term><constant>GL_TEXTURE_BINDING_1D</constant></term>
2574 <listitem>
2575 <para>
2576 </para>
2577 <para>
2578 <parameter>params</parameter> returns a single value, the name of the texture
2579 currently bound to the target <constant>GL_TEXTURE_1D</constant>. The initial value is 0.
2580 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2581 </para>
2582 </listitem>
2583 </varlistentry>
2584 <varlistentry>
2585 <term><constant>GL_TEXTURE_BINDING_1D_ARRAY</constant></term>
2586 <listitem>
2587 <para>
2588 </para>
2589 <para>
2590 <parameter>params</parameter> returns a single value, the name of the texture
2591 currently bound to the target <constant>GL_TEXTURE_1D_ARRAY</constant>. The initial value is 0.
2592 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2593 </para>
2594 </listitem>
2595 </varlistentry>
2596 <varlistentry>
2597 <term><constant>GL_TEXTURE_BINDING_2D</constant></term>
2598 <listitem>
2599 <para>
2600 </para>
2601 <para>
2602 <parameter>params</parameter> returns a single value, the name of the texture
2603 currently bound to the target <constant>GL_TEXTURE_2D</constant>. The initial value is 0.
2604 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2605 </para>
2606 </listitem>
2607 </varlistentry>
2608 <varlistentry>
2609 <term><constant>GL_TEXTURE_BINDING_2D_ARRAY</constant></term>
2610 <listitem>
2611 <para>
2612 </para>
2613 <para>
2614 <parameter>params</parameter> returns a single value, the name of the texture
2615 currently bound to the target <constant>GL_TEXTURE_2D_ARRAY</constant>. The initial value is 0.
2616 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2617 </para>
2618 </listitem>
2619 </varlistentry>
2620 <varlistentry>
2621 <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant></term>
2622 <listitem>
2623 <para>
2624 </para>
2625 <para>
2626 <parameter>params</parameter> returns a single value, the name of the texture
2627 currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE</constant>. The initial value is 0.
2628 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2629 </para>
2630 </listitem>
2631 </varlistentry>
2632 <varlistentry>
2633 <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant></term>
2634 <listitem>
2635 <para>
2636 </para>
2637 <para>
2638 <parameter>params</parameter> returns a single value, the name of the texture
2639 currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>. The initial value is 0.
2640 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2641 </para>
2642 </listitem>
2643 </varlistentry>
2644 <varlistentry>
2645 <term><constant>GL_TEXTURE_BINDING_3D</constant></term>
2646 <listitem>
2647 <para>
2648 </para>
2649 <para>
2650 <parameter>params</parameter> returns a single value, the name of the texture
2651 currently bound to the target <constant>GL_TEXTURE_3D</constant>. The initial value is 0.
2652 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2653 </para>
2654 </listitem>
2655 </varlistentry>
2656 <varlistentry>
2657 <term><constant>GL_TEXTURE_BINDING_BUFFER</constant></term>
2658 <listitem>
2659 <para>
2660 </para>
2661 <para>
2662 <parameter>params</parameter> returns a single value, the name of the texture
2663 currently bound to the target <constant>GL_TEXTURE_BUFFER</constant>. The initial value is 0.
2664 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2665 </para>
2666 </listitem>
2667 </varlistentry>
2668 <varlistentry>
2669 <term><constant>GL_TEXTURE_BINDING_CUBE_MAP</constant></term>
2670 <listitem>
2671 <para>
2672 </para>
2673 <para>
2674 <parameter>params</parameter> returns a single value, the name of the texture
2675 currently bound to the target <constant>GL_TEXTURE_CUBE_MAP</constant>. The initial value is 0.
2676 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2677 </para>
2678 </listitem>
2679 </varlistentry>
2680 <varlistentry>
2681 <term><constant>GL_TEXTURE_BINDING_RECTANGLE</constant></term>
2682 <listitem>
2683 <para>
2684 </para>
2685 <para>
2686 <parameter>params</parameter> returns a single value, the name of the texture
2687 currently bound to the target <constant>GL_TEXTURE_RECTANGLE</constant>. The initial value is 0.
2688 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2689 </para>
2690 </listitem>
2691 </varlistentry>
2692 <varlistentry>
2693 <term><constant>GL_TEXTURE_COMPRESSION_HINT</constant></term>
2694 <listitem>
2695 <para>
2696 </para>
2697 <para>
2698 <parameter>params</parameter> returns a single value indicating the mode of the texture
2699 compression hint. The initial value is <constant>GL_DONT_CARE</constant>.
2700 </para>
2701 </listitem>
2702 </varlistentry>
2703 <varlistentry>
2704 <term><constant>GL_TEXTURE_BINDING_BUFFER</constant></term>
2705 <listitem>
2706 <para>
2707 </para>
2708 <para>
2709 <parameter>params</parameter> returns a single value, the name of the buffer object
2710 currently bound to the <constant>GL_TEXTURE_BUFFER</constant> buffer binding point. The initial value is 0.
2711 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
2712 </para>
2713 </listitem>
2714 </varlistentry>
2715 <varlistentry>
2716 <term><constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant></term>
2717 <listitem>
2718 <para>
2719 </para>
2720 <para>
2721 <parameter>params</parameter> returns a single value, the minimum required alignment
2722 for texture buffer sizes and offset. The initial value is 1.
2723 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
2724 </para>
2725 </listitem>
2726 </varlistentry>
2727 <varlistentry>
2728 <term><constant>GL_TIMESTAMP</constant></term>
2729 <listitem>
2730 <para>
2731 </para>
2732 <para>
2733 <parameter>params</parameter> returns a single value, the 64-bit value of the current
2734 GL time.
2735 See <citerefentry><refentrytitle>glQueryCounter</refentrytitle></citerefentry>.
2736 </para>
2737 </listitem>
2738 </varlistentry>
2739 <varlistentry>
2740 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_BINDING</constant></term>
2741 <listitem>
2742 <para>
2743 </para>
2744 <para>
2745 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2746 <parameter>params</parameter> returns a single value, the name of the buffer object
2747 currently bound to the target <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>. If no buffer object
2748 is bound to this target, 0 is returned.
2749 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2750 <parameter>params</parameter> returns a single value, the name of the buffer object
2751 bound to the indexed transform feedback attribute stream. The initial value is 0 for all targets.
2752 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2753 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2754 </para>
2755 </listitem>
2756 </varlistentry>
2757 <varlistentry>
2758 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_START</constant></term>
2759 <listitem>
2760 <para>
2761 </para>
2762 <para>
2763 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2764 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2765 transform feedback attribute stream. The initial value is 0 for all streams.
2766 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2767 </para>
2768 </listitem>
2769 </varlistentry>
2770 <varlistentry>
2771 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_SIZE</constant></term>
2772 <listitem>
2773 <para>
2774 </para>
2775 <para>
2776 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2777 <parameter>params</parameter> returns a single value, the size of the binding range for each
2778 transform feedback attribute stream. The initial value is 0 for all streams.
2779 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2780 </para>
2781 </listitem>
2782 </varlistentry>
2783 <varlistentry>
2784 <term><constant>GL_UNIFORM_BUFFER_BINDING</constant></term>
2785 <listitem>
2786 <para>
2787 </para>
2788 <para>
2789 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2790 <parameter>params</parameter> returns a single value, the name of the buffer object
2791 currently bound to the target <constant>GL_UNIFORM_BUFFER</constant>. If no buffer object
2792 is bound to this target, 0 is returned.
2793 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2794 <parameter>params</parameter> returns a single value, the name of the buffer object
2795 bound to the indexed uniform buffer binding point. The initial value is 0 for all targets.
2796 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2797 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2798 </para>
2799 </listitem>
2800 </varlistentry>
2801 <varlistentry>
2802 <term><constant>GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT</constant></term>
2803 <listitem>
2804 <para>
2805 </para>
2806 <para>
2807 <parameter>params</parameter> returns a single value, the minimum required alignment
2808 for uniform buffer sizes and offset. The initial value is 1.
2809 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
2810 </para>
2811 </listitem>
2812 </varlistentry>
2813 <varlistentry>
2814 <term><constant>GL_UNIFORM_BUFFER_SIZE</constant></term>
2815 <listitem>
2816 <para>
2817 </para>
2818 <para>
2819 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2820 <parameter>params</parameter> returns a single value, the size of the binding range for each
2821 indexed uniform buffer binding. The initial value is 0 for all bindings.
2822 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2823 </para>
2824 </listitem>
2825 </varlistentry>
2826 <varlistentry>
2827 <term><constant>GL_UNIFORM_BUFFER_START</constant></term>
2828 <listitem>
2829 <para>
2830 </para>
2831 <para>
2832 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2833 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2834 indexed uniform buffer binding. The initial value is 0 for all bindings.
2835 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2836 </para>
2837 </listitem>
2838 </varlistentry>
2839 <varlistentry>
2840 <term><constant>GL_UNPACK_ALIGNMENT</constant></term>
2841 <listitem>
2842 <para>
2843 </para>
2844 <para>
2845 <parameter>params</parameter> returns one value,
2846 the byte alignment used for reading pixel data from memory. The initial
2847 value is 4.
2848 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2849 </para>
2850 </listitem>
2851 </varlistentry>
2852 <varlistentry>
2853 <term><constant>GL_UNPACK_IMAGE_HEIGHT</constant></term>
2854 <listitem>
2855 <para>
2856 </para>
2857 <para>
2858 <parameter>params</parameter> returns one value,
2859 the image height used for reading pixel data from memory. The initial
2860 is 0.
2861 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2862 </para>
2863 </listitem>
2864 </varlistentry>
2865 <varlistentry>
2866 <term><constant>GL_UNPACK_LSB_FIRST</constant></term>
2867 <listitem>
2868 <para>
2869 </para>
2870 <para>
2871 <parameter>params</parameter> returns a single boolean value indicating whether single-bit
2872 pixels being read from memory are read first from the least significant
2873 bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
2874 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2875 </para>
2876 </listitem>
2877 </varlistentry>
2878 <varlistentry>
2879 <term><constant>GL_UNPACK_ROW_LENGTH</constant></term>
2880 <listitem>
2881 <para>
2882 </para>
2883 <para>
2884 <parameter>params</parameter> returns one value,
2885 the row length used for reading pixel data from memory. The initial value
2886 is 0.
2887 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2888 </para>
2889 </listitem>
2890 </varlistentry>
2891 <varlistentry>
2892 <term><constant>GL_UNPACK_SKIP_IMAGES</constant></term>
2893 <listitem>
2894 <para>
2895 </para>
2896 <para>
2897 <parameter>params</parameter> returns one value,
2898 the number of pixel images skipped before the first pixel is read
2899 from memory. The initial value is 0.
2900 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2901 </para>
2902 </listitem>
2903 </varlistentry>
2904 <varlistentry>
2905 <term><constant>GL_UNPACK_SKIP_PIXELS</constant></term>
2906 <listitem>
2907 <para>
2908 </para>
2909 <para>
2910 <parameter>params</parameter> returns one value,
2911 the number of pixel locations skipped before the first pixel is read
2912 from memory. The initial value is 0.
2913 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2914 </para>
2915 </listitem>
2916 </varlistentry>
2917 <varlistentry>
2918 <term><constant>GL_UNPACK_SKIP_ROWS</constant></term>
2919 <listitem>
2920 <para>
2921 </para>
2922 <para>
2923 <parameter>params</parameter> returns one value,
2924 the number of rows of pixel locations skipped before the first pixel is read
2925 from memory. The initial value is 0.
2926 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2927 </para>
2928 </listitem>
2929 </varlistentry>
2930 <varlistentry>
2931 <term><constant>GL_UNPACK_SWAP_BYTES</constant></term>
2932 <listitem>
2933 <para>
2934 </para>
2935 <para>
2936 <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
2937 two-byte and four-byte pixel indices and components are swapped after being
2938 read from memory. The initial value is <constant>GL_FALSE</constant>.
2939 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2940 </para>
2941 </listitem>
2942 </varlistentry>
2943 <varlistentry>
2944 <term><constant>GL_VERTEX_BINDING_DIVISOR</constant></term>
2945 <listitem>
2946 <para>
2947 </para>
2948 <para>
2949 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the instance step
2950 divisor of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2951 </para>
2952 </listitem>
2953 </varlistentry>
2954 <varlistentry>
2955 <term><constant>GL_VERTEX_BINDING_OFFSET</constant></term>
2956 <listitem>
2957 <para>
2958 </para>
2959 <para>
2960 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
2961 of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2962 </para>
2963 </listitem>
2964 </varlistentry>
2965 <varlistentry>
2966 <term><constant>GL_VERTEX_BINDING_STRIDE</constant></term>
2967 <listitem>
2968 <para>
2969 </para>
2970 <para>
2971 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
2972 between the start of each element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2973 </para>
2974 </listitem>
2975 </varlistentry>
2976 <varlistentry>
2977 <term><constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant></term>
2978 <listitem>
2979 <para>
2980 </para>
2981 <para>
2982 <parameter>params</parameter> returns a single integer value containing the maximum offset that may be added to a vertex binding
2983 offset.
2984 </para>
2985 </listitem>
2986 </varlistentry>
2987 <varlistentry>
2988 <term><constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant></term>
2989 <listitem>
2990 <para>
2991 </para>
2992 <para>
2993 <parameter>params</parameter> returns a single integer value containing the maximum number of vertex buffers that may be bound.
2994 </para>
2995 </listitem>
2996 </varlistentry>
2997 <varlistentry>
2998 <term><constant>GL_VIEWPORT</constant></term>
2999 <listitem>
3000 <para>
3001 </para>
3002 <para>
3003 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
3004 <parameter>params</parameter> returns four values:
3005 the
3006 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3007 and
3008 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3009 window coordinates of the viewport, followed by its width and height.
3010 Initially the
3011 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3012 and
3013 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3014 window coordinates are both set to 0,
3015 and the width and height are set to the width and height of the window into
3016 which the GL will do its rendering.
3017 See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
3018
3019 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
3020 <parameter>params</parameter> returns four values:
3021 the
3022 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3023 and
3024 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3025 window coordinates of the indexed viewport, followed by its width and height.
3026 Initially the
3027 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3028 and
3029 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3030 window coordinates are both set to 0,
3031 and the width and height are set to the width and height of the window into
3032 which the GL will do its rendering.
3033 See <citerefentry><refentrytitle>glViewportIndexedf</refentrytitle></citerefentry>.
3034 </para>
3035 </listitem>
3036 </varlistentry>
3037 <varlistentry>
3038 <term><constant>GL_VIEWPORT_BOUNDS_RANGE</constant></term>
3039 <listitem>
3040 <para>
3041 </para>
3042 <para>
3043 <parameter>params</parameter> returns two values, the minimum and maximum viewport bounds range.
3044 The minimum range should be at least [-32768, 32767].
3045 </para>
3046 </listitem>
3047 </varlistentry>
3048 <varlistentry>
3049 <term><constant>GL_VIEWPORT_INDEX_PROVOKING_VERTEX</constant></term>
3050 <listitem>
3051 <para>
3052 </para>
3053 <para>
3054 <parameter>params</parameter> returns one value,
3055 the implementation dependent specifc vertex of a primitive that is used to select the viewport index.
3056 If the value returned is equivalent to <constant>GL_PROVOKING_VERTEX</constant>, then the vertex
3057 selection follows the convention specified by
3058 <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
3059 If the value returned is equivalent to <constant>GL_FIRST_VERTEX_CONVENTION</constant>, then the
3060 selection is always taken from the first vertex in the primitive.
3061 If the value returned is equivalent to <constant>GL_LAST_VERTEX_CONVENTION</constant>, then the
3062 selection is always taken from the last vertex in the primitive.
3063 If the value returned is equivalent to <constant>GL_UNDEFINED_VERTEX</constant>, then the
3064 selection is not guaranteed to be taken from any specific vertex in the primitive.
3065 </para>
3066 </listitem>
3067 </varlistentry>
3068 <varlistentry>
3069 <term><constant>GL_VIEWPORT_SUBPIXEL_BITS</constant></term>
3070 <listitem>
3071 <para>
3072 </para>
3073 <para>
3074 <parameter>params</parameter> returns a single value, the number of bits of sub-pixel precision which the GL
3075 uses to interpret the floating point viewport bounds. The minimum value is 0.
3076 </para>
3077 </listitem>
3078 </varlistentry>
3079 <varlistentry>
3080 <term><constant>GL_MAX_ELEMENT_INDEX</constant></term>
3081 <listitem>
3082 <para>
3083 </para>
3084 <para>
3085 <parameter>params</parameter> returns a single value, the maximum index that may be specified during the
3086 transfer of generic vertex attributes to the GL.
3087 </para>
3088 </listitem>
3089 </varlistentry>
3090 </variablelist>
3091 <para>
3092 Many of the boolean parameters can also be queried more easily using
3093 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>.
3094 </para>
3095 </refsect1>
3096 <refsect1 id="notes"><title>Notes</title>
3097 <para>
3098 The following parameters return the associated value for the active texture unit:
3099 <constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_BINDING_1D</constant>,
3100 <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_BINDING_2D</constant>,
3101 <constant>GL_TEXTURE_3D</constant> and <constant>GL_TEXTURE_BINDING_3D</constant>.
3102 </para>
3103 <para>
3104 <constant>GL_MAX_VIEWPORTS</constant>, <constant>GL_VIEWPORT_SUBPIXEL_BITS</constant>,
3105 <constant>GL_VIEWPORT_BOUNDS_RANGE</constant>, <constant>GL_LAYER_PROVOKING_VERTEX</constant>,
3106 and <constant>GL_VIEWPORT_INDEX_PROVOKING_VERTEX</constant>
3107 are available only if the GL version is 4.1 or greater.
3108 </para>
3109 <para>
3110 <constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant>,
3111 <constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant>,
3112 <constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant>,
3113 <constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant>,
3114 <constant>GL_MAX_FRAMGENT_ATOMIC_COUNTERS</constant>, and
3115 <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> are accepted by <parameter>pname</parameter>
3116 only if the GL version is 4.2 or greater.
3117 </para>
3118 <para>
3119 <constant>GL_MAX_ELEMENT_INDEX</constant> is accepted by <parameter>pname</parameter> only
3120 if the GL version is 4.3 or greater.
3121 </para>
3122 <para>
3123 <constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant>, <constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant>,
3124 <constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant>, <constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant>,
3125 <constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant>, <constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant>,
3126 <constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant>, <constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant>, and
3127 <constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant> and <constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant> are available only if the GL version
3128 is 4.3 or greater.
3129 </para>
3130 <para>
3131 <constant>GL_MAX_DEBUG_GROUP_STACK_DEPTH</constant>, <constant>GL_DEBUG_GROUP_STACK_DEPTH</constant> and <constant>GL_MAX_LABEL_LENGTH</constant> are accepted only if
3132 the GL version is 4.3 or greater.
3133 </para>
3134 <para>
3135 <constant>GL_MAX_UNIFORM_LOCATIONS</constant> is accepted only if the GL version is 4.3 or greater.
3136 </para>
3137 <para>
3138 <constant>GL_MAX_FRAMEBUFFER_WIDTH</constant>, <constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant>, <constant>GL_MAX_FRAMEBUFFER_LAYERS</constant>,
3139 and <constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant> are available only if the GL version is 4.3 or greater.
3140 </para>
3141 <para>
3142 <constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant>,
3143 <constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant>,
3144 <constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant>, and <constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant> are available
3145 only if the GL version is 4.3 or higher.
3146 </para>
3147 <para>
3148 <constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant> is available only if the GL version is 4.3 or greater.
3149 </para>
3150 <para>
3151 <constant>GL_VERTEX_BINDING_DIVISOR</constant>, <constant>GL_VERTEX_BINDING_OFFSET</constant>, <constant>GL_VERTEX_BINDING_STRIDE</constant>,
3152 <constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant> and <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant> are available only if
3153 the GL version is 4.3 or greater.
3154 </para>
3155 </refsect1>
3156 <refsect1 id="errors"><title>Errors</title>
3157 <para>
3158 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>pname</parameter> is not an accepted value.
3159 </para>
3160 <para>
3161 <constant>GL_INVALID_VALUE</constant> is generated on any of <function>glGetBooleani_v</function>,
3162 <function>glGetIntegeri_v</function>, or <function>glGetInteger64i_v</function> if
3163 <parameter>index</parameter> is outside of the valid range for the indexed state <parameter>target</parameter>.
3164 </para>
3165 </refsect1>
3166 <refsect1 id="seealso"><title>See Also</title>
3167 <para>
3168 <citerefentry><refentrytitle>glGetActiveUniform</refentrytitle></citerefentry>,
3169 <citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>,
3170 <citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>,
3171 <citerefentry><refentrytitle>glGetBufferParameter</refentrytitle></citerefentry>,
3172 <citerefentry><refentrytitle>glGetBufferPointerv</refentrytitle></citerefentry>,
3173 <citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>,
3174 <citerefentry><refentrytitle>glGetCompressedTexImage</refentrytitle></citerefentry>,
3175 <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>,
3176 <citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>,
3177 <citerefentry><refentrytitle>glGetProgramInfoLog</refentrytitle></citerefentry>,
3178 <citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry>,
3179 <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>,
3180 <citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>,
3181 <citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>,
3182 <citerefentry><refentrytitle>glGetShaderSource</refentrytitle></citerefentry>,
3183 <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
3184 <citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>,
3185 <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>,
3186 <citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
3187 <citerefentry><refentrytitle>glGetUniform</refentrytitle></citerefentry>,
3188 <citerefentry><refentrytitle>glGetUniformLocation</refentrytitle></citerefentry>,
3189 <citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>,
3190 <citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>,
3191 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>
3192 </para>
3193 </refsect1>
3194 <refsect1 id="Copyright"><title>Copyright</title>
3195 <para>
3196 Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
3197 Copyright <trademark class="copyright"></trademark> 2010-2011 Khronos Group.
3198 This document is licensed under the SGI Free Software B License. For details, see
3199 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
3200 </para>
3201 </refsect1>
3202 </refentry>