summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/iris/iris_state.c
diff options
context:
space:
mode:
authorRafael Antognolli <rafael.antognolli@intel.com>2020-03-03 08:07:32 -0800
committerDylan Baker <dylan@pnwbakers.com>2020-03-04 08:27:37 -0800
commit3d203789a93ae69d4e438b28171686871cc07c7e (patch)
treeeaea413d99799e189ee3f7a02ddbd3707e83f2b6 /src/gallium/drivers/iris/iris_state.c
parent5620cd4bcaf5d8f0a90d9e087b35e0632ec44c1c (diff)
intel/gen12+: Disable mid thread preemption.
Fixes a GPU hang in Car Chase. Cc: mesa-stable@lists.freedesktop.org v2: Add comment explaining why (Jason). Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4035> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4035> (cherry picked from commit 5f13996262a6d72ca5b5c235647d5257ae961b66)
Diffstat (limited to 'src/gallium/drivers/iris/iris_state.c')
-rw-r--r--src/gallium/drivers/iris/iris_state.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 482b4f68376..34a3d646954 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -4363,6 +4363,18 @@ iris_store_cs_state(struct iris_context *ice,
desc.BarrierEnable = cs_prog_data->uses_barrier;
desc.CrossThreadConstantDataReadLength =
cs_prog_data->push.cross_thread.regs;
+#if GEN_GEN >= 12
+ /* TODO: Check if we are missing workarounds and enable mid-thread
+ * preemption.
+ *
+ * We still have issues with mid-thread preemption (it was already
+ * disabled by the kernel on gen11, due to missing workarounds). It's
+ * possible that we are just missing some workarounds, and could enable
+ * it later, but for now let's disable it to fix a GPU in compute in Car
+ * Chase (and possibly more).
+ */
+ desc.ThreadPreemptionDisable = true;
+#endif
}
}