On 01/03/2012 10:35 PM, Paul Berry wrote: > 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. > --- > src/glsl/linker.cpp | 99 > ++++++++++++++++++++++++++++----------------------- > 1 files changed, 54 insertions(+), 45 deletions(-)
Looks good to me. Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev