Signed-off-by: Sonny Jiang <sonny.ji...@amd.com>
---
 src/gallium/drivers/radeonsi/si_gfx_cs.c | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_gfx_cs.c 
b/src/gallium/drivers/radeonsi/si_gfx_cs.c
index 09f0d3b..ac4909a 100644
--- a/src/gallium/drivers/radeonsi/si_gfx_cs.c
+++ b/src/gallium/drivers/radeonsi/si_gfx_cs.c
@@ -323,6 +323,30 @@ void si_begin_new_gfx_cs(struct si_context *ctx)
 
        ctx->cs_shader_state.initialized = false;
 
-       /* Set all saved registers state to unknown */
-       ctx->tracked_regs.reg_saved = 0;
+       if (has_clear_state) {
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_RENDER_CONTROL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_COUNT_CONTROL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_RENDER_OVERRIDE2] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_SHADER_CONTROL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_CB_TARGET_MASK] = 
0xffffffff;
+               ctx->tracked_regs.reg_value[SI_TRACKED_CB_DCC_CONTROL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_SX_PS_DOWNCONVERT] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_SX_BLEND_OPT_EPSILON] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_SX_BLEND_OPT_CONTROL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_SC_LINE_CNTL] = 
0x00001000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_SC_AA_CONFIG] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_EQAA] = 0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_SC_MODE_CNTL_1] = 
0x00000000;
+               
ctx->tracked_regs.reg_value[SI_TRACKED_PA_SU_SMALL_PRIM_FILTER_CNTL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_CL_VS_OUT_CNTL] = 
0x00000000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_CL_CLIP_CNTL] = 
0x00090000;
+               ctx->tracked_regs.reg_value[SI_TRACKED_PA_SC_BINNER_CNTL_0] = 
0x00000003;
+               ctx->tracked_regs.reg_value[SI_TRACKED_DB_DFSM_CONTROL] = 
0x00000000;
+
+               /* Set all saved registers state to saved. */
+               ctx->tracked_regs.reg_saved = 0xffffffff;
+       } else {
+               /* Set all saved registers state to unknown. */
+               ctx->tracked_regs.reg_saved = 0;
+       }
 }
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to