glsl: add xfb_stride compile time rules
authorTimothy Arceri <timothy.arceri@collabora.com>
Sat, 13 Feb 2016 03:53:45 +0000 (14:53 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Thu, 31 Mar 2016 01:50:44 +0000 (12:50 +1100)
commit04a72e6e57ea97db2023bec50a10f2106f5d5b24
treee7a407c970573c3273170d9f8c7b0cf8c36d0b13
parentedddad0eee15c1f97443fc262d731e06d9604d4e
glsl: add xfb_stride compile time rules

From the ARB_enhanced_layouts spec:

   "The *xfb_stride* qualifier specifies how many bytes are consumed
   by each captured vertex.  It applies to the transform feedback
   buffer for that declaration, whether it is inherited or explicitly
   declared. It can be applied to variables, blocks, block members,
   or just the qualifier out.  If the buffer is capturing any
   double-typed outputs, the stride must be a multiple of 8, otherwise
   it must be a multiple of 4, or a compile-time or link-time error
   results.

   ...

   The resulting stride (implicit or explicit) must be less than or
   equal to the implementation-dependent constant
   gl_MaxTransformFeedbackInterleavedComponents."

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/ast_to_hir.cpp