From b4600d9352026358a16a6c0c71e7e03f6fcbcb23 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Wed, 31 Mar 2021 10:54:47 +0200 Subject: [PATCH] nir: Add filter callback for lower_to_scalar to the options Signed-off-by: Gert Wollny Reviewed-by: Timothy Arceri Part-of: --- src/compiler/nir/nir.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index d154d41fbaa..1a1f3dbb381 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -3129,6 +3129,12 @@ typedef enum { nir_divergence_multiple_workgroup_per_compute_subgroup = (1 << 5), } nir_divergence_options; +/** An instruction filtering callback + * + * Returns true if the instruction should be processed and false otherwise. + */ +typedef bool (*nir_instr_filter_cb)(const nir_instr *, const void *); + typedef struct nir_shader_compiler_options { bool lower_fdiv; bool lower_ffma16; @@ -3342,6 +3348,7 @@ typedef struct nir_shader_compiler_options { */ bool vectorize_io; bool lower_to_scalar; + nir_instr_filter_cb lower_to_scalar_filter; /** * Whether nir_opt_vectorize should only create 16-bit 2D vectors. @@ -4184,12 +4191,6 @@ static inline bool should_print_nir(nir_shader *shader) { return false; } #define NIR_SKIP(name) should_skip_nir(#name) -/** An instruction filtering callback - * - * Returns true if the instruction should be processed and false otherwise. - */ -typedef bool (*nir_instr_filter_cb)(const nir_instr *, const void *); - /** An instruction filtering callback with writemask * * Returns true if the instruction should be processed with the associated