freedreno/a3xx/compiler: trans_cmp() sanity
authorRob Clark <robclark@freedesktop.org>
Sun, 16 Feb 2014 12:29:13 +0000 (07:29 -0500)
committerRob Clark <robclark@freedesktop.org>
Sun, 16 Feb 2014 13:17:23 +0000 (08:17 -0500)
commite35747b8824b0f996c5ef5c7b58fcaa200cc231e
tree0f2af3fe817208036575bac52ab6e9fd8ee5992d
parent89dc2825819c0260511c6596497c8a350d9901a7
freedreno/a3xx/compiler: trans_cmp() sanity

Thanks to figuring out 32bit float render target, and adding regdump
test in fdre-a3xx, I can more easily play around with instructions to
figure out range of inputs/outputs/etc.  And from this I can conclude
that cmps.f works more like expected and I can do something much more
simple in trans_cmp() (compared to before which was more closely
emulating the instruction sequence of the blob compiler).

And using sel.b32 (binary 0/1) often makes more sense than sel.f32
(+/- float) or sel.u32 (+/- uint) as it can use the output directly
from cmps.f without needing the 'add.s tmp0, tmp0, -1'.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c