Mesa (main): radv: Disable IB2 on compute queues.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 16 13:41:46 UTC 2022


Module: Mesa
Branch: main
Commit: da719792ad2b7f50824fd1ba500f8b87e4b3b448
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da719792ad2b7f50824fd1ba500f8b87e4b3b448

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Sat Feb 12 17:27:41 2022 +0100

radv: Disable IB2 on compute queues.

The "IB2" indirect buffer command is not supported on compute queues
according to PAL, and it indeed causes GPU hangs when task shaders are
used together with vkCmdExecuteCommands.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15006>

---

 src/amd/vulkan/radv_cmd_buffer.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 636ed8c9097..5476858c7e9 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -5644,6 +5644,11 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou
          allow_ib2 = false;
       }
 
+      if (secondary->queue_family_index == RADV_QUEUE_COMPUTE) {
+         /* IB2 packets are not supported on compute queues according to PAL. */
+         allow_ib2 = false;
+      }
+
       primary->scratch_size_per_wave_needed =
          MAX2(primary->scratch_size_per_wave_needed, secondary->scratch_size_per_wave_needed);
       primary->scratch_waves_wanted =



More information about the mesa-commit mailing list