Mesa (master): radeonsi: add support for FMA

Marek Olšák mareko at kemper.freedesktop.org
Mon Mar 16 11:55:49 UTC 2015


Module: Mesa
Branch: master
Commit: d73c1c1304a205c8bf6d1cad1dd1d9a421ce2f32
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d73c1c1304a205c8bf6d1cad1dd1d9a421ce2f32

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Feb 28 00:44:19 2015 +0100

radeonsi: add support for FMA

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>

---

 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c |    2 ++
 src/gallium/drivers/radeonsi/si_pipe.c              |    3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index 94ef675..8026723 100644
--- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
+++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
@@ -1314,6 +1314,8 @@ void radeon_llvm_context_init(struct radeon_llvm_context * ctx)
 	bld_base->op_actions[TGSI_OPCODE_EX2].intr_name = "llvm.AMDIL.exp.";
 	bld_base->op_actions[TGSI_OPCODE_FLR].emit = build_tgsi_intrinsic_nomem;
 	bld_base->op_actions[TGSI_OPCODE_FLR].intr_name = "floor";
+	bld_base->op_actions[TGSI_OPCODE_FMA].emit = build_tgsi_intrinsic_nomem;
+	bld_base->op_actions[TGSI_OPCODE_FMA].intr_name = "llvm.fma.f32";
 	bld_base->op_actions[TGSI_OPCODE_FRC].emit = build_tgsi_intrinsic_nomem;
 	bld_base->op_actions[TGSI_OPCODE_FRC].intr_name = "llvm.AMDIL.fraction.";
 	bld_base->op_actions[TGSI_OPCODE_F2I].emit = emit_f2i;
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index 0aacab1..87eeac6 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -425,8 +425,9 @@ static int si_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enu
 	case PIPE_SHADER_CAP_DOUBLES:
 	case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
 	case PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED:
-	case PIPE_SHADER_CAP_TGSI_FMA_SUPPORTED:
 		return 0;
+	case PIPE_SHADER_CAP_TGSI_FMA_SUPPORTED:
+		return 1;
 	}
 	return 0;
 }




More information about the mesa-commit mailing list