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.