- // TODO Only do this once all faces are created
- auto_generate_mipmap();
- allocated |= (1<<get_n_levels())-1;
+ allocated |= 1<<get_face_index(face);
+ if((allocated&63)==63)
+ {
+ allocated |= 64;
+ if(auto_gen_mipmap)
+ {
+ generate_mipmap();
+ allocated |= (64<<levels)-1;
+ }
+ }
+ }
+ else if(!(allocated&(64<<level)))
+ {
+ for(unsigned i=0; i<6; ++i)
+ if(enumerate_faces(i)!=face)
+ glTexImage2D(enumerate_faces(i), level, ifmt, s, s, 0, comp, type, 0);
+
+ allocated |= 64<<level;