<div dir="ltr">Hi Curro,<div>This series looks good to me :)</div><div><br></div><div>Reviewed-by: Plamena Manolova <<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 21, 2017 at 11:49 AM, Francisco Jerez <span dir="ltr"><<a href="mailto:currojerez@riseup.net" target="_blank">currojerez@riseup.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Until now the spilling cost calculation was neglecting the amount of<br>
data read from the register during the spilling cost calculation.<br>
This caused it to make suboptimal decisions in some cases leading to<br>
higher memory bandwidth usage than necessary.<br>
<br>
Improves Unigine Heaven performance by ~4% on BDW, reversing an<br>
unintended FPS regression from my previous commit<br>
147e71242ce539ff28e282f009c332<wbr>818c35f5ac with n=12 and statistical<br>
significance 5%.  In addition SynMark2 OglCSDof performance is<br>
improved by an additional ~5% on SKL, and a Kerbal Space Program<br>
apitrace around the Moho planet I can provide on request improves by<br>
~20%.<br>
<br>
Cc: <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.<wbr>freedesktop.org</a>><br>
---<br>
 src/intel/compiler/brw_fs_reg_<wbr>allocate.cpp | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/intel/compiler/brw_fs_<wbr>reg_allocate.cpp b/src/intel/compiler/brw_fs_<wbr>reg_allocate.cpp<br>
index 2d4d46e..ec8e116 100644<br>
--- a/src/intel/compiler/brw_fs_<wbr>reg_allocate.cpp<br>
+++ b/src/intel/compiler/brw_fs_<wbr>reg_allocate.cpp<br>
@@ -822,7 +822,7 @@ fs_visitor::choose_spill_reg(<wbr>struct ra_graph *g)<br>
    foreach_block_and_inst(block, fs_inst, inst, cfg) {<br>
       for (unsigned int i = 0; i < inst->sources; i++) {<br>
         if (inst->src[i].file == VGRF)<br>
-            spill_costs[inst->src[i].nr] += block_scale;<br>
+            spill_costs[inst->src[i].nr] += regs_read(inst, i) * block_scale;<br>
       }<br>
<br>
       if (inst->dst.file == VGRF)<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.10.2<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>