mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 19:50:11 +01:00
glsl: Don't clone assignment conditions
At this point, this should always be NULL. Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14573>
This commit is contained in:
parent
d27e3c6adc
commit
697a460e49
2 changed files with 7 additions and 14 deletions
|
|
@ -259,17 +259,11 @@ ir_texture::clone(void *mem_ctx, struct hash_table *ht) const
|
||||||
ir_assignment *
|
ir_assignment *
|
||||||
ir_assignment::clone(void *mem_ctx, struct hash_table *ht) const
|
ir_assignment::clone(void *mem_ctx, struct hash_table *ht) const
|
||||||
{
|
{
|
||||||
ir_rvalue *new_condition = NULL;
|
assert(this->condition == NULL);
|
||||||
|
|
||||||
if (this->condition)
|
return new(mem_ctx) ir_assignment(this->lhs->clone(mem_ctx, ht),
|
||||||
new_condition = this->condition->clone(mem_ctx, ht);
|
this->rhs->clone(mem_ctx, ht),
|
||||||
|
this->write_mask);
|
||||||
ir_assignment *cloned =
|
|
||||||
new(mem_ctx) ir_assignment(this->lhs->clone(mem_ctx, ht),
|
|
||||||
this->rhs->clone(mem_ctx, ht),
|
|
||||||
new_condition);
|
|
||||||
cloned->write_mask = this->write_mask;
|
|
||||||
return cloned;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ir_function *
|
ir_function *
|
||||||
|
|
|
||||||
|
|
@ -415,11 +415,10 @@ ir_array_splitting_visitor::visit_leave(ir_assignment *ir)
|
||||||
ir_rvalue *rhs_i =
|
ir_rvalue *rhs_i =
|
||||||
new(mem_ctx) ir_dereference_array(ir->rhs->clone(mem_ctx, NULL),
|
new(mem_ctx) ir_dereference_array(ir->rhs->clone(mem_ctx, NULL),
|
||||||
new(mem_ctx) ir_constant(i));
|
new(mem_ctx) ir_constant(i));
|
||||||
ir_rvalue *condition_i =
|
|
||||||
ir->condition ? ir->condition->clone(mem_ctx, NULL) : NULL;
|
|
||||||
|
|
||||||
ir_assignment *assign_i =
|
assert(ir->condition == NULL);
|
||||||
new(mem_ctx) ir_assignment(lhs_i, rhs_i, condition_i);
|
|
||||||
|
ir_assignment *assign_i = new(mem_ctx) ir_assignment(lhs_i, rhs_i);
|
||||||
|
|
||||||
ir->insert_before(assign_i);
|
ir->insert_before(assign_i);
|
||||||
assign_i->accept(this);
|
assign_i->accept(this);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue