i965/fs: mark last DF uniform array element as 64 bit live one
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 21 Feb 2017 07:27:30 +0000 (08:27 +0100)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Wed, 1 Mar 2017 05:50:10 +0000 (06:50 +0100)
This bug can make that we don't detect the end of a contiguous area
correctly and push larger areas than the real ones.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: "17.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/mesa/drivers/dri/i965/brw_fs.cpp

index c348bc7138d389287f8b47f0d60577e7aae302d9..c713caa9b6f4448739e682e7b9d3b7b31b7d0223 100644 (file)
@@ -1952,6 +1952,9 @@ fs_visitor::assign_constant_locations()
                }
             }
             is_live[last] = true;
+            if (type_sz(inst->src[i].type) == 8) {
+                  is_live_64bit[last] = true;
+            }
          } else {
             if (constant_nr >= 0 && constant_nr < (int) uniforms) {
                int regs_read = inst->components_read(i) *