From e8d1e935fb41bfc593f473d99f4711073307d013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Fri, 29 Aug 2025 13:14:51 +0200 Subject: [PATCH] radv/amdgpu: Don't use IB2 on GFX6 (for now) GFX6 actually supports IB2, but doesn't support chaining between chunks inside the IB2. See WaCpIb2ChainingUnsupported in PAL. Disable IB2 on GFX6 for now. The proper fix will be to disable use_ib in just secondary command buffers on GFX6 and emit multiple IB2 packets in the main command buffer. This will be implemented later. Cc: mesa-stable Part-of: --- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index 24ceb739047..c3a0898659f 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -735,7 +735,8 @@ radv_amdgpu_cs_execute_secondary(struct radeon_cmdbuf *_parent, struct radeon_cm struct radv_amdgpu_cs *parent = radv_amdgpu_cs(_parent); struct radv_amdgpu_cs *child = radv_amdgpu_cs(_child); struct radv_amdgpu_winsys *ws = parent->ws; - const bool use_ib2 = parent->use_ib && !parent->is_secondary && allow_ib2 && parent->hw_ip == AMD_IP_GFX; + const bool use_ib2 = parent->use_ib && !parent->is_secondary && allow_ib2 && parent->hw_ip == AMD_IP_GFX && + ws->info.gfx_level >= GFX7; if (parent->status != VK_SUCCESS || child->status != VK_SUCCESS) return;