radeonsi/gfx11: disable the shader profile for Medical that disables binning

GFX11 performs better with the default behavior.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307>
This commit is contained in:
Marek Olšák
2023-11-24 17:49:26 -05:00
committed by Marge Bot
parent f85488824e
commit 716b521515
3 changed files with 4 additions and 3 deletions
+1 -1
View File
@@ -305,7 +305,7 @@ enum
#define SI_PROFILE_GFX10_WAVE64 (1 << 1)
/* bit gap */
#define SI_PROFILE_VS_NO_BINNING (1 << 3)
#define SI_PROFILE_PS_NO_BINNING (1 << 4)
#define SI_PROFILE_GFX9_GFX10_PS_NO_BINNING (1 << 4)
#define SI_PROFILE_CLAMP_DIV_BY_ZERO (1 << 5)
enum si_shader_dump_type {
@@ -26,7 +26,7 @@ static struct si_shader_profile profiles[] =
{
/* Viewperf/Medical */
{0x4dce4331, 0x38f778d5, 0x1b75a717, 0x3e454fb9, 0xeb1527f0},
SI_PROFILE_PS_NO_BINNING,
SI_PROFILE_GFX9_GFX10_PS_NO_BINNING,
},
{
/* Viewperf/Medical, a shader with a divergent loop doesn't benefit from Wave32,
@@ -3773,7 +3773,8 @@ static void si_bind_ps_shader(struct pipe_context *ctx, void *state)
si_update_vrs_flat_shading(sctx);
if (sctx->screen->dpbb_allowed) {
bool force_off = sel && sel->info.options & SI_PROFILE_PS_NO_BINNING;
bool force_off = sel && sel->info.options & SI_PROFILE_GFX9_GFX10_PS_NO_BINNING &&
(sctx->gfx_level >= GFX9 && sctx->gfx_level <= GFX10_3);
if (force_off != sctx->dpbb_force_off_profile_ps) {
sctx->dpbb_force_off_profile_ps = force_off;