glsl: Don't consider things with a type containing a sampler as an lvalue.
authorEric Anholt <eric@anholt.net>
Thu, 26 Aug 2010 06:27:56 +0000 (23:27 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 26 Aug 2010 06:43:21 +0000 (23:43 -0700)
commitc735d85395f8f0c0a71b04ebc728390970271fe2
tree1c6573e8fcfa8ff61c20c575b2d82052decf4a54
parentaa2f55883b9a4e8a192c5dcc97ae7fdab2a33e0a
glsl: Don't consider things with a type containing a sampler as an lvalue.

We had ad-hoc handled some common cases by flagging sampler-typed
variables as read_only, and rejected initializers of samplers.
However, people could sneak them in in all sorts of surprising ways,
like using whole-array or structure assignment.

Fixes:
glslparsertest/glsl2/sampler-01.frag
glslparsertest/glsl2/sampler-03.frag
glslparsertest/glsl2/sampler-04.frag
glslparsertest/glsl2/sampler-06.frag

Bug #27403.
src/glsl/ir.cpp