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>
This commit is contained in:
Tapani Pälli
2022-04-11 15:04:55 +03:00
committed by Marge Bot
parent 562b80cf69
commit 9465d6e3d7
+16 -6
View File
@@ -8138,7 +8138,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;
@@ -8185,12 +8201,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);