[Mesa-dev] [PATCH 1/3] r600g: fix polygon mode for points and lines and point/line fill modes

Marek Olšák maraeo at gmail.com
Thu Oct 23 06:46:58 PDT 2014


From: Marek Olšák <marek.olsak at amd.com>

Fixes piglit/polygon-mode-offset.

Cc: 10.2 10.3 mesa-stable at lists.freedesktop.org
---
 src/gallium/drivers/r600/evergreen_state.c | 6 +++---
 src/gallium/drivers/r600/r600_state.c      | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index f74dd91..36b86aa 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -542,9 +542,9 @@ static void *evergreen_create_rs_state(struct pipe_context *ctx,
 			       S_028814_CULL_FRONT((state->cull_face & PIPE_FACE_FRONT) ? 1 : 0) |
 			       S_028814_CULL_BACK((state->cull_face & PIPE_FACE_BACK) ? 1 : 0) |
 			       S_028814_FACE(!state->front_ccw) |
-			       S_028814_POLY_OFFSET_FRONT_ENABLE(state->offset_tri) |
-			       S_028814_POLY_OFFSET_BACK_ENABLE(state->offset_tri) |
-			       S_028814_POLY_OFFSET_PARA_ENABLE(state->offset_tri) |
+			       S_028814_POLY_OFFSET_FRONT_ENABLE(util_get_offset(state, state->fill_front)) |
+			       S_028814_POLY_OFFSET_BACK_ENABLE(util_get_offset(state, state->fill_back)) |
+			       S_028814_POLY_OFFSET_PARA_ENABLE(state->offset_point || state->offset_line) |
 			       S_028814_POLY_MODE(state->fill_front != PIPE_POLYGON_MODE_FILL ||
 						  state->fill_back != PIPE_POLYGON_MODE_FILL) |
 			       S_028814_POLYMODE_FRONT_PTYPE(r600_translate_fill(state->fill_front)) |
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 8dc25da..61f5c5a 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -536,9 +536,9 @@ static void *r600_create_rs_state(struct pipe_context *ctx,
 				 S_028814_CULL_FRONT(state->cull_face & PIPE_FACE_FRONT ? 1 : 0) |
 				 S_028814_CULL_BACK(state->cull_face & PIPE_FACE_BACK ? 1 : 0) |
 				 S_028814_FACE(!state->front_ccw) |
-				 S_028814_POLY_OFFSET_FRONT_ENABLE(state->offset_tri) |
-				 S_028814_POLY_OFFSET_BACK_ENABLE(state->offset_tri) |
-				 S_028814_POLY_OFFSET_PARA_ENABLE(state->offset_tri) |
+				 S_028814_POLY_OFFSET_FRONT_ENABLE(util_get_offset(state, state->fill_front)) |
+				 S_028814_POLY_OFFSET_BACK_ENABLE(util_get_offset(state, state->fill_back)) |
+				 S_028814_POLY_OFFSET_PARA_ENABLE(state->offset_point || state->offset_line) |
 				 S_028814_POLY_MODE(state->fill_front != PIPE_POLYGON_MODE_FILL ||
 									 state->fill_back != PIPE_POLYGON_MODE_FILL) |
 				 S_028814_POLYMODE_FRONT_PTYPE(r600_translate_fill(state->fill_front)) |
-- 
1.9.1



More information about the mesa-dev mailing list