[WINED3D 2/3] Parameter trace corrections

Ivan Gyurdiev ivg2 at cornell.edu
Wed May 17 20:08:29 CDT 2006


- fix the second (and last) hex mask conflict:
  vertex shader TEXCRDOUT registers were folded into
  general purpose OUTPUT registers in vs 3.0.
  Those can also have an addressing token.

- remove array suffix from aL - there is a single
  loop register.

- print out PREDICATE registers

- add 0x to identify that the unknown regtype is in hex.

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

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

b73ff7fef733a46de10b7d7b518b52af00fd3b70
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 1af6a71..a9e847a 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -387,8 +387,17 @@ void shader_dump_param(
         case D3DSPR_ATTROUT:
             TRACE("oD%lu", reg);
             break;
-        case D3DSPR_TEXCRDOUT:
-            TRACE("oT%lu", reg);
+        case D3DSPR_TEXCRDOUT: 
+
+            /* Vertex shaders >= 3.0 use general purpose output registers
+             * (D3DSPR_OUTPUT), which can include an address token */
+
+            if (D3DSHADER_VERSION_MAJOR(This->baseShader.hex_version) >= 3) {
+                TRACE("o");
+                shader_dump_arr_entry(iface, param, addr_token, input);
+            }
+            else 
+               TRACE("oT%lu", reg);
             break;
         case D3DSPR_CONSTINT:
             TRACE("i");
@@ -403,13 +412,15 @@ void shader_dump_param(
             break;
         case D3DSPR_LOOP:
             TRACE("aL");
-            shader_dump_arr_entry(iface, param, addr_token, input);
             break;
         case D3DSPR_SAMPLER:
             TRACE("s%lu", reg);
             break;
+        case D3DSPR_PREDICATE:
+            TRACE("p%lu", reg);
+            break;
         default:
-            TRACE("unhandled_rtype(%lx)", regtype);
+            TRACE("unhandled_rtype(%#lx)", regtype);
             break;
    }
 
-- 
1.3.1



More information about the wine-patches mailing list