i965: Fix transform feedback of gl_ClipVertex.
authorPaul Berry <stereotype441@gmail.com>
Mon, 26 Dec 2011 22:20:47 +0000 (14:20 -0800)
committerPaul Berry <stereotype441@gmail.com>
Thu, 5 Jan 2012 21:27:11 +0000 (13:27 -0800)
commit989b5722dc350b01c4148b1cd978b71ec4bcfe81
tree8955bd7626819a7355a5528e7930caae3d877591
parent15f4bca2df47fed8af322217d62b35189f5ca4ab
i965: Fix transform feedback of gl_ClipVertex.

Previously, on i965 Gen6 and above, we weren't allocating space for
gl_ClipVertex in the VUE, since the VS was automatically converting it
to clip distances.  This prevented transform feedback from being able
to capture gl_ClipVertex.

This patch goes aheads and allocates space for gl_ClipVertex in the
VUE on Gen6 and above.  The old behavior is retained on Gen5 and
below, since (a) transform feedback is not yet supported on those
platforms, and (b) those platforms don't currently support
gl_ClipVertex anyhow.

Note: this constitutes a slight waste of VUE space for shaders that
use gl_ClipVertex and don't use transform feedback to capture it.
However, that seems preferable to making the VUE map (and all of the
state that depends on it) dependent on transform feedback settings.

Fixes Piglit test "EXT_transform_feedback/builtin-varyings
gl_ClipVertex".

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vs.c