[Mesa-dev] [PATCH 3/7] r600g: fix evergreen 8x MSAA sample positions

Marek Olšák maraeo at gmail.com
Wed Aug 22 18:54:14 PDT 2012


The original samples positions took samples outside of the pixel boundary,
leading to dark pixels on the edge of the colorbuffer, among other things.
---
 src/gallium/drivers/r600/evergreen_state.c |   32 ++++++++++++++--------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 4e86693..e12706e 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1516,24 +1516,24 @@ static uint32_t evergreen_set_ms_pos(struct pipe_context *ctx, struct r600_pipe_
 	static unsigned max_dist_4x = 6;
 	/* 8xMSAA */
 	static uint32_t eg_sample_locs_8x[] = {
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
 	};
 	static uint32_t cm_sample_locs_8x[] = {
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG(-2, -5, 4, -4,  1, 6, -6, -2),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
-		FILL_SREG( 6,  1, 0,  0, -5, 4,  7, -8),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG(-2, -5, 3, -4, -1, 5, -6, -2),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
+		FILL_SREG( 6,  0, 0,  0, -5, 3,  4,  4),
 	};
 	static unsigned max_dist_8x = 8;
 	/* 16xMSAA */
-- 
1.7.9.5



More information about the mesa-dev mailing list