From 6be75d8aa2b2e1696ac7fdc5275c799f1eb3850e Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Tue, 20 Jun 2023 22:05:08 -0700 Subject: [PATCH] iris: Fix AUX-TT invalidation In order to make sure RCS engine is idle, we need to add DC flush + CS stall + Render target Cache flush + Depth Cache on Gfx 12 and additional CCS cache flush on Gfx12.5. Signed-off-by: Sagar Ghuge Reviewed-by: Lionel Landwerlin Part-of: --- src/gallium/drivers/iris/iris_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index adafa21..55521b1 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -5923,7 +5923,9 @@ genX(invalidate_aux_map_state)(struct iris_batch *batch) iris_emit_end_of_pipe_sync(batch, "Invalidate aux map table", PIPE_CONTROL_CS_STALL | PIPE_CONTROL_RENDER_TARGET_FLUSH | - PIPE_CONTROL_STATE_CACHE_INVALIDATE); + PIPE_CONTROL_STATE_CACHE_INVALIDATE | + (GFX_VERx10 == 125 ? + PIPE_CONTROL_CCS_CACHE_FLUSH : 0)); /* If the aux-map state number increased, then we need to rewrite the * register. Rewriting the register is used to both set the aux-map -- 2.7.4