radeonsi: enable NGG and NGG culling on gfx10.3 APUs by default

VanGogh benefits.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7721>
This commit is contained in:
Marek Olšák
2020-11-24 04:51:37 -05:00
parent 22917baa75
commit de799b2270
2 changed files with 3 additions and 7 deletions
+1 -2
View File
@@ -1204,8 +1204,7 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws,
sscreen->use_ngg = !(sscreen->debug_flags & DBG(NO_NGG)) &&
sscreen->info.chip_class >= GFX10 &&
(sscreen->info.family != CHIP_NAVI14 ||
sscreen->info.is_pro_graphics) &&
sscreen->info.has_dedicated_vram;
sscreen->info.is_pro_graphics);
sscreen->use_ngg_culling = sscreen->use_ngg && !(sscreen->debug_flags & DBG(NO_NGG_CULLING));
sscreen->use_ngg_streamout = false;
@@ -2799,7 +2799,6 @@ static void *si_create_shader_selector(struct pipe_context *ctx,
bool ngg_culling_allowed =
sscreen->info.chip_class >= GFX10 &&
sscreen->info.has_dedicated_vram &&
sscreen->use_ngg_culling &&
(sel->info.stage == MESA_SHADER_VERTEX ||
sel->info.stage == MESA_SHADER_TESS_EVAL) &&
@@ -2823,16 +2822,14 @@ 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 ||
(sscreen->info.chip_class == GFX10_3 &&
sscreen->info.has_dedicated_vram) ||
sscreen->info.chip_class == GFX10_3 ||
(sscreen->info.chip_class == GFX10 &&
sscreen->info.is_pro_graphics))
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->info.chip_class == GFX10_3 &&
sscreen->info.has_dedicated_vram))
sscreen->info.chip_class == GFX10_3)
sel->ngg_cull_vert_threshold = 0; /* always enabled */
}
}