[Mesa-dev] [PATCH 2/3] intel/vec4: Fix nir_op_b2[fi] with 64-bit result
Ian Romanick
idr at freedesktop.org
Thu Oct 11 18:21:28 UTC 2018
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:
>
More information about the mesa-dev
mailing list