From: Eric Anholt Date: Thu, 21 Feb 2013 02:00:47 +0000 (-0800) Subject: i965/fs: Fix broken math on values loaded from uniform buffers on gen6. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7b0731d940c758ca9c1e883cdea454d8787255c1;p=mesa.git i965/fs: Fix broken math on values loaded from uniform buffers on gen6. In a debug build this led to assertion failures, but on a non-debug build the hardware would just reference the whole vec8 instead of the same channel 8 times. Fixes the new piglit glsl-1.40/uniform-buffer/fs-exp2. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57121 Note: This is a candidate for the stable branches Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index f3232b29271..e53de663cbe 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1929,6 +1929,7 @@ fs_visitor::register_coalesce() bool has_source_modifiers = (inst->src[0].abs || inst->src[0].negate || + inst->src[0].smear != -1 || inst->src[0].file == UNIFORM); /* Found a move of a GRF to a GRF. Let's see if we can coalesce