From 3515c0e9cfce67af442a3de4dbe9bb7f487aaeb5 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 27 Apr 2019 04:31:31 -0500 Subject: [PATCH] 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 --- 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);