gallium/gallivm/tgsi: enable tessellation shaders
authorJan Zielinski <jan.zielinski@intel.com>
Thu, 12 Dec 2019 15:03:46 +0000 (16:03 +0100)
committerJan Zielinski <jan.zielinski@intel.com>
Mon, 30 Dec 2019 10:32:47 +0000 (11:32 +0100)
commit7040d6c1972222ae3904d32d79a13c8f53824fed
treeee16c98ef8cf52ac3884520604cbf7fa1f1965dc
parent26c5ae80f0b5c5f1c8779e4540a9aba88720c2cd
gallium/gallivm/tgsi: enable tessellation shaders

Tessellation Control and Evaluation shaders are implementing
tessellation and require special handling of their inputs
and outputs.

TCS can write out not only per-vertex, but also per-patch
(per-primitive) attributes and tessellation factor values
that control the tessellator.

TES can read TCS outputs, plus must be feeded with new
system values (tessellation coordinates) that are
outputs of the tessellator fixed function.

TCS can also contain calls to barrier() function (similar
to compute shaders).

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Alok Hota <alok.hota@intel.com>
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c