r600g: get correct height alignment
authorDave Airlie <airlied@redhat.com>
Fri, 11 Feb 2011 01:47:43 +0000 (11:47 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 11 Feb 2011 03:47:35 +0000 (13:47 +1000)
useful for s3tc

src/gallium/drivers/r600/r600_texture.c

index df8072fc13c320103862cd31a17171513b877224..b8bc365bcbd6f60b52395c68f934e7a0bbb147ce 100644 (file)
@@ -430,7 +430,6 @@ static struct pipe_surface *r600_create_surface(struct pipe_context *pipe,
 {
        struct r600_resource_texture *rtex = (struct r600_resource_texture*)texture;
        struct r600_surface *surface = CALLOC_STRUCT(r600_surface);
-       unsigned tile_height;
        unsigned level = surf_tmpl->u.tex.level;
 
        assert(surf_tmpl->u.tex.first_layer == surf_tmpl->u.tex.last_layer);
@@ -450,8 +449,8 @@ static struct pipe_surface *r600_create_surface(struct pipe_context *pipe,
        surface->base.u.tex.last_layer = surf_tmpl->u.tex.last_layer;
        surface->base.u.tex.level = level;
 
-       tile_height = r600_get_height_alignment(pipe->screen, rtex->array_mode[level]);
-       surface->aligned_height = align(surface->base.height, tile_height);
+       surface->aligned_height = r600_texture_get_nblocksy(pipe->screen,
+                                                           rtex, level);
        return &surface->base;
 }