Ivan Gyurdiev : wined3d: Trace ABS/ABSNEG modifiers.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 7 11:10:28 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 5638fac685ec40fa0c6c5db1e5bd919650fdfdee
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=5638fac685ec40fa0c6c5db1e5bd919650fdfdee

Author: Ivan Gyurdiev <ivg231 at gmail.com>
Date:   Fri Jul  7 00:29:39 2006 -0600

wined3d: Trace ABS/ABSNEG modifiers.

---

 dlls/wined3d/baseshader.c |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index b7aa45f..84c86c7 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -436,6 +436,7 @@ void shader_dump_param(
 
     DWORD reg = param & D3DSP_REGNUM_MASK;
     DWORD regtype = shader_get_regtype(param);
+    DWORD modifier = param & D3DSP_SRCMOD_MASK;
 
     /* There are some minor differences between pixel and vertex shaders */
     char pshader = shader_is_pshader_version(This->baseShader.hex_version);
@@ -449,15 +450,19 @@ void shader_dump_param(
     swizzle_reg_chars[3] = pshader? 'a': 'w';
 
     if (input) {
-        if ( ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_NEG) ||
-             ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_BIASNEG) ||
-             ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_SIGNNEG) ||
-             ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_X2NEG) )
+        if ( (modifier == D3DSPSM_NEG) ||
+             (modifier == D3DSPSM_BIASNEG) ||
+             (modifier == D3DSPSM_SIGNNEG) ||
+             (modifier == D3DSPSM_X2NEG) ||
+             (modifier == D3DSPSM_ABSNEG) )
             TRACE("-");
-        else if ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_COMP)
+        else if (modifier == D3DSPSM_COMP)
             TRACE("1-");
-        else if ((param & D3DSP_SRCMOD_MASK) == D3DSPSM_NOT)
+        else if (modifier == D3DSPSM_NOT)
             TRACE("!");
+
+        if (modifier == D3DSPSM_ABS || modifier == D3DSPSM_ABSNEG) 
+            TRACE("abs(");
     }
 
     switch (regtype) {
@@ -546,9 +551,8 @@ void shader_dump_param(
         DWORD swizzle_b = (swizzle >> 4) & 0x03;
         DWORD swizzle_a = (swizzle >> 6) & 0x03;
 
-        if (0 != (param & D3DSP_SRCMOD_MASK)) {
-            DWORD mask = param & D3DSP_SRCMOD_MASK;
-            switch (mask) {
+        if (0 != modifier) {
+            switch (modifier) {
                 case D3DSPSM_NONE:    break;
                 case D3DSPSM_NEG:     break;
                 case D3DSPSM_NOT:     break;
@@ -561,8 +565,10 @@ void shader_dump_param(
                 case D3DSPSM_X2NEG:   TRACE("_x2"); break;
                 case D3DSPSM_DZ:      TRACE("_dz"); break;
                 case D3DSPSM_DW:      TRACE("_dw"); break;
+                case D3DSPSM_ABSNEG:  TRACE(")"); break;
+                case D3DSPSM_ABS:     TRACE(")"); break;
                 default:
-                    TRACE("_unknown_modifier(%#lx)", mask >> D3DSP_SRCMOD_SHIFT);
+                    TRACE("_unknown_modifier(%#lx)", modifier >> D3DSP_SRCMOD_SHIFT);
             }
         }
 




More information about the wine-cvs mailing list