Mesa (master): i965: Move is_zero/one/null/accumulator into backend_reg.

Matt Turner mattst88 at kemper.freedesktop.org
Sun Jul 6 05:51:53 UTC 2014


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

Author: Matt Turner <mattst88 at gmail.com>
Date:   Sun Jun 29 15:35:58 2014 -0700

i965: Move is_zero/one/null/accumulator into backend_reg.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp     |   36 -----------------------
 src/mesa/drivers/dri/i965/brw_fs.h       |    4 ---
 src/mesa/drivers/dri/i965/brw_shader.cpp |   37 +++++++++++++++++++++++
 src/mesa/drivers/dri/i965/brw_shader.h   |    7 +++++
 src/mesa/drivers/dri/i965/brw_vec4.cpp   |   47 ------------------------------
 src/mesa/drivers/dri/i965/brw_vec4.h     |    6 ----
 6 files changed, 44 insertions(+), 93 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 8a4a834..3d10799 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -480,47 +480,11 @@ fs_reg::is_contiguous() const
 }
 
 bool
-fs_reg::is_zero() const
-{
-   if (file != IMM)
-      return false;
-
-   return fixed_hw_reg.dw1.d == 0;
-}
-
-bool
-fs_reg::is_one() const
-{
-   if (file != IMM)
-      return false;
-
-   return type == BRW_REGISTER_TYPE_F
-          ? fixed_hw_reg.dw1.f == 1.0
-          : fixed_hw_reg.dw1.d == 1;
-}
-
-bool
-fs_reg::is_null() const
-{
-   return file == HW_REG &&
-          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
-          fixed_hw_reg.nr == BRW_ARF_NULL;
-}
-
-bool
 fs_reg::is_valid_3src() const
 {
    return file == GRF || file == UNIFORM;
 }
 
-bool
-fs_reg::is_accumulator() const
-{
-   return file == HW_REG &&
-          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
-          fixed_hw_reg.nr == BRW_ARF_ACCUMULATOR;
-}
-
 int
 fs_visitor::type_size(const struct glsl_type *type)
 {
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index b6a5717..530e54b 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -79,12 +79,8 @@ public:
    fs_reg(class fs_visitor *v, const struct glsl_type *type);
 
    bool equals(const fs_reg &r) const;
-   bool is_zero() const;
-   bool is_one() const;
-   bool is_null() const;
    bool is_valid_3src() const;
    bool is_contiguous() const;
-   bool is_accumulator() const;
 
    fs_reg &apply_stride(unsigned stride);
    /** Smear a channel of the reg to all channels. */
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index 787eb87..fa42733 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -554,6 +554,43 @@ backend_visitor::backend_visitor(struct brw_context *brw,
 }
 
 bool
+backend_reg::is_zero() const
+{
+   if (file != IMM)
+      return false;
+
+   return fixed_hw_reg.dw1.d == 0;
+}
+
+bool
+backend_reg::is_one() const
+{
+   if (file != IMM)
+      return false;
+
+   return type == BRW_REGISTER_TYPE_F
+          ? fixed_hw_reg.dw1.f == 1.0
+          : fixed_hw_reg.dw1.d == 1;
+}
+
+bool
+backend_reg::is_null() const
+{
+   return file == HW_REG &&
+          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
+          fixed_hw_reg.nr == BRW_ARF_NULL;
+}
+
+
+bool
+backend_reg::is_accumulator() const
+{
+   return file == HW_REG &&
+          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
+          fixed_hw_reg.nr == BRW_ARF_ACCUMULATOR;
+}
+
+bool
 backend_instruction::is_tex() const
 {
    return (opcode == SHADER_OPCODE_TEX ||
diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h
index 3896442..b0908a3 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.h
+++ b/src/mesa/drivers/dri/i965/brw_shader.h
@@ -42,6 +42,13 @@ enum PACKED register_file {
 
 struct backend_reg
 {
+#ifdef __cplusplus
+   bool is_zero() const;
+   bool is_one() const;
+   bool is_null() const;
+   bool is_accumulator() const;
+#endif
+
    enum register_file file; /**< Register file: GRF, MRF, IMM. */
    uint8_t type;            /**< Register type: BRW_REGISTER_TYPE_* */
 
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 3b51875..5ba7d9c 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -151,15 +151,6 @@ src_reg::src_reg(dst_reg reg)
                                 swizzles[2], swizzles[3]);
 }
 
-bool
-src_reg::is_accumulator() const
-{
-   return file == HW_REG &&
-          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
-          fixed_hw_reg.nr == BRW_ARF_ACCUMULATOR;
-}
-
-
 void
 dst_reg::init()
 {
@@ -222,22 +213,6 @@ dst_reg::dst_reg(src_reg reg)
 }
 
 bool
-dst_reg::is_null() const
-{
-   return file == HW_REG &&
-          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
-          fixed_hw_reg.nr == BRW_ARF_NULL;
-}
-
-bool
-dst_reg::is_accumulator() const
-{
-   return file == HW_REG &&
-          fixed_hw_reg.file == BRW_ARCHITECTURE_REGISTER_FILE &&
-          fixed_hw_reg.nr == BRW_ARF_ACCUMULATOR;
-}
-
-bool
 vec4_instruction::is_send_from_grf()
 {
    switch (opcode) {
@@ -601,28 +576,6 @@ vec4_visitor::pack_uniform_registers()
    }
 }
 
-bool
-src_reg::is_zero() const
-{
-   if (file != IMM)
-      return false;
-
-   return fixed_hw_reg.dw1.d == 0;
-}
-
-bool
-src_reg::is_one() const
-{
-   if (file != IMM)
-      return false;
-
-   if (type == BRW_REGISTER_TYPE_F) {
-      return fixed_hw_reg.dw1.f == 1.0;
-   } else {
-      return fixed_hw_reg.dw1.d == 1;
-   }
-}
-
 /**
  * Does algebraic optimizations (0 * a = 0, 1 * a = a, a + 0 = a).
  *
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h
index 9fd14f8..331b9b5 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -106,9 +106,6 @@ public:
    src_reg(struct brw_reg reg);
 
    bool equals(const src_reg &r) const;
-   bool is_zero() const;
-   bool is_one() const;
-   bool is_accumulator() const;
 
    src_reg(class vec4_visitor *v, const struct glsl_type *type);
 
@@ -173,9 +170,6 @@ public:
 
    explicit dst_reg(src_reg reg);
 
-   bool is_null() const;
-   bool is_accumulator() const;
-
    int writemask; /**< Bitfield of WRITEMASK_[XYZW] */
 
    src_reg *reladdr;




More information about the mesa-commit mailing list