Mesa (main): radeonsi: simplify si_get_vs_key_outputs for GS
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Nov 20 00:33:41 UTC 2021
Module: Mesa
Branch: main
Commit: 1c5899900dc7d75e092f48d777ed601b917ed86e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c5899900dc7d75e092f48d777ed601b917ed86e
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Nov 16 19:52:16 2021 -0500
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 <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13829>
---
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;
More information about the mesa-commit
mailing list