intel/compiler: move nir_lower_bool_to_int32 before nir_lower_locals_to_regs
The former expects to see SSA-only things, but the latter injects registers.
The assertions in the lowering where not seeing this because they asserted
on the bit_size values only, not on the is_ssa field, so add that assertion
too.
Fixes: 11dc130779
"nir: Add a bool to int32 lowering pass"
CC: mesa-stable@lists.freedesktop.org
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
1250383e36
commit
d6110d4d54
|
@ -46,6 +46,8 @@ lower_alu_instr(nir_alu_instr *alu)
|
|||
{
|
||||
const nir_op_info *op_info = &nir_op_infos[alu->op];
|
||||
|
||||
assert(alu->dest.dest.is_ssa);
|
||||
|
||||
switch (alu->op) {
|
||||
case nir_op_imov:
|
||||
case nir_op_vec2:
|
||||
|
|
|
@ -832,6 +832,8 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
|
|||
OPT(nir_opt_dce);
|
||||
OPT(nir_opt_move_comparisons);
|
||||
|
||||
OPT(nir_lower_bool_to_int32);
|
||||
|
||||
OPT(nir_lower_locals_to_regs);
|
||||
|
||||
if (unlikely(debug_enabled)) {
|
||||
|
@ -846,8 +848,6 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
|
|||
nir_print_shader(nir, stderr);
|
||||
}
|
||||
|
||||
OPT(nir_lower_bool_to_int32);
|
||||
|
||||
OPT(nir_convert_from_ssa, true);
|
||||
|
||||
if (!is_scalar) {
|
||||
|
|
Loading…
Reference in New Issue