iris: implement VF_STATISTICS emit for Wa_16012775297

Emit dummy VF_STATISTICS state before each VF state.

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31759>
(cherry picked from commit 9465d6e3d7)
This commit is contained in:
Tapani Pälli 2022-04-11 15:04:55 +03:00 committed by Eric Engestrom
parent fcfb957ad5
commit 1a3141acc3
2 changed files with 17 additions and 7 deletions

View file

@ -84,7 +84,7 @@
"description": "iris: implement VF_STATISTICS emit for Wa_16012775297",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -8097,7 +8097,23 @@ iris_upload_dirty_render_state(struct iris_context *ice,
}
}
if (dirty & IRIS_DIRTY_VF_STATISTICS) {
iris_emit_cmd(batch, GENX(3DSTATE_VF_STATISTICS), vf) {
vf.StatisticsEnable = true;
}
}
if (dirty & IRIS_DIRTY_VF) {
#if INTEL_WA_16012775297_GFX_VER
/* Emit dummy VF statistics before each 3DSTATE_VF. */
if (intel_needs_workaround(batch->screen->devinfo, 16012775297) &&
(dirty & IRIS_DIRTY_VF_STATISTICS) == 0) {
iris_emit_cmd(batch, GENX(3DSTATE_VF_STATISTICS), vfs) {
vfs.StatisticsEnable = true;
}
}
#endif
iris_emit_cmd(batch, GENX(3DSTATE_VF), vf) {
#if GFX_VERx10 >= 125
vf.GeometryDistributionEnable = true;
@ -8144,12 +8160,6 @@ iris_upload_dirty_render_state(struct iris_context *ice,
}
#endif
if (dirty & IRIS_DIRTY_VF_STATISTICS) {
iris_emit_cmd(batch, GENX(3DSTATE_VF_STATISTICS), vf) {
vf.StatisticsEnable = true;
}
}
#if GFX_VER == 8
if (dirty & IRIS_DIRTY_PMA_FIX) {
bool enable = want_pma_fix(ice);