i965/vec4: Handle component qualifiers on non-generic varyings.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 17 Oct 2016 18:14:10 +0000 (11:14 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 22 Nov 2016 08:29:24 +0000 (00:29 -0800)
commitf182e5eafc31ebc7c140e9a369d5f747948733ae
tree9449b617c8e14d3ddb5b5cb697f8bcc3c8791848
parentb63f7671a3eafa4ab293a13f45f58837bd840a46
i965/vec4: Handle component qualifiers on non-generic varyings.

ARB_enhanced_layouts only requires component qualifier support for
generic varyings, so this is all the vec4 backend knew how to handle.

This patch extends the backend to handle it for all varyings, so we
can use store_output intrinsics with a component set for things like
clip/cull distances.  We may want to use that for other VUE header
fields in the future as well.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
src/mesa/drivers/dri/i965/brw_vec4_vs_visitor.cpp
src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp