void Texture::set_internal_format(PixelFormat fmt)
{
- if(MSP_sized_internal_formats)
- fmt = get_sized_pixelformat(fmt);
+ if(!get_component_size(fmt) && MSP_sized_internal_formats)
+ {
+ unsigned size = (fmt==DEPTH_COMPONENT ? get_gl_api()==OPENGL_ES2 ? 2 : 4 : 1);
+ fmt = get_sized_pixelformat(fmt, size);
+ }
require_pixelformat(fmt);
ifmt = fmt;