@@ -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; |
@@ -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); | |||
} |