Iago Toral Quiroga <ito...@igalia.com> writes: > The dst is always written, in this case the predicate is only used to select > the value to write, so if we are spilling the dst we always want to write > whatever value we selected to scratch. > --- > src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp > b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp > index c5c0d2c..ba352be 100644 > --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp > +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp > @@ -3482,7 +3482,8 @@ vec4_visitor::emit_scratch_write(bblock_t *block, > vec4_instruction *inst, > dst_reg dst = dst_reg(brw_writemask(brw_vec8_grf(0, 0), > inst->dst.writemask)); > vec4_instruction *write = SCRATCH_WRITE(dst, temp, index); > - write->predicate = inst->predicate; > + if (inst->opcode != BRW_OPCODE_SEL) > + write->predicate = inst->predicate; > write->ir = inst->ir; > write->annotation = inst->annotation; > inst->insert_after(block, write); > -- > 1.9.1
Reviewed-by: Francisco Jerez <curroje...@riseup.net>
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev