freedreno/ir3: handle flat bypass for a4xx

Graphics / Mesa 3D Graphics Library / Mesa - Rob Clark [freedesktop.org] - 3 March 2015 09:41 UTC

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.

e9f2abe freedreno/ir3: handle flat bypass for a4xx
src/gallium/drivers/freedreno/a4xx/fd4_draw.c | 5 ++-
src/gallium/drivers/freedreno/a4xx/fd4_emit.h | 1 -
src/gallium/drivers/freedreno/ir3/ir3.c | 2 +
src/gallium/drivers/freedreno/ir3/ir3.h | 6 +++
src/gallium/drivers/freedreno/ir3/ir3_compiler.c | 47 +++++++++++++++++++++-
src/gallium/drivers/freedreno/ir3/ir3_legalize.c | 38 ++++++++++++++++-
src/gallium/drivers/freedreno/ir3/ir3_shader.c | 1 +
src/gallium/drivers/freedreno/ir3/ir3_shader.h | 4 ++
8 files changed, 99 insertions(+), 5 deletions(-)

Upstream: cgit.freedesktop.org


  • Share