diff options
| -rw-r--r-- | src/mesa/shader/slang/slang_codegen.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c index 4846c257f1..14fa38c3cd 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);     }  | 
