[WINED3D] Trace corrections

Ivan Gyurdiev ivg2 at cornell.edu
Fri Apr 28 16:37:50 CDT 2006


Fix various trace problems:

- only print usage semantics for ps >= 3.0 || sampler type
- print modifiers for ps, since _centroid, and _pp are valid
- fix a variety of newline/whitespace issues that make the trace look wrong
   [ some of those I've introduced recently - sorry ]
- fix ld -> lx for printing the directx version

Applies against Mike's tree, with Jason's patch for moving 
dump_decl_usage merged.

-------------- next part --------------
---

 dlls/wined3d/baseshader.c   |   40 ++++++++++++++++++++--------------------
 dlls/wined3d/pixelshader.c  |   25 ++++++++++++++++++-------
 dlls/wined3d/vertexshader.c |   19 +++++++++++--------
 3 files changed, 49 insertions(+), 35 deletions(-)

205390fa44c10493e6aee8b3ed2bce7fb5c55552
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 19c4be5..b065336 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -170,10 +170,10 @@ void shader_program_dump_decl_usage(
         DWORD ttype = decl & D3DSP_TEXTURETYPE_MASK;
 
         switch (ttype) {
-            case D3DSTT_2D: TRACE("2d "); break;
-            case D3DSTT_CUBE: TRACE("cube "); break;
-            case D3DSTT_VOLUME: TRACE("volume "); break;
-            default: TRACE("unknown_ttype(%08lx) ", ttype); 
+            case D3DSTT_2D: TRACE("2d"); break;
+            case D3DSTT_CUBE: TRACE("cube"); break;
+            case D3DSTT_VOLUME: TRACE("volume"); break;
+            default: TRACE("unknown_ttype(%08lx)", ttype); 
        }
 
     } else { 
@@ -183,53 +183,53 @@ void shader_program_dump_decl_usage(
 
         switch(usage) {
         case D3DDECLUSAGE_POSITION:
-            TRACE("%s%ld ", "position", idx);
+            TRACE("%s%ld", "position", idx);
             break;
         case D3DDECLUSAGE_BLENDINDICES:
-            TRACE("%s ", "blend");
+            TRACE("%s", "blend");
             break;
         case D3DDECLUSAGE_BLENDWEIGHT:
-            TRACE("%s ", "weight");
+            TRACE("%s", "weight");
             break;
         case D3DDECLUSAGE_NORMAL:
-            TRACE("%s%ld ", "normal", idx);
+            TRACE("%s%ld", "normal", idx);
             break;
         case D3DDECLUSAGE_PSIZE:
-            TRACE("%s ", "psize");
+            TRACE("%s", "psize");
             break;
         case D3DDECLUSAGE_COLOR:
             if(idx == 0)  {
-                TRACE("%s ", "color");
+                TRACE("%s", "color");
             } else {
-                TRACE("%s%ld ", "specular", (idx - 1));
+                TRACE("%s%ld", "specular", (idx - 1));
             }
             break;
         case D3DDECLUSAGE_TEXCOORD:
-            TRACE("%s%ld ", "texture", idx);
+            TRACE("%s%ld", "texture", idx);
             break;
         case D3DDECLUSAGE_TANGENT:
-            TRACE("%s ", "tangent");
+            TRACE("%s", "tangent");
             break;
         case D3DDECLUSAGE_BINORMAL:
-            TRACE("%s ", "binormal");
+            TRACE("%s", "binormal");
             break;
         case D3DDECLUSAGE_TESSFACTOR:
-            TRACE("%s ", "tessfactor");
+            TRACE("%s", "tessfactor");
             break;
         case D3DDECLUSAGE_POSITIONT:
-            TRACE("%s%ld ", "positionT", idx);
+            TRACE("%s%ld", "positionT", idx);
             break;
         case D3DDECLUSAGE_FOG:
-            TRACE("%s ", "fog");
+            TRACE("%s", "fog");
             break;
         case D3DDECLUSAGE_DEPTH:
-            TRACE("%s ", "depth");
+            TRACE("%s", "depth");
             break;
         case D3DDECLUSAGE_SAMPLE:
-            TRACE("%s ", "sample");
+            TRACE("%s", "sample");
             break;
         default:
-            FIXME("Unrecognised dcl %08lx", usage);
+            FIXME("unknown_semantics(%08lx)", usage);
         }
     }
 }
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index e3db343..317868f 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -950,7 +950,7 @@ void pshader_set_version(
                    This->baseShader.limits.constant_int = 0;
                    This->baseShader.limits.constant_bool = 0;
                    This->baseShader.limits.texture = 4;
-                   FIXME("Unrecognized pixel shader version %lu!\n", version);
+                   FIXME("Unrecognized pixel shader version %lx!\n", version);
       }
 }
 
@@ -1646,12 +1646,23 @@ HRESULT WINAPI IWineD3DPixelShaderImpl_S
 
             } else {
                 if (curOpcode->opcode == D3DSIO_DCL) {
-                    shader_program_dump_decl_usage(*pToken, *(pToken + 1));
-                    ++pToken;
-                    ++len;
-                    pshader_program_dump_ps_param(*pToken, 0);
-                    ++pToken;
-                    ++len;
+                    DWORD usage = *pToken;
+                    DWORD param = *(pToken + 1);
+                    DWORD regtype = shader_get_regtype(param);
+ 
+                    /* Only print extended declaration for samplers or 3.0 input registers */
+                    if (regtype == D3DSPR_SAMPLER || 
+                        (This->baseShader.version >= 30 && regtype == D3DSPR_INPUT)) 
+                         shader_program_dump_decl_usage(usage, param);
+                    else
+                         TRACE("dcl");
+
+                    pshader_program_dump_ins_modifiers(param);
+                    TRACE(" ");
+                    pshader_program_dump_ps_param(param, 0);
+                    pToken += 2;
+                    len += 2;
+
                 } else 
                     if (curOpcode->opcode == D3DSIO_DEF) {
                         TRACE("def c%lu = ", *pToken & 0xFF);
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 8560574..17c098b 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -988,7 +988,7 @@ void vshader_set_version(
                    This->baseShader.limits.constant_bool = 0;
                    This->baseShader.limits.constant_int = 0;
                    This->baseShader.limits.address = 1;
-                   FIXME("Unrecognized vertex shader version %lu!\n", version);
+                   FIXME("Unrecognized vertex shader version %lx!\n", version);
       }
 }
 
@@ -1732,13 +1732,16 @@ HRESULT WINAPI IWineD3DVertexShaderImpl_
 
             } else {
                 if (curOpcode->opcode == D3DSIO_DCL) {
-                    shader_program_dump_decl_usage(*pToken, *(pToken + 1));
-                    parse_decl_usage(This, *pToken, *(pToken + 1) & D3DSP_REGNUM_MASK);
-                    ++pToken;
-                    ++len;
-                    vshader_program_dump_vs_param(*pToken, 0);
-                    ++pToken;
-                    ++len;
+                    DWORD usage = *pToken;
+                    DWORD param = *(pToken + 1); 
+
+                    parse_decl_usage(This, usage, param & D3DSP_REGNUM_MASK);
+                    shader_program_dump_decl_usage(usage, param);
+                    TRACE(" ");
+                    vshader_program_dump_vs_param(param, 0);
+                    pToken += 2;
+                    len += 2;
+
                 } else 
                     if (curOpcode->opcode == D3DSIO_DEF) {
                         TRACE("def c%lu = ", *pToken & 0xFF);
-- 
1.3.0



More information about the wine-patches mailing list