mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
Fix double usage of the post-inc/dec's temporary pre-inc/dec copy.
Fixes CorrectSwizzle3.frag.
This commit is contained in:
parent
2731a739d0
commit
a9d58ad6c9
1 changed files with 4 additions and 5 deletions
|
|
@ -555,21 +555,20 @@ static ir_rvalue *
|
|||
get_lvalue_copy(exec_list *instructions, ir_rvalue *lvalue)
|
||||
{
|
||||
ir_variable *var;
|
||||
ir_rvalue *var_deref;
|
||||
|
||||
/* FINISHME: Give unique names to the temporaries. */
|
||||
var = new ir_variable(lvalue->type, "_internal_tmp");
|
||||
var = new ir_variable(lvalue->type, "_post_incdec_tmp");
|
||||
var->mode = ir_var_auto;
|
||||
|
||||
var_deref = new ir_dereference_variable(var);
|
||||
instructions->push_tail(new ir_assignment(var_deref, lvalue, NULL));
|
||||
instructions->push_tail(new ir_assignment(new ir_dereference_variable(var),
|
||||
lvalue, NULL));
|
||||
|
||||
/* Once we've created this temporary, mark it read only so it's no
|
||||
* longer considered an lvalue.
|
||||
*/
|
||||
var->read_only = true;
|
||||
|
||||
return var_deref;
|
||||
return new ir_dereference_variable(var);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue