From bd1837471a99f8b3503633531ef78c3ea6bf2c85 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 26 Sep 2017 03:32:15 +0200 Subject: [PATCH] glsl_to_tgsi: enable copy propagation for tessellation shaders MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit just don't propagate output reads Reviewed-by: Nicolai Hähnle --- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 50a71e461f6..28899878bd0 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -4947,6 +4947,8 @@ glsl_to_tgsi_visitor::copy_propagate(void) !inst->dst[0].reladdr2 && !inst->saturate && inst->src[0].file != PROGRAM_ARRAY && + (inst->src[0].file != PROGRAM_OUTPUT || + this->shader->Stage != MESA_SHADER_TESS_CTRL) && !inst->src[0].reladdr && !inst->src[0].reladdr2 && !inst->src[0].negate && @@ -6602,10 +6604,7 @@ get_mesa_program_tgsi(struct gl_context *ctx, /* Perform optimizations on the instructions in the glsl_to_tgsi_visitor. */ v->simplify_cmp(); - - if (shader->Stage != MESA_SHADER_TESS_CTRL && - shader->Stage != MESA_SHADER_TESS_EVAL) - v->copy_propagate(); + v->copy_propagate(); while (v->eliminate_dead_code()); -- 2.30.2