From 1c5899900dc7d75e092f48d777ed601b917ed86e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 16 Nov 2021 19:52:16 -0500 Subject: [PATCH] radeonsi: simplify si_get_vs_key_outputs for GS ngg_culling is always 0 when GS is enabled. This will change in the future. Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_state_shaders.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.cpp b/src/gallium/drivers/radeonsi/si_state_shaders.cpp index 358808f3b8e..d005a44a6e7 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.cpp +++ b/src/gallium/drivers/radeonsi/si_state_shaders.cpp @@ -1900,7 +1900,6 @@ void si_update_ps_inputs_read_or_disabled(struct si_context *sctx) static void si_get_vs_key_outputs(struct si_context *sctx, struct si_shader_selector *vs, union si_shader_key *key) { - key->ge.opt.kill_clip_distances = vs->clipdist_mask & ~sctx->queued.named.rasterizer->clip_plane_enable; /* Find out which VS outputs aren't used by the PS. */ @@ -1908,15 +1907,9 @@ static void si_get_vs_key_outputs(struct si_context *sctx, struct si_shader_sele uint64_t linked = outputs_written & sctx->ps_inputs_read_or_disabled; key->ge.opt.kill_outputs = ~linked & outputs_written; - - if (vs->info.stage != MESA_SHADER_GEOMETRY) { - key->ge.opt.ngg_culling = sctx->ngg_culling; - key->ge.mono.u.vs_export_prim_id = sctx->shader.ps.cso && sctx->shader.ps.cso->info.uses_primid; - } else { - key->ge.opt.ngg_culling = 0; - key->ge.mono.u.vs_export_prim_id = 0; - } - + key->ge.opt.ngg_culling = sctx->ngg_culling; + key->ge.mono.u.vs_export_prim_id = vs->info.stage != MESA_SHADER_GEOMETRY && + sctx->shader.ps.cso && sctx->shader.ps.cso->info.uses_primid; key->ge.opt.kill_pointsize = vs->info.writes_psize && sctx->current_rast_prim != PIPE_PRIM_POINTS && !sctx->queued.named.rasterizer->polygon_mode_is_points;