From: Eric Anholt Date: Fri, 7 Aug 2009 21:20:56 +0000 (-0700) Subject: i965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP. X-Git-Tag: 062012170305~17132 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f981ec27dffa562cf743b4690293569477b4553;p=profile%2Fivi%2Fmesa.git i965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP. This showed a 1.9% (+/-.3%, n=3) improvement in OA performance with high geometry settings. --- diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index f56e986..83167b9 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1262,7 +1262,11 @@ post_vs_emit( struct brw_vs_compile *c, /* patch up the END code to jump past subroutines, etc */ offset = last_inst - end_inst; - brw_set_src1(end_inst, brw_imm_d(offset * 16)); + if (offset > 1) { + brw_set_src1(end_inst, brw_imm_d(offset * 16)); + } else { + end_inst->header.opcode = BRW_OPCODE_NOP; + } } static uint32_t