diff options
author | Dave Airlie <airlied@redhat.com> | 2010-09-21 19:57:15 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-09-21 20:53:09 +1000 |
commit | b6ced8ee7b2c86e94fd7467d12aca5e322048ba4 (patch) | |
tree | 6dfce8582c4ddc3aa8244f6a2dced1ade2b588a6 /src/gallium/drivers/r600 | |
parent | 610aed81dbaee73bc2a1fb9a030d7ec0e49e73cb (diff) |
r600g: fixup evergreen miptree setup.
eg seems to have a higher pitch aligmment requirement and uses r700 cube setup
this fixes a couple of piglit tests here.
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index abfe406402..f60fe9f316 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -84,10 +84,13 @@ static void r600_setup_miptree(struct r600_resource_texture *rtex, enum chip_cla h = u_minify(ptex->height0, i); h = util_next_power_of_two(h); pitch = util_format_get_stride(ptex->format, align(w, 64)); - pitch = align(pitch, 256); + if (chipc == EVERGREEN) + pitch = align(pitch, 512); + else + pitch = align(pitch, 256); layer_size = pitch * h; if (ptex->target == PIPE_TEXTURE_CUBE) { - if (chipc == R700) + if (chipc >= R700) size = layer_size * 8; else size = layer_size * 6; |