diff options
| author | Juan Linietsky | 2016-06-20 19:43:06 -0300 |
|---|---|---|
| committer | Rémi Verschelde | 2016-06-25 01:41:59 +0200 |
| commit | d1dbc7fe93c8a5c62e275182baffcb82b6c9ca31 (patch) | |
| tree | 3323b4809f9d7b7a07902afb39be8a4749db83de /core/image.cpp | |
| parent | 299b0102f028881ac6acbfabd5208c4f8f3f2da9 (diff) | |
| download | godot-d1dbc7fe93c8a5c62e275182baffcb82b6c9ca31.tar.gz godot-d1dbc7fe93c8a5c62e275182baffcb82b6c9ca31.tar.zst godot-d1dbc7fe93c8a5c62e275182baffcb82b6c9ca31.zip | |
fix bug decompressing bc texture, closes #4404
(cherry picked from commit 9d4cdc6d8a04cfbd543b5385f68e61dd1b33bd94)
Diffstat (limited to '')
| -rw-r--r-- | core/image.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/core/image.cpp b/core/image.cpp index cb667c9b9..bee1108de 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -1697,8 +1697,17 @@ Error Image::_decompress_bc() { print_line("decompressing bc"); + int wd=width,ht=height; + if (wd%4!=0) { + wd+=4-(wd%4); + } + if (ht%4!=0) { + ht+=4-(ht%4); + } + + int mm; - int size = _get_dst_image_size(width,height,FORMAT_RGBA,mm,mipmaps); + int size = _get_dst_image_size(wd,ht,FORMAT_RGBA,mm,mipmaps); DVector<uint8_t> newdata; newdata.resize(size); @@ -1708,7 +1717,8 @@ Error Image::_decompress_bc() { int rofs=0; int wofs=0; - int wd=width,ht=height; + + print_line("width: "+itos(wd)+" height: "+itos(ht)); for(int i=0;i<=mm;i++) { @@ -2013,6 +2023,11 @@ Error Image::_decompress_bc() { data=newdata; format=FORMAT_RGBA; + if (wd!=width || ht!=height) { + //todo, crop + width=wd; + height=ht; + } return OK; } |
