diff options
-rw-r--r-- | ir_function_inlining.cpp | 9 | ||||
-rw-r--r-- | ir_print_visitor.cpp | 7 |
2 files changed, 7 insertions, 9 deletions
diff --git a/ir_function_inlining.cpp b/ir_function_inlining.cpp index 385ce9ef6d..0d072c1b76 100644 --- a/ir_function_inlining.cpp +++ b/ir_function_inlining.cpp @@ -264,8 +264,7 @@ ir_function_cloning_visitor::visit(ir_return *ir) rval = this->result->as_rvalue(); assert(rval); - result = new ir_assignment(new ir_dereference(this->retval), - ir->get_value(), NULL); + result = new ir_assignment(new ir_dereference(this->retval), rval, NULL); } @@ -389,15 +388,15 @@ ir_call::generate_inline(ir_instruction *next_ir) next_ir->insert_before(v.result); } - /* Generate the declarations for the parameters to our inlined code, - * and set up the mapping of real function body variables to ours. + /* Copy back the value of any 'out' parameters from the function body + * variables to our own. */ i = 0; param_iter = this->actual_parameters.iterator(); for (i = 0; i < num_parameters; i++) { ir_instruction *const param = (ir_instruction *) param_iter.get(); - /* Move the actual param into our param variable if it's an 'in' type. */ + /* Move our param variable into the actual param if it's an 'out' type. */ if (parameters[i]->mode == ir_var_out || parameters[i]->mode == ir_var_inout) { ir_assignment *assign; diff --git a/ir_print_visitor.cpp b/ir_print_visitor.cpp index 9edb680385..ee7aa31175 100644 --- a/ir_print_visitor.cpp +++ b/ir_print_visitor.cpp @@ -34,9 +34,8 @@ _mesa_print_ir(exec_list *instructions, for (unsigned i = 0; i < state->num_user_structures; i++) { const glsl_type *const s = state->user_structures[i]; - printf("(structure (%s) (%s@%08x) (%u) (\n", - s->name, s->name, (unsigned) s, s->length - ); + printf("(structure (%s) (%s@%p) (%u) (\n", + s->name, s->name, s, s->length); for (unsigned j = 0; j < s->length; j++) { printf("\t(("); @@ -66,7 +65,7 @@ print_type(const glsl_type *t) printf(" %u)", t->length); } else if ((t->base_type == GLSL_TYPE_STRUCT) && (strncmp("gl_", t->name, 3) != 0)) { - printf("%s@%08x", t->name, (unsigned) t); + printf("%s@%p", t->name, t); } else { printf("%s", t->name); } |