freedreno/ir3: handle flat bypass for a4xx
authorRob Clark <robclark@freedesktop.org>
Wed, 25 Feb 2015 18:54:25 +0000 (13:54 -0500)
committerRob Clark <robclark@freedesktop.org>
Tue, 3 Mar 2015 15:41:00 +0000 (10:41 -0500)
commite9f2abe349886ae5423c7c31d201e7d587a3695a
treebe373383fcc74246bb538a2d4228e0ebfee862f2
parent9d732d3125e1b39788a642a5723aeb54cb1983f3
freedreno/ir3: handle flat bypass for a4xx

We may not need this for later a4xx patchlevels, but we do at least need
this for patchlevel 0.  Bypass bary.f for fetching varyings when flat
shading is needed (rather than configure via cmdstream).  This requires
a special dummy bary.f w/ (ei) flag to signal to scheduler when all
varyings are consumed.  And requires shader variants based on rasterizer
flatshade state to handle TGSI_INTERPOLATE_COLOR.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a4xx/fd4_draw.c
src/gallium/drivers/freedreno/a4xx/fd4_emit.h
src/gallium/drivers/freedreno/ir3/ir3.c
src/gallium/drivers/freedreno/ir3/ir3.h
src/gallium/drivers/freedreno/ir3/ir3_compiler.c
src/gallium/drivers/freedreno/ir3/ir3_legalize.c
src/gallium/drivers/freedreno/ir3/ir3_shader.c
src/gallium/drivers/freedreno/ir3/ir3_shader.h