From: Brian Paul Date: Thu, 3 Jul 2008 19:05:28 +0000 (-0600) Subject: mesa: fix array storage allocation bug X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e46c121f9efc941473f797e0a388146a9599eea;p=mesa.git mesa: fix array storage allocation bug --- diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c index 4846c257f16..14fa38c3cda 100644 --- a/src/mesa/shader/slang/slang_codegen.c +++ b/src/mesa/shader/slang/slang_codegen.c @@ -2071,6 +2071,14 @@ _slang_gen_var_decl(slang_assemble_ctx *A, slang_variable *var) n->Store->File = PROGRAM_TEMPORARY; n->Store->Size = _slang_sizeof_type_specifier(&n->Var->type.specifier); + if (var->array_len > 0) { + /* this is an array */ + /* 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; + } A->program->NumTemporaries++; assert(n->Store->Size > 0); }