Commit | Line | Data |
---|---|---|
7faf1d71 AW |
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> |