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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21254>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user