diff options
-rw-r--r-- | src/intel/compiler/brw_fs_nir.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 12b087a5ec0..7930205d659 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -793,6 +793,11 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) inst->saturate = instr->dest.saturate; break; + case nir_op_b2i: + case nir_op_b2f: + op[0].type = BRW_REGISTER_TYPE_D; + op[0].negate = !op[0].negate; + /* fallthrough */ case nir_op_f2f64: case nir_op_f2i64: case nir_op_f2u64: @@ -1213,11 +1218,6 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr) inst->saturate = instr->dest.saturate; break; - case nir_op_b2i: - case nir_op_b2f: - bld.MOV(result, negate(op[0])); - break; - case nir_op_i2b: case nir_op_f2b: { uint32_t bit_size = nir_src_bit_size(instr->src[0].src); |