Mesa (master): r600g: fixup evergreen miptree setup.
Dave Airlie
airlied at kemper.freedesktop.org
Tue Sep 21 03:07:23 UTC 2010
Module: Mesa
Branch: master
Commit: b6ced8ee7b2c86e94fd7467d12aca5e322048ba4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6ced8ee7b2c86e94fd7467d12aca5e322048ba4
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Sep 21 19:57:15 2010 +1000
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.
---
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 abfe406..f60fe9f 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;
More information about the mesa-commit
mailing list