Using too-large textures

What is the expected behavior if I send OpenGL a texture which has a dimension larger than that returned by GL_MAX_TEXTURE_SIZE?

While debugging something else, I realized that I had been sending a 4096x4096 texture (+ mipmaps) to a machine that says it only accepts 2048. And it was working fine. Was OpenGL scaling the texture down under the covers? Or is the card (an old GeForceMX) actually capable of higher dimensions than OpenGL claims?

I don’t know what’s the behavior, maybe slow downs, maybe not beeing able to see anything… Try to see the texture proxies. It might help.

Techinically the results are undefined. According to the GL spec, passing a texture larger than the max size has undefined results. Vendors are able to implement whatever behavior they want. Some do provide a software backup, but it is usually never desirable.

Originally posted by jtipton:
Techinically the results are undefined. According to the GL spec, passing a texture larger than the max size has undefined results. Vendors are able to implement whatever behavior they want. Some do provide a software backup, but it is usually never desirable.
Thanks, that’s the kind of answer I was looking for. (Where are things like this documented?)

I got this out the “Red Book” and the “Blue Book”. They are typically the best source you’ll find. There are free versions under the documentation link at the OpenGL.org homepage. They are dated, but still valuable if you don’t want to buy the latest versions.