From 2dc3de016cd0306bf5b492ed781e824864788f11 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 Dec 2008 18:02:19 -0700 Subject: mesa: checkpoint commit of GLSL 1.20 array syntax. This allows things like float[3] x = float[3](1., 2., 3.); Parsing and AST construction now. Codegen not working yet. --- src/mesa/shader/slang/slang_codegen.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src/mesa/shader/slang/slang_codegen.c') diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c index 8abb642a728..9d6a9d7d1b2 100644 --- a/src/mesa/shader/slang/slang_codegen.c +++ b/src/mesa/shader/slang/slang_codegen.c @@ -2519,19 +2519,11 @@ _slang_gen_var_decl(slang_assemble_ctx *A, slang_variable *var) if (var->array_len > 0) { /* this is an array */ - /* cannot be const-qualified */ - if (var->type.qualifier == SLANG_QUAL_CONST) { - slang_info_log_error(A->log, "array '%s' cannot be const", - (char*) var->a_name); - return NULL; - } - else { - /* round up element size to mult of 4 */ - GLint sz = (n->Store->Size + 3) & ~3; - /* mult by array size */ - sz *= var->array_len; - n->Store->Size = sz; - } + /* round up the element size to a multiple of 4 */ + GLint sz = (n->Store->Size + 3) & ~3; + /* total size = element size * array length */ + sz *= var->array_len; + n->Store->Size = sz; } assert(n->Store->Size > 0); -- cgit v1.2.3