WIP: nir: mixed precision (16/32-bit) alu instructions
I am using this as part of implementing mediump for etnaviv (on top of the work by @zzoon and @nroberts).
- etnaviv hardware allows mixing half precision and full precision without any limitations.
- freedreno hardware can have different dest precision, but all sources must have the same precision.
For opt_constant_folding
changes, would it be better to instead have nir_eval_const_opcode
take the input sizes and do the conversions?