nvc0: preliminary tess support

Uncomment the various functionality that was already there and add in
obvious missing bits that parallel vp/gp/fp functionality.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nvc0: TESSCOORD comes in as a sysval, not an input

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv50/ir: mark varyings as per-patch based on semantic name

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv50/ir: populate info structure based on new tess properties

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv50/ir: set perPatch flag on load/stores to per-patch varyings

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nvc0: add handling for set_tess_state callback

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv50/ir: add support for reading outputs in tess control shaders

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nvc0: add support for PATCH semantics

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
glsl: pass shader stage to lower_output_reads and handle tess control

Tessellation control outputs can be read in directly without first
having been written. Accessing these will require some special logic
anyways, so just let them through.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
mesa/st: add initial support for tessellation programs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
mesa/st: add conversion for tess shaders

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
mesa/st: handle constbufs/ubos for tessellation shaders
mesa/st: add texture updates for tessellation programs
mesa/st: query things for tess
tgsi: make in/outs 2d for tess

XXX restrict it to non-patch semantics
mesa/st: lower tess level
tgsi: allow scanning tess shaders
mesa/st: copy over more fields
mesa/st: add inner/outer tes inputs
mesa/st: add tcs/tes properties for real