radv: workaround has_smem_partial_oob_access_bug

Just use an existing flag to increase the bo size slightly.

Fixes a ring gfx timeout with
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.undef.denorm_flush.directed
on vega10.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: *
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41937>
This commit is contained in:
Rhys Perry 2026-06-01 16:21:16 +01:00 committed by Marge Bot
parent f7a3884278
commit addc719ec2
2 changed files with 3 additions and 2 deletions

View file

@ -1,2 +0,0 @@
# These tests hang.
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.*

View file

@ -284,6 +284,9 @@ radv_bo_create(struct radv_device *device, struct vk_object_base *object, uint64
if (device->compiler_info.key.mitigate_smem_oob && !is_internal)
flags |= RADEON_FLAG_VM_PAD_1PAGE;
if (pdev->info.has_smem_partial_oob_access_bug && !is_internal)
flags |= RADEON_FLAG_VM_PAD_1PAGE;
result = ws->buffer_create(ws, size, alignment, domain, flags, priority, address, out_bo);
if (result != VK_SUCCESS)
return result;