X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fnir%2Fnir_lower_alu_to_scalar.c;h=710bb37409fd37c21b925f99c1f4333b762f875a;hb=aecbc93f2d1ff9de4e03a2b216e86dcb9a4ce414;hp=efbe9e7175f71b206e36d8131e13c7088868181c;hpb=d50c182671a6aa315c83b5e203655e902996c0e7;p=mesa.git diff --git a/src/glsl/nir/nir_lower_alu_to_scalar.c b/src/glsl/nir/nir_lower_alu_to_scalar.c index efbe9e7175f..710bb37409f 100644 --- a/src/glsl/nir/nir_lower_alu_to_scalar.c +++ b/src/glsl/nir/nir_lower_alu_to_scalar.c @@ -46,11 +46,11 @@ lower_reduction(nir_alu_instr *instr, nir_op chan_op, nir_op merge_op, for (unsigned i = 0; i < num_components; i++) { nir_alu_instr *chan = nir_alu_instr_create(mem_ctx, chan_op); nir_alu_ssa_dest_init(chan, 1); - nir_alu_src_copy(&chan->src[0], &instr->src[0], mem_ctx); + nir_alu_src_copy(&chan->src[0], &instr->src[0], chan); chan->src[0].swizzle[0] = chan->src[0].swizzle[i]; if (nir_op_infos[chan_op].num_inputs > 1) { assert(nir_op_infos[chan_op].num_inputs == 2); - nir_alu_src_copy(&chan->src[1], &instr->src[1], mem_ctx); + nir_alu_src_copy(&chan->src[1], &instr->src[1], chan); chan->src[1].swizzle[0] = chan->src[1].swizzle[i]; } @@ -70,8 +70,7 @@ lower_reduction(nir_alu_instr *instr, nir_op chan_op, nir_op merge_op, } assert(instr->dest.write_mask == 1); - nir_ssa_def_rewrite_uses(&instr->dest.dest.ssa, nir_src_for_ssa(last), - mem_ctx); + nir_ssa_def_rewrite_uses(&instr->dest.dest.ssa, nir_src_for_ssa(last)); nir_instr_remove(&instr->instr); } @@ -153,7 +152,7 @@ lower_alu_instr_scalar(nir_alu_instr *instr, void *mem_ctx) unsigned src_chan = (nir_op_infos[instr->op].input_sizes[i] == 1 ? 0 : chan); - nir_alu_src_copy(&lower->src[i], &instr->src[i], mem_ctx); + nir_alu_src_copy(&lower->src[i], &instr->src[i], lower); for (int j = 0; j < 4; j++) lower->src[i].swizzle[j] = instr->src[i].swizzle[src_chan]; } @@ -168,8 +167,7 @@ lower_alu_instr_scalar(nir_alu_instr *instr, void *mem_ctx) nir_instr_insert_before(&instr->instr, &vec_instr->instr); nir_ssa_def_rewrite_uses(&instr->dest.dest.ssa, - nir_src_for_ssa(&vec_instr->dest.dest.ssa), - mem_ctx); + nir_src_for_ssa(&vec_instr->dest.dest.ssa)); nir_instr_remove(&instr->instr); }