aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/genX_pipeline.c
diff options
context:
space:
mode:
authorRafael Antognolli <[email protected]>2020-03-03 08:07:32 -0800
committerMarge Bot <[email protected]>2020-03-03 19:52:06 +0000
commit5f13996262a6d72ca5b5c235647d5257ae961b66 (patch)
treed71f753fb929821016e0a381d4b498765cd2c691 /src/intel/vulkan/genX_pipeline.c
parent42ee6ff706f864d7666603af282ab30544ee638a (diff)
intel/gen12+: Disable mid thread preemption.
Fixes a GPU hang in Car Chase. Cc: [email protected] v2: Add comment explaining why (Jason). Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4035> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4035>
Diffstat (limited to 'src/intel/vulkan/genX_pipeline.c')
-rw-r--r--src/intel/vulkan/genX_pipeline.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index c9f8eaa6f51..52a363fc075 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -2354,6 +2354,18 @@ compute_pipeline_create(
.CrossThreadConstantDataReadLength =
cs_prog_data->push.cross_thread.regs,
#endif
+#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).
+ */
+ .ThreadPreemptionDisable = true,
+#endif
.NumberofThreadsinGPGPUThreadGroup = cs_prog_data->threads,
};