From db05db44fe8a6958296b168f69cae5779b247b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Tue, 15 Aug 2023 10:37:25 +0300 Subject: [PATCH] iris: implement a dummy depth flush for Wa_14016712196 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emit depth flush after state that sends implicit depth flush. These states are: 3DSTATE_HIER_DEPTH_BUFFER 3DSTATE_STENCIL_BUFFER 3DSTATE_DEPTH_BUFFER 3DSTATE_CPSIZE_CONTROL_BUFFER Signed-off-by: Tapani Pälli Reviewed-by: Sagar Ghuge Part-of: --- src/gallium/drivers/iris/iris_state.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 27a7e5dd8b4..0b20edddae4 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -7223,6 +7223,14 @@ iris_upload_dirty_render_state(struct iris_context *ice, iris_batch_emit(batch, cso_z->packets, sizeof(cso_z->packets)); + /* Wa_14016712196: + * Emit depth flush after state that sends implicit depth flush. + */ + if (intel_needs_workaround(batch->screen->devinfo, 14016712196)) { + iris_emit_pipe_control_flush(batch, "Wa_14016712196", + PIPE_CONTROL_DEPTH_CACHE_FLUSH); + } + if (zres) genX(emit_depth_state_workarounds)(ice, batch, &zres->surf);