[Mesa-dev] [PATCH 11/14] st/mesa: disable copy propagation for tessellation shaders

Marek Olšák maraeo at gmail.com
Tue Jun 16 16:04:52 PDT 2015


From: Ilia Mirkin <imirkin at alum.mit.edu>

This can't work due to shared inputs and outputs and barriers.
---
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 57de266..4df6e39 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -5765,7 +5765,11 @@ get_mesa_program(struct gl_context *ctx,
 
    /* Perform optimizations on the instructions in the glsl_to_tgsi_visitor. */
    v->simplify_cmp();
-   v->copy_propagate();
+
+   if (shader->Type != GL_TESS_CONTROL_SHADER &&
+       shader->Type != GL_TESS_EVALUATION_SHADER)
+      v->copy_propagate();
+
    while (v->eliminate_dead_code());
 
    v->merge_two_dsts();
-- 
2.1.0



More information about the mesa-dev mailing list