diff options
author | Marek Olšák <[email protected]> | 2019-04-18 15:43:46 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2019-04-25 11:49:38 -0400 |
commit | 383f4065911314906fb23e639308e68a5e40524d (patch) | |
tree | a10b126d208218f21b39cf72db9d390f7fa55945 /src/gallium/drivers/radeonsi/si_state.c | |
parent | 440135e5a0d178c537db3f96e6823bc8220a0f3f (diff) |
radeonsi: remove dirty slot masks from scissor and viewport states
All registers in the array need to be updated if any of them is changed.
Only apps writing gl_ViewportIndex were affected by this bug.
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index bc7e777ad73..2266b0a0824 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1015,10 +1015,8 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state) 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; + old_rs->scissor_enable != rs->scissor_enable) si_mark_atom_dirty(sctx, &sctx->atoms.s.scissors); - } if (!old_rs || old_rs->line_width != rs->line_width || @@ -1027,10 +1025,8 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state) si_mark_atom_dirty(sctx, &sctx->atoms.s.guardband); if (!old_rs || - old_rs->clip_halfz != rs->clip_halfz) { - sctx->viewports.depth_range_dirty_mask = (1 << SI_MAX_VIEWPORTS) - 1; + old_rs->clip_halfz != rs->clip_halfz) si_mark_atom_dirty(sctx, &sctx->atoms.s.viewports); - } if (!old_rs || old_rs->clip_plane_enable != rs->clip_plane_enable || |