From e8a6f2ad65b03eac7c030b2cd4955a162739870b Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Wed, 4 Feb 2015 18:08:21 -0800 Subject: [PATCH] i965: Add an is_negative_one() method. Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_shader.cpp | 16 ++++++++++++++++ src/mesa/drivers/dri/i965/brw_shader.h | 1 + 2 files changed, 17 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index ad2e22a..f876932 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -732,6 +732,22 @@ backend_reg::is_one() const } 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 { return file == HW_REG && diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h index 4b5c573..7bff186 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 -- 2.7.4