nir/compiler: keep same bit size when lowering with flrp
authorAndres Gomez <agomez@igalia.com>
Mon, 8 Jul 2019 13:26:52 +0000 (16:26 +0300)
committerAndres Gomez <agomez@igalia.com>
Fri, 12 Jul 2019 16:15:20 +0000 (16:15 +0000)
commit9aadd5d6883667425156bd2dc2aacd040986632f
treef819943735bcab293901f43684c3b6d2349edf3c
parent16842b2391bac018326c9a2ee8dd36122b8269ee
nir/compiler: keep same bit size when lowering with flrp

This was probably not caught before because no supported test was
exercising the flrp lowering with other bit size different than 32.

With the arrival of VK_KHR_shader_float_controls we will have some of
those and, unless we keep the bit size, we will end with something
like:

../src/compiler/nir/nir_builder.h:420: nir_builder_alu_instr_finish_and_insert: Assertion `src_bit_size == bit_size' failed.

Fixes: 158370ed2a0 ("nir/flrp: Add new lowering pass for flrp instructions")
Fixes: ae02622d8fd ("nir/flrp: Lower flrp(a, b, c) differently if another flrp(_, b, c) exists")
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrnd.net>
src/compiler/nir/nir_lower_flrp.c