Module: Mesa Branch: staging/22.2 Commit: 640e1c08b67d338bec9a8d5951052a9fdbf391b9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=640e1c08b67d338bec9a8d5951052a9fdbf391b9
Author: Marcin Ĺšlusarz <[email protected]> Date: Thu Apr 21 19:28:55 2022 +0200 anv: disable task redistribution If task redistribution is enabled, then some mesh shaders read garbage from task payload. It may be a hardware bug, or it may be our bug. Who knows :( This change will probably negatively affect performance of task shader-enabled workloads on multi-slice GPUs, because mesh shaders will be executed only on the slice where task shader was spawned. Fixes: ef04caea9b8 ("anv: Implement Mesh Shading pipeline") Acked-by: Caio Oliveira <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16197> (cherry picked from commit 4eaecd79657f0cd99f6536fd55a7a14958d6624b) --- .pick_status.json | 2 +- src/intel/vulkan/genX_pipeline.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index cd96be7af06..fa56c7469c9 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2029,7 +2029,7 @@ "description": "anv: disable task redistribution", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "ef04caea9b8b98187340fd0ec6550aed06424b60" }, diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 2ab9b2c61f5..6eac4457833 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -2216,7 +2216,12 @@ emit_task_state(struct anv_graphics_pipeline *pipeline) redistrib.SmallTaskThreshold = 1; /* 2^N */ redistrib.TargetMeshBatchSize = devinfo->num_slices > 2 ? 3 : 5; /* 2^N */ redistrib.TaskRedistributionLevel = TASKREDISTRIB_BOM; - redistrib.TaskRedistributionMode = TASKREDISTRIB_RR_STRICT; + + /* TODO: We have an unknown issue with Task Payload when task redistribution + * is enabled. Disable it for now. + * See https://gitlab.freedesktop.org/mesa/mesa/-/issues/7141 + */ + redistrib.TaskRedistributionMode = TASKREDISTRIB_OFF; } }
