glTexImage3D(target, level, ifmt, width, height, depth, 0, get_upload_format(fmt), type, data);
allocated |= 1<<level;
if(auto_gen_mipmap && level==0)
{
generate_mipmap();
glTexImage3D(target, level, ifmt, width, height, depth, 0, get_upload_format(fmt), type, data);
allocated |= 1<<level;
if(auto_gen_mipmap && level==0)
{
generate_mipmap();