[Mesa-dev] [PATCH] intel/compiler: move nir_lower_bool_to_int32 before nir_lower_locals_to_regs

Jason Ekstrand jason at jlekstrand.net
Wed Dec 19 14:18:46 UTC 2018


Rb

On December 19, 2018 02:15:59 Iago Toral Quiroga <itoral at igalia.com> wrote:

> 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: 11dc1307794e "nir: Add a bool to int32 lowering pass"
> CC: mesa-stable at lists.freedesktop.org
> ---
> src/compiler/nir/nir_lower_bool_to_int32.c | 2 ++
> src/intel/compiler/brw_nir.c               | 4 ++--
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/compiler/nir/nir_lower_bool_to_int32.c 
> b/src/compiler/nir/nir_lower_bool_to_int32.c
> index 064b27b9025..fdd2f55175d 100644
> --- a/src/compiler/nir/nir_lower_bool_to_int32.c
> +++ b/src/compiler/nir/nir_lower_bool_to_int32.c
> @@ -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:
> diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
> index ab88a5f1fc7..4fdc98b6cf4 100644
> --- a/src/intel/compiler/brw_nir.c
> +++ b/src/intel/compiler/brw_nir.c
> @@ -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) {
> --
> 2.17.1





More information about the mesa-dev mailing list