GL_MAX_TEXTURE_SIZE,
and GL_MAX_3D_TEXTURE_SIZE are not really descriptive enough. It has to
report the largest square texture image that can be accommodated with mipmaps
and borders, but a long skinny texture, or a texture without mipmaps and
borders, may easily fit in texture memory. The proxy targets allow the
user to more accurately query whether the GL can accommodate a texture
of a given configuration. If the texture cannot be accommodated, the texture
state variables, which may be queried with glGetTexLevelParameter, are
set to 0. If the texture can be accommodated, the texture state values
will be set as they would be set for a non-proxy target.

pname specifies
the texture parameter whose value or values will be returned.

The accepted
parameter names are as follows:

GL_TEXTURE_WIDTH

params returns a single
value, the width of the texture image. This value includes the border of
the texture image. The initial value is 0.

GL_TEXTURE_HEIGHT

params returns
a single value, the height of the texture image. This value includes the
border of the texture image. The initial value is 0.

GL_TEXTURE_DEPTH

params
returns a single value, the depth of the texture image. This value includes
the border of the texture image. The initial value is 0.

GL_TEXTURE_INTERNAL_FORMAT

params returns a single value, the internal of the texture image.

GL_TEXTURE_BORDER

params returns a single value, the width in pixels of the border of the
texture image. The initial value is 0.

GL_TEXTURE_RED_SIZE,

GL_TEXTURE_GREEN_SIZE,

GL_TEXTURE_BLUE_SIZE,

GL_TEXTURE_ALPHA_SIZE,

GL_TEXTURE_LUMINANCE_SIZE,

GL_TEXTURE_INTENSITY_SIZE

The internal storage resolution of an individual
component. The resolution chosen by the GL will be a close match for the
resolution requested by the user with the component argument of glTexImage1D,
glTexImage2D, glTexImage3D, glCopyTexImage1D, and glCopyTexImage2D. The
initial value is 0.