glsl: Implement parser support for atomic counters.
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 20 Oct 2013 19:38:07 +0000 (12:38 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 7 Nov 2013 23:56:57 +0000 (15:56 -0800)
commite63bb298531918c3a17e77a9ad96670e724c9c37
tree9181aa991c227472ebb5d4a225e2c6dd7c811369
parent30f61c471de5a9637e5d830e2b5b9dc4145f94d2
glsl: Implement parser support for atomic counters.

v2: Mark atomic counters as read-only variables.  Move offset overlap
    code to the linker.  Use the contains_atomic() convenience method.
v3: Use pointer to integer instead of non-const reference.  Add
    comment so we remember to add a spec quotation from the next GLSL
    release once the issue of atomic counter aggregation within
    structures is clarified.
v4 (idr): Don't use std::map because it's overkill.  Add an assertion
    that ctx->Const.MaxAtomicBufferBindings <= MAX_COMBINED_ATOMIC_BUFFERS.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/ast.h
src/glsl/ast_to_hir.cpp
src/glsl/ast_type.cpp
src/glsl/glsl_lexer.ll
src/glsl/glsl_parser.yy
src/glsl/glsl_parser_extras.h