gallivm: Fix TGSI_OPCODE_ARR's translation.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 20 Feb 2012 20:49:03 +0000 (20:49 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 21 Feb 2012 08:23:20 +0000 (08:23 +0000)
commita206c4cd69a881bf3f8d960607d604b6d53e3a26
treee1e18c312b31b5615c30af316505a2f993cde919
parentd394bc5853f70f5a2d4c4b396e55b96c1ba63be7
gallivm: Fix TGSI_OPCODE_ARR's translation.

Like TGSI_OPCODE_ARL, destination should be an integer.

This fixes invalid LLVM IR on an internal state tracker (currently Mesa
never emits this opcode).

In the future consider making ADDR register also a integer-as-float array,
like all other register kinds, or simply replace ADDR & ARR/ARL with
integer temp and instructions.

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/auxiliary/gallivm/lp_bld_tgsi_action.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
src/gallium/auxiliary/tgsi/tgsi_info.c