r600g: fix height calcs for miptree
authorDave Airlie <airlied@redhat.com>
Wed, 18 Aug 2010 00:50:19 +0000 (10:50 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 18 Aug 2010 00:50:19 +0000 (10:50 +1000)
h needs to be rounded up, this probably needs revisiting when we get
to tiling etc.

fixes fbo-generatemipmap-npot

src/gallium/drivers/r600/r600_texture.c

index 30d79ebdd6ffb3af06ec11754cb38de9c3f040cd..55cceb6935beec6890f54d9b7e8258ac35f3591a 100644 (file)
@@ -65,6 +65,7 @@ static void r600_setup_miptree(struct r600_screen *rscreen, struct r600_resource
        for (i = 0, offset = 0; i <= ptex->last_level; i++) {
                w = u_minify(ptex->width0, i);
                h = u_minify(ptex->height0, i);
+               h = util_next_power_of_two(h);
                pitch = util_format_get_stride(ptex->format, align(w, 64));
                layer_size = pitch * h;
                if (ptex->target == PIPE_TEXTURE_CUBE)