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