freedreno/ir3: handle input/output component
authorRob Clark <robdclark@gmail.com>
Tue, 5 Dec 2017 13:40:18 +0000 (08:40 -0500)
committerRob Clark <robdclark@gmail.com>
Tue, 5 Dec 2017 21:03:38 +0000 (16:03 -0500)
commit77c595358fa99fe2ccb4f100f1d1a5b061c6c488
tree3edbf334cf15b264e05f6828d14b3575239c40fa
parentfd6a96635e2008d152f4bd9836a94cdaf08fb8d2
freedreno/ir3: handle input/output component

After the mesa/st nir linking support, we start to see inputs/outputs
like:

   decl_var shader_out INTERP_MODE_NONE float packed:uv (VARYING_SLOT_VAR9.x, 1, 0)
   decl_var shader_out INTERP_MODE_NONE float packed:uv@0 (VARYING_SLOT_VAR9.y, 1, 0)

(ie. were location_frac != .x)

Unfortunately I overlooked the addition of the component parameter to
load_input/store_output, so when we started encountering inputs/outputs
with component other than .x, we'd end up loading/storing the wrong
input/output.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c