From: Eric Anholt Date: Thu, 29 Jul 2010 22:17:23 +0000 (-0700) Subject: ir_to_mesa: Don't emit a duplicate return at the end of a function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=806cb9f9528e3c55c157d7e8bbb751b769b6fcb7;p=mesa.git ir_to_mesa: Don't emit a duplicate return at the end of a function. It was harmless, but ugly. --- 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; } }