diff options
Diffstat (limited to 'src/freedreno/ir3')
-rw-r--r-- | src/freedreno/ir3/ir3_nir.c | 2 | ||||
-rw-r--r-- | src/freedreno/ir3/ir3_shader.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c index f9d059254fd..f2fc46db7cc 100644 --- a/src/freedreno/ir3/ir3_nir.c +++ b/src/freedreno/ir3/ir3_nir.c @@ -57,6 +57,7 @@ static const nir_shader_compiler_options options = { .use_interpolated_input_intrinsics = true, .lower_rotate = true, .lower_to_scalar = true, + .has_imul24 = true, }; /* we don't want to lower vertex_id to _zero_based on newer gpus: */ @@ -84,6 +85,7 @@ static const nir_shader_compiler_options options_a6xx = { .lower_rotate = true, .vectorize_io = true, .lower_to_scalar = true, + .has_imul24 = true, }; const nir_shader_compiler_options * diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c index 344e15f38f8..4e1b1081764 100644 --- a/src/freedreno/ir3/ir3_shader.c +++ b/src/freedreno/ir3/ir3_shader.c @@ -317,6 +317,8 @@ ir3_shader_from_nir(struct ir3_compiler *compiler, nir_shader *nir) NIR_PASS_V(nir, nir_lower_io_arrays_to_elements_no_indirects, false); + NIR_PASS_V(nir, nir_lower_amul, ir3_glsl_type_size); + /* do first pass optimization, ignoring the key: */ ir3_optimize_nir(shader, nir, NULL); |