nir: Add an IO scalarizing pass using the intrinsic's first_component.
authorEric Anholt <eric@anholt.net>
Thu, 4 Aug 2016 19:42:45 +0000 (12:42 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 19 Aug 2016 20:11:36 +0000 (13:11 -0700)
commit9f1411d1ecc0029f4a6697849e657ac7b2a64f94
tree8fda36563046086b56fb397f882e578cef8dc9d8
parentc35f9792202c4450d19c5616e2a38b9e81e418fe
nir: Add an IO scalarizing pass using the intrinsic's first_component.

vc4 wants to have per-scalar IO load/stores so that dead code elimination
can happen on a more granular basis, which it has been doing in the
backend using a multiplication by 4 of the intrinsic's driver_location.
We can represent it properly in the NIR using the first_component field,
though.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/compiler/Makefile.sources
src/compiler/nir/nir.h
src/compiler/nir/nir_lower_io_to_scalar.c [new file with mode: 0644]