Mesa (master): r600g: Set the correct value of COLOR*_DIM for RATs

Tom Stellard tstellar at kemper.freedesktop.org
Wed Sep 19 21:06:33 UTC 2012


Module: Mesa
Branch: master
Commit: 3e3ca9271887ea4c8d3312d8943aefcd5e1893e0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e3ca9271887ea4c8d3312d8943aefcd5e1893e0

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Sep 13 17:15:57 2012 +0000

r600g: Set the correct value of COLOR*_DIM for RATs

For buffers (which is what is being used for RATs), the
COLOR*_DIM.WIDTH_MASK field needs to be set to the low 16-bits of the
buffer size, and the COLOR*_DIM.HEIEGHT_MAX needs to be set to the
high bits.

Reviewed-by: Marek Olšák <maraeo at gmail.com>

---

 src/gallium/drivers/r600/evergreen_state.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index f244e8a..47bd826 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1312,8 +1312,8 @@ void evergreen_init_color_surface(struct r600_context *rctx,
 
 	if (rtex->is_rat) {
 		color_info |= S_028C70_RAT(1);
-		color_dim = S_028C78_WIDTH_MAX(pipe_tex->width0)
-				| S_028C78_HEIGHT_MAX(pipe_tex->height0);
+		color_dim = S_028C78_WIDTH_MAX(pipe_tex->width0 & 0xffff)
+			| S_028C78_HEIGHT_MAX((pipe_tex->width0 >> 16) & 0xffff);
 	}
 
 	/* EXPORT_NORM is an optimzation that can be enabled for better




More information about the mesa-commit mailing list