Mesa (master): vc4: Allow merging instructions with SF set where the other writes NOP.

Eric Anholt anholt at kemper.freedesktop.org
Thu Dec 1 03:59:04 UTC 2016


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

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Nov 30 11:25:09 2016 -0800

vc4: Allow merging instructions with SF set where the other writes NOP.

I'm not sure how I managed to write the SF merge code
(7d8b79f398f18ed7bb48a74b1b82950e2f08abad) without allowing merges with
NOPs.  *Everything* we try to merge with will have a NOP on one or the
other side of the instruction, and that's why that commit showed no
benefit.

total instructions in shared programs: 99347 -> 95128 (-4.25%)
instructions in affected programs:     91906 -> 87687 (-4.59%)

3DMMES performance +2.57105% +/- 0.135276% (n=6,8)

---

 src/gallium/drivers/vc4/vc4_qpu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/vc4/vc4_qpu.c b/src/gallium/drivers/vc4/vc4_qpu.c
index 67850a8..380b9f4 100644
--- a/src/gallium/drivers/vc4/vc4_qpu.c
+++ b/src/gallium/drivers/vc4/vc4_qpu.c
@@ -323,6 +323,7 @@ qpu_waddr_ignores_ws(uint32_t waddr)
         case QPU_W_ACC1:
         case QPU_W_ACC2:
         case QPU_W_ACC3:
+        case QPU_W_NOP:
         case QPU_W_TLB_Z:
         case QPU_W_TLB_COLOR_MS:
         case QPU_W_TLB_COLOR_ALL:




More information about the mesa-commit mailing list