From 0d293f66877486a37682bd0537ea1d3c5fc126db Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 Dec 2008 19:34:43 -0700 Subject: [PATCH] mesa: consolidate variable declaration initializer code for globals too (cherry picked from commit 1737f2dbdd8d9d6b1da140340323cbf83f7bd592) --- src/mesa/shader/slang/slang_codegen.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c index 1c7282c..f88bf32 100644 --- a/src/mesa/shader/slang/slang_codegen.c +++ b/src/mesa/shader/slang/slang_codegen.c @@ -2573,6 +2573,7 @@ _slang_gen_var_decl(slang_assemble_ctx *A, slang_variable *var, #endif } + /* constant-folding, etc here */ _slang_simplify(initializer, &A->space, A->atoms); init = _slang_gen_operation(A, initializer); @@ -3938,26 +3939,9 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var, slang_ir_node *n; /* IR node to declare the variable */ - n = _slang_gen_var_decl(A, var, NULL); - - /* IR code for the var's initializer, if present */ - if (var->initializer) { - slang_ir_node *lhs, *rhs, *init; - - /* Generate IR_COPY instruction to initialize the variable */ - lhs = new_node0(IR_VAR); - lhs->Var = var; - lhs->Store = n->Store; - - /* constant folding, etc */ - _slang_simplify(var->initializer, &A->space, A->atoms); - - rhs = _slang_gen_operation(A, var->initializer); - assert(rhs); - init = new_node2(IR_COPY, lhs, rhs); - n = new_seq(n, init); - } + n = _slang_gen_var_decl(A, var, var->initializer); + /* emit GPU instructions */ success = _slang_emit_code(n, A->vartable, A->program, GL_FALSE, A->log); _slang_free_ir_tree(n); -- 2.7.4