From ebff5a5f465e725056d1601cad631574cf24678f Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 18 Apr 2012 00:59:12 -0400 Subject: [PATCH] arb1: use MAD opcode for SRCMOD_SIGN instead of a SUB+MUL pair. --- mojoshader.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mojoshader.c b/mojoshader.c index 68ced8d0..65daaa6d 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -3807,10 +3807,9 @@ static const char *make_ARB1_srcarg_string_in_buf(Context *ctx, premod_str = "-"; // fall through. case SRCMOD_SIGN: - output_line(ctx, "SUB %s, %s, { 0.5, 0.5, 0.5, 0.5 };", - regtype_str, buf); - output_line(ctx, "MUL %s, %s, { 2.0, 2.0, 2.0, 2.0 };", - regtype_str, regtype_str); + output_line(ctx, + "MAD %s, %s, { 2.0, 2.0, 2.0, 2.0 }, { -1.0, -1.0, -1.0, -1.0 };", + regtype_str, buf); break; case SRCMOD_COMPLEMENT: