freedreno/ir3: fix failed assert in grouping
authorRob Clark <robclark@freedesktop.org>
Tue, 10 Feb 2015 09:42:32 +0000 (04:42 -0500)
committerRob Clark <robclark@freedesktop.org>
Sun, 8 Mar 2015 21:42:43 +0000 (17:42 -0400)
commit27648efa2070e8db111908314d8b924d3717dbb0
treec6c96b1aca2809b23d49bb2c521548041dae4967
parent72d4f6c67f8a96956a1a8eeb90449231ba8e0940
freedreno/ir3: fix failed assert in grouping

Turns out there are scenarios where we need to insert mov's in "front"
of an input.  Triggered by shaders like:

  VERT
  DCL IN[0]
  DCL IN[1]
  DCL OUT[0], POSITION
  DCL OUT[1], GENERIC[9]
  DCL SAMP[0]
  DCL TEMP[0], LOCAL
    0: MOV TEMP[0].xy, IN[1].xyyy
    1: MOV TEMP[0].w, IN[1].wwww
    2: TXF TEMP[0], TEMP[0], SAMP[0], 1D_ARRAY
    3: MOV OUT[1], TEMP[0]
    4: MOV OUT[0], IN[0]
    5: END

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