iris: add missing workaround for 3DSTATE_LINE_STIPPLE

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25425>
(cherry picked from commit ee4062666c)
This commit is contained in:
Lionel Landwerlin 2023-09-27 15:42:32 +03:00 committed by Eric Engestrom
parent 140c7ab73d
commit 04a8cc5c51
2 changed files with 12 additions and 1 deletions

View file

@ -886,7 +886,7 @@
"description": "iris: add missing workaround for 3DSTATE_LINE_STIPPLE",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -7044,6 +7044,17 @@ iris_upload_dirty_render_state(struct iris_context *ice,
if (dirty & IRIS_DIRTY_LINE_STIPPLE) {
struct iris_rasterizer_state *cso = ice->state.cso_rast;
iris_batch_emit(batch, cso->line_stipple, sizeof(cso->line_stipple));
#if GFX_VER >= 11
/* ICL PRMs, Volume 2a - Command Reference: Instructions,
* 3DSTATE_LINE_STIPPLE:
*
* "Workaround: This command must be followed by a PIPE_CONTROL with
* CS Stall bit set."
*/
iris_emit_pipe_control_flush(batch,
"workaround: post 3DSTATE_LINE_STIPPLE",
PIPE_CONTROL_CS_STALL);
#endif
}
if (dirty & IRIS_DIRTY_VF_TOPOLOGY) {