Mesa (master): intel/fs: Allow UB, B, and HF types in brw_nir_reduction_op_identity

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 20 19:03:31 UTC 2019


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

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Sat Apr 27 04:31:31 2019 -0500

intel/fs: Allow UB, B, and HF types in brw_nir_reduction_op_identity

Because byte immediates aren't a thing on GEN hardware, we return a
signed or unsigned word immediate in the byte case.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

---

 src/intel/compiler/brw_fs_nir.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index b6bdd7a5f29..abce29c92f5 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -3870,8 +3870,14 @@ brw_nir_reduction_op_identity(const fs_builder &bld,
 {
    nir_const_value value = nir_alu_binop_identity(op, type_sz(type) * 8);
    switch (type_sz(type)) {
+   case 1:
+      if (type == BRW_REGISTER_TYPE_UB) {
+         return brw_imm_uw(value.u8);
+      } else {
+         assert(type == BRW_REGISTER_TYPE_B);
+         return brw_imm_w(value.i8);
+      }
    case 2:
-      assert(type != BRW_REGISTER_TYPE_HF);
       return retype(brw_imm_uw(value.u16), type);
    case 4:
       return retype(brw_imm_ud(value.u32), type);




More information about the mesa-commit mailing list