From: Connor Abbott <connor.w.abb...@intel.com> Uniform doubles will read two registers, in which case we need to mark both as being live. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 90c1e93..ac170d5 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2045,8 +2045,10 @@ fs_visitor::assign_constant_locations() } is_live[last] = true; } else { - if (constant_nr >= 0 && constant_nr < (int) uniforms) - is_live[constant_nr] = true; + if (constant_nr >= 0 && constant_nr < (int) uniforms) { + for (int j = 0; j < inst->regs_read(i); j++) + is_live[constant_nr + j] = true; + } } } } -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev