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) {
