diff --git a/src/kosmickrisp/compiler/nir_to_msl.c b/src/kosmickrisp/compiler/nir_to_msl.c index 1a9768763a7..13ab89f918c 100644 --- a/src/kosmickrisp/compiler/nir_to_msl.c +++ b/src/kosmickrisp/compiler/nir_to_msl.c @@ -374,6 +374,7 @@ alu_to_msl(struct nir_to_msl_ctx *ctx, nir_alu_instr *instr) case nir_op_ffloor: alu_funclike(ctx, instr, "floor"); break; + case nir_op_ffma: case nir_op_ffma_old: alu_funclike(ctx, instr, "fma"); break; diff --git a/src/kosmickrisp/compiler/nir_to_msl.h b/src/kosmickrisp/compiler/nir_to_msl.h index db4770a9129..aeacc24d259 100644 --- a/src/kosmickrisp/compiler/nir_to_msl.h +++ b/src/kosmickrisp/compiler/nir_to_msl.h @@ -86,6 +86,8 @@ static const nir_shader_compiler_options kk_nir_options = { .lower_fdph = true, .has_fsub = true, .has_isub = true, + .float_mul_add16 = nir_float_muladd_support_has_ffma, + .float_mul_add32 = nir_float_muladd_support_has_ffma, .lower_extract_word = true, .lower_extract_byte = true, .lower_insert_word = true,