glsl/gs: handle gl_ClipDistance geometry input in lower_clip_distance.
authorBryan Cain <bryancain3@gmail.com>
Fri, 15 Feb 2013 15:30:51 +0000 (09:30 -0600)
committerPaul Berry <stereotype441@gmail.com>
Tue, 8 Oct 2013 19:44:21 +0000 (12:44 -0700)
commit8f758b0b92f6105c9615740096fa1206befe343b
treeb150e09e6565fbe94cb972ff718bad1db5cf2f33
parentc09adcb21bd2c3993f1e8a4997d718d9fee89e6d
glsl/gs: handle gl_ClipDistance geometry input in lower_clip_distance.

This corresponds to the lowering of gl_ClipDistance to
gl_ClipDistanceMESA for vertex and geometry shader outputs.  Since
this lowering pass occurs after lower_named_interface blocks, it deals
with 2D arrays (gl_ClipDistance[vertex][clip_plane]) rather than 1D
arrays in an interface block
(gl_in[vertex].gl_ClipDistance[clip_plane]).

v2 (Paul Berry <stereotype441@gmail.com>): Fix indexing order for
gl_ClipDistance input lowering.  Properly lower bulk assignment of
gl_ClipDistance inputs.  Rework for GLSL 1.50 style geometry shaders.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
v3 (Paul Berry <stereotype441@gmail.com>): Add comments and assertions
to clarify that the 2D version of clip distance is only used for
geometry shader inputs.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/lower_clip_distance.cpp