<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, May 16, 2016 at 9:23 PM, 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This should be working fine now.<br></blockquote><div><br></div><div>Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=94997">https://bugs.freedesktop.org/show_bug.cgi?id=94997</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
---<br>
 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 21 ++-------------------<br>
 1 file changed, 2 insertions(+), 19 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp<br>
index ff40c42..d686f30 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp<br>
@@ -835,30 +835,13 @@ fs_visitor::choose_spill_reg(struct ra_graph *g)<br>
     */<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>
+        if (inst->src[i].file == VGRF)<br>
             spill_costs[inst->src[i].nr] += loop_scale;<br>
-<br>
-            /* Register spilling logic assumes full-width registers; smeared<br>
-             * registers have a width of 1 so if we try to spill them we'll<br>
-             * generate invalid assembly.  This shouldn't be a problem because<br>
-             * smeared registers are only used as short-term temporaries when<br>
-             * loading pull constants, so spilling them is unlikely to reduce<br>
-             * register pressure anyhow.<br>
-             */<br>
-            if (!inst->src[i].is_contiguous()) {<br>
-               no_spill[inst->src[i].nr] = true;<br>
-            }<br>
-        }<br>
       }<br>
<br>
-      if (inst->dst.file == VGRF) {<br>
+      if (inst->dst.file == VGRF)<br>
          spill_costs[inst-><a href="http://dst.nr" rel="noreferrer" target="_blank">dst.nr</a>] += inst->regs_written * loop_scale;<br>
<br>
-         if (!inst->dst.is_contiguous()) {<br>
-            no_spill[inst-><a href="http://dst.nr" rel="noreferrer" target="_blank">dst.nr</a>] = true;<br>
-         }<br>
-      }<br>
-<br>
       switch (inst->opcode) {<br>
<br>
       case BRW_OPCODE_DO:<br>
<span class=""><font color="#888888">--<br>
2.7.3<br>
<br>
_______________________________________________<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/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>