From 4e03cfa3c65f39188d71a26ea55e507eab0b7796 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 10 Feb 2023 16:39:46 -0800 Subject: [PATCH] radv: fix a hang with binning on CHIP_RENOIR Using (6, 16) for (context_states_per_bin, persistent_states_per_bin) causes gpu hang in RDR2 benchmark on CHIP_RENOIR. Follow radeonsi and use (3, 8) instead. Part-of: --- src/amd/vulkan/radv_device.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 297b0f0..1a8eb31 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -741,23 +741,19 @@ static void radv_get_binning_settings(const struct radv_physical_device *pdevice, struct radv_binning_settings *settings) { - if (pdevice->rad_info.has_dedicated_vram) { - if (pdevice->rad_info.max_render_backends > 4) { - settings->context_states_per_bin = 1; - settings->persistent_states_per_bin = 1; - } else { - settings->context_states_per_bin = 3; - settings->persistent_states_per_bin = 8; - } - settings->fpovs_per_batch = 63; + if (pdevice->rad_info.has_dedicated_vram && + pdevice->rad_info.max_render_backends > 4) { + settings->context_states_per_bin = 1; + settings->persistent_states_per_bin = 1; } else { - /* The context states are affected by the scissor bug. */ - settings->context_states_per_bin = 6; + settings->context_states_per_bin = 3; /* 32 causes hangs for RAVEN. */ - settings->persistent_states_per_bin = 16; - settings->fpovs_per_batch = 63; + settings->persistent_states_per_bin = 8; } + settings->fpovs_per_batch = 63; + + /* The context states are affected by the scissor bug. */ if (pdevice->rad_info.has_gfx9_scissor_bug) settings->context_states_per_bin = 1; } -- 2.7.4