diff options
author | Nicolai Hähnle <[email protected]> | 2017-09-26 18:10:58 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-10-02 15:07:45 +0200 |
commit | 63680471f9f3e7047a2b074e824e449e59e4c8e9 (patch) | |
tree | 56a5939f5a25b9f4231e63e3a7e503eb16252cab /src/gallium/drivers/radeonsi/si_state.c | |
parent | 12f3155e28f335911d10aadabda03ec4f9bcbf16 (diff) |
radeonsi: remove si_context::{scissor_enabled,clip_halfz}
They are just copies of the rasterizer state.
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 2dbe7c6e274..78a3fbd086e 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1003,12 +1003,22 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state) sctx->current_vs_state &= C_VS_STATE_CLAMP_VERTEX_COLOR; sctx->current_vs_state |= S_VS_STATE_CLAMP_VERTEX_COLOR(rs->clamp_vertex_color); - si_viewport_set_rast_deps(sctx, rs->scissor_enable, rs->clip_halfz); - si_pm4_bind_state(sctx, rasterizer, rs); si_update_poly_offset_state(sctx); if (!old_rs || + old_rs->scissor_enable != rs->scissor_enable) { + sctx->scissors.dirty_mask = (1 << SI_MAX_VIEWPORTS) - 1; + si_mark_atom_dirty(sctx, &sctx->scissors.atom); + } + + if (!old_rs || + old_rs->clip_halfz != rs->clip_halfz) { + sctx->viewports.depth_range_dirty_mask = (1 << SI_MAX_VIEWPORTS) - 1; + si_mark_atom_dirty(sctx, &sctx->viewports.atom); + } + + if (!old_rs || old_rs->clip_plane_enable != rs->clip_plane_enable || old_rs->pa_cl_clip_cntl != rs->pa_cl_clip_cntl) si_mark_atom_dirty(sctx, &sctx->clip_regs); |