summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2023-04-06 10:23:47 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2023-04-06 10:23:47 +0000
commit500e30a5d7582b5570d25d9b471c9bc7d653eab0 (patch)
tree4704749be209373b1f7c18cea2c7f6de571f6720 /lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c
parenta0d742befadcae89d35a2e4a5d65a85c53c886a5 (diff)
Merge Mesa 22.3.7
Diffstat (limited to 'lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c')
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c b/lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c
index f8454cd30..857f60214 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c
+++ b/lib/mesa/src/gallium/drivers/radeonsi/si_pm4.c
@@ -63,13 +63,14 @@ static void si_pm4_set_reg_custom(struct si_pm4_state *state, unsigned reg, uint
assert(state->ndw + 2 <= state->max_dw);
- if (opcode != state->last_opcode || reg != (state->last_reg + 1)) {
+ if (opcode != state->last_opcode || reg != (state->last_reg + 1) || idx != state->last_idx) {
si_pm4_cmd_begin(state, opcode);
state->pm4[state->ndw++] = reg | (idx << 28);
}
assert(reg <= UINT16_MAX);
state->last_reg = reg;
+ state->last_idx = idx;
state->pm4[state->ndw++] = val;
si_pm4_cmd_end(state, false);
}