Module: Mesa
Branch: master
Commit: 9f981ec27dffa562cf743b4690293569477b4553
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f981ec27dffa562cf743b4690293569477b4553

Author: Eric Anholt <[email protected]>
Date:   Fri Aug  7 14:20:56 2009 -0700

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.

---

 src/mesa/drivers/dri/i965/brw_vs_emit.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

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

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to