From: Matt Turner Date: Thu, 5 Feb 2015 02:08:21 +0000 (-0800) Subject: i965: Add an is_negative_one() method. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e8a6f2ad65b03eac7c030b2cd4955a162739870b;p=mesa.git i965: Add an is_negative_one() method. Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index ad2e22adbc0..f8769327883 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -731,6 +731,22 @@ backend_reg::is_one() const : fixed_hw_reg.dw1.d == 1; } +bool +backend_reg::is_negative_one() const +{ + if (file != IMM) + return false; + + switch (type) { + case BRW_REGISTER_TYPE_F: + return fixed_hw_reg.dw1.f == -1.0; + case BRW_REGISTER_TYPE_D: + return fixed_hw_reg.dw1.d == -1; + default: + return false; + } +} + bool backend_reg::is_null() const { diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h index 4b5c57364e8..7bff186dc49 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.h +++ b/src/mesa/drivers/dri/i965/brw_shader.h @@ -51,6 +51,7 @@ struct backend_reg #ifdef __cplusplus bool is_zero() const; bool is_one() const; + bool is_negative_one() const; bool is_null() const; bool is_accumulator() const; #endif