Mesa (9.1): radeonsi: Fix user clip planes

Michel Dänzer daenzer at kemper.freedesktop.org
Thu May 23 08:53:50 UTC 2013


Module: Mesa
Branch: 9.1
Commit: fa6f0f16fe0b42b4e963082d59aa7e93a3e5d5cd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa6f0f16fe0b42b4e963082d59aa7e93a3e5d5cd

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu May  2 15:39:15 2013 +0200

radeonsi: Fix user clip planes

4 more little piglits.

NOTE: This is a candidate for the 9.1 branch.
(cherry picked from commit d42a2df19cea097d8af2d4d5c195483ba573655e)

Conflicts:
	src/gallium/drivers/radeonsi/si_state_draw.c

---

 src/gallium/drivers/radeonsi/si_state.c      |    1 +
 src/gallium/drivers/radeonsi/si_state.h      |    1 +
 src/gallium/drivers/radeonsi/si_state_draw.c |    4 ++--
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 7085fb4..1604752 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -383,6 +383,7 @@ static void *si_create_rs_state(struct pipe_context *ctx,
 	}
 
 	rs->two_side = state->light_twoside;
+	rs->clip_plane_enable = state->clip_plane_enable;
 
 	polygon_dual_mode = (state->fill_front != PIPE_POLYGON_MODE_FILL ||
 				state->fill_back != PIPE_POLYGON_MODE_FILL);
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h
index c49b029..7ce084e 100644
--- a/src/gallium/drivers/radeonsi/si_state.h
+++ b/src/gallium/drivers/radeonsi/si_state.h
@@ -49,6 +49,7 @@ struct si_state_rasterizer {
 	unsigned		pa_su_sc_mode_cntl;
 	unsigned		pa_cl_clip_cntl;
 	unsigned		pa_cl_vs_out_cntl;
+	unsigned		clip_plane_enable;
 	float			offset_units;
 	float			offset_scale;
 };
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index ed5d6e0..297bf63 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -309,9 +309,9 @@ static bool si_update_draw_info_state(struct r600_context *rctx,
 		       /*| (rctx->rasterizer->clip_plane_enable &
 		       rctx->vs_shader->shader.clip_dist_write)*/);
 	si_pm4_set_reg(pm4, R_028810_PA_CL_CLIP_CNTL, rctx->pa_cl_clip_cntl
-			/*| (rctx->vs_shader->shader.clip_dist_write ||
+			| (/*rctx->vs_shader->shader.clip_dist_write ||
 			rctx->vs_shader->shader.vs_prohibit_ucps ?
-			0 : rctx->rasterizer->clip_plane_enable & 0x3F)*/);
+			0 :*/ rctx->queued.named.rasterizer->clip_plane_enable & 0x3F));
 
 	si_pm4_set_state(rctx, draw_info, pm4);
 	return true;




More information about the mesa-commit mailing list