rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glGet.xml
CommitLineData
7faf1d71
AW
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_LINE_WIDTH_GRANULARITY</constant></term>
876 <listitem>
877 <para>
878 </para>
879 <para>
880 <parameter>params</parameter> returns one value,
881 the width difference between adjacent supported widths for antialiased lines.
882 See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
883 </para>
884 </listitem>
885 </varlistentry>
886 <varlistentry>
887 <term><constant>GL_LINE_WIDTH_RANGE</constant></term>
888 <listitem>
889 <para>
890 </para>
891 <para>
892 <parameter>params</parameter> returns two values:
893 the smallest and largest supported widths for antialiased
894 lines.
895 See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
896 </para>
897 </listitem>
898 </varlistentry>
899 <varlistentry>
900 <term><constant>GL_LOGIC_OP_MODE</constant></term>
901 <listitem>
902 <para>
903 </para>
904 <para>
905 <parameter>params</parameter> returns one value,
906 a symbolic constant indicating the selected logic operation
907 mode. The initial value is <constant>GL_COPY</constant>.
908 See <citerefentry><refentrytitle>glLogicOp</refentrytitle></citerefentry>.
909 </para>
910 </listitem>
911 </varlistentry>
912 <varlistentry>
913 <term><constant>GL_MAJOR_VERSION</constant></term>
914 <listitem>
915 <para>
916 </para>
917 <para>
918 <parameter>params</parameter> returns one value,
919 the major version number of the OpenGL API supported by the current context.
920 </para>
921 </listitem>
922 </varlistentry>
923 <varlistentry>
924 <term><constant>GL_MAX_3D_TEXTURE_SIZE</constant></term>
925 <listitem>
926 <para>
927 </para>
928 <para>
929 <parameter>params</parameter> returns one value,
930 a rough estimate of the largest 3D texture that the GL can handle.
931 The value must be at least 64.
932 Use <constant>GL_PROXY_TEXTURE_3D</constant> to determine if a texture is too large.
933 See <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>.
934 </para>
935 </listitem>
936 </varlistentry>
937 <varlistentry>
938 <term><constant>GL_MAX_ARRAY_TEXTURE_LAYERS</constant></term>
939 <listitem>
940 <para>
941 </para>
942 <para>
943 <parameter>params</parameter> returns one value.
944 The value indicates the maximum number of layers allowed in an array texture, and must be at least 256.
945 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
946 </para>
947 </listitem>
948 </varlistentry>
949 <varlistentry>
950 <term><constant>GL_MAX_CLIP_DISTANCES</constant></term>
951 <listitem>
952 <para>
953 </para>
954 <para>
955 <parameter>params</parameter> returns one value,
956 the maximum number of application-defined clipping distances. The value must be at least 8.
957 </para>
958 </listitem>
959 </varlistentry>
960 <varlistentry>
961 <term><constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant></term>
962 <listitem>
963 <para>
964 </para>
965 <para>
966 <parameter>params</parameter> returns one value,
967 the maximum number of samples in a color multisample texture.
968 </para>
969 </listitem>
970 </varlistentry>
971 <!-- ARB_shader_atomic_counters -->
972 <varlistentry>
973 <term><constant>GL_MAX_COMBINED_ATOMIC_COUNTERS</constant></term>
974 <listitem>
975 <para>
976 </para>
977 <para>
978 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to all active shaders.
979 </para>
980 </listitem>
981 </varlistentry>
982 <!-- // ARB_shader_atomic_counters -->
983 <varlistentry>
984 <term><constant>GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
985 <listitem>
986 <para>
987 </para>
988 <para>
989 <parameter>params</parameter> returns one value,
990 the number of words for fragment shader uniform variables in all uniform
991 blocks (including default). The value must be at least 1.
992 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
993 </para>
994 </listitem>
995 </varlistentry>
996 <varlistentry>
997 <term><constant>GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
998 <listitem>
999 <para>
1000 </para>
1001 <para>
1002 <parameter>params</parameter> returns one value,
1003 the number of words for geometry shader uniform variables in all uniform
1004 blocks (including default). The value must be at least 1.
1005 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1006 </para>
1007 </listitem>
1008 </varlistentry>
1009 <varlistentry>
1010 <term><constant>GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</constant></term>
1011 <listitem>
1012 <para>
1013 </para>
1014 <para>
1015 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1016 can be used to access texture maps from the vertex shader and the fragment processor combined.
1017 If both the vertex shader and the fragment processing stage access the same texture image
1018 unit, then that counts as using two texture image units against this limit.
1019 The value must be at least 48.
1020 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1021 </para>
1022 </listitem>
1023 </varlistentry>
1024 <varlistentry>
1025 <term><constant>GL_MAX_COMBINED_UNIFORM_BLOCKS</constant></term>
1026 <listitem>
1027 <para>
1028 </para>
1029 <para>
1030 <parameter>params</parameter> returns one value,
1031 the maximum number of uniform blocks per program. The value must be at least 36.
1032 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1033 </para>
1034 </listitem>
1035 </varlistentry>
1036 <varlistentry>
1037 <term><constant>GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS</constant></term>
1038 <listitem>
1039 <para>
1040 </para>
1041 <para>
1042 <parameter>params</parameter> returns one value,
1043 the number of words for vertex shader uniform variables in all uniform
1044 blocks (including default). The value must be at least 1.
1045 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1046 </para>
1047 </listitem>
1048 </varlistentry>
1049 <varlistentry>
1050 <term><constant>GL_MAX_CUBE_MAP_TEXTURE_SIZE</constant></term>
1051 <listitem>
1052 <para>
1053 </para>
1054 <para>
1055 <parameter>params</parameter> returns one value.
1056 The value gives a rough estimate of the largest cube-map texture that
1057 the GL can handle. The value must be at least 1024.
1058 Use <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>
1059 to determine if a texture is too large.
1060 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1061 </para>
1062 </listitem>
1063 </varlistentry>
1064 <varlistentry>
1065 <term><constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant></term>
1066 <listitem>
1067 <para>
1068 </para>
1069 <para>
1070 <parameter>params</parameter> returns one value,
1071 the maximum number of samples in a multisample depth or depth-stencil texture.
1072 </para>
1073 </listitem>
1074 </varlistentry>
1075 <varlistentry>
1076 <term><constant>GL_MAX_DRAW_BUFFERS</constant></term>
1077 <listitem>
1078 <para>
1079 </para>
1080 <para>
1081 <parameter>params</parameter> returns one value, the maximum number
1082 of simultaneous outputs that may be written in a fragment shader.
1083 The value must be at least 8.
1084 See <citerefentry><refentrytitle>glDrawBuffers</refentrytitle></citerefentry>.
1085 </para>
1086 </listitem>
1087 </varlistentry>
1088 <varlistentry>
1089 <term><constant>GL_MAX_DUALSOURCE_DRAW_BUFFERS</constant></term>
1090 <listitem>
1091 <para>
1092 </para>
1093 <para>
1094 <parameter>params</parameter> returns one value, the maximum number
1095 of active draw buffers when using dual-source blending. The value must be at least 1.
1096 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> and
1097 <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
1098 </para>
1099 </listitem>
1100 </varlistentry>
1101 <varlistentry>
1102 <term><constant>GL_MAX_ELEMENTS_INDICES</constant></term>
1103 <listitem>
1104 <para>
1105 </para>
1106 <para>
1107 <parameter>params</parameter> returns one value,
1108 the recommended maximum number of vertex array indices.
1109 See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
1110 </para>
1111 </listitem>
1112 </varlistentry>
1113 <varlistentry>
1114 <term><constant>GL_MAX_ELEMENTS_VERTICES</constant></term>
1115 <listitem>
1116 <para>
1117 </para>
1118 <para>
1119 <parameter>params</parameter> returns one value,
1120 the recommended maximum number of vertex array vertices.
1121 See <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>.
1122 </para>
1123 </listitem>
1124 </varlistentry>
1125 <!-- ARB_shader_atomic_counters -->
1126 <varlistentry>
1127 <term><constant>GL_MAX_FRAGMENT_ATOMIC_COUNTERS</constant></term>
1128 <listitem>
1129 <para>
1130 </para>
1131 <para>
1132 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to fragment shaders.
1133 </para>
1134 </listitem>
1135 </varlistentry>
1136 <!-- // ARB_shader_atomic_counters -->
1137 <varlistentry>
1138 <term><constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant></term>
1139 <listitem>
1140 <para>
1141 </para>
1142 <para>
1143 <parameter>params</parameter> returns one value,
1144 the maximum number of active shader storage blocks that may be accessed by a fragment shader.
1145 </para>
1146 </listitem>
1147 </varlistentry>
1148 <varlistentry>
1149 <term><constant>GL_MAX_FRAGMENT_INPUT_COMPONENTS</constant></term>
1150 <listitem>
1151 <para>
1152 </para>
1153 <para>
1154 <parameter>params</parameter> returns one value,
1155 the maximum number of components of the inputs read by the fragment shader, which must be at least 128.
1156 </para>
1157 </listitem>
1158 </varlistentry>
1159 <varlistentry>
1160 <term><constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant></term>
1161 <listitem>
1162 <para>
1163 </para>
1164 <para>
1165 <parameter>params</parameter> returns one value,
1166 the maximum number of individual floating-point, integer, or boolean values that can be held
1167 in uniform variable storage for a fragment shader. The value must be at least 1024.
1168 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1169 </para>
1170 </listitem>
1171 </varlistentry>
1172 <varlistentry>
1173 <term><constant>GL_MAX_FRAGMENT_UNIFORM_VECTORS</constant></term>
1174 <listitem>
1175 <para>
1176 </para>
1177 <para>
1178 <parameter>params</parameter> returns one value,
1179 the maximum number of individual 4-vectors of floating-point, integer, or boolean values
1180 that can be held
1181 in uniform variable storage for a fragment shader. The value is equal to the value of
1182 <constant>GL_MAX_FRAGMENT_UNIFORM_COMPONENTS</constant> divided by 4 and must be at least 256.
1183 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1184 </para>
1185 </listitem>
1186 </varlistentry>
1187 <varlistentry>
1188 <term><constant>GL_MAX_FRAGMENT_UNIFORM_BLOCKS</constant></term>
1189 <listitem>
1190 <para>
1191 </para>
1192 <para>
1193 <parameter>params</parameter> returns one value,
1194 the maximum number of uniform blocks per fragment shader. The value must be at least 12.
1195 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1196 </para>
1197 </listitem>
1198 </varlistentry>
1199 <varlistentry>
1200 <term><constant>GL_MAX_FRAMEBUFFER_WIDTH</constant></term>
1201 <listitem>
1202 <para>
1203 </para>
1204 <para>
1205 <parameter>params</parameter> returns one value,
1206 the maximum width for a framebuffer that has no attachments, which must be at least 16384.
1207 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1208 </para>
1209 </listitem>
1210 </varlistentry>
1211 <varlistentry>
1212 <term><constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant></term>
1213 <listitem>
1214 <para>
1215 </para>
1216 <para>
1217 <parameter>params</parameter> returns one value,
1218 the maximum height for a framebuffer that has no attachments, which must be at least 16384.
1219 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1220 </para>
1221 </listitem>
1222 </varlistentry>
1223 <varlistentry>
1224 <term><constant>GL_MAX_FRAMEBUFFER_LAYERS</constant></term>
1225 <listitem>
1226 <para>
1227 </para>
1228 <para>
1229 <parameter>params</parameter> returns one value,
1230 the maximum number of layers for a framebuffer that has no attachments, which must be at least 2048.
1231 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1232 </para>
1233 </listitem>
1234 </varlistentry>
1235 <varlistentry>
1236 <term><constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant></term>
1237 <listitem>
1238 <para>
1239 </para>
1240 <para>
1241 <parameter>params</parameter> returns one value,
1242 the maximum samples in a framebuffer that has no attachments, which must be at least 4.
1243 See <citerefentry><refentrytitle>glFramebufferParameter</refentrytitle></citerefentry>.
1244 </para>
1245 </listitem>
1246 </varlistentry>
1247 <!-- ARB_shader_atomic_counter -->
1248 <varlistentry>
1249 <term><constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant></term>
1250 <listitem>
1251 <para>
1252 </para>
1253 <para>
1254 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to geometry shaders.
1255 </para>
1256 </listitem>
1257 </varlistentry>
1258 <!-- // ARB_shader_atomic_counter -->
1259 <varlistentry>
1260 <term><constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant></term>
1261 <listitem>
1262 <para>
1263 </para>
1264 <para>
1265 <parameter>params</parameter> returns one value,
1266 the maximum number of active shader storage blocks that may be accessed by a geometry shader.
1267 </para>
1268 </listitem>
1269 </varlistentry>
1270 <varlistentry>
1271 <term><constant>GL_MAX_GEOMETRY_INPUT_COMPONENTS</constant></term>
1272 <listitem>
1273 <para>
1274 </para>
1275 <para>
1276 <parameter>params</parameter> returns one value,
1277 the maximum number of components of inputs read by a geometry shader, which must be at least 64.
1278 </para>
1279 </listitem>
1280 </varlistentry>
1281 <varlistentry>
1282 <term><constant>GL_MAX_GEOMETRY_OUTPUT_COMPONENTS</constant></term>
1283 <listitem>
1284 <para>
1285 </para>
1286 <para>
1287 <parameter>params</parameter> returns one value,
1288 the maximum number of components of outputs written by a geometry shader, which must be at least 128.
1289 </para>
1290 </listitem>
1291 </varlistentry>
1292 <varlistentry>
1293 <term><constant>GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS</constant></term>
1294 <listitem>
1295 <para>
1296 </para>
1297 <para>
1298 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1299 can be used to access texture maps from the geometry shader. The value must be at least 16.
1300 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1301 </para>
1302 </listitem>
1303 </varlistentry>
1304 <varlistentry>
1305 <term><constant>GL_MAX_GEOMETRY_UNIFORM_BLOCKS</constant></term>
1306 <listitem>
1307 <para>
1308 </para>
1309 <para>
1310 <parameter>params</parameter> returns one value,
1311 the maximum number of uniform blocks per geometry shader. The value must be at least 12.
1312 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1313 </para>
1314 </listitem>
1315 </varlistentry>
1316 <varlistentry>
1317 <term><constant>GL_MAX_GEOMETRY_UNIFORM_COMPONENTS</constant></term>
1318 <listitem>
1319 <para>
1320 </para>
1321 <para>
1322 <parameter>params</parameter> returns one value,
1323 the maximum number of individual floating-point, integer, or boolean values that can be held
1324 in uniform variable storage for a geometry shader. The value must be at least 1024.
1325 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1326 </para>
1327 </listitem>
1328 </varlistentry>
1329 <varlistentry>
1330 <term><constant>GL_MAX_INTEGER_SAMPLES</constant></term>
1331 <listitem>
1332 <para>
1333 </para>
1334 <para>
1335 <parameter>params</parameter> returns one value,
1336 the maximum number of samples supported in integer format multisample buffers.
1337 </para>
1338 </listitem>
1339 </varlistentry>
1340 <varlistentry>
1341 <term><constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant></term>
1342 <listitem>
1343 <para>
1344 </para>
1345 <para>
1346 <parameter>params</parameter> returns one value,
1347 the minimum alignment in basic machine units of pointers returned from<citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>
1348 and <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry>. This value must be a power of two and must
1349 be at least 64.
1350 </para>
1351 </listitem>
1352 </varlistentry>
1353 <varlistentry>
1354 <term><constant>GL_MAX_LABEL_LENGTH</constant></term>
1355 <listitem>
1356 <para>
1357 </para>
1358 <para>
1359 <parameter>params</parameter> returns one value,
1360 the maximum length of a label that may be assigned to an object.
1361 See <citerefentry><refentrytitle>glObjectLabel</refentrytitle></citerefentry> and
1362 <citerefentry><refentrytitle>glObjectPtrLabel</refentrytitle></citerefentry>.
1363 </para>
1364 </listitem>
1365 </varlistentry>
1366 <varlistentry>
1367 <term><constant>GL_MAX_PROGRAM_TEXEL_OFFSET</constant></term>
1368 <listitem>
1369 <para>
1370 </para>
1371 <para>
1372 <parameter>params</parameter> returns one value,
1373 the maximum texel offset allowed in a texture lookup, which must be at least 7.
1374 </para>
1375 </listitem>
1376 </varlistentry>
1377 <varlistentry>
1378 <term><constant>GL_MIN_PROGRAM_TEXEL_OFFSET</constant></term>
1379 <listitem>
1380 <para>
1381 </para>
1382 <para>
1383 <parameter>params</parameter> returns one value,
1384 the minimum texel offset allowed in a texture lookup, which must be at most -8.
1385 </para>
1386 </listitem>
1387 </varlistentry>
1388 <varlistentry>
1389 <term><constant>GL_MAX_RECTANGLE_TEXTURE_SIZE</constant></term>
1390 <listitem>
1391 <para>
1392 </para>
1393 <para>
1394 <parameter>params</parameter> returns one value.
1395 The value gives a rough estimate of the largest rectangular texture that
1396 the GL can handle. The value must be at least 1024.
1397 Use <constant>GL_PROXY_RECTANGLE_TEXTURE</constant>
1398 to determine if a texture is too large.
1399 See <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1400 </para>
1401 </listitem>
1402 </varlistentry>
1403 <varlistentry>
1404 <term><constant>GL_MAX_RENDERBUFFER_SIZE</constant></term>
1405 <listitem>
1406 <para>
1407 </para>
1408 <para>
1409 <parameter>params</parameter> returns one value.
1410 The value indicates the maximum supported size for renderbuffers.
1411 See <citerefentry><refentrytitle>glFramebufferRenderbuffer</refentrytitle></citerefentry>.
1412 </para>
1413 </listitem>
1414 </varlistentry>
1415 <varlistentry>
1416 <term><constant>GL_MAX_SAMPLE_MASK_WORDS</constant></term>
1417 <listitem>
1418 <para>
1419 </para>
1420 <para>
1421 <parameter>params</parameter> returns one value,
1422 the maximum number of sample mask words.
1423 </para>
1424 </listitem>
1425 </varlistentry>
1426 <varlistentry>
1427 <term><constant>GL_MAX_SERVER_WAIT_TIMEOUT</constant></term>
1428 <listitem>
1429 <para>
1430 </para>
1431 <para>
1432 <parameter>params</parameter> returns one value,
1433 the maximum <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry> timeout interval.
1434 </para>
1435 </listitem>
1436 </varlistentry>
1437 <varlistentry>
1438 <term><constant>GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS</constant></term>
1439 <listitem>
1440 <para>
1441 </para>
1442 <para>
1443 <parameter>params</parameter> returns one value,
1444 the maximum number of shader storage buffer binding points on the context, which must be at least 8.
1445 </para>
1446 </listitem>
1447 </varlistentry>
1448 <!-- ARB_shader_atomic_counters -->
1449 <varlistentry>
1450 <term><constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant></term>
1451 <listitem>
1452 <para>
1453 </para>
1454 <para>
1455 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation control shaders.
1456 </para>
1457 </listitem>
1458 </varlistentry>
1459 <varlistentry>
1460 <term><constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant></term>
1461 <listitem>
1462 <para>
1463 </para>
1464 <para>
1465 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to tessellation evaluation shaders.
1466 </para>
1467 </listitem>
1468 </varlistentry>
1469 <varlistentry>
1470 <term><constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant></term>
1471 <listitem>
1472 <para>
1473 </para>
1474 <para>
1475 <parameter>params</parameter> returns one value,
1476 the maximum number of active shader storage blocks that may be accessed by a tessellation control shader.
1477 </para>
1478 </listitem>
1479 </varlistentry>
1480 <varlistentry>
1481 <term><constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant></term>
1482 <listitem>
1483 <para>
1484 </para>
1485 <para>
1486 <parameter>params</parameter> returns one value,
1487 the maximum number of active shader storage blocks that may be accessed by a tessellation evaluation shader.
1488 </para>
1489 </listitem>
1490 </varlistentry>
1491 <!-- // ARB_shader_atomic_counters -->
1492 <varlistentry>
1493 <term><constant>GL_MAX_TEXTURE_BUFFER_SIZE</constant></term>
1494 <listitem>
1495 <para>
1496 </para>
1497 <para>
1498 <parameter>params</parameter> returns one value.
1499 The value gives the maximum number of texels allowed in the texel array of a texture buffer object.
1500 Value must be at least 65536.
1501 </para>
1502 </listitem>
1503 </varlistentry>
1504 <varlistentry>
1505 <term><constant>GL_MAX_TEXTURE_IMAGE_UNITS</constant></term>
1506 <listitem>
1507 <para>
1508 </para>
1509 <para>
1510 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1511 can be used to access texture maps from the fragment shader.
1512 The value must be at least 16.
1513 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1514 </para>
1515 </listitem>
1516 </varlistentry>
1517 <varlistentry>
1518 <term><constant>GL_MAX_TEXTURE_LOD_BIAS</constant></term>
1519 <listitem>
1520 <para>
1521 </para>
1522 <para>
1523 <parameter>params</parameter> returns one value,
1524 the maximum, absolute value of the texture level-of-detail bias. The
1525 value must be at least 2.0.
1526 </para>
1527 </listitem>
1528 </varlistentry>
1529 <varlistentry>
1530 <term><constant>GL_MAX_TEXTURE_SIZE</constant></term>
1531 <listitem>
1532 <para>
1533 </para>
1534 <para>
1535 <parameter>params</parameter> returns one value.
1536 The value gives a rough estimate of the largest texture that
1537 the GL can handle. The value must be at least 1024.
1538 Use a proxy texture target such as <constant>GL_PROXY_TEXTURE_1D</constant> or <constant>GL_PROXY_TEXTURE_2D</constant>
1539 to determine if a texture is too large.
1540 See <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>.
1541 </para>
1542 </listitem>
1543 </varlistentry>
1544 <varlistentry>
1545 <term><constant>GL_MAX_UNIFORM_BUFFER_BINDINGS</constant></term>
1546 <listitem>
1547 <para>
1548 </para>
1549 <para>
1550 <parameter>params</parameter> returns one value,
1551 the maximum number of uniform buffer binding points on the context, which must be at least 36.
1552 </para>
1553 </listitem>
1554 </varlistentry>
1555 <varlistentry>
1556 <term><constant>GL_MAX_UNIFORM_BLOCK_SIZE</constant></term>
1557 <listitem>
1558 <para>
1559 </para>
1560 <para>
1561 <parameter>params</parameter> returns one value,
1562 the maximum size in basic machine units of a uniform block, which must be at least 16384.
1563 </para>
1564 </listitem>
1565 </varlistentry>
1566 <varlistentry>
1567 <term><constant>GL_MAX_UNIFORM_LOCATIONS</constant></term>
1568 <listitem>
1569 <para>
1570 </para>
1571 <para>
1572 <parameter>params</parameter> returns one value,
1573 the maximum number of explicitly assignable uniform locations, which must be at least 1024.
1574 </para>
1575 </listitem>
1576 </varlistentry>
1577 <varlistentry>
1578 <term><constant>GL_MAX_VARYING_COMPONENTS</constant></term>
1579 <listitem>
1580 <para>
1581 </para>
1582 <para>
1583 <parameter>params</parameter> returns one value,
1584 the number components for varying variables, which must be at least 60.
1585 </para>
1586 </listitem>
1587 </varlistentry>
1588 <varlistentry>
1589 <term><constant>GL_MAX_VARYING_VECTORS</constant></term>
1590 <listitem>
1591 <para>
1592 </para>
1593 <para>
1594 <parameter>params</parameter> returns one value,
1595 the number 4-vectors for varying variables, which is equal to the value of
1596 <constant>GL_MAX_VARYING_COMPONENTS</constant> and must be at least 15.
1597 </para>
1598 </listitem>
1599 </varlistentry>
1600 <varlistentry>
1601 <term><constant>GL_MAX_VARYING_FLOATS</constant></term>
1602 <listitem>
1603 <para>
1604 </para>
1605 <para>
1606 <parameter>params</parameter> returns one value,
1607 the maximum number of interpolators available for processing varying variables used by
1608 vertex and fragment shaders. This value represents the number of individual floating-point
1609 values that can be interpolated; varying variables declared as vectors, matrices, and arrays
1610 will all consume multiple interpolators. The value must be at least 32.
1611 </para>
1612 </listitem>
1613 </varlistentry>
1614 <!-- ARB_shader_atomic_counters -->
1615 <varlistentry>
1616 <term><constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant></term>
1617 <listitem>
1618 <para>
1619 </para>
1620 <para>
1621 <parameter>params</parameter> returns a single value, the maximum number of atomic counters available to vertex shaders.
1622 </para>
1623 </listitem>
1624 </varlistentry>
1625 <!-- /ARB_shader_atomic_counters -->
1626 <varlistentry>
1627 <term><constant>GL_MAX_VERTEX_ATTRIBS</constant></term>
1628 <listitem>
1629 <para>
1630 </para>
1631 <para>
1632 <parameter>params</parameter> returns one value,
1633 the maximum number of 4-component generic vertex attributes accessible to a vertex shader.
1634 The value must be at least 16.
1635 See <citerefentry><refentrytitle>glVertexAttrib</refentrytitle></citerefentry>.
1636 </para>
1637 </listitem>
1638 </varlistentry>
1639 <varlistentry>
1640 <term><constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant></term>
1641 <listitem>
1642 <para>
1643 </para>
1644 <para>
1645 <parameter>params</parameter> returns one value,
1646 the maximum number of active shader storage blocks that may be accessed by a vertex shader.
1647 </para>
1648 </listitem>
1649 </varlistentry>
1650 <varlistentry>
1651 <term><constant>GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS</constant></term>
1652 <listitem>
1653 <para>
1654 </para>
1655 <para>
1656 <parameter>params</parameter> returns one value, the maximum supported texture image units that
1657 can be used to access texture maps from the vertex shader. The value may be at least 16.
1658 See <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
1659 </para>
1660 </listitem>
1661 </varlistentry>
1662 <varlistentry>
1663 <term><constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant></term>
1664 <listitem>
1665 <para>
1666 </para>
1667 <para>
1668 <parameter>params</parameter> returns one value,
1669 the maximum number of individual floating-point, integer, or boolean values that can be held
1670 in uniform variable storage for a vertex shader. The value must be at least 1024.
1671 See <citerefentry><refentrytitle>glUniform</refentrytitle></citerefentry>.
1672 </para>
1673 </listitem>
1674 </varlistentry>
1675 <varlistentry>
1676 <term><constant>GL_MAX_VERTEX_UNIFORM_VECTORS</constant></term>
1677 <listitem>
1678 <para>
1679 </para>
1680 <para>
1681 <parameter>params</parameter> returns one value,
1682 the maximum number of 4-vectors that may be held in uniform variable storage for the vertex
1683 shader. The value of <constant>GL_MAX_VERTEX_UNIFORM_VECTORS</constant> is equal to the
1684 value of <constant>GL_MAX_VERTEX_UNIFORM_COMPONENTS</constant> and must be at least
1685 256.
1686 </para>
1687 </listitem>
1688 </varlistentry>
1689 <varlistentry>
1690 <term><constant>GL_MAX_VERTEX_OUTPUT_COMPONENTS</constant></term>
1691 <listitem>
1692 <para>
1693 </para>
1694 <para>
1695 <parameter>params</parameter> returns one value,
1696 the maximum number of components of output written by a vertex shader, which must be at least 64.
1697 </para>
1698 </listitem>
1699 </varlistentry>
1700 <varlistentry>
1701 <term><constant>GL_MAX_VERTEX_UNIFORM_BLOCKS</constant></term>
1702 <listitem>
1703 <para>
1704 </para>
1705 <para>
1706 <parameter>params</parameter> returns one value,
1707 the maximum number of uniform blocks per vertex shader. The value must be at least 12.
1708 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
1709 </para>
1710 </listitem>
1711 </varlistentry>
1712 <varlistentry>
1713 <term><constant>GL_MAX_VIEWPORT_DIMS</constant></term>
1714 <listitem>
1715 <para>
1716 </para>
1717 <para>
1718 <parameter>params</parameter> returns two values:
1719 the maximum supported width and height of the viewport.
1720 These must be at least as large as the visible dimensions of the display
1721 being rendered to.
1722 See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
1723 </para>
1724 </listitem>
1725 </varlistentry>
1726 <varlistentry>
1727 <term><constant>GL_MAX_VIEWPORTS</constant></term>
1728 <listitem>
1729 <para>
1730 </para>
1731 <para>
1732 <parameter>params</parameter> returns one value, the maximum number
1733 of simultaneous viewports that are supported.
1734 The value must be at least 16.
1735 See <citerefentry><refentrytitle>glViewportIndexed</refentrytitle></citerefentry>.
1736 </para>
1737 </listitem>
1738 </varlistentry>
1739 <varlistentry>
1740 <term><constant>GL_MINOR_VERSION</constant></term>
1741 <listitem>
1742 <para>
1743 </para>
1744 <para>
1745 <parameter>params</parameter> returns one value,
1746 the minor version number of the OpenGL API supported by the current context.
1747 </para>
1748 </listitem>
1749 </varlistentry>
1750 <varlistentry>
1751 <term><constant>GL_NUM_COMPRESSED_TEXTURE_FORMATS</constant></term>
1752 <listitem>
1753 <para>
1754 </para>
1755 <para>
1756 <parameter>params</parameter> returns a single integer value indicating the number of available
1757 compressed texture formats. The minimum value is 4.
1758 See <citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>.
1759 </para>
1760 </listitem>
1761 </varlistentry>
1762 <varlistentry>
1763 <term><constant>GL_NUM_EXTENSIONS</constant></term>
1764 <listitem>
1765 <para>
1766 </para>
1767 <para>
1768 <parameter>params</parameter> returns one value,
1769 the number of extensions supported by the GL implementation for the current context.
1770 See <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>.
1771 </para>
1772 </listitem>
1773 </varlistentry>
1774 <varlistentry>
1775 <term><constant>GL_NUM_PROGRAM_BINARY_FORMATS</constant></term>
1776 <listitem>
1777 <para>
1778 </para>
1779 <para>
1780 <parameter>params</parameter> returns one value,
1781 the number of program binary formats supported by the implementation.
1782 </para>
1783 </listitem>
1784 </varlistentry>
1785 <varlistentry>
1786 <term><constant>GL_NUM_SHADER_BINARY_FORMATS</constant></term>
1787 <listitem>
1788 <para>
1789 </para>
1790 <para>
1791 <parameter>params</parameter> returns one value,
1792 the number of binary shader formats supported by the implementation. If this value is
1793 greater than zero, then the implementation supports loading binary shaders. If it is
1794 zero, then the loading of binary shaders by the implementation is not supported.
1795 </para>
1796 </listitem>
1797 </varlistentry>
1798 <varlistentry>
1799 <term><constant>GL_PACK_ALIGNMENT</constant></term>
1800 <listitem>
1801 <para>
1802 </para>
1803 <para>
1804 <parameter>params</parameter> returns one value,
1805 the byte alignment used for writing pixel data to memory. The initial
1806 value is 4.
1807 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1808 </para>
1809 </listitem>
1810 </varlistentry>
1811 <varlistentry>
1812 <term><constant>GL_PACK_IMAGE_HEIGHT</constant></term>
1813 <listitem>
1814 <para>
1815 </para>
1816 <para>
1817 <parameter>params</parameter> returns one value,
1818 the image height used for writing pixel data to memory. The initial
1819 value is 0.
1820 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1821 </para>
1822 </listitem>
1823 </varlistentry>
1824 <varlistentry>
1825 <term><constant>GL_PACK_LSB_FIRST</constant></term>
1826 <listitem>
1827 <para>
1828 </para>
1829 <para>
1830 <parameter>params</parameter> returns a single boolean value indicating whether single-bit
1831 pixels being written to memory are written first to the least significant
1832 bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
1833 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1834 </para>
1835 </listitem>
1836 </varlistentry>
1837 <varlistentry>
1838 <term><constant>GL_PACK_ROW_LENGTH</constant></term>
1839 <listitem>
1840 <para>
1841 </para>
1842 <para>
1843 <parameter>params</parameter> returns one value,
1844 the row length used for writing pixel data to memory. The initial value is
1845 0.
1846 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1847 </para>
1848 </listitem>
1849 </varlistentry>
1850 <varlistentry>
1851 <term><constant>GL_PACK_SKIP_IMAGES</constant></term>
1852 <listitem>
1853 <para>
1854 </para>
1855 <para>
1856 <parameter>params</parameter> returns one value,
1857 the number of pixel images skipped before the first pixel is written
1858 into memory. The initial value is 0.
1859 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1860 </para>
1861 </listitem>
1862 </varlistentry>
1863 <varlistentry>
1864 <term><constant>GL_PACK_SKIP_PIXELS</constant></term>
1865 <listitem>
1866 <para>
1867 </para>
1868 <para>
1869 <parameter>params</parameter> returns one value,
1870 the number of pixel locations skipped before the first pixel is written
1871 into memory. The initial value is 0.
1872 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1873 </para>
1874 </listitem>
1875 </varlistentry>
1876 <varlistentry>
1877 <term><constant>GL_PACK_SKIP_ROWS</constant></term>
1878 <listitem>
1879 <para>
1880 </para>
1881 <para>
1882 <parameter>params</parameter> returns one value,
1883 the number of rows of pixel locations skipped before the first pixel is written
1884 into memory. The initial value is 0.
1885 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1886 </para>
1887 </listitem>
1888 </varlistentry>
1889 <varlistentry>
1890 <term><constant>GL_PACK_SWAP_BYTES</constant></term>
1891 <listitem>
1892 <para>
1893 </para>
1894 <para>
1895 <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
1896 two-byte and four-byte pixel indices and components are swapped before being
1897 written to memory. The initial value is <constant>GL_FALSE</constant>.
1898 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
1899 </para>
1900 </listitem>
1901 </varlistentry>
1902 <varlistentry>
1903 <term><constant>GL_PIXEL_PACK_BUFFER_BINDING</constant></term>
1904 <listitem>
1905 <para>
1906 </para>
1907 <para>
1908 <parameter>params</parameter> returns a single value, the name of the buffer object
1909 currently bound to the target <constant>GL_PIXEL_PACK_BUFFER</constant>. If no buffer object
1910 is bound to this target, 0 is returned. The initial value is 0.
1911 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
1912 </para>
1913 </listitem>
1914 </varlistentry>
1915 <varlistentry>
1916 <term><constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant></term>
1917 <listitem>
1918 <para>
1919 </para>
1920 <para>
1921 <parameter>params</parameter> returns a single value, the name of the buffer object
1922 currently bound to the target <constant>GL_PIXEL_UNPACK_BUFFER</constant>. If no buffer object
1923 is bound to this target, 0 is returned. The initial value is 0.
1924 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
1925 </para>
1926 </listitem>
1927 </varlistentry>
1928 <varlistentry>
1929 <term><constant>GL_POINT_FADE_THRESHOLD_SIZE</constant></term>
1930 <listitem>
1931 <para>
1932 </para>
1933 <para>
1934 <parameter>params</parameter> returns one value,
1935 the point size threshold for determining the point size.
1936 See <citerefentry><refentrytitle>glPointParameter</refentrytitle></citerefentry>.
1937 </para>
1938 </listitem>
1939 </varlistentry>
1940 <varlistentry>
1941 <term><constant>GL_PRIMITIVE_RESTART_INDEX</constant></term>
1942 <listitem>
1943 <para>
1944 </para>
1945 <para>
1946 <parameter>params</parameter> returns one value,
1947 the current primitive restart index. The initial value is 0.
1948 See <citerefentry><refentrytitle>glPrimitiveRestartIndex</refentrytitle></citerefentry>.
1949 </para>
1950 </listitem>
1951 </varlistentry>
1952 <varlistentry>
1953 <term><constant>GL_PROGRAM_BINARY_FORMATS</constant></term>
1954 <listitem>
1955 <para>
1956 </para>
1957 <para>
1958 <parameter>params</parameter> an array of <constant>GL_NUM_PROGRAM_BINARY_FORMATS</constant> values,
1959 indicating the proram binary formats supported by the implementation.
1960 </para>
1961 </listitem>
1962 </varlistentry>
1963 <varlistentry>
1964 <term><constant>GL_PROGRAM_PIPELINE_BINDING</constant></term>
1965 <listitem>
1966 <para>
1967 </para>
1968 <para>
1969 <parameter>params</parameter> a single value, the name of the currently bound program pipeline
1970 object, or zero if no program pipeline object is bound.
1971 See <citerefentry><refentrytitle>glBindProgramPipeline</refentrytitle></citerefentry>.
1972 </para>
1973 </listitem>
1974 </varlistentry>
1975 <varlistentry>
1976 <term><constant>GL_PROVOKING_VERTEX</constant></term>
1977 <listitem>
1978 <para>
1979 </para>
1980 <para>
1981 <parameter>params</parameter> returns one value,
1982 the currently selected provoking vertex convention. The initial value is <constant>GL_LAST_VERTEX_CONVENTION</constant>.
1983 See <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
1984 </para>
1985 </listitem>
1986 </varlistentry>
1987 <varlistentry>
1988 <term><constant>GL_POINT_SIZE</constant></term>
1989 <listitem>
1990 <para>
1991 </para>
1992 <para>
1993 <parameter>params</parameter> returns one value,
1994 the point size as specified by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
1995 The initial value is 1.
1996 </para>
1997 </listitem>
1998 </varlistentry>
1999 <varlistentry>
2000 <term><constant>GL_POINT_SIZE_GRANULARITY</constant></term>
2001 <listitem>
2002 <para>
2003 </para>
2004 <para>
2005 <parameter>params</parameter> returns one value,
2006 the size difference between adjacent supported sizes for antialiased points.
2007 See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
2008 </para>
2009 </listitem>
2010 </varlistentry>
2011 <varlistentry>
2012 <term><constant>GL_POINT_SIZE_RANGE</constant></term>
2013 <listitem>
2014 <para>
2015 </para>
2016 <para>
2017 <parameter>params</parameter> returns two values:
2018 the smallest and largest supported sizes for antialiased
2019 points. The smallest size must be at most 1, and the largest size must
2020 be at least 1.
2021 See <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
2022 </para>
2023 </listitem>
2024 </varlistentry>
2025 <varlistentry>
2026 <term><constant>GL_POLYGON_OFFSET_FACTOR</constant></term>
2027 <listitem>
2028 <para>
2029 </para>
2030 <para>
2031 <parameter>params</parameter> returns one value,
2032 the scaling factor used to determine the variable offset that is added
2033 to the depth value of each fragment generated when a polygon is
2034 rasterized. The initial value is 0.
2035 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2036 </para>
2037 </listitem>
2038 </varlistentry>
2039 <varlistentry>
2040 <term><constant>GL_POLYGON_OFFSET_UNITS</constant></term>
2041 <listitem>
2042 <para>
2043 </para>
2044 <para>
2045 <parameter>params</parameter> returns one value.
2046 This value is multiplied by an implementation-specific value and then
2047 added to the depth value of each fragment
2048 generated when a polygon is rasterized. The initial value is 0.
2049 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2050 </para>
2051 </listitem>
2052 </varlistentry>
2053 <varlistentry>
2054 <term><constant>GL_POLYGON_OFFSET_FILL</constant></term>
2055 <listitem>
2056 <para>
2057 </para>
2058 <para>
2059 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2060 is enabled for polygons in fill mode. The initial value is <constant>GL_FALSE</constant>.
2061 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2062 </para>
2063 </listitem>
2064 </varlistentry>
2065 <varlistentry>
2066 <term><constant>GL_POLYGON_OFFSET_LINE</constant></term>
2067 <listitem>
2068 <para>
2069 </para>
2070 <para>
2071 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2072 is enabled for polygons in line mode. The initial value is <constant>GL_FALSE</constant>.
2073 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2074 </para>
2075 </listitem>
2076 </varlistentry>
2077 <varlistentry>
2078 <term><constant>GL_POLYGON_OFFSET_POINT</constant></term>
2079 <listitem>
2080 <para>
2081 </para>
2082 <para>
2083 <parameter>params</parameter> returns a single boolean value indicating whether polygon offset
2084 is enabled for polygons in point mode. The initial value is <constant>GL_FALSE</constant>.
2085 See <citerefentry><refentrytitle>glPolygonOffset</refentrytitle></citerefentry>.
2086 </para>
2087 </listitem>
2088 </varlistentry>
2089 <varlistentry>
2090 <term><constant>GL_POLYGON_SMOOTH</constant></term>
2091 <listitem>
2092 <para>
2093 </para>
2094 <para>
2095 <parameter>params</parameter> returns a single boolean value indicating whether antialiasing of
2096 polygons is enabled. The initial value is <constant>GL_FALSE</constant>.
2097 See <citerefentry><refentrytitle>glPolygonMode</refentrytitle></citerefentry>.
2098 </para>
2099 </listitem>
2100 </varlistentry>
2101 <varlistentry>
2102 <term><constant>GL_POLYGON_SMOOTH_HINT</constant></term>
2103 <listitem>
2104 <para>
2105 </para>
2106 <para>
2107 <parameter>params</parameter> returns one value,
2108 a symbolic constant indicating the mode of the polygon antialiasing
2109 hint. The initial value is <constant>GL_DONT_CARE</constant>.
2110 See <citerefentry><refentrytitle>glHint</refentrytitle></citerefentry>.
2111 </para>
2112 </listitem>
2113 </varlistentry>
2114 <varlistentry>
2115 <term><constant>GL_READ_BUFFER</constant></term>
2116 <listitem>
2117 <para>
2118 </para>
2119 <para>
2120 <parameter>params</parameter> returns one value,
2121 a symbolic constant indicating which color buffer is selected for
2122 reading. The initial value is <constant>GL_BACK</constant> if there is a back buffer,
2123 otherwise it is <constant>GL_FRONT</constant>.
2124 See
2125 <citerefentry><refentrytitle>glReadPixels</refentrytitle></citerefentry>.
2126 </para>
2127 </listitem>
2128 </varlistentry>
2129 <varlistentry>
2130 <term><constant>GL_RENDERBUFFER_BINDING</constant></term>
2131 <listitem>
2132 <para>
2133 </para>
2134 <para>
2135 <parameter>params</parameter> returns a single value, the name of the renderbuffer object
2136 currently bound to the target <constant>GL_RENDERBUFFER</constant>. If no renderbuffer object
2137 is bound to this target, 0 is returned. The initial value is 0.
2138 See <citerefentry><refentrytitle>glBindRenderbuffer</refentrytitle></citerefentry>.
2139 </para>
2140 </listitem>
2141 </varlistentry>
2142 <varlistentry>
2143 <term><constant>GL_SAMPLE_BUFFERS</constant></term>
2144 <listitem>
2145 <para>
2146 </para>
2147 <para>
2148 <parameter>params</parameter> returns a single integer value indicating the number of sample buffers
2149 associated with the framebuffer.
2150 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2151 </para>
2152 </listitem>
2153 </varlistentry>
2154 <varlistentry>
2155 <term><constant>GL_SAMPLE_COVERAGE_VALUE</constant></term>
2156 <listitem>
2157 <para>
2158 </para>
2159 <para>
2160 <parameter>params</parameter> returns a single positive floating-point value indicating the
2161 current sample coverage value.
2162 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2163 </para>
2164 </listitem>
2165 </varlistentry>
2166 <varlistentry>
2167 <term><constant>GL_SAMPLE_COVERAGE_INVERT</constant></term>
2168 <listitem>
2169 <para>
2170 </para>
2171 <para>
2172 <parameter>params</parameter> returns a single boolean value indicating if the temporary
2173 coverage value should be inverted.
2174 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2175 </para>
2176 </listitem>
2177 </varlistentry>
2178 <varlistentry>
2179 <term><constant>GL_SAMPLER_BINDING</constant></term>
2180 <listitem>
2181 <para>
2182 </para>
2183 <para>
2184 <parameter>params</parameter> returns a single value, the name of the sampler object
2185 currently bound to the active texture unit. The initial value is 0.
2186 See <citerefentry><refentrytitle>glBindSampler</refentrytitle></citerefentry>.
2187 </para>
2188 </listitem>
2189 </varlistentry>
2190 <varlistentry>
2191 <term><constant>GL_SAMPLES</constant></term>
2192 <listitem>
2193 <para>
2194 </para>
2195 <para>
2196 <parameter>params</parameter> returns a single integer value indicating the coverage mask size.
2197 See <citerefentry><refentrytitle>glSampleCoverage</refentrytitle></citerefentry>.
2198 </para>
2199 </listitem>
2200 </varlistentry>
2201 <varlistentry>
2202 <term><constant>GL_SCISSOR_BOX</constant></term>
2203 <listitem>
2204 <para>
2205 </para>
2206 <para>
2207 <parameter>params</parameter> returns four values:
2208 the
2209 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
2210 and
2211 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
2212 window coordinates of the scissor box,
2213 followed by its width and height.
2214 Initially the
2215 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
2216 and
2217 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
2218 window coordinates are both 0 and the
2219 width and height are set to the size of the window.
2220 See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
2221 </para>
2222 </listitem>
2223 </varlistentry>
2224 <varlistentry>
2225 <term><constant>GL_SCISSOR_TEST</constant></term>
2226 <listitem>
2227 <para>
2228 </para>
2229 <para>
2230 <parameter>params</parameter> returns a single boolean value indicating whether scissoring is
2231 enabled. The initial value is <constant>GL_FALSE</constant>.
2232 See <citerefentry><refentrytitle>glScissor</refentrytitle></citerefentry>.
2233 </para>
2234 </listitem>
2235 </varlistentry>
2236 <varlistentry>
2237 <term><constant>GL_SHADER_COMPILER</constant></term>
2238 <listitem>
2239 <para>
2240 </para>
2241 <para>
2242 <parameter>params</parameter> returns a single boolean value indicating whether an online shader
2243 compiler is present in the implementation. All desktop OpenGL implementations must support
2244 online shader compilations, and therefore the value of <constant>GL_SHADER_COMPILER</constant>
2245 will always be <constant>GL_TRUE</constant>.
2246 </para>
2247 </listitem>
2248 </varlistentry>
2249 <varlistentry>
2250 <term><constant>GL_SHADER_STORAGE_BUFFER_BINDING</constant></term>
2251 <listitem>
2252 <para>
2253 </para>
2254 <para>
2255 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2256 <parameter>params</parameter> returns a single value, the name of the buffer object
2257 currently bound to the target <constant>GL_SHADER_STORAGE_BUFFER</constant>. If no buffer object
2258 is bound to this target, 0 is returned.
2259 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2260 <parameter>params</parameter> returns a single value, the name of the buffer object
2261 bound to the indexed shader storage buffer binding points. The initial value is 0 for all targets.
2262 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2263 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2264 </para>
2265 </listitem>
2266 </varlistentry>
2267 <varlistentry>
2268 <term><constant>GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT</constant></term>
2269 <listitem>
2270 <para>
2271 </para>
2272 <para>
2273 <parameter>params</parameter> returns a single value, the minimum required alignment
2274 for shader storage buffer sizes and offset. The initial value is 1.
2275 See <citerefentry><refentrytitle>glShaderStorateBlockBinding</refentrytitle></citerefentry>.
2276 </para>
2277 </listitem>
2278 </varlistentry>
2279 <varlistentry>
2280 <term><constant>GL_SHADER_STORAGE_BUFFER_START</constant></term>
2281 <listitem>
2282 <para>
2283 </para>
2284 <para>
2285 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2286 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2287 indexed shader storage buffer binding. The initial value is 0 for all bindings.
2288 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2289 </para>
2290 </listitem>
2291 </varlistentry>
2292 <varlistentry>
2293 <term><constant>GL_SHADER_STORAGE_BUFFER_SIZE</constant></term>
2294 <listitem>
2295 <para>
2296 </para>
2297 <para>
2298 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2299 <parameter>params</parameter> returns a single value, the size of the binding range for each
2300 indexed shader storage buffer binding. The initial value is 0 for all bindings.
2301 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2302 </para>
2303 </listitem>
2304 </varlistentry>
2305 <varlistentry>
2306 <term><constant>GL_SMOOTH_LINE_WIDTH_RANGE</constant></term>
2307 <listitem>
2308 <para>
2309 </para>
2310 <para>
2311 <parameter>params</parameter> returns a pair of values indicating the range of
2312 widths supported for smooth (antialiased) lines. See <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>.
2313 </para>
2314 </listitem>
2315 </varlistentry>
2316 <varlistentry>
2317 <term><constant>GL_SMOOTH_LINE_WIDTH_GRANULARITY</constant></term>
2318 <listitem>
2319 <para>
2320 </para>
2321 <para>
2322 <parameter>params</parameter> returns a single value indicating the level of
2323 quantization applied to smooth line width parameters.
2324 </para>
2325 </listitem>
2326 </varlistentry>
2327 <varlistentry>
2328 <term><constant>GL_STENCIL_BACK_FAIL</constant></term>
2329 <listitem>
2330 <para>
2331 </para>
2332 <para>
2333 <parameter>params</parameter> returns one value,
2334 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2335 test fails. The initial value is <constant>GL_KEEP</constant>.
2336 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2337 </para>
2338 </listitem>
2339 </varlistentry>
2340 <varlistentry>
2341 <term><constant>GL_STENCIL_BACK_FUNC</constant></term>
2342 <listitem>
2343 <para>
2344 </para>
2345 <para>
2346 <parameter>params</parameter> returns one value,
2347 a symbolic constant indicating what function is used for back-facing polygons to compare the
2348 stencil reference value with the stencil buffer value. The initial value
2349 is <constant>GL_ALWAYS</constant>.
2350 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2351 </para>
2352 </listitem>
2353 </varlistentry>
2354 <varlistentry>
2355 <term><constant>GL_STENCIL_BACK_PASS_DEPTH_FAIL</constant></term>
2356 <listitem>
2357 <para>
2358 </para>
2359 <para>
2360 <parameter>params</parameter> returns one value,
2361 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2362 test passes,
2363 but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
2364 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2365 </para>
2366 </listitem>
2367 </varlistentry>
2368 <varlistentry>
2369 <term><constant>GL_STENCIL_BACK_PASS_DEPTH_PASS</constant></term>
2370 <listitem>
2371 <para>
2372 </para>
2373 <para>
2374 <parameter>params</parameter> returns one value,
2375 a symbolic constant indicating what action is taken for back-facing polygons when the stencil
2376 test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
2377 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2378 </para>
2379 </listitem>
2380 </varlistentry>
2381 <varlistentry>
2382 <term><constant>GL_STENCIL_BACK_REF</constant></term>
2383 <listitem>
2384 <para>
2385 </para>
2386 <para>
2387 <parameter>params</parameter> returns one value,
2388 the reference value that is compared with the contents of the stencil
2389 buffer for back-facing polygons. The initial value is 0.
2390 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2391 </para>
2392 </listitem>
2393 </varlistentry>
2394 <varlistentry>
2395 <term><constant>GL_STENCIL_BACK_VALUE_MASK</constant></term>
2396 <listitem>
2397 <para>
2398 </para>
2399 <para>
2400 <parameter>params</parameter> returns one value,
2401 the mask that is used for back-facing polygons to mask both the stencil reference value and the
2402 stencil buffer value before they are compared. The initial value is all 1's.
2403 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2404 </para>
2405 </listitem>
2406 </varlistentry>
2407 <varlistentry>
2408 <term><constant>GL_STENCIL_BACK_WRITEMASK</constant></term>
2409 <listitem>
2410 <para>
2411 </para>
2412 <para>
2413 <parameter>params</parameter> returns one value,
2414 the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value
2415 is all 1's.
2416 See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
2417 </para>
2418 </listitem>
2419 </varlistentry>
2420 <varlistentry>
2421 <term><constant>GL_STENCIL_CLEAR_VALUE</constant></term>
2422 <listitem>
2423 <para>
2424 </para>
2425 <para>
2426 <parameter>params</parameter> returns one value,
2427 the index to which the stencil bitplanes are cleared. The initial value is
2428 0.
2429 See <citerefentry><refentrytitle>glClearStencil</refentrytitle></citerefentry>.
2430 </para>
2431 </listitem>
2432 </varlistentry>
2433 <varlistentry>
2434 <term><constant>GL_STENCIL_FAIL</constant></term>
2435 <listitem>
2436 <para>
2437 </para>
2438 <para>
2439 <parameter>params</parameter> returns one value,
2440 a symbolic constant indicating what action is taken when the stencil
2441 test fails. The initial value is <constant>GL_KEEP</constant>.
2442 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2443 This stencil state only affects non-polygons
2444 and front-facing polygons. Back-facing polygons use separate stencil state.
2445 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2446 </para>
2447 </listitem>
2448 </varlistentry>
2449 <varlistentry>
2450 <term><constant>GL_STENCIL_FUNC</constant></term>
2451 <listitem>
2452 <para>
2453 </para>
2454 <para>
2455 <parameter>params</parameter> returns one value,
2456 a symbolic constant indicating what function is used to compare the
2457 stencil reference value with the stencil buffer value. The initial value
2458 is <constant>GL_ALWAYS</constant>.
2459 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2460 This stencil state only affects non-polygons
2461 and front-facing polygons. Back-facing polygons use separate stencil state.
2462 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2463 </para>
2464 </listitem>
2465 </varlistentry>
2466 <varlistentry>
2467 <term><constant>GL_STENCIL_PASS_DEPTH_FAIL</constant></term>
2468 <listitem>
2469 <para>
2470 </para>
2471 <para>
2472 <parameter>params</parameter> returns one value,
2473 a symbolic constant indicating what action is taken when the stencil
2474 test passes,
2475 but the depth test fails. The initial value is <constant>GL_KEEP</constant>.
2476 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2477 This stencil state only affects non-polygons
2478 and front-facing polygons. Back-facing polygons use separate stencil state.
2479 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2480 </para>
2481 </listitem>
2482 </varlistentry>
2483 <varlistentry>
2484 <term><constant>GL_STENCIL_PASS_DEPTH_PASS</constant></term>
2485 <listitem>
2486 <para>
2487 </para>
2488 <para>
2489 <parameter>params</parameter> returns one value,
2490 a symbolic constant indicating what action is taken when the stencil
2491 test passes and the depth test passes. The initial value is <constant>GL_KEEP</constant>.
2492 See <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2493 This stencil state only affects non-polygons
2494 and front-facing polygons. Back-facing polygons use separate stencil state.
2495 See <citerefentry><refentrytitle>glStencilOpSeparate</refentrytitle></citerefentry>.
2496 </para>
2497 </listitem>
2498 </varlistentry>
2499 <varlistentry>
2500 <term><constant>GL_STENCIL_REF</constant></term>
2501 <listitem>
2502 <para>
2503 </para>
2504 <para>
2505 <parameter>params</parameter> returns one value,
2506 the reference value that is compared with the contents of the stencil
2507 buffer. The initial value is 0.
2508 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2509 This stencil state only affects non-polygons
2510 and front-facing polygons. Back-facing polygons use separate stencil state.
2511 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2512 </para>
2513 </listitem>
2514 </varlistentry>
2515 <varlistentry>
2516 <term><constant>GL_STENCIL_TEST</constant></term>
2517 <listitem>
2518 <para>
2519 </para>
2520 <para>
2521 <parameter>params</parameter> returns a single boolean value indicating whether stencil testing
2522 of fragments is enabled. The initial value is <constant>GL_FALSE</constant>.
2523 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glStencilOp</refentrytitle></citerefentry>.
2524 </para>
2525 </listitem>
2526 </varlistentry>
2527 <varlistentry>
2528 <term><constant>GL_STENCIL_VALUE_MASK</constant></term>
2529 <listitem>
2530 <para>
2531 </para>
2532 <para>
2533 <parameter>params</parameter> returns one value,
2534 the mask that is used to mask both the stencil reference value and the
2535 stencil buffer value before they are compared. The initial value is all 1's.
2536 See <citerefentry><refentrytitle>glStencilFunc</refentrytitle></citerefentry>.
2537 This stencil state only affects non-polygons
2538 and front-facing polygons. Back-facing polygons use separate stencil state.
2539 See <citerefentry><refentrytitle>glStencilFuncSeparate</refentrytitle></citerefentry>.
2540 </para>
2541 </listitem>
2542 </varlistentry>
2543 <varlistentry>
2544 <term><constant>GL_STENCIL_WRITEMASK</constant></term>
2545 <listitem>
2546 <para>
2547 </para>
2548 <para>
2549 <parameter>params</parameter> returns one value,
2550 the mask that controls writing of the stencil bitplanes. The initial value
2551 is all 1's.
2552 See <citerefentry><refentrytitle>glStencilMask</refentrytitle></citerefentry>.
2553 This stencil state only affects non-polygons
2554 and front-facing polygons. Back-facing polygons use separate stencil state.
2555 See <citerefentry><refentrytitle>glStencilMaskSeparate</refentrytitle></citerefentry>.
2556 </para>
2557 </listitem>
2558 </varlistentry>
2559 <varlistentry>
2560 <term><constant>GL_STEREO</constant></term>
2561 <listitem>
2562 <para>
2563 </para>
2564 <para>
2565 <parameter>params</parameter> returns a single boolean value indicating whether stereo buffers
2566 (left and right) are supported.
2567 </para>
2568 </listitem>
2569 </varlistentry>
2570 <varlistentry>
2571 <term><constant>GL_SUBPIXEL_BITS</constant></term>
2572 <listitem>
2573 <para>
2574 </para>
2575 <para>
2576 <parameter>params</parameter> returns one value,
2577 an estimate of the number of bits of subpixel resolution that are used to
2578 position rasterized geometry in window coordinates. The value must be at least 4.
2579 </para>
2580 </listitem>
2581 </varlistentry>
2582 <varlistentry>
2583 <term><constant>GL_TEXTURE_BINDING_1D</constant></term>
2584 <listitem>
2585 <para>
2586 </para>
2587 <para>
2588 <parameter>params</parameter> returns a single value, the name of the texture
2589 currently bound to the target <constant>GL_TEXTURE_1D</constant>. The initial value is 0.
2590 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2591 </para>
2592 </listitem>
2593 </varlistentry>
2594 <varlistentry>
2595 <term><constant>GL_TEXTURE_BINDING_1D_ARRAY</constant></term>
2596 <listitem>
2597 <para>
2598 </para>
2599 <para>
2600 <parameter>params</parameter> returns a single value, the name of the texture
2601 currently bound to the target <constant>GL_TEXTURE_1D_ARRAY</constant>. The initial value is 0.
2602 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2603 </para>
2604 </listitem>
2605 </varlistentry>
2606 <varlistentry>
2607 <term><constant>GL_TEXTURE_BINDING_2D</constant></term>
2608 <listitem>
2609 <para>
2610 </para>
2611 <para>
2612 <parameter>params</parameter> returns a single value, the name of the texture
2613 currently bound to the target <constant>GL_TEXTURE_2D</constant>. The initial value is 0.
2614 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2615 </para>
2616 </listitem>
2617 </varlistentry>
2618 <varlistentry>
2619 <term><constant>GL_TEXTURE_BINDING_2D_ARRAY</constant></term>
2620 <listitem>
2621 <para>
2622 </para>
2623 <para>
2624 <parameter>params</parameter> returns a single value, the name of the texture
2625 currently bound to the target <constant>GL_TEXTURE_2D_ARRAY</constant>. The initial value is 0.
2626 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2627 </para>
2628 </listitem>
2629 </varlistentry>
2630 <varlistentry>
2631 <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE</constant></term>
2632 <listitem>
2633 <para>
2634 </para>
2635 <para>
2636 <parameter>params</parameter> returns a single value, the name of the texture
2637 currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE</constant>. The initial value is 0.
2638 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2639 </para>
2640 </listitem>
2641 </varlistentry>
2642 <varlistentry>
2643 <term><constant>GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY</constant></term>
2644 <listitem>
2645 <para>
2646 </para>
2647 <para>
2648 <parameter>params</parameter> returns a single value, the name of the texture
2649 currently bound to the target <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>. The initial value is 0.
2650 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2651 </para>
2652 </listitem>
2653 </varlistentry>
2654 <varlistentry>
2655 <term><constant>GL_TEXTURE_BINDING_3D</constant></term>
2656 <listitem>
2657 <para>
2658 </para>
2659 <para>
2660 <parameter>params</parameter> returns a single value, the name of the texture
2661 currently bound to the target <constant>GL_TEXTURE_3D</constant>. The initial value is 0.
2662 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2663 </para>
2664 </listitem>
2665 </varlistentry>
2666 <varlistentry>
2667 <term><constant>GL_TEXTURE_BINDING_BUFFER</constant></term>
2668 <listitem>
2669 <para>
2670 </para>
2671 <para>
2672 <parameter>params</parameter> returns a single value, the name of the texture
2673 currently bound to the target <constant>GL_TEXTURE_BUFFER</constant>. The initial value is 0.
2674 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2675 </para>
2676 </listitem>
2677 </varlistentry>
2678 <varlistentry>
2679 <term><constant>GL_TEXTURE_BINDING_CUBE_MAP</constant></term>
2680 <listitem>
2681 <para>
2682 </para>
2683 <para>
2684 <parameter>params</parameter> returns a single value, the name of the texture
2685 currently bound to the target <constant>GL_TEXTURE_CUBE_MAP</constant>. The initial value is 0.
2686 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2687 </para>
2688 </listitem>
2689 </varlistentry>
2690 <varlistentry>
2691 <term><constant>GL_TEXTURE_BINDING_RECTANGLE</constant></term>
2692 <listitem>
2693 <para>
2694 </para>
2695 <para>
2696 <parameter>params</parameter> returns a single value, the name of the texture
2697 currently bound to the target <constant>GL_TEXTURE_RECTANGLE</constant>. The initial value is 0.
2698 See <citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>.
2699 </para>
2700 </listitem>
2701 </varlistentry>
2702 <varlistentry>
2703 <term><constant>GL_TEXTURE_COMPRESSION_HINT</constant></term>
2704 <listitem>
2705 <para>
2706 </para>
2707 <para>
2708 <parameter>params</parameter> returns a single value indicating the mode of the texture
2709 compression hint. The initial value is <constant>GL_DONT_CARE</constant>.
2710 </para>
2711 </listitem>
2712 </varlistentry>
2713 <varlistentry>
2714 <term><constant>GL_TEXTURE_BUFFER_BINDING</constant></term>
2715 <listitem>
2716 <para>
2717 </para>
2718 <para>
2719 <parameter>params</parameter> returns a single value, the name of the buffer object
2720 currently bound to the <constant>GL_TEXTURE_BUFFER</constant> buffer binding point. The initial value is 0.
2721 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>.
2722 </para>
2723 </listitem>
2724 </varlistentry>
2725 <varlistentry>
2726 <term><constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant></term>
2727 <listitem>
2728 <para>
2729 </para>
2730 <para>
2731 <parameter>params</parameter> returns a single value, the minimum required alignment
2732 for texture buffer sizes and offset. The initial value is 1.
2733 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
2734 </para>
2735 </listitem>
2736 </varlistentry>
2737 <varlistentry>
2738 <term><constant>GL_TIMESTAMP</constant></term>
2739 <listitem>
2740 <para>
2741 </para>
2742 <para>
2743 <parameter>params</parameter> returns a single value, the 64-bit value of the current
2744 GL time.
2745 See <citerefentry><refentrytitle>glQueryCounter</refentrytitle></citerefentry>.
2746 </para>
2747 </listitem>
2748 </varlistentry>
2749 <varlistentry>
2750 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_BINDING</constant></term>
2751 <listitem>
2752 <para>
2753 </para>
2754 <para>
2755 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2756 <parameter>params</parameter> returns a single value, the name of the buffer object
2757 currently bound to the target <constant>GL_TRANSFORM_FEEDBACK_BUFFER</constant>. If no buffer object
2758 is bound to this target, 0 is returned.
2759 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2760 <parameter>params</parameter> returns a single value, the name of the buffer object
2761 bound to the indexed transform feedback attribute stream. The initial value is 0 for all targets.
2762 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2763 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2764 </para>
2765 </listitem>
2766 </varlistentry>
2767 <varlistentry>
2768 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_START</constant></term>
2769 <listitem>
2770 <para>
2771 </para>
2772 <para>
2773 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2774 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2775 transform feedback attribute stream. The initial value is 0 for all streams.
2776 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2777 </para>
2778 </listitem>
2779 </varlistentry>
2780 <varlistentry>
2781 <term><constant>GL_TRANSFORM_FEEDBACK_BUFFER_SIZE</constant></term>
2782 <listitem>
2783 <para>
2784 </para>
2785 <para>
2786 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2787 <parameter>params</parameter> returns a single value, the size of the binding range for each
2788 transform feedback attribute stream. The initial value is 0 for all streams.
2789 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2790 </para>
2791 </listitem>
2792 </varlistentry>
2793 <varlistentry>
2794 <term><constant>GL_UNIFORM_BUFFER_BINDING</constant></term>
2795 <listitem>
2796 <para>
2797 </para>
2798 <para>
2799 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
2800 <parameter>params</parameter> returns a single value, the name of the buffer object
2801 currently bound to the target <constant>GL_UNIFORM_BUFFER</constant>. If no buffer object
2802 is bound to this target, 0 is returned.
2803 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
2804 <parameter>params</parameter> returns a single value, the name of the buffer object
2805 bound to the indexed uniform buffer binding point. The initial value is 0 for all targets.
2806 See <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glBindBufferBase</refentrytitle></citerefentry>, and
2807 <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2808 </para>
2809 </listitem>
2810 </varlistentry>
2811 <varlistentry>
2812 <term><constant>GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT</constant></term>
2813 <listitem>
2814 <para>
2815 </para>
2816 <para>
2817 <parameter>params</parameter> returns a single value, the minimum required alignment
2818 for uniform buffer sizes and offset. The initial value is 1.
2819 See <citerefentry><refentrytitle>glUniformBlockBinding</refentrytitle></citerefentry>.
2820 </para>
2821 </listitem>
2822 </varlistentry>
2823 <varlistentry>
2824 <term><constant>GL_UNIFORM_BUFFER_SIZE</constant></term>
2825 <listitem>
2826 <para>
2827 </para>
2828 <para>
2829 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2830 <parameter>params</parameter> returns a single value, the size of the binding range for each
2831 indexed uniform buffer binding. The initial value is 0 for all bindings.
2832 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2833 </para>
2834 </listitem>
2835 </varlistentry>
2836 <varlistentry>
2837 <term><constant>GL_UNIFORM_BUFFER_START</constant></term>
2838 <listitem>
2839 <para>
2840 </para>
2841 <para>
2842 When used with indexed variants of <function>glGet</function> (such as <function>glGetInteger64i_v</function>),
2843 <parameter>params</parameter> returns a single value, the start offset of the binding range for each
2844 indexed uniform buffer binding. The initial value is 0 for all bindings.
2845 See <citerefentry><refentrytitle>glBindBufferRange</refentrytitle></citerefentry>.
2846 </para>
2847 </listitem>
2848 </varlistentry>
2849 <varlistentry>
2850 <term><constant>GL_UNPACK_ALIGNMENT</constant></term>
2851 <listitem>
2852 <para>
2853 </para>
2854 <para>
2855 <parameter>params</parameter> returns one value,
2856 the byte alignment used for reading pixel data from memory. The initial
2857 value is 4.
2858 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2859 </para>
2860 </listitem>
2861 </varlistentry>
2862 <varlistentry>
2863 <term><constant>GL_UNPACK_IMAGE_HEIGHT</constant></term>
2864 <listitem>
2865 <para>
2866 </para>
2867 <para>
2868 <parameter>params</parameter> returns one value,
2869 the image height used for reading pixel data from memory. The initial
2870 is 0.
2871 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2872 </para>
2873 </listitem>
2874 </varlistentry>
2875 <varlistentry>
2876 <term><constant>GL_UNPACK_LSB_FIRST</constant></term>
2877 <listitem>
2878 <para>
2879 </para>
2880 <para>
2881 <parameter>params</parameter> returns a single boolean value indicating whether single-bit
2882 pixels being read from memory are read first from the least significant
2883 bit of each unsigned byte. The initial value is <constant>GL_FALSE</constant>.
2884 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2885 </para>
2886 </listitem>
2887 </varlistentry>
2888 <varlistentry>
2889 <term><constant>GL_UNPACK_ROW_LENGTH</constant></term>
2890 <listitem>
2891 <para>
2892 </para>
2893 <para>
2894 <parameter>params</parameter> returns one value,
2895 the row length used for reading pixel data from memory. The initial value
2896 is 0.
2897 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2898 </para>
2899 </listitem>
2900 </varlistentry>
2901 <varlistentry>
2902 <term><constant>GL_UNPACK_SKIP_IMAGES</constant></term>
2903 <listitem>
2904 <para>
2905 </para>
2906 <para>
2907 <parameter>params</parameter> returns one value,
2908 the number of pixel images skipped before the first pixel is read
2909 from memory. The initial value is 0.
2910 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2911 </para>
2912 </listitem>
2913 </varlistentry>
2914 <varlistentry>
2915 <term><constant>GL_UNPACK_SKIP_PIXELS</constant></term>
2916 <listitem>
2917 <para>
2918 </para>
2919 <para>
2920 <parameter>params</parameter> returns one value,
2921 the number of pixel locations skipped before the first pixel is read
2922 from memory. The initial value is 0.
2923 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2924 </para>
2925 </listitem>
2926 </varlistentry>
2927 <varlistentry>
2928 <term><constant>GL_UNPACK_SKIP_ROWS</constant></term>
2929 <listitem>
2930 <para>
2931 </para>
2932 <para>
2933 <parameter>params</parameter> returns one value,
2934 the number of rows of pixel locations skipped before the first pixel is read
2935 from memory. The initial value is 0.
2936 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2937 </para>
2938 </listitem>
2939 </varlistentry>
2940 <varlistentry>
2941 <term><constant>GL_UNPACK_SWAP_BYTES</constant></term>
2942 <listitem>
2943 <para>
2944 </para>
2945 <para>
2946 <parameter>params</parameter> returns a single boolean value indicating whether the bytes of
2947 two-byte and four-byte pixel indices and components are swapped after being
2948 read from memory. The initial value is <constant>GL_FALSE</constant>.
2949 See <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>.
2950 </para>
2951 </listitem>
2952 </varlistentry>
2953 <varlistentry>
2954 <term><constant>GL_VERTEX_PROGRAM_POINT_SIZE</constant></term>
2955 <listitem>
2956 <para>
2957 </para>
2958 <para>
2959 <parameter>params</parameter> returns a single boolean value indicating whether vertex
2960 program point size mode is enabled. If enabled, and a vertex shader is active, then the
2961 point size is taken from the shader built-in <code>gl_PointSize</code>. If disabled,
2962 and a vertex shader is active, then the point size is taken from the point state as specified
2963 by <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>.
2964 The initial value is <constant>GL_FALSE</constant>.
2965 </para>
2966 </listitem>
2967 </varlistentry>
2968 <varlistentry>
2969 <term><constant>GL_VERTEX_BINDING_DIVISOR</constant></term>
2970 <listitem>
2971 <para>
2972 </para>
2973 <para>
2974 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the instance step
2975 divisor of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2976 </para>
2977 </listitem>
2978 </varlistentry>
2979 <varlistentry>
2980 <term><constant>GL_VERTEX_BINDING_OFFSET</constant></term>
2981 <listitem>
2982 <para>
2983 </para>
2984 <para>
2985 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
2986 of the first element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2987 </para>
2988 </listitem>
2989 </varlistentry>
2990 <varlistentry>
2991 <term><constant>GL_VERTEX_BINDING_STRIDE</constant></term>
2992 <listitem>
2993 <para>
2994 </para>
2995 <para>
2996 Accepted by the indexed forms. <parameter>params</parameter> returns a single integer value representing the byte offset
2997 between the start of each element in the bound buffer's data store for vertex attribute bound to <parameter>index</parameter>.
2998 </para>
2999 </listitem>
3000 </varlistentry>
3001 <varlistentry>
3002 <term><constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant></term>
3003 <listitem>
3004 <para>
3005 </para>
3006 <para>
3007 <parameter>params</parameter> returns a single integer value containing the maximum offset that may be added to a vertex binding
3008 offset.
3009 </para>
3010 </listitem>
3011 </varlistentry>
3012 <varlistentry>
3013 <term><constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant></term>
3014 <listitem>
3015 <para>
3016 </para>
3017 <para>
3018 <parameter>params</parameter> returns a single integer value containing the maximum number of vertex buffers that may be bound.
3019 </para>
3020 </listitem>
3021 </varlistentry>
3022 <varlistentry>
3023 <term><constant>GL_VIEWPORT</constant></term>
3024 <listitem>
3025 <para>
3026 </para>
3027 <para>
3028 When used with non-indexed variants of <function>glGet</function> (such as <function>glGetIntegerv</function>),
3029 <parameter>params</parameter> returns four values:
3030 the
3031 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3032 and
3033 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3034 window coordinates of the viewport, followed by its width and height.
3035 Initially the
3036 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3037 and
3038 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3039 window coordinates are both set to 0,
3040 and the width and height are set to the width and height of the window into
3041 which the GL will do its rendering.
3042 See <citerefentry><refentrytitle>glViewport</refentrytitle></citerefentry>.
3043
3044 When used with indexed variants of <function>glGet</function> (such as <function>glGetIntegeri_v</function>),
3045 <parameter>params</parameter> returns four values:
3046 the
3047 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3048 and
3049 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3050 window coordinates of the indexed viewport, followed by its width and height.
3051 Initially the
3052 <inlineequation><mml:math><mml:mi mathvariant="italic">x</mml:mi></mml:math></inlineequation>
3053 and
3054 <inlineequation><mml:math><mml:mi mathvariant="italic">y</mml:mi></mml:math></inlineequation>
3055 window coordinates are both set to 0,
3056 and the width and height are set to the width and height of the window into
3057 which the GL will do its rendering.
3058 See <citerefentry><refentrytitle>glViewportIndexedf</refentrytitle></citerefentry>.
3059 </para>
3060 </listitem>
3061 </varlistentry>
3062 <varlistentry>
3063 <term><constant>GL_VIEWPORT_BOUNDS_RANGE</constant></term>
3064 <listitem>
3065 <para>
3066 </para>
3067 <para>
3068 <parameter>params</parameter> returns two values, the minimum and maximum viewport bounds range.
3069 The minimum range should be at least [-32768, 32767].
3070 </para>
3071 </listitem>
3072 </varlistentry>
3073 <varlistentry>
3074 <term><constant>GL_VIEWPORT_INDEX_PROVOKING_VERTEX</constant></term>
3075 <listitem>
3076 <para>
3077 </para>
3078 <para>
3079 <parameter>params</parameter> returns one value,
3080 the implementation dependent specifc vertex of a primitive that is used to select the viewport index.
3081 If the value returned is equivalent to <constant>GL_PROVOKING_VERTEX</constant>, then the vertex
3082 selection follows the convention specified by
3083 <citerefentry><refentrytitle>glProvokingVertex</refentrytitle></citerefentry>.
3084 If the value returned is equivalent to <constant>GL_FIRST_VERTEX_CONVENTION</constant>, then the
3085 selection is always taken from the first vertex in the primitive.
3086 If the value returned is equivalent to <constant>GL_LAST_VERTEX_CONVENTION</constant>, then the
3087 selection is always taken from the last vertex in the primitive.
3088 If the value returned is equivalent to <constant>GL_UNDEFINED_VERTEX</constant>, then the
3089 selection is not guaranteed to be taken from any specific vertex in the primitive.
3090 </para>
3091 </listitem>
3092 </varlistentry>
3093 <varlistentry>
3094 <term><constant>GL_VIEWPORT_SUBPIXEL_BITS</constant></term>
3095 <listitem>
3096 <para>
3097 </para>
3098 <para>
3099 <parameter>params</parameter> returns a single value, the number of bits of sub-pixel precision which the GL
3100 uses to interpret the floating point viewport bounds. The minimum value is 0.
3101 </para>
3102 </listitem>
3103 </varlistentry>
3104 <varlistentry>
3105 <term><constant>GL_MAX_ELEMENT_INDEX</constant></term>
3106 <listitem>
3107 <para>
3108 </para>
3109 <para>
3110 <parameter>params</parameter> returns a single value, the maximum index that may be specified during the
3111 transfer of generic vertex attributes to the GL.
3112 </para>
3113 </listitem>
3114 </varlistentry>
3115 </variablelist>
3116 <para>
3117 Many of the boolean parameters can also be queried more easily using
3118 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>.
3119 </para>
3120 </refsect1>
3121 <refsect1 id="notes"><title>Notes</title>
3122 <para>
3123 The following parameters return the associated value for the active texture unit:
3124 <constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_BINDING_1D</constant>,
3125 <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_BINDING_2D</constant>,
3126 <constant>GL_TEXTURE_3D</constant> and <constant>GL_TEXTURE_BINDING_3D</constant>.
3127 </para>
3128 <para>
3129 <constant>GL_MAX_VIEWPORTS</constant>, <constant>GL_VIEWPORT_SUBPIXEL_BITS</constant>,
3130 <constant>GL_VIEWPORT_BOUNDS_RANGE</constant>, <constant>GL_LAYER_PROVOKING_VERTEX</constant>,
3131 and <constant>GL_VIEWPORT_INDEX_PROVOKING_VERTEX</constant>
3132 are available only if the GL version is 4.1 or greater.
3133 </para>
3134 <para>
3135 <constant>GL_MAX_VERTEX_ATOMIC_COUNTERS</constant>,
3136 <constant>GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS</constant>,
3137 <constant>GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS</constant>,
3138 <constant>GL_MAX_GEOMETRY_ATOMIC_COUNTERS</constant>,
3139 <constant>GL_MAX_FRAMGENT_ATOMIC_COUNTERS</constant>, and
3140 <constant>GL_MIN_MAP_BUFFER_ALIGNMENT</constant> are accepted by <parameter>pname</parameter>
3141 only if the GL version is 4.2 or greater.
3142 </para>
3143 <para>
3144 <constant>GL_MAX_ELEMENT_INDEX</constant> is accepted by <parameter>pname</parameter> only
3145 if the GL version is 4.3 or greater.
3146 </para>
3147 <para>
3148 <constant>GL_MAX_COMPUTE_UNIFORM_BLOCKS</constant>, <constant>GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS</constant>,
3149 <constant>GL_MAX_COMPUTE_UNIFORM_COMPONENTS</constant>, <constant>GL_MAX_COMPUTE_ATOMIC_COUNTERS</constant>,
3150 <constant>GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS</constant>, <constant>GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS</constant>,
3151 <constant>GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS</constant>, <constant>GL_MAX_COMPUTE_WORK_GROUP_COUNT</constant>, and
3152 <constant>GL_MAX_COMPUTE_WORK_GROUP_SIZE</constant> and <constant>GL_DISPATCH_INDIRECT_BUFFER_BINDING</constant> are available only if the GL version
3153 is 4.3 or greater.
3154 </para>
3155 <para>
3156 <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
3157 the GL version is 4.3 or greater.
3158 </para>
3159 <para>
3160 <constant>GL_MAX_UNIFORM_LOCATIONS</constant> is accepted only if the GL version is 4.3 or greater.
3161 </para>
3162 <para>
3163 <constant>GL_MAX_FRAMEBUFFER_WIDTH</constant>, <constant>GL_MAX_FRAMEBUFFER_HEIGHT</constant>, <constant>GL_MAX_FRAMEBUFFER_LAYERS</constant>,
3164 and <constant>GL_MAX_FRAMEBUFFER_SAMPLES</constant> are available only if the GL version is 4.3 or greater.
3165 </para>
3166 <para>
3167 <constant>GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS</constant>,
3168 <constant>GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS</constant>, <constant>GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS</constant>,
3169 <constant>GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS</constant>, and <constant>GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS</constant> are available
3170 only if the GL version is 4.3 or higher.
3171 </para>
3172 <para>
3173 <constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant> is available only if the GL version is 4.3 or greater.
3174 </para>
3175 <para>
3176 <constant>GL_VERTEX_BINDING_DIVISOR</constant>, <constant>GL_VERTEX_BINDING_OFFSET</constant>, <constant>GL_VERTEX_BINDING_STRIDE</constant>,
3177 <constant>GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET</constant> and <constant>GL_MAX_VERTEX_ATTRIB_BINDINGS</constant> are available only if
3178 the GL version is 4.3 or greater.
3179 </para>
3180 </refsect1>
3181 <refsect1 id="errors"><title>Errors</title>
3182 <para>
3183 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>pname</parameter> is not an accepted value.
3184 </para>
3185 <para>
3186 <constant>GL_INVALID_VALUE</constant> is generated on any of <function>glGetBooleani_v</function>,
3187 <function>glGetIntegeri_v</function>, or <function>glGetInteger64i_v</function> if
3188 <parameter>index</parameter> is outside of the valid range for the indexed state <parameter>target</parameter>.
3189 </para>
3190 </refsect1>
3191 <refsect1 id="seealso"><title>See Also</title>
3192 <para>
3193 <citerefentry><refentrytitle>glGetActiveUniform</refentrytitle></citerefentry>,
3194 <citerefentry><refentrytitle>glGetAttachedShaders</refentrytitle></citerefentry>,
3195 <citerefentry><refentrytitle>glGetAttribLocation</refentrytitle></citerefentry>,
3196 <citerefentry><refentrytitle>glGetBufferParameter</refentrytitle></citerefentry>,
3197 <citerefentry><refentrytitle>glGetBufferPointerv</refentrytitle></citerefentry>,
3198 <citerefentry><refentrytitle>glGetBufferSubData</refentrytitle></citerefentry>,
3199 <citerefentry><refentrytitle>glGetCompressedTexImage</refentrytitle></citerefentry>,
3200 <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>,
3201 <citerefentry><refentrytitle>glGetProgram</refentrytitle></citerefentry>,
3202 <citerefentry><refentrytitle>glGetProgramInfoLog</refentrytitle></citerefentry>,
3203 <citerefentry><refentrytitle>glGetQueryiv</refentrytitle></citerefentry>,
3204 <citerefentry><refentrytitle>glGetQueryObject</refentrytitle></citerefentry>,
3205 <citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>,
3206 <citerefentry><refentrytitle>glGetShaderInfoLog</refentrytitle></citerefentry>,
3207 <citerefentry><refentrytitle>glGetShaderSource</refentrytitle></citerefentry>,
3208 <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
3209 <citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>,
3210 <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>,
3211 <citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
3212 <citerefentry><refentrytitle>glGetUniform</refentrytitle></citerefentry>,
3213 <citerefentry><refentrytitle>glGetUniformLocation</refentrytitle></citerefentry>,
3214 <citerefentry><refentrytitle>glGetVertexAttrib</refentrytitle></citerefentry>,
3215 <citerefentry><refentrytitle>glGetVertexAttribPointerv</refentrytitle></citerefentry>,
3216 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry>
3217 </para>
3218 </refsect1>
3219 <refsect1 id="Copyright"><title>Copyright</title>
3220 <para>
3221 Copyright <trademark class="copyright"></trademark> 1991-2006 Silicon Graphics, Inc.
3222 Copyright <trademark class="copyright"></trademark> 2010-2011 Khronos Group.
3223 This document is licensed under the SGI Free Software B License. For details, see
3224 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
3225 </para>
3226 </refsect1>
3227</refentry>