Merge pull request #36695 from clayjohn/ETC-mipmaps-4
Force mipmaps off when importing RGBA4444 textures
This commit is contained in:
commit
1ab695bf37
2 changed files with 8 additions and 0 deletions
|
@ -1458,6 +1458,8 @@ Error Image::generate_mipmaps(bool p_renormalize) {
|
|||
|
||||
ERR_FAIL_COND_V_MSG(!_can_modify(format), ERR_UNAVAILABLE, "Cannot generate mipmaps in compressed or custom image formats.");
|
||||
|
||||
ERR_FAIL_COND_V_MSG(format == FORMAT_RGBA4444, ERR_UNAVAILABLE, "Cannot generate mipmaps from RGBA4444 format.");
|
||||
|
||||
ERR_FAIL_COND_V_MSG(width == 0 || height == 0, ERR_UNCONFIGURED, "Cannot generate mipmaps with width or height equal to 0.");
|
||||
|
||||
int mmcount;
|
||||
|
|
|
@ -106,9 +106,15 @@ static void _compress_etc(Image *p_img, float p_lossy_quality, bool force_etc1_f
|
|||
// If VRAM compression is using ETC, but image has alpha, convert to RGBA4444 or LA8
|
||||
// This saves space while maintaining the alpha channel
|
||||
if (detected_channels == Image::USED_CHANNELS_RGBA) {
|
||||
|
||||
if (p_img->has_mipmaps()) {
|
||||
// Image doesn't support mipmaps with RGBA4444 textures
|
||||
p_img->clear_mipmaps();
|
||||
}
|
||||
p_img->convert(Image::FORMAT_RGBA4444);
|
||||
return;
|
||||
} else if (detected_channels == Image::USE_CHANNELS_LA) {
|
||||
|
||||
p_img->convert(Image::FORMAT_LA8);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue