iris: disable preemption on VFG, Wa_14015207028 for DG2
authorTapani Pälli <tapani.palli@intel.com>
Wed, 11 May 2022 10:10:07 +0000 (13:10 +0300)
committerMarge Bot <emma+marge@anholt.net>
Wed, 14 Sep 2022 10:01:23 +0000 (10:01 +0000)
This workaround disables batch level preemption for Polygon,
Trifan and Lineloop primitive topologies.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18456>

src/gallium/drivers/iris/iris_state.c

index f426623..07d3c72 100644 (file)
@@ -1058,6 +1058,14 @@ iris_init_render_context(struct iris_batch *batch)
 
    iris_init_common_context(batch);
 
+#if GFX_VERx10 == 125
+   /* Wa_14015207028 */
+   iris_emit_reg(batch, GENX(VFG_PREEMPTION_CHICKEN_BITS), vfgc) {
+      vfgc.PolygonTrifanLineLoopPreemptionDisable = true;
+      vfgc.PolygonTrifanLineLoopPreemptionDisableMask = true;
+   };
+#endif
+
 #if GFX_VER >= 9
    iris_emit_reg(batch, GENX(CS_DEBUG_MODE2), reg) {
       reg.CONSTANT_BUFFERAddressOffsetDisable = true;