From 4464e6baff8ad3af5b979e6096d4f5ca3159377a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Thu, 22 Feb 2024 16:05:13 +0100 Subject: [PATCH] radv: Slightly refactor the determination of max_ps_params. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It now uses has_dedicated_vram and gfx_level to detect GFX10.3+ discrete GPUs, which should also include GFX11 now. Signed-off-by: Timur Kristóf Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 14fc79c8f2c..079b60893f3 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -740,14 +740,10 @@ radv_consider_culling(const struct radv_physical_device *pdev, struct nir_shader /* Shader based culling efficiency can depend on PS throughput. * Estimate an upper limit for PS input param count based on GPU info. */ - unsigned max_ps_params; - unsigned max_render_backends = pdev->info.max_render_backends; - unsigned max_se = pdev->info.max_se; + unsigned max_ps_params = 4; - if (max_render_backends / max_se == 4) - max_ps_params = 6; /* Navi21 and other GFX10.3 dGPUs. */ - else - max_ps_params = 4; /* Navi 1x. */ + if (pdev->info.gfx_level >= GFX10_3 && pdev->info.has_dedicated_vram) + max_ps_params = 6; /* GFX10.3 and newer discrete GPUs. */ /* TODO: consider other heuristics here, such as PS execution time */ if (util_bitcount64(ps_inputs_read & ~VARYING_BIT_POS) > max_ps_params)