From d534a2057fd98e23f9ab0242ef477f98330b05f7 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Mon, 20 Apr 2026 04:13:07 +0200 Subject: [PATCH] vtn: handle OpFmaKHR Reviewed-by: Georg Lehmann Part-of: --- src/compiler/spirv/spirv_to_nir.c | 2 ++ src/compiler/spirv/vtn_alu.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 31155af2a0a..f4b987a6c41 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -80,6 +80,7 @@ static const struct spirv_capabilities implemented_capabilities = { .Float16Buffer = true, .Float64 = true, .FloatControls2 = true, + .FMAKHR = true, .FragmentBarycentricKHR = true, .FragmentDensityEXT = true, .FragmentFullyCoveredEXT = true, @@ -6983,6 +6984,7 @@ vtn_handle_body_instruction(struct vtn_builder *b, SpvOp opcode, case SpvOpFSub: case SpvOpIMul: case SpvOpFMul: + case SpvOpFmaKHR: case SpvOpUDiv: case SpvOpSDiv: case SpvOpFDiv: diff --git a/src/compiler/spirv/vtn_alu.c b/src/compiler/spirv/vtn_alu.c index db23c274fb2..c6f1b18d7ec 100644 --- a/src/compiler/spirv/vtn_alu.c +++ b/src/compiler/spirv/vtn_alu.c @@ -281,6 +281,7 @@ vtn_nir_alu_op_for_spirv_opcode(struct vtn_builder *b, case SpvOpFSub: return nir_op_fsub; case SpvOpIMul: return nir_op_imul; case SpvOpFMul: return nir_op_fmul; + case SpvOpFmaKHR: return nir_op_ffma; case SpvOpUDiv: return nir_op_udiv; case SpvOpSDiv: return nir_op_idiv; case SpvOpFDiv: return nir_op_fdiv;