Commit 65c9f44
committed
Fix incorrect mipmap size calculation for uncompressed DDS textures
Previously, the DDS texture loader incorrectly calculated mipmap dimensions
for uncompressed textures when the original dimensions
were non-power-of-two.
For example, given a 120×120 texture, the expected mipmap chain should be:
mipmap=0, size=120×120
mipmap=1, size=60×60
mipmap=2, size=30×30
mipmap=3, size=15×15
mipmap=4, size=7×7
mipmap=5, size=3×3
mipmap=6, size=1×1
But the loader was producing:
mipmap=0, size=120×120
mipmap=1, size=60×60
mipmap=2, size=30×30
mipmap=3, size=15×15
mipmap=4, size=8×8
mipmap=5, size=4×4
mipmap=6, size=2×2
This commit corrects the logic to properly compute width and height independently at each mip level.
Fixes issue godotengine#105136.1 parent 4248411 commit 65c9f44
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | | - | |
169 | | - | |
| 168 | + | |
| 169 | + | |
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| |||
0 commit comments