diff options
author | Ian Romanick <[email protected]> | 2011-01-07 18:34:58 -0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2011-01-12 14:30:31 -0800 |
commit | bd33055ef4b6dd18d6247ff7d9e47496ff4acc51 (patch) | |
tree | 3278235f89711604cd0f9349ab8ea9270bbd1baa /src/glsl/ir.h | |
parent | c3f000b3926988124a44ce7e8cd6588e46063058 (diff) |
glsl: Track variable usage, use that to enforce semantics
In particular, variables cannot be redeclared invariant after being
used.
Fixes piglit test invariant-05.vert and bugzilla #29164.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Diffstat (limited to 'src/glsl/ir.h')
-rw-r--r-- | src/glsl/ir.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 9668c9439ad..57e89f0f6bf 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -295,6 +295,15 @@ public: unsigned invariant:1; /** + * Has this variable been used for reading or writing? + * + * Several GLSL semantic checks require knowledge of whether or not a + * variable has been used. For example, it is an error to redeclare a + * variable as invariant after it has been used. + */ + unsigned used:1; + + /** * Storage class of the variable. * * \sa ir_variable_mode |