gallivm: simplify geometry shader mask handling a bit
authorRoland Scheidegger <sroland@vmware.com>
Mon, 12 Aug 2013 15:58:39 +0000 (17:58 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Mon, 12 Aug 2013 21:33:00 +0000 (23:33 +0200)
commit7147094ff235a1c0550e1bafbd12574feca7fdd8
tree4b0b8c964bcc8119fca092c99f6a5c8e751d8791
parent84fce45321166e55c03c95ece29d4c27de6740a6
gallivm: simplify geometry shader mask handling a bit

Instead of reducing masks to 0/1 simply use the mask directly as -1.
Also use some signed comparison instead of unsigned (as far as I understand
these values have to be (very) small and signed means llvm doesn't have to
apply additional logic to do the unsigned comparisons the cpu can't do).
Saves a couple of instructions in some test geometry shader here.

v2: that was a bit to much optimization, don't skip combining the masks...

Reviewed-by: Zack Rusin <zackr@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c