glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30
authorChad Versace <chad.versace@intel.com>
Fri, 4 Feb 2011 20:18:56 +0000 (12:18 -0800)
committerChad Versace <chad.versace@intel.com>
Tue, 8 Feb 2011 17:37:03 +0000 (09:37 -0800)
commit82f994f3860ca05ff5550f32844b0f523d40b9ef
treefd82144c2e725bd42012e9f71af4899df375e52c
parent69e5516308095efe12e557fd3d60d0caae514a36
glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30

From section 5.9 of the GLSL 1.20 spec:
   The operator modulus (%) is reserved for future use.

From section 5.8 of the GLSL 1.20 spec:
   The assignments modulus into (%=), left shift by (<<=), right shift by
   (>>=), inclusive or into ( |=), and exclusive or into ( ^=). These
   operators are reserved for future use.

The GLSL ES 1.00 spec and GLSL 1.10 spec have similiar language.

Fixes bug:
https://bugs.freedesktop.org//show_bug.cgi?id=33916

Fixes Piglit tests:
spec/glsl-1.00/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.00/compiler/assignment-operators/modulus-assign-00.frag
spec/glsl-1.10/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.10/compiler/assignment-operators/modulus-assign-00.frag
spec/glsl-1.20/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.20/compiler/assignment-operators/modulus-assign-00.frag
src/glsl/ast_to_hir.cpp