Ivan Gyurdiev : wined3d: Fix faulty DCL trace.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 3 05:23:04 CDT 2006


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

Author: Ivan Gyurdiev <ivg231 at gmail.com>
Date:   Mon Jul  3 00:03:47 2006 -0600

wined3d: Fix faulty DCL trace.

---

 dlls/wined3d/baseshader.c |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 93eb367..a1b987f 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -432,20 +432,22 @@ void shader_get_registers_used(
 }
 
 static void shader_dump_decl_usage(
+    IWineD3DBaseShaderImpl* This,
     DWORD decl, 
     DWORD param) {
 
     DWORD regtype = shader_get_regtype(param);
-    TRACE("dcl_");
+
+    TRACE("dcl");
 
     if (regtype == D3DSPR_SAMPLER) {
         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 { 
@@ -453,6 +455,13 @@ static void shader_dump_decl_usage(
         DWORD usage = decl & D3DSP_DCL_USAGE_MASK;
         DWORD idx = (decl & D3DSP_DCL_USAGEINDEX_MASK) >> D3DSP_DCL_USAGEINDEX_SHIFT;
 
+        /* Pixel shaders 3.0 don't have usage semantics */
+        char pshader = shader_is_pshader_version(This->baseShader.hex_version);
+        if (pshader && This->baseShader.hex_version < D3DPS_VERSION(3,0))
+            return;
+        else
+            TRACE("_");
+
         switch(usage) {
         case D3DDECLUSAGE_POSITION:
             TRACE("%s%ld", "position", idx);
@@ -884,7 +893,7 @@ void shader_trace_init(
                     DWORD usage = *pToken;
                     DWORD param = *(pToken + 1);
 
-                    shader_dump_decl_usage(usage, param);
+                    shader_dump_decl_usage(This, usage, param);
                     shader_dump_ins_modifiers(param);
                     TRACE(" ");
                     shader_dump_param(iface, param, 0, 0);




More information about the wine-cvs mailing list