mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
radv: emit fmuladd instead of fma to llvm.
For Vulkan SPIR-V the spec states fma() Inherited from OpFMul followed by OpFAdd. Matt says the backend will do the right thing depending on the hardware being compiled for, if you use the fmuladd intrinsic. Using the Mad Max pts test, on high settings at 4K: CHP: 55->60 HGDD: 46->50 LM: 55->60 No change on Stronghold. Thanks to Feral for spending the time to track this down. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
b2dce27373
commit
4e93d6baae
1 changed files with 1 additions and 1 deletions
|
|
@ -1707,7 +1707,7 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr)
|
|||
result);
|
||||
break;
|
||||
case nir_op_ffma:
|
||||
result = emit_intrin_3f_param(&ctx->ac, "llvm.fma",
|
||||
result = emit_intrin_3f_param(&ctx->ac, "llvm.fmuladd",
|
||||
ac_to_float_type(&ctx->ac, def_type), src[0], src[1], src[2]);
|
||||
break;
|
||||
case nir_op_ibitfield_extract:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue