summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeonsi/si_state_shaders.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index cb5f78ba23f..30ff33b56c3 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -3842,15 +3842,9 @@ bool si_update_shaders(struct si_context *sctx)
if (sctx->gs_shader.cso)
key.u.gs = 1;
- if (sctx->chip_class >= GFX10) {
- key.u.ngg = sctx->ngg;
-
- if (sctx->gs_shader.cso)
- key.u.streamout = !!sctx->gs_shader.cso->so.num_outputs;
- else if (sctx->tes_shader.cso)
- key.u.streamout = !!sctx->tes_shader.cso->so.num_outputs;
- else
- key.u.streamout = !!sctx->vs_shader.cso->so.num_outputs;
+ if (sctx->ngg) {
+ key.u.ngg = 1;
+ key.u.streamout = !!si_get_vs(sctx)->cso->so.num_outputs;
}
/* Update TCS and TES. */