diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-05-03 10:15:02 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-05-03 10:15:02 -0700 |
commit | 970353e047052140c592e95b2171ee5a5b323843 (patch) | |
tree | 2de6f525500f296364a2350207222ce8ab549238 | |
parent | 438f38c55afc8a31d01af357de95a56044ea7055 (diff) | |
parent | b0e0da5f07b5072d588ab33b121933c705f3b8a1 (diff) |
Merge branch 'fixes'
-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 385ce9e..0d072c1 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 9edb680..ee7aa31 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); } |