[Mesa-dev] [PATCH 04/14] radeonsi: don't call eliminate_const_vs_outputs in shaders without VS exports

Marek Olšák maraeo at gmail.com
Fri Apr 28 21:42:41 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/drivers/radeonsi/si_shader.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 427afd5..5ee8c6f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -7207,24 +7207,24 @@ static void si_init_shader_ctx(struct si_shader_context *ctx,
 	bld_base->op_actions[TGSI_OPCODE_EMIT].emit = si_llvm_emit_vertex;
 	bld_base->op_actions[TGSI_OPCODE_ENDPRIM].emit = si_llvm_emit_primitive;
 	bld_base->op_actions[TGSI_OPCODE_BARRIER].emit = si_llvm_emit_barrier;
 }
 
 static void si_eliminate_const_vs_outputs(struct si_shader_context *ctx)
 {
 	struct si_shader *shader = ctx->shader;
 	struct tgsi_shader_info *info = &shader->selector->info;
 
-	if (ctx->type == PIPE_SHADER_FRAGMENT ||
-	    ctx->type == PIPE_SHADER_COMPUTE ||
-	    shader->key.as_es ||
-	    shader->key.as_ls)
+	if ((ctx->type != PIPE_SHADER_VERTEX &&
+	     ctx->type != PIPE_SHADER_TESS_EVAL) ||
+	    shader->key.as_ls ||
+	    shader->key.as_es)
 		return;
 
 	ac_eliminate_const_vs_outputs(&ctx->ac,
 				      ctx->main_fn,
 				      shader->info.vs_output_param_offset,
 				      info->num_outputs,
 				      &shader->info.nr_param_exports);
 }
 
 static void si_count_scratch_private_memory(struct si_shader_context *ctx)
-- 
2.7.4



More information about the mesa-dev mailing list