On Sun, 2016-11-13 at 23:00 -0800, Kenneth Graunke wrote: > On Friday, November 11, 2016 9:41:11 AM PST Juan A. Suarez Romero > wrote: > > > > Do not evaluate spill costs for registers that were already marked > > as > > no_spill. > > --- > > src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp > > b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp > > index 228e04c..5a5be85 100644 > > --- a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp > > +++ b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp > > @@ -385,7 +385,7 @@ vec4_visitor::evaluate_spill_costs(float > > *spill_costs, bool *no_spill) > > */ > > foreach_block_and_inst(block, vec4_instruction, inst, cfg) { > > for (unsigned int i = 0; i < 3; i++) { > > - if (inst->src[i].file == VGRF) { > > + if (inst->src[i].file == VGRF && !no_spill[inst- > > >src[i].nr]) { > > /* We will only unspill src[i] it it wasn't unspilled > > for the > > * previous instruction, in which case we'll just > > reuse the scratch > > * reg for this instruction. > > @@ -399,7 +399,7 @@ vec4_visitor::evaluate_spill_costs(float > > *spill_costs, bool *no_spill) > > } > > } > > > > - if (inst->dst.file == VGRF) { > > + if (inst->dst.file == VGRF && !no_spill[inst->dst.nr]) { > > spill_costs[inst->dst.nr] += loop_scale; > > if (inst->dst.reladdr || inst->dst.offset % REG_SIZE != > > 0) > > no_spill[inst->dst.nr] = true; > > > > Hmm, it seems pretty harmless to do this...also, the FS backend > doesn't > have these checks either. > > I'm guessing you're trying to avoid the overhead of calling > can_use_scratch_for_source()? It's a bunch of list walking for a > value > that ultimately won't matter.
Exactly. > Cutting that seems reasonable. > > Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> Thanks! _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev