summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeonsi/si_pm4.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pm4.c b/src/gallium/drivers/radeonsi/si_pm4.c
index 6918ae5a11f..c710a1e2e7a 100644
--- a/src/gallium/drivers/radeonsi/si_pm4.c
+++ b/src/gallium/drivers/radeonsi/si_pm4.c
@@ -142,5 +142,9 @@ void si_pm4_reset_emitted(struct si_context *sctx, bool first_cs)
}
memset(&sctx->emitted, 0, sizeof(sctx->emitted));
- sctx->dirty_states |= u_bit_consecutive(0, SI_NUM_STATES);
+
+ for (unsigned i = 0; i < SI_NUM_STATES; i++) {
+ if (sctx->queued.array[i])
+ sctx->dirty_states |= BITFIELD_BIT(i);
+ }
}