<p dir="ltr"><br>
On May 31, 2016 2:50 PM, "Ilia Mirkin" <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br>
><br>
> With the introduction of fp64 and fp16 to nir, there are now a bunch of<br>
> float types running around. A F1 2015 shader ends up with an i2f.sat<br>
> operation, which has a nir_type_float32 destination. Allow sat on all<br>
> the float destination types.<br>
><br>
> Signed-off-by: Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>><br>
> Cc: "12.0" <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>><br>
> ---<br>
>  src/compiler/nir/nir_validate.c | 2 +-<br>
>  1 file changed, 1 insertion(+), 1 deletion(-)<br>
><br>
> diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c<br>
> index 35bb162..8404e11 100644<br>
> --- a/src/compiler/nir/nir_validate.c<br>
> +++ b/src/compiler/nir/nir_validate.c<br>
> @@ -331,7 +331,7 @@ validate_alu_dest(nir_alu_instr *instr, validate_state *state)<br>
>      * destinations of type float<br>
>      */<br>
>     nir_alu_instr *alu = nir_instr_as_alu(state->instr);<br>
> -   validate_assert(state, nir_op_infos[alu->op].output_type == nir_type_float ||<br>
> +   validate_assert(state, nir_op_infos[alu->op].output_type & nir_type_float ||</p>
<p dir="ltr">We have a nir_alu_type_get_base_type helper function which would probably be more appropriate than the &.  With that changed,</p>
<p dir="ltr">Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>></p>
<p dir="ltr">>            !dest->saturate);<br>
><br>
>     unsigned bit_size = dest->dest.is_ssa ? dest->dest.ssa.bit_size<br>
> --<br>
> 2.7.3<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</p>