diff options
author | Eric Anholt <[email protected]> | 2010-07-29 15:17:23 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-07-29 15:19:37 -0700 |
commit | 806cb9f9528e3c55c157d7e8bbb751b769b6fcb7 (patch) | |
tree | 92c6c094cafd54eedf98744c91b888822d99550e /src | |
parent | 0e1992255837c88ba3c6631d5282fe944703ba56 (diff) |
ir_to_mesa: Don't emit a duplicate return at the end of a function.
It was harmless, but ugly.
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/program/ir_to_mesa.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 3a28c566d4d..b6dfde3783e 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -2350,8 +2350,12 @@ get_mesa_program(GLcontext *ctx, struct gl_shader_program *shader_program, visit_exec_list(&entry->sig->body, &v); - entry->bgn_inst = v.ir_to_mesa_emit_op0(NULL, OPCODE_RET); - entry->bgn_inst = v.ir_to_mesa_emit_op0(NULL, OPCODE_ENDSUB); + ir_to_mesa_instruction *last; + last = (ir_to_mesa_instruction *)v.instructions.get_tail(); + if (last->op != OPCODE_RET) + v.ir_to_mesa_emit_op0(NULL, OPCODE_RET); + + v.ir_to_mesa_emit_op0(NULL, OPCODE_ENDSUB); progress = GL_TRUE; } } |