freedreno/ir3: handle "holes" in inputs
authorRob Clark <robclark@freedesktop.org>
Tue, 13 Jan 2015 04:32:25 +0000 (23:32 -0500)
committerRob Clark <robclark@freedesktop.org>
Tue, 13 Jan 2015 13:17:18 +0000 (08:17 -0500)
commit876550ff97b9c97df02f9bf0e29198be963d8e89
tree371864120b212c817e295342987fbd2ad53908b5
parentb6819cd55491c4b5ad6353102e7596a572152314
freedreno/ir3: handle "holes" in inputs

If, for example, only the x/y/w components of in.xyzw are actually used,
we still need to have a group of four registers and assign all four
components.  The hardware can't write in.xy and in.w to discontiguous
registers.  To handle this, pad with a dummy NOP instruction, to keep
the neighbor chain contiguous.

This fixes a problem noticed with firefox OMTC.

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