From: Connor Abbott <connor.w.abb...@intel.com> --- src/mesa/drivers/dri/i965/brw_shader.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index e5c43d2..d40937b 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -664,7 +664,17 @@ backend_reg::is_zero() const if (file != IMM) return false; - return d == 0; + switch (type) { + case BRW_REGISTER_TYPE_F: + return f == 0; + case BRW_REGISTER_TYPE_DF: + return df == 0; + case BRW_REGISTER_TYPE_D: + case BRW_REGISTER_TYPE_UD: + return d == 0; + default: + return false; + } } bool @@ -673,9 +683,17 @@ backend_reg::is_one() const if (file != IMM) return false; - return type == BRW_REGISTER_TYPE_F - ? f == 1.0 - : d == 1; + switch (type) { + case BRW_REGISTER_TYPE_F: + return f == 1.0f; + case BRW_REGISTER_TYPE_DF: + return df == 1.0; + case BRW_REGISTER_TYPE_D: + case BRW_REGISTER_TYPE_UD: + return d == 1; + default: + return false; + } } bool @@ -687,6 +705,8 @@ backend_reg::is_negative_one() const switch (type) { case BRW_REGISTER_TYPE_F: return f == -1.0; + case BRW_REGISTER_TYPE_DF: + return df == -1.0; case BRW_REGISTER_TYPE_D: return d == -1; default: -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev