mesa/src
Paul Berry 33fe021116 mesa: Fix transform feedback of unsubscripted arrays.
It is not explicitly stated in the GL 3.0 spec that transform feedback
can be performed on a whole varying array (without supplying a
subscript).  However, it seems clear from context that this was the
intent.  Section 2.15 (TransformFeedback) says this:

    When writing varying variables that are arrays, individual array
    elements are written in order.

And section 2.20.3 (Shader Variables), says this, in the description
of GetTransformFeedbackVarying:

    For the selected varying variable, its type is returned into
    type. The size of the varying is returned into size. The value in
    size is in units of the type returned in type.

If it were not possible to perform transform feedback on an
unsubscripted array, the returned size would always be 1.

This patch fixes the linker so that transform feedback on an
unsubscripted array is supported.

Fixes piglit tests "EXT_transform_feedback/builtin-varyings
gl_ClipDistance[{4,8}]-no-subscript" and
"EXT_transform_feedback/output_type *[2]-no-subscript".

Note: on back-ends that set
gl_shader_compiler_options::LowerClipDistance (for example i965),
tests "EXT_transform_feedback/builtin-varyings
gl_ClipDistance[{1,2,3,5,6,7}]" still fail.  I hope to address this in
a later patch.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2012-01-05 13:27:12 -08:00
..
egl egl/x11: Merge the right version of Frederiks change 2011-12-21 10:29:30 -05:00
gallium gallium: add support for clip distances 2012-01-05 13:03:25 -06:00
gbm gbm/dri: avoid crash in dri_screen_create 2011-08-04 14:09:34 +02:00
getopt getopt: Make code more portable. 2011-01-12 16:54:21 +00:00
glsl mesa: Fix transform feedback of unsubscripted arrays. 2012-01-05 13:27:12 -08:00
glu glu: remove BeOS define as BeOS is not longer a target platform 2011-12-27 09:16:51 -07:00
glx glx/dri2: print FPS when env var LIBGL_SHOW_FPS is 1 (v2) 2012-01-05 18:29:11 +01:00
mapi Regenerate files from previous commits 2011-12-13 16:07:17 -08:00
mesa mesa: Avoid segfault when getting an unbound transform feedback buffer name. 2012-01-05 13:27:12 -08:00
Makefile
SConscript scons: Unbreak mingw build. 2011-09-20 20:50:48 +01:00