diff options
author | Ilia Mirkin <[email protected]> | 2014-07-21 20:45:29 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-07-23 00:59:30 +0200 |
commit | 8f40428afbbfa9080964df3cd4f38f24122c4c5e (patch) | |
tree | 1c35640a0948bec6f6b9a834f25153d4ed46f6a0 /src | |
parent | f4c13fad6550f42524786c70b6f13fc510abaf0b (diff) |
st/mesa: disable copy propagation for tessellation shaders
This can't work due to shared inputs and outputs and barriers.
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 221b6751b26..ad319f06cad 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -5800,7 +5800,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(); |