Mesa (master): i965: Add an is_negative_one() method.

Matt Turner mattst88 at kemper.freedesktop.org
Sun Feb 15 20:24:52 UTC 2015


Module: Mesa
Branch: master
Commit: e8a6f2ad65b03eac7c030b2cd4955a162739870b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8a6f2ad65b03eac7c030b2cd4955a162739870b

Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Feb  4 18:08:21 2015 -0800

i965: Add an is_negative_one() method.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 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




More information about the mesa-commit mailing list