mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 08:20:12 +01:00
nir/alu_to_scalar: Respect the exact ALU operation qualifier
Just setting builder->exact isn't sufficient because that only applies to instructions that are built with the builder but instructions created manually and only inserted using the builder are left alone. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
202751fbb7
commit
bec07b7292
1 changed files with 2 additions and 0 deletions
|
|
@ -56,6 +56,7 @@ lower_reduction(nir_alu_instr *instr, nir_op chan_op, nir_op merge_op,
|
|||
nir_alu_src_copy(&chan->src[1], &instr->src[1], chan);
|
||||
chan->src[1].swizzle[0] = chan->src[1].swizzle[i];
|
||||
}
|
||||
chan->exact = instr->exact;
|
||||
|
||||
nir_builder_instr_insert(builder, &chan->instr);
|
||||
|
||||
|
|
@ -229,6 +230,7 @@ lower_alu_instr_scalar(nir_alu_instr *instr, nir_builder *b)
|
|||
nir_alu_ssa_dest_init(lower, 1, instr->dest.dest.ssa.bit_size);
|
||||
lower->dest.saturate = instr->dest.saturate;
|
||||
comps[chan] = &lower->dest.dest.ssa;
|
||||
lower->exact = instr->exact;
|
||||
|
||||
nir_builder_instr_insert(b, &lower->instr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue