diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2013-05-02 15:39:15 +0200 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2013-05-23 10:32:29 +0200 |
commit | fa6f0f16fe0b42b4e963082d59aa7e93a3e5d5cd (patch) | |
tree | 81256e4154ae3098b92900652048b802692f66d6 | |
parent | 3db274fbd150aedfadb0a1b4e6cec63929c56a1b (diff) |
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
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 1 | ||||
-rw-r--r-- | 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 7085fb4b553..16047528851 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 c49b029d71a..7ce084e5794 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 ed5d6e003d7..297bf6325ab 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; |