Module: Mesa
Branch: main
Commit: a043ae8e249ce2c1c5df947434ffc76e654b5fe0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a043ae8e249ce2c1c5df947434ffc76e654b5fe0

Author: Tapani Pälli <[email protected]>
Date:   Tue Feb 14 11:23:29 2023 +0200

iris: implement emission of 3DSTATE_HS for Wa_1306463417

We need to emit 3DSTATE_HS for each primitive with tessellation.

Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21308>

---

 src/gallium/drivers/iris/iris_state.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/drivers/iris/iris_state.c 
b/src/gallium/drivers/iris/iris_state.c
index 4dee0bc4b1c..b9b7e6ff6e6 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -7126,6 +7126,13 @@ iris_upload_render_state(struct iris_context *ice,
       batch->contains_draw_with_next_seqno = true;
    }
 
+   /* Wa_1306463417 - Send HS state for every primitive on gfx11.
+    * We implement this by setting TCS dirty on each draw.
+    */
+   if (GFX_VER == 11 && ice->shaders.prog[MESA_SHADER_TESS_CTRL]) {
+      ice->state.stage_dirty |= IRIS_STAGE_DIRTY_TCS;
+   }
+
    iris_upload_dirty_render_state(ice, batch, draw);
 
    if (draw->index_size > 0) {

Reply via email to