vc4: Move discard handling to the condition flag.
authorEric Anholt <eric@anholt.net>
Wed, 16 Mar 2016 01:00:22 +0000 (18:00 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 16 Mar 2016 18:28:47 +0000 (11:28 -0700)
commit2b9f0dffe00bdc556436da02c099b8a50ecc4f49
tree8fbf52ef7079ea8d08cfb6822012faea156baae2
parent7c9fc439150188612c7fe595cbe0180fcea3e705
vc4: Move discard handling to the condition flag.

Now that the field exists in the instruction, we can make discards less
special.  As a bonus, that means that we should be able to merge some more
.sf instructions together when we get around to that.

This causes some scheduling changes, as it allows tlb_color_reads to be
delayed past the discard condition setup.  Since the tlb_color_read ends
up later, this may mean performance improvements, but I haven't tested.

total instructions in shared programs: 78114 -> 78035 (-0.10%)
instructions in affected programs:     1922 -> 1843 (-4.11%)
total estimated cycles in shared programs: 234318 -> 234329 (0.00%)
estimated cycles in affected programs:     8200 -> 8211 (0.13%)
src/gallium/drivers/vc4/vc4_program.c
src/gallium/drivers/vc4/vc4_qir.c
src/gallium/drivers/vc4/vc4_qir.h
src/gallium/drivers/vc4/vc4_qir_schedule.c
src/gallium/drivers/vc4/vc4_qpu_emit.c