1da1844d4668443bf33aad50da9c768ec08e0c7b
[clinton/guile-figl.git] / upstream-man-pages / man4 / xhtml / glGetInternalFormativ.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glGetInternalFormativ - OpenGL 4 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glGetInternalFormativ"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glGetInternalFormativ — retrieve information about implementation-dependent support for internal formats</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetInternalFormativ</b>(</code></td><td>GLenum  </td><td><var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">internalformat</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLsizei  </td><td><var class="pdparam">bufSize</var>, </td></tr><tr><td> </td><td>GLint * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glGetInternalFormati64v</b>(</code></td><td>GLenum  </td><td><var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">internalformat</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLsizei  </td><td><var class="pdparam">bufSize</var>, </td></tr><tr><td> </td><td>GLint64 * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>target</code></em></span></dt><dd><p>
5 Indicates the usage of the internal format. <em class="parameter"><code>target</code></em> must be <code class="constant">GL_TEXTURE_1D</code>, <code class="constant">GL_TEXTURE_1D_ARRAY</code>,
6 <code class="constant">GL_TEXTURE_2D</code>, <code class="constant">GL_TEXTURE_2D_ARRAY</code>, <code class="constant">GL_TEXTURE_3D</code>,
7 <code class="constant">GL_TEXTURE_CUBE_MAP</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_ARRAY</code>, <code class="constant">GL_TEXTURE_RECTANGLE</code>,
8 <code class="constant">GL_TEXTURE_BUFFER</code>,
9 <code class="constant">GL_RENDERBUFFER</code>, <code class="constant">GL_TEXTURE_2D_MULTISAMPLE</code> or <code class="constant">GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>.
10 </p></dd><dt><span class="term"><em class="parameter"><code>internalformat</code></em></span></dt><dd><p>
11 Specifies the internal format about which to retrieve information.
12 </p></dd><dt><span class="term"><em class="parameter"><code>pname</code></em></span></dt><dd><p>
13 Specifies the type of information to query.
14 </p></dd><dt><span class="term"><em class="parameter"><code>bufSize</code></em></span></dt><dd><p>
15 Specifies the maximum number of basic machine units that may be written to <em class="parameter"><code>params</code></em> by the function.
16 </p></dd><dt><span class="term"><em class="parameter"><code>params</code></em></span></dt><dd><p>
17 Specifies the address of a variable into which to write the retrieved information.
18 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
19 <code class="function">glGetInternalFormativ</code> and <code class="function">glGetInternalFormati64v</code> retrieve information about implementation-dependent support for
20 internal formats. <em class="parameter"><code>target</code></em> indicates the target with which the internal format will
21 be used and must be one of <code class="constant">GL_RENDERBUFFER</code>, <code class="constant">GL_TEXTURE_2D_MULTISAMPLE</code>,
22 or <code class="constant">GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>, corresponding to usage as a renderbuffer, two-dimensional
23 multisample texture or two-dimensional multisample array texture, respectively.
24 </p><p>
25 <em class="parameter"><code>internalformat</code></em> specifies the internal format about which to retrieve information and
26 must be a color-renderable, depth-renderable or stencil-renderable format.
27 </p><p>
28 The information retrieved will be written to memory addressed by the pointer specified in <em class="parameter"><code>params</code></em>. No
29 more than <em class="parameter"><code>bufSize</code></em> basic machine units will be written to this memory.
30 </p><p>
31 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_NUM_SAMPLE_COUNTS</code>, the number of sample counts that would be
32 returned by querying <code class="constant">GL_SAMPLES</code> will be returned in <em class="parameter"><code>params</code></em>.
33 </p><p>
34 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_SAMPLES</code>, the sample counts supported for <em class="parameter"><code>internalformat</code></em>
35 and <em class="parameter"><code>target</code></em> are written into <em class="parameter"><code>params</code></em> in descending numeric order. Only positive values are returned.
36 Querying <code class="constant">GL_SAMPLES</code> with <em class="parameter"><code>bufSize</code></em> of one will return just the maximum supported number of
37 samples for this format. The maximum value in <code class="constant">GL_SAMPLES</code> is guaranteed to be at least the lowest of the following:
38 </p><div class="itemizedlist"><ul type="disc"><li>The value of <code class="constant">GL_MAX_INTEGER_SAMPLES</code> if <em class="parameter"><code>internalformat</code></em> is a signed or unsigned integer format.</li><li>The value of <code class="constant">GL_MAX_DEPTH_TEXTURE_SAMPLES</code> if <em class="parameter"><code>internalformat</code></em> is a depth- or stencil-renderable format and
39 <em class="parameter"><code>target</code></em> is <code class="constant">GL_TEXTURE_2D_MULTISAMPLE</code>, <code class="constant">GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>.</li><li>The value of <code class="constant">GL_MAX_COLOR_TEXTURE_SAMPLES</code> if <em class="parameter"><code>internalformat</code></em> is a color-renderable format and
40 <em class="parameter"><code>target</code></em> is <code class="constant">GL_TEXTURE_2D_MULTISAMPLE</code> or <code class="constant">GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code>.</li><li>The value of <code class="constant">GL_MAX_SAMPLES</code>.</li></ul></div><p>
41 </p><p>
42 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_INTERNALFORMAT_SUPPORTED</code>, <em class="parameter"><code>params</code></em> is set to <code class="constant">GL_TRUE</code> if <em class="parameter"><code>internalFormat</code></em>
43 is a supported internal format for <em class="parameter"><code>target</code></em> and to <code class="constant">GL_FALSE</code> otherwise.
44 </p><p>
45 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_INTERNALFORMAT_PREFERRED</code>, <em class="parameter"><code>params</code></em> is set to <code class="constant">GL_TRUE</code> if <em class="parameter"><code>internalFormat</code></em>
46 is an format for <em class="parameter"><code>target</code></em> that is preferred by the implementation and to <code class="constant">GL_FALSE</code> otherwise.
47 </p><p>
48 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_INTERNALFORMAT_RED_SIZE</code>, <code class="constant">GL_INTERNALFORMAT_GREEN_SIZE</code>,
49 <code class="constant">GL_INTERNALFORMAT_BLUE_SIZE</code>, <code class="constant">GL_INTERNALFORMAT_ALPHA_SIZE</code>, <code class="constant">GL_INTERNALFORMAT_DEPTH_SIZE</code>,
50 <code class="constant">GL_INTERNALFORMAT_STENCIL_SIZE</code>, or <code class="constant">GL_INTERNALFORMAT_SHARED_SIZE</code> then
51 <em class="parameter"><code>params</code></em> is set to the actual resolutions that would be used for storing image array components
52 for the resource for the red, green, blue, alpha, depth, stencil and shared channels respectively. If <em class="parameter"><code>internalFormat</code></em>
53 is a compressed internal format, then <em class="parameter"><code>params</code></em> is set to the component resolution of an uncompressed internal format that produces
54 an image of roughly the same quality as the compressed algorithm. If the internal format is unsupported, or if a particular component is
55 not present in the format, 0 is written to <em class="parameter"><code>params</code></em>.
56 </p><p>
57 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_INTERNALFORMAT_RED_TYPE</code>, <code class="constant">GL_INTERNALFORMAT_GREEN_TYPE</code>,
58 <code class="constant">GL_INTERNALFORMAT_BLUE_TYPE</code>, <code class="constant">GL_INTERNALFORMAT_ALPHA_TYPE</code>, <code class="constant">GL_INTERNALFORMAT_DEPTH_TYPE</code>,
59 or <code class="constant">GL_INTERNALFORMAT_STENCIL_TYPE</code> then <em class="parameter"><code>params</code></em> is set to a token identifying the data type used
60 to store the respective component. If the <em class="parameter"><code>internalFormat</code></em> represents a compressed internal format then
61 the types returned specify how components are interpreted after decompression.
62 </p><p>
63 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_MAX_WIDTH</code>, <code class="constant">GL_MAX_HEIGHT</code>, <code class="constant">GL_MAX_DEPTH</code>,
64 or <code class="constant">GL_MAX_LAYERS</code> then <em class="parameter"><code>pname</code></em> is filled with the maximum width, height, depth or layer count
65 for textures with internal format <em class="parameter"><code>internalFormat</code></em>, respectively. If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_MAX_COMBINED_DIMENSIONS</code>
66 then <em class="parameter"><code>pname</code></em> is filled with the maximum combined dimensions of a texture of the specified internal format.
67 </p><p>
68 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_COLOR_COMPONENTS</code> then <em class="parameter"><code>params</code></em> is set to the value <code class="constant">GL_TRUE</code>
69 if the internal format contains any color component (i.e., red, green, blue or alpha) and to <code class="constant">GL_FALSE</code> otherwise. If
70 <em class="parameter"><code>pname</code></em> is <code class="constant">GL_DEPTH_COMPONENTS</code> or <code class="constant">GL_STENCIL_COMPONENTS</code> then <em class="parameter"><code>params</code></em>
71 is set to <code class="constant">GL_TRUE</code> if the internal format contains a depth or stencil component, respectively, and to <code class="constant">GL_FALSE</code>
72 otherwise.
73 </p><p>
74 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_COLOR_RENDERABLE</code>, <code class="constant">GL_DEPTH_RENDERABLE</code> or <code class="constant">GL_STENCIL_RENDERABLE</code>
75 then <em class="parameter"><code>params</code></em> is set to <code class="constant">GL_TRUE</code> if the specified internal format is color, depth or stencil renderable, respectively,
76 and to <code class="constant">GL_FALSE</code> otherwise.
77 </p><p>
78 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_FRAMEBUFFER_RENDERABLE</code> or <code class="constant">GL_FRAMEBUFFER_RENDERABLE_LAYERED</code>
79 then <em class="parameter"><code>params</code></em> is set to one of <code class="constant">GL_FULL_SUPPORT</code>,
80 <code class="constant">GL_CAVEAT_SUPPORT</code> or <code class="constant">GL_NONE</code> to indicate that framebuffer attachments (layered attachments in the
81 case of <code class="constant">GL_FRAMEBUFFER_RENDERABLE_LAYERED</code>) with that internal format are either
82 renderable with no restrictions, renderable with some restrictions or not renderable at all.
83 </p><p>
84 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_FRAMEBUFFER_BLEND</code>, <em class="parameter"><code>params</code></em> is set to <code class="constant">GL_TRUE</code>
85 to indicate that the internal format is supported for blending operations when attached to a framebuffer, and to <code class="constant">GL_FALSE</code> otherwise.
86 </p><p>
87 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_READ_PIXELS</code> then <em class="parameter"><code>params</code></em> is set to <code class="constant">GL_FULL_SUPPORT</code>,
88 <code class="constant">GL_CAVEAT_SUPPORT</code> or <code class="constant">GL_NONE</code> to that either full support, limited support or no support at all is supplied
89 for reading pixels from framebuffer attachments in the specified internal format.
90 </p><p>
91 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_READ_PIXELS_FORMAT</code> or <code class="constant">GL_READ_PIXELS_TYPE</code> then <em class="parameter"><code>params</code></em>
92 is filled with the format or type, respectively, most recommended to obtain the highest image quality and performance. For
93 <code class="constant">GL_READ_PIXELS_FORMAT</code>, the value returned in <em class="parameter"><code>params</code></em> is a token that is accepted for
94 the <em class="parameter"><code>format</code></em> argument to <a href="glReadPixels.xml"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a>. For
95 <code class="constant">GL_READ_PIXELS_TYPE</code>, the value returned in <em class="parameter"><code>params</code></em> is a token that is accepted for
96 the <em class="parameter"><code>type</code></em> argument to <a href="glReadPixels.xml"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a>.
97 </p><p>
98 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_IMAGE_FORMAT</code> or <code class="constant">GL_TEXTURE_IMAGE_TYPE</code> then
99 <em class="parameter"><code>params</code></em> is filled with the implementation-recommended format or type to be used in calls to
100 <a href="glTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a> and other similar functions. For <code class="constant">GL_TEXTURE_IMAGE_FORMAT</code>,
101 <em class="parameter"><code>params</code></em> is filled with a token suitable for use as the <em class="parameter"><code>format</code></em> argument to
102 <a href="glTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a>. For <code class="constant">GL_TEXTURE_IMAGE_TYPE</code>,
103 <em class="parameter"><code>params</code></em> is filled with a token suitable for use as the <em class="parameter"><code>type</code></em> argument to
104 <a href="glTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a>.
105 </p><p>
106 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_GET_TEXTURE_IMAGE_FORMAT</code> or <code class="constant">GL_GET_TEXTURE_IMAGE_TYPE</code> then
107 <em class="parameter"><code>params</code></em> is filled with the implementation-recommended format or type to be used in calls to
108 <a href="glGetTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexImage2D</span></span></a> and other similar functions. For <code class="constant">GL_GET_TEXTURE_IMAGE_FORMAT</code>,
109 <em class="parameter"><code>params</code></em> is filled with a token suitable for use as the <em class="parameter"><code>format</code></em> argument to
110 <a href="glGetTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexImage2D</span></span></a>. For <code class="constant">GL_GET_TEXTURE_IMAGE_TYPE</code>,
111 <em class="parameter"><code>params</code></em> is filled with a token suitable for use as the <em class="parameter"><code>type</code></em> argument to
112 <a href="glGetTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glGetTexImage2D</span></span></a>.
113 </p><p>
114 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_MIPMAP</code> then <em class="parameter"><code>pname</code></em> is set to <code class="constant">GL_TRUE</code>
115 to indicate that the specified internal format supports mipmaps and to <code class="constant">GL_FALSE</code> otherwise.
116 </p><p>
117 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_GENERATE_MIPMAP</code> or <code class="constant">GL_AUTO_GENERATE_MIPMAP</code> then <em class="parameter"><code>params</code></em>
118 is indicates the level of support for manual or automatic mipmap generation for the specified internal format, respectively. Returned values
119 may be one of <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code> and <code class="constant">GL_NONE</code> to indicate
120 either full support, limited support or no support at all.
121 </p><p>
122 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_COLOR_ENCODING</code> then the color encoding for the resource is returned in
123 <em class="parameter"><code>params</code></em>. Possible values for color buffers are <code class="constant">GL_LINEAR</code> or <code class="constant">GL_SRGB</code>,
124 for linear or sRGB-encoded color components, respectively. For non-color
125 formats (such as depth or stencil), or for unsupported resources,
126 the value <code class="constant">GL_NONE</code> is returned.
127 </p><p>
128 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_SRGB_READ</code>, or <code class="constant">GL_SRGB_WRITE</code> then <em class="parameter"><code>params</code></em>
129 indicates the level of support for reading and writing to sRGB encoded images, respectively. For <code class="constant">GL_SRGB_READ</code>,
130 support for converting from sRGB colorspace on read operations is returned in <em class="parameter"><code>params</code></em> and for <code class="constant">GL_SRGB_WRITE</code>,
131 support for converting to sRGB colorspace on write operations to the resource is returned in <em class="parameter"><code>params</code></em>. <em class="parameter"><code>params</code></em> may be
132 set to <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code>, or <code class="constant">GL_NONE</code> to indicate
133 full support, limited support or no support at all, respecitively.
134 </p><p>
135 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_FILTER</code> the <em class="parameter"><code>params</code></em> is set to either <code class="constant">GL_TRUE</code>
136 or <code class="constant">GL_FALSE</code> to indicate support or lack thereof for filter modes other than <code class="constant">GL_NEAREST</code> or <code class="constant">GL_NEAREST_MIPMAP</code>
137 for the specified internal format.
138 </p><p>
139 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_VERTEX_TEXTURE</code>, <code class="constant">GL_TESS_CONTROL_TEXTURE</code>, <code class="constant">GL_TESS_EVALUATION_TEXTURE</code>,
140 <code class="constant">GL_GEOMETRY_TEXTURE</code>, <code class="constant">GL_FRAGMENT_TEXTURE</code>, or <code class="constant">GL_COMPUTE_TEXTURE</code>, then the value
141 written to <em class="parameter"><code>params</code></em> indicates support for use of the resource as a source of texturing in the vertex, tessellation control,
142 tessellation evaluation, geometry, fragment and compute shader stages, respectively. <em class="parameter"><code>params</code></em> may be set to
143 <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code> or <code class="constant">GL_NONE</code> to indicate full support,
144 limited support or no support at all, respectively.
145 </p><p>
146 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_SHADOW</code>, <code class="constant">GL_TEXTURE_GATHER</code> or <code class="constant">GL_TEXTURE_GATHER_SHADOW</code> then the value written to
147 <em class="parameter"><code>params</code></em> indicates the level of support for using the resource with a shadow sampler, in gather operations or as a shadow sampler in gather operations, respectively. Returned values
148 may be <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code> or <code class="constant">GL_NONE</code> to indicate full support,
149 limited support or no support at all, respectively.
150 </p><p>
151 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_SHADER_IMAGE_LOAD</code>, <code class="constant">GL_SHADER_IMAGE_STORE</code> or <code class="constant">GL_SHADER_IMAGE_ATOMIC</code>
152 then the value returned in <em class="parameter"><code>params</code></em> indicates the level of support for image loads, stores and atomics for resources of the specified internal
153 format. Returned values
154 may be <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code> or <code class="constant">GL_NONE</code> to indicate full support,
155 limited support or no support at all, respectively.
156 </p><p>
157 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_IMAGE_TEXEL_SIZE</code> then the size of a texel when the resource when used as
158 an image texture is returned in <em class="parameter"><code>params</code></em>. If the resource is not supported for image
159 textures zero is returned.
160 </p><p>
161 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_IMAGE_COMPATIBILITY_CLASS</code> then the compatibility class of the resource when
162 used as an image texture is returned in <em class="parameter"><code>params</code></em>. The possible values
163 returned are <code class="constant">GL_IMAGE_CLASS_4_X_32</code>, <code class="constant">GL_IMAGE_CLASS_2_X_32</code>, <code class="constant">GL_IMAGE_CLASS_1_X_32</code>,
164 <code class="constant">GL_IMAGE_CLASS_4_X_16</code>, <code class="constant">GL_IMAGE_CLASS_2_X_16</code>, <code class="constant">GL_IMAGE_CLASS_1_X_16</code>,
165 <code class="constant">GL_IMAGE_CLASS_4_X_8</code>, <code class="constant">GL_IMAGE_CLASS_2_X_8</code>, <code class="constant">GL_IMAGE_CLASS_1_X_8</code>,
166 <code class="constant">GL_IMAGE_CLASS_11_11_10</code>, and <code class="constant">GL_IMAGE_CLASS_10_10_10_2</code>, which correspond to
167 the 4x32, 2x32, 1x32, 4x16, 2x16, 1x16, 4x8, 2x8, 1x8, the class
168 (a) 11/11/10 packed floating-point format, and the class (b)
169 10/10/10/2 packed formats, respectively.
170 If the resource is not supported for image textures, <code class="constant">GL_NONE</code> is returned.
171 </p><p>
172 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_IMAGE_PIXEL_FORMAT</code> or <code class="constant">GL_IMAGE_PIXEL_TYPE</code> then
173 the pixel format or type of the resource when used as an image texture is returned in <em class="parameter"><code>params</code></em>, respectively.
174 In either case, the resource is not supported for image textures <code class="constant">GL_NONE</code> is returned.
175 </p><p>
176 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_IMAGE_FORMAT_COMPATIBILITY_TYPE</code>, the matching criteria use for the
177 resource when used as an image textures is returned in <em class="parameter"><code>params</code></em>. Possible values returned in <em class="parameter"><code>params</code></em> are
178 <code class="constant">GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE</code> or <code class="constant">GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS</code>.
179 If the resource is not supported for image textures, <code class="constant">GL_NONE</code> is returned.
180 </p><p>
181 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST</code> or <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST</code>,
182 support for using the resource both as a source for texture sampling while it is bound as a buffer for depth or stencil test, respectively, is written to <em class="parameter"><code>params</code></em>.
183 Possible values returned are <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code>, or <code class="constant">GL_NONE</code> to indicate
184 full support, limited support or no support at all. If the resource or operation is not supported, <code class="constant">GL_NONE</code> is returned.
185 </p><p>
186 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE</code> or <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE</code>,
187 support for using the resource both as a source for texture sampling while performing depth or stencil writes to the resources, respectively, is written to <em class="parameter"><code>params</code></em>.
188 Possible values returned are <code class="constant">GL_FULL_SUPPORT</code>, <code class="constant">GL_CAVEAT_SUPPORT</code>, or <code class="constant">GL_NONE</code> to indicate
189 full support, limited support or no support at all. If the resource or operation is not supported, <code class="constant">GL_NONE</code> is returned.
190 </p><p>
191 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_COMPRESSED</code> then <code class="constant">GL_TRUE</code> is returned in <em class="parameter"><code>params</code></em>
192 if <em class="parameter"><code>internalformat</code></em> is a compressed internal format. <code class="constant">GL_FALSE</code> is returned in <em class="parameter"><code>params</code></em>
193 otherwise.
194 </p><p>
195 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_WIDTH</code>, <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT</code> or
196 <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_SIZE</code> then the width, height or total size, respectively of a block (in basic machine units) is returned in
197 <em class="parameter"><code>params</code></em>. If the internal format is not compressed, or the resource is not supported, 0 is returned.
198 </p><p>
199 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_CLEAR_BUFFER</code>, the level of support for using the resource with <a href="glClearBufferData.xml"><span class="citerefentry"><span class="refentrytitle">glClearBufferData</span></span></a>
200 and <a href="glClearBufferSubData.xml"><span class="citerefentry"><span class="refentrytitle">glClearBufferSubData</span></span></a> is returned in <em class="parameter"><code>params</code></em>. Possible values returned are <code class="constant">GL_FULL_SUPPORT</code>,
201 <code class="constant">GL_CAVEAT_SUPPORT</code>, or <code class="constant">GL_NONE</code> to indicate
202 full support, limited support or no support at all, respectively. If the resource or operation is not supported, <code class="constant">GL_NONE</code> is returned.
203 </p><p>
204 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_TEXTURE_VIEW</code>, the level of support for using the resource with the <a href="glTextureView.xml"><span class="citerefentry"><span class="refentrytitle">glTextureView</span></span></a>
205 command is returned in <em class="parameter"><code>params</code></em>. Possible values returned are <code class="constant">GL_FULL_SUPPORT</code>,
206 <code class="constant">GL_CAVEAT_SUPPORT</code>, or <code class="constant">GL_NONE</code> to indicate
207 full support, limited support or no support at all, respectively. If the resource or operation is not supported, <code class="constant">GL_NONE</code> is returned.
208 </p><p>
209 If <em class="parameter"><code>pname</code></em> is <code class="constant">GL_VIEW_COMPATIBILITY_CLASS</code> then the compatibility class of the resource when
210 used as a texture view is returned in <em class="parameter"><code>params</code></em>. The possible values
211 returned are <code class="constant">GL_VIEW_CLASS_128_BITS</code>, <code class="constant">GL_VIEW_CLASS_96_BITS</code>,
212 <code class="constant">GL_VIEW_CLASS_64_BITS</code>, <code class="constant">GL_VIEW_CLASS_48_BITS</code>, <code class="constant">GL_VIEW_CLASS_32_BITS</code>,
213 <code class="constant">GL_VIEW_CLASS_24_BITS</code>, <code class="constant">GL_VIEW_CLASS_16_BITS</code>, <code class="constant">GL_VIEW_CLASS_8_BITS</code>,
214 <code class="constant">GL_VIEW_CLASS_S3TC_DXT1_RGB</code>, <code class="constant">GL_VIEW_CLASS_S3TC_DXT1_RGBA</code>,
215 <code class="constant">GL_VIEW_CLASS_S3TC_DXT3_RGBA</code>, <code class="constant">GL_VIEW_CLASS_S3TC_DXT5_RGBA</code>,
216 <code class="constant">GL_VIEW_CLASS_RGTC1_RED</code>, <code class="constant">GL_VIEW_CLASS_RGTC2_RG</code>, <code class="constant">GL_VIEW_CLASS_BPTC_UNORM</code>, and
217 <code class="constant">GL_VIEW_CLASS_BPTC_FLOAT</code>.
218 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
219 <code class="function">glGetInternalFormativ</code> is available only if the
220 GL version is 4.2 or higher.
221 </p><p>
222 The tokens
223 <code class="constant">GL_INTERNALFORMAT_SUPPORTED</code>,
224 <code class="constant">GL_INTERNALFORMAT_PREFERRED</code>,
225 <code class="constant">GL_INTERNALFORMAT_RED_SIZE</code>,
226 <code class="constant">GL_INTERNALFORMAT_GREEN_SIZE</code>,
227 <code class="constant">GL_INTERNALFORMAT_BLUE_SIZE</code>,
228 <code class="constant">GL_INTERNALFORMAT_ALPHA_SIZE</code>,
229 <code class="constant">GL_INTERNALFORMAT_DEPTH_SIZE</code>,
230 <code class="constant">GL_INTERNALFORMAT_STENCIL_SIZE</code>,
231 <code class="constant">GL_INTERNALFORMAT_SHARED_SIZE</code>,
232 <code class="constant">GL_INTERNALFORMAT_RED_TYPE</code>,
233 <code class="constant">GL_INTERNALFORMAT_GREEN_TYPE</code>,
234 <code class="constant">GL_INTERNALFORMAT_BLUE_TYPE</code>,
235 <code class="constant">GL_INTERNALFORMAT_ALPHA_TYPE</code>,
236 <code class="constant">GL_INTERNALFORMAT_DEPTH_TYPE</code>,
237 <code class="constant">GL_INTERNALFORMAT_STENCIL_TYPE</code>,
238 <code class="constant">GL_MAX_WIDTH</code>,
239 <code class="constant">GL_MAX_HEIGHT</code>,
240 <code class="constant">GL_MAX_DEPTH</code>,
241 <code class="constant">GL_MAX_LAYERS</code>,
242 <code class="constant">GL_MAX_COMBINED_DIMENSIONS</code>,
243 <code class="constant">GL_COLOR_COMPONENTS</code>,
244 <code class="constant">GL_DEPTH_COMPONENTS</code>,
245 <code class="constant">GL_STENCIL_COMPONENTS</code>,
246 <code class="constant">GL_COLOR_RENDERABLE</code>,
247 <code class="constant">GL_DEPTH_RENDERABLE</code>,
248 <code class="constant">GL_STENCIL_RENDERABLE</code>,
249 <code class="constant">GL_FRAMEBUFFER_RENDERABLE</code>,
250 <code class="constant">GL_FRAMEBUFFER_RENDERABLE_LAYERED</code>,
251 <code class="constant">GL_FRAMEBUFFER_BLEND</code>,
252 <code class="constant">GL_READ_PIXELS</code>,
253 <code class="constant">GL_READ_PIXELS_FORMAT</code>,
254 <code class="constant">GL_READ_PIXELS_TYPE</code>,
255 <code class="constant">GL_TEXTURE_IMAGE_FORMAT</code>,
256 <code class="constant">GL_TEXTURE_IMAGE_TYPE</code>,
257 <code class="constant">GL_GET_TEXTURE_IMAGE_FORMAT</code>,
258 <code class="constant">GL_GET_TEXTURE_IMAGE_TYPE</code>,
259 <code class="constant">GL_MIPMAP</code>,
260 <code class="constant">GL_GENERATE_MIPMAP</code>,
261 <code class="constant">GL_AUTO_GENERATE_MIPMAP</code>,
262 <code class="constant">GL_COLOR_ENCODING</code>,
263 <code class="constant">GL_SRGB_READ</code>,
264 <code class="constant">GL_SRGB_WRITE</code>,
265 <code class="constant">GL_SRGB_DECODE_ARB</code>,
266 <code class="constant">GL_FILTER</code>,
267 <code class="constant">GL_VERTEX_TEXTURE</code>,
268 <code class="constant">GL_TESS_CONTROL_TEXTURE</code>,
269 <code class="constant">GL_TESS_EVALUATION_TEXTURE</code>,
270 <code class="constant">GL_GEOMETRY_TEXTURE</code>,
271 <code class="constant">GL_FRAGMENT_TEXTURE</code>,
272 <code class="constant">GL_COMPUTE_TEXTURE</code>,
273 <code class="constant">GL_TEXTURE_SHADOW</code>,
274 <code class="constant">GL_TEXTURE_GATHER</code>,
275 <code class="constant">GL_TEXTURE_GATHER_SHADOW</code>,
276 <code class="constant">GL_SHADER_IMAGE_LOAD</code>,
277 <code class="constant">GL_SHADER_IMAGE_STORE</code>,
278 <code class="constant">GL_SHADER_IMAGE_ATOMIC</code>,
279 <code class="constant">GL_IMAGE_TEXEL_SIZE</code>,
280 <code class="constant">GL_IMAGE_COMPATIBILITY_CLASS</code>,
281 <code class="constant">GL_IMAGE_PIXEL_FORMAT</code>,
282 <code class="constant">GL_IMAGE_PIXEL_TYPE</code>,
283 <code class="constant">GL_IMAGE_FORMAT_COMPATIBILITY_TYPE</code>,
284 <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST</code>,
285 <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST</code>,
286 <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE</code>,
287 <code class="constant">GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE</code>,
288 <code class="constant">GL_TEXTURE_COMPRESSED</code>,
289 <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_WIDTH</code>,
290 <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT</code>,
291 <code class="constant">GL_TEXTURE_COMPRESSED_BLOCK_SIZE</code>,
292 <code class="constant">GL_CLEAR_BUFFER</code>,
293 <code class="constant">GL_TEXTURE_VIEW</code>, and
294 <code class="constant">GL_VIEW_COMPATIBILITY_CLASS</code> are supported only if the GL
295 version is 4.3 or higher.
296 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
297 <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>bufSize</code></em> is negative.
298 </p><p>
299 <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>pname</code></em> is not <code class="constant">GL_SAMPLES</code> or <code class="constant">GL_NUM_SAMPLE_COUNTS</code>.
300 </p><p>
301 <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>internalformat</code></em> is not color-, depth-, or stencil-renderable.
302 </p><p>
303 <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>target</code></em> is not one of <code class="constant">GL_TEXTURE_2D_MULTISAMPLE</code>,
304 <code class="constant">GL_TEXTURE_2D_MULTISAMPLE_ARRAY</code> or <code class="constant">GL_RENDERBUFFER</code>.
305 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
306 <a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>
307 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
308 Copyright <span class="trademark"></span>© 2011-2012 Khronos Group.
309 This material may be distributed subject to the terms and conditions set forth in
310 the Open Publication License, v 1.0, 8 June 1999.
311 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
312 </p></div></div></body></html>