diff --git a/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c b/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c index 5d1c95158ca..36d88f21f12 100644 --- a/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c +++ b/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c @@ -11,6 +11,9 @@ bool si_init_cp_reg_shadowing(struct si_context *sctx) { + if (!si_init_gfx_preamble_state(sctx)) + return false; + if (sctx->uses_kernelq_reg_shadowing) { if (sctx->screen->info.has_fw_based_shadowing) { sctx->shadowing.registers = @@ -45,12 +48,7 @@ bool si_init_cp_reg_shadowing(struct si_context *sctx) return false; } } - } - if (!si_init_gfx_preamble_state(sctx)) - return false; - - if (sctx->uses_kernelq_reg_shadowing) { /* We need to clear the shadowed reg buffer. */ si_cp_dma_clear_buffer(sctx, &sctx->gfx_cs, &sctx->shadowing.registers->b.b, 0, sctx->shadowing.registers->bo_size, 0);