# What are the type constants that the documentation for glGetProgramResourceiv() refers to?

Quoting the Khronos OpenGL documentation pages for the glGetProgramResourceiv() function:

For the property GL_TYPE, a single integer identifying the type of an active variable is written to params. The integer returned is one of the values found in table 2.16.

But, there is no "table 2.16" in that page, there is no "table 2.16" in the specification document (where the language also appears), and several search engines failed to return any other references to such a table.

So, where is it? What are the full list of type codes that can be returned by this introspection function (which can presumably represent all GLSL types)?

(I'm using GL core 4.3)

• "there is no "table 2.16" in the specification document (where the language also appears)" What "specification document" are you looking at? Because that language does not appear in the GL 4.3 specification; it cites a different table. Oct 19 '19 at 4:54
• khronos.org/registry/OpenGL/specs/gl/glspec43.core.pdf 4.2 Core also doesn't seem to have it (though Nicol evidently saw some version of it that does...) Oct 20 '19 at 4:56
• As with most documentation, the OpenGL reference pages are not always correct. If you find a mistake, you can open an issue in the corresponding GitHub repository. It is better if the issue gets fixed at the source, so I think you should do that. Nov 15 '21 at 8:11

Program interface query was written against the 4.2 specification. Oddly enough, there is no table 2.16 in that spec; the correct number for that table is 2.13 (so it's likely a typo, since 3 is right below 6 on a number-pad). But even if the extension did mention the right table number, that table moved to a whole different chapter in 4.3+ versions. It's been renumbered and moved since then, so you'll have to look at a particular specification's definition of glGetProgramResourceiv to find it.
• Perfect, the wiki has got it. Looks like it also appears on the "resource" page for glGetActiveUniform. But the 4.2 core specification only has 2.1 through 2.15, oddly. Maybe we're looking at different versions of the document? Weird. Oct 20 '19 at 4:54