+ /* Figure out image dimensions at start level. */
+ switch(intelObj->base.Target) {
+ case GL_TEXTURE_2D_MULTISAMPLE:
+ case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
+ case GL_TEXTURE_RECTANGLE:
+ case GL_TEXTURE_EXTERNAL_OES:
+ assert(level == 0);
+ break;
+ case GL_TEXTURE_3D:
+ depth = depth << level;
+ /* Fall through */
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_2D_ARRAY:
+ case GL_TEXTURE_CUBE_MAP:
+ case GL_TEXTURE_CUBE_MAP_ARRAY:
+ height = height << level;
+ /* Fall through */
+ case GL_TEXTURE_1D:
+ case GL_TEXTURE_1D_ARRAY:
+ width = width << level;
+ break;
+ default:
+ unreachable("Unexpected target");
+ }