Mesa (master): i965/fs: mark last DF uniform array element as 64 bit live one

Samuel Iglesias Gonsálvez samuelig at kemper.freedesktop.org
Wed Mar 1 07:11:05 UTC 2017


Module: Mesa
Branch: master
Commit: 7427425247d80c9f59a3c3ad2dfeeb2429de6f67
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7427425247d80c9f59a3c3ad2dfeeb2429de6f67

Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Feb 21 08:27:30 2017 +0100

i965/fs: mark last DF uniform array element as 64 bit live one

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 at igalia.com>
Cc: "17.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index c348bc7..c713caa 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -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) *




More information about the mesa-commit mailing list