glsl: Reject TCS/TES input arrays not sized to gl_MaxPatchVertices.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 31 Aug 2016 07:16:24 +0000 (00:16 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 1 Sep 2016 18:07:07 +0000 (11:07 -0700)
commit72b56e8b1ae34b4c10f822b704521ccd463270b3
tree7f41a16c91103a53dafc0df109b29b08d51136ae
parent2f3154f464ba0942da3e3509ff4e42928e7b60f7
glsl: Reject TCS/TES input arrays not sized to gl_MaxPatchVertices.

We handled the unsized case, implicitly sizing arrays to the value
of gl_MaxPatchVertices.  But if a size was present, we failed to
raise a compile error if it wasn't the value of gl_MaxPatchVertices.

Fixes CTS tests:

  *.tessellation_shader.compilation_and_linking_errors.
  {tc,te}_invalid_array_size_used_for_input_blocks

Piglit's tcs-input-read-nonconst-* tests have recently been fixed.
This patch will break older copies of those tests, but the latest
should continue working.  Update to Piglit 75819c13af2ed5.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/compiler/glsl/ast_to_hir.cpp