radeonsi: enable NGG culling by default on gfx10.3 dGPUs
authorMarek Olšák <marek.olsak@amd.com>
Tue, 13 Oct 2020 14:33:40 +0000 (10:33 -0400)
committerMarge Bot <eric+marge@anholt.net>
Sat, 17 Oct 2020 01:58:19 +0000 (01:58 +0000)
for better performance

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7172>

src/gallium/drivers/radeonsi/si_state_shaders.c

index 3faedfc..866d458 100644 (file)
@@ -2794,11 +2794,15 @@ static void *si_create_shader_selector(struct pipe_context *ctx,
 
          if (sscreen->debug_flags & DBG(ALWAYS_NGG_CULLING_ALL))
             sel->ngg_cull_vert_threshold = 0; /* always enabled */
-         else if (sscreen->options.shader_culling)
+         else if (sscreen->options.shader_culling ||
+                  (sscreen->info.chip_class == GFX10_3 &&
+                   sscreen->info.has_dedicated_vram))
             sel->ngg_cull_vert_threshold = 1500; /* vertex count must be more than this */
       } else if (sel->info.stage == MESA_SHADER_TESS_EVAL) {
          if (sscreen->debug_flags & DBG(ALWAYS_NGG_CULLING_ALL) ||
-             sscreen->debug_flags & DBG(ALWAYS_NGG_CULLING_TESS))
+             sscreen->debug_flags & DBG(ALWAYS_NGG_CULLING_TESS) ||
+             (sscreen->info.chip_class == GFX10_3 &&
+              sscreen->info.has_dedicated_vram))
             sel->ngg_cull_vert_threshold = 0; /* always enabled */
       }
    }