diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/shader/slang/slang_compile.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c index 4cda7124c0..75d1d7621d 100644 --- a/src/mesa/shader/slang/slang_compile.c +++ b/src/mesa/shader/slang/slang_compile.c @@ -1634,6 +1634,15 @@ parse_init_declarator(slang_parse_ctx * C, slang_output_ctx * O,        return 0;     } +   /* allocate global address space for a variable with a known size */ +   if (C->global_scope +       && !(var->type.specifier.type == SLANG_SPEC_ARRAY +            && var->array_len == 0)) { +      if (!calculate_var_size(C, O, var)) +         return GL_FALSE; +      var->address = slang_var_pool_alloc(O->global_pool, var->size); +   } +     /* emit code for global var decl */     if (C->global_scope) {        slang_assemble_ctx A; @@ -1648,15 +1657,6 @@ parse_init_declarator(slang_parse_ctx * C, slang_output_ctx * O,           return 0;     } -   /* allocate global address space for a variable with a known size */ -   if (C->global_scope -       && !(var->type.specifier.type == SLANG_SPEC_ARRAY -            && var->array_len == 0)) { -      if (!calculate_var_size(C, O, var)) -         return GL_FALSE; -      var->address = slang_var_pool_alloc(O->global_pool, var->size); -   } -     /* initialize global variable */     if (C->global_scope) {        if (var->initializer != NULL) {  | 
