Using glTexStorage2D with a target of GL_TEXTURE_CUBE_MAP gives me GL_INVALID_ENUM under AMD, latest (12.8) drivers. The full call is:

Code :

glTexStorage2D (GL_TEXTURE_CUBE_MAP, 1, GL_RGBA8, size, size);

where size has a value of 256. Generating the same cubemap with regular glTexImage2D calls works. Both also work perfectly fine on NVIDIA. The other glTexStorage calls I use (with GL_TEXTURE_2D and GL_TEXTURE_2D_ARRAY) also work perfectly fine on both; this is just restricted to cubemaps and seems an obvious driver bug.

Can anyone cross-check and confirm?

The spec and documentation are confusing here. Both the GL_ARB_texture_storage page and the GL spec itself define GL_TEXTURE_CUBE_MAP as a valid target; the man page does not list it among the valid values for target but yet does provide it in the "glTexStorage2D is equivalent to..." examples.

09-12-2012, 07:10 AM

aqnuep

It is a driver bug, but maybe the latest driver already has it fixed.

Btw, your use is correct so it seems that the man page is incorrect.

09-12-2012, 08:15 AM

Alfonse Reinheart

Quote:

The spec and documentation are confusing here. Both the GL_ARB_texture_storage page and the GL spec itself define GL_TEXTURE_CUBE_MAP as a valid target; the man page does not list it among the valid values for target but yet does provide it in the "glTexStorage2D is equivalent to..." examples.

Are you referring to the documentation or to the API call? If the former then the point that one piece of documentation is in error still stands, and besides, it's completely irrelevant to the matter of a driver bug - no matter how beautiful or correct the documentation may or may not be, the driver bug still exists. If the latter, then you should read the OP again.

09-12-2012, 09:51 AM

Alfonse Reinheart

Quote:

If the former then the point that one piece of documentation is in error still stands, and besides, it's completely irrelevant to the matter of a driver bug

Yes, it is irrelevant to the driver bug. But he asked about the docs, so I answered about the docs.

09-12-2012, 10:20 AM

mhagain

It wasn't a question about the docs, it was pointing out an error in one of them.