From a6eeaf42b5aa56cb6e6bbe26417738edb3607f80 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 12 Aug 2013 14:29:40 +0000 Subject: [PATCH] set_size_padded should not pad z for cube maps and 2d texture arrays --- panda/src/gobj/texture.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/panda/src/gobj/texture.cxx b/panda/src/gobj/texture.cxx index d053d0fda1..b81c00c378 100644 --- a/panda/src/gobj/texture.cxx +++ b/panda/src/gobj/texture.cxx @@ -1756,7 +1756,14 @@ set_size_padded(int x, int y, int z) { if (do_get_auto_texture_scale(cdata) != ATS_none) { do_set_x_size(cdata, up_to_power_2(x)); do_set_y_size(cdata, up_to_power_2(y)); - do_set_z_size(cdata, up_to_power_2(z)); + + if (cdata->_texture_type == TT_3d_texture) { + // Only pad 3D textures. It does not make sense + // to do so for cube maps or 2D texture arrays. + do_set_z_size(cdata, up_to_power_2(z)); + } else { + do_set_z_size(cdata, z); + } } else { do_set_x_size(cdata, x); do_set_y_size(cdata, y); @@ -5013,7 +5020,7 @@ do_set_component_type(CData *cdata, Texture::ComponentType component_type) { break; case T_unsigned_int_24_8: - //FIXME: I have no idea... + cdata->_component_width = 4; break; } }