From 30fab15f39c50ce64f4d9cadf1555b1ceca86495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 5 Apr 2024 21:55:05 -0400 Subject: [PATCH] radeonsi: don't expose samples_identical and don't lower FMASK if it's disabled Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_get.c | 2 +- src/gallium/drivers/radeonsi/si_shader_nir.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 00b9c76277f..425263f1520 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -180,7 +180,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return !(sscreen->debug_flags & DBG(NO_FAST_DISPLAY_LIST)); case PIPE_CAP_SHADER_SAMPLES_IDENTICAL: - return sscreen->info.gfx_level < GFX11; + return sscreen->info.gfx_level < GFX11 && !(sscreen->debug_flags & DBG(NO_FMASK)); case PIPE_CAP_GLSL_ZERO_INIT: return 2; diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index d7543ca221a..5e7db63014b 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -294,7 +294,8 @@ static void si_lower_nir(struct si_screen *sscreen, struct nir_shader *nir) const struct nir_lower_image_options lower_image_options = { .lower_cube_size = true, - .lower_to_fragment_mask_load_amd = sscreen->info.gfx_level < GFX11, + .lower_to_fragment_mask_load_amd = sscreen->info.gfx_level < GFX11 && + !(sscreen->debug_flags & DBG(NO_FMASK)), }; NIR_PASS_V(nir, nir_lower_image, &lower_image_options);