[PATCH] d3dx9: Dump preshader immediates table.

Matteo Bruni mbruni at codeweavers.com
Mon Apr 3 10:26:16 CDT 2017


Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
 dlls/d3dx9_36/preshader.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/d3dx9_36/preshader.c b/dlls/d3dx9_36/preshader.c
index 9aedc99..b3481f8 100644
--- a/dlls/d3dx9_36/preshader.c
+++ b/dlls/d3dx9_36/preshader.c
@@ -599,7 +599,7 @@ static void dump_ins(struct d3dx_regstore *rs, const struct d3dx_pres_ins *ins)
 {
     unsigned int i;
 
-    TRACE("    %s ", pres_op_info[ins->op].mnem);
+    TRACE("%s ", pres_op_info[ins->op].mnem);
     dump_arg(rs, &ins->output, pres_op_info[ins->op].func_all_comps ? 1 : ins->component_count);
     for (i = 0; i < pres_op_info[ins->op].input_count; ++i)
     {
@@ -611,11 +611,24 @@ static void dump_ins(struct d3dx_regstore *rs, const struct d3dx_pres_ins *ins)
 
 static void dump_preshader(struct d3dx_preshader *pres)
 {
-    unsigned int i;
+    unsigned int i, immediate_count = pres->regs.table_sizes[PRES_REGTAB_IMMED];
+    const double *immediates = pres->regs.tables[PRES_REGTAB_IMMED];
 
+    if (immediate_count)
+        TRACE("// Immediates:\n");
+    for (i = 0; i < immediate_count; ++i)
+    {
+        if (!(i % 4))
+            TRACE("// ");
+        TRACE("%.8e", immediates[i]);
+        if (i % 4 == 3)
+            TRACE("\n");
+        else
+            TRACE(", ");
+    }
     TRACE("// Preshader registers:\n");
     dump_registers(&pres->inputs);
-    TRACE("    preshader\n");
+    TRACE("preshader\n");
     for (i = 0; i < pres->ins_count; ++i)
         dump_ins(&pres->regs, &pres->ins[i]);
 }
-- 
2.10.2




More information about the wine-patches mailing list