=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: wined3d: Translate LOGP to LG2 in the ARB shader backend.

Alexandre Julliard julliard at winehq.org
Thu Mar 27 14:40:06 CDT 2014


Module: wine
Branch: master
Commit: 9ccaacf60d7bc81abce72e813a959d55e326ab00
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9ccaacf60d7bc81abce72e813a959d55e326ab00

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Thu Mar 27 11:46:13 2014 +0100

wined3d: Translate LOGP to LG2 in the ARB shader backend.

---

 dlls/wined3d/arb_program_shader.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 5a76332..14e11da 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -2518,12 +2518,12 @@ static void shader_hw_scalar_op(const struct wined3d_shader_instruction *ins)
         case WINED3DSIH_EXP:  instruction = "EX2"; break;
         case WINED3DSIH_EXPP: instruction = "EXP"; break;
         case WINED3DSIH_LOG:
-            src0_copy.modifiers = abs_modifier(src0_copy.modifiers, &need_abs);
-            instruction = "LG2";
-            break;
         case WINED3DSIH_LOGP:
+            /* The precision requirements suggest that LOGP matches ARBvp's LOG
+             * instruction, but notice that the output of those instructions is
+             * different. */
             src0_copy.modifiers = abs_modifier(src0_copy.modifiers, &need_abs);
-            instruction = "LOG";
+            instruction = "LG2";
             break;
         default: instruction = "";
             FIXME("Unhandled opcode %#x\n", ins->handler_idx);




More information about the wine-cvs mailing list