On 10/11/2018 08:38 AM, Jason Ekstrand wrote: > --- > src/intel/compiler/brw_vec4_nir.cpp | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/src/intel/compiler/brw_vec4_nir.cpp > b/src/intel/compiler/brw_vec4_nir.cpp > index eaf1754b006..5ccfd1f8940 100644 > --- a/src/intel/compiler/brw_vec4_nir.cpp > +++ b/src/intel/compiler/brw_vec4_nir.cpp > @@ -1586,7 +1586,12 @@ vec4_visitor::nir_emit_alu(nir_alu_instr *instr) > > case nir_op_b2i: > case nir_op_b2f: > - emit(MOV(dst, negate(op[0]))); > + if (nir_dest_bit_size(instr->dest.dest) > 32) { > + assert(dst.type == BRW_REGISTER_TYPE_DF); > + emit_conversion_to_double(dst, negate(op[0]), false); > + } else { > + emit(MOV(dst, negate(op[0]))); > + }
I wrote almost the same patch, but I split nir_op_b2i and nir_op_b2f handling and omitted the assert. I was never able to get the then-clause to trigger. Were you able to get that to happen? > break; > > case nir_op_f2b: > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev