summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-04-18 15:43:46 -0400
committerMarek Olšák <[email protected]>2019-04-25 11:49:38 -0400
commit383f4065911314906fb23e639308e68a5e40524d (patch)
treea10b126d208218f21b39cf72db9d390f7fa55945 /src/gallium/drivers/radeonsi/si_state.c
parent440135e5a0d178c537db3f96e6823bc8220a0f3f (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.c8
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 ||