On Thu Mar 7 18:58:34 2024 +0000, Francisco Casas wrote:
It makes sense to implement 5/6 and 6/6 in ir.c, in the same spirit as instruction_array_lower_texkills(). I will work on doing that but in the mean time I fixed the other details.
After some checking, it seems that it is currently common in spirv.c to perform the casts inside the functions that handle each vsir instruction when the src and dst register types don't match, for instance in `spirv_compiler_emit_alu_instruction()`.
So my impression now is that CMP, SLT, and SGE, are not so deserving of a normalization pass that only changes the `handler_idx` and appends a cast from bool to float.
But if we do, do we have a vsir `handler_idx` to represent such casts (which will have to end up as SpvOpSelect)?