query list of all texture targets

How can be queried list of all supported texture targets of the current OpenGL connection? (GL_TEXTURE_2D, …)

You mean supported or hardware accelerated?

Support is granted by checking OpenGL versions or related extensions which added support.

A list of what was added in which OpenGL version can be found at the end of the OpenGL specs:
http://www.opengl.org/documentation/specs/

The official list of extensions is here:
http://www.opengl.org/registry/

Finding out which feature is hardware accelerated is more difficult, but many things are documented. Like non-power-of-2 textures are in the OpenGL 2.0 spec, but only implementations exporting also the ARB_texture_non_power_of_two accelerate it.

Other combinations of good or bad format combinations can be found in the resp. vendor’s programming guides.

The only way to verify without a-priori knowledge would be to run a benchmark of the alternative paths you plan to support.
There are too many combinations to list.

Thanks Relic. I meant supported ones. I know it must be done through checking extensions with glGetString, but some easy way how to get currently supported targets propably doesn’t exist. I mean something like glGet (GL_TEXTURE_TARGETS) returning array of GLenums.

Nope, that would be too easy. :wink:
It’s not that there are too many texture targets, from the top of my head: 1D, 2D, 3D, CUBE, RECT, 1D/2D_ARRAY.
(Plus maybe in combination with NPOT and Floating Point).
It’s not too much effort to store the relevant minimum OpenGL versions and extensions and check against that.