summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-07-19 09:44:30 -0700
committerEric Anholt <eric@anholt.net>2010-07-19 09:44:30 -0700
commit4802fd905ae7c1a1122ec71c0556c2b19214a7fd (patch)
treed477cf257c2c4cd586a43853e470793c8025ec0f
parentb29d31cd67a423995b5673fdeedea82dfa12ec3c (diff)
ir_to_mesa: Don't do lowering passes on an errored-out shader.
-rw-r--r--src/mesa/shader/ir_to_mesa.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp
index c75a13d06e..a7799cc01d 100644
--- a/src/mesa/shader/ir_to_mesa.cpp
+++ b/src/mesa/shader/ir_to_mesa.cpp
@@ -2185,13 +2185,13 @@ _mesa_glsl_compile_shader(GLcontext *ctx, struct gl_shader *shader)
if (!state->error && !state->translation_unit.is_empty())
_mesa_ast_to_hir(shader->ir, state);
- /* Lowering */
- do_mat_op_to_vec(shader->ir);
- do_mod_to_fract(shader->ir);
- do_div_to_mul_rcp(shader->ir);
-
- /* Optimization passes */
if (!state->error && !shader->ir->is_empty()) {
+ /* Lowering */
+ do_mat_op_to_vec(shader->ir);
+ do_mod_to_fract(shader->ir);
+ do_div_to_mul_rcp(shader->ir);
+
+ /* Optimization passes */
bool progress;
do {
progress = false;