=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9: Add debug helper function for RegisterSet.

Alexandre Julliard julliard at winehq.org
Mon Aug 27 14:35:03 CDT 2012


Module: wine
Branch: master
Commit: 3dc48141d108dc47b100ea53b4b2be4a19b4de37
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3dc48141d108dc47b100ea53b4b2be4a19b4de37

Author: Rico Schüller <kgbricola at web.de>
Date:   Sat Aug 25 16:28:53 2012 +0200

d3dx9: Add debug helper function for RegisterSet.

---

 dlls/d3dx9_36/d3dx9_36_private.h |    1 +
 dlls/d3dx9_36/shader.c           |   17 +++++++++--------
 dlls/d3dx9_36/util.c             |   16 +++++++++++++++-
 3 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h
index 76a9694..ea7b401 100644
--- a/dlls/d3dx9_36/d3dx9_36_private.h
+++ b/dlls/d3dx9_36/d3dx9_36_private.h
@@ -91,5 +91,6 @@ HRESULT load_volume_texture_from_dds(IDirect3DVolumeTexture9 *volume_texture, co
 /* debug helpers */
 const char *debug_d3dxparameter_class(D3DXPARAMETER_CLASS c) DECLSPEC_HIDDEN;
 const char *debug_d3dxparameter_type(D3DXPARAMETER_TYPE t) DECLSPEC_HIDDEN;
+const char *debug_d3dxparameter_registerset(D3DXREGISTER_SET r) DECLSPEC_HIDDEN;
 
 #endif /* __WINE_D3DX9_36_PRIVATE_H */
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index a3cd6f1..e7fbf30 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -674,8 +674,8 @@ static inline int is_vertex_shader(DWORD version)
 static DWORD calc_bytes(D3DXCONSTANT_DESC *desc)
 {
     if (desc->RegisterSet != D3DXRS_FLOAT4 && desc->RegisterSet != D3DXRS_SAMPLER)
-        FIXME("Don't know how to calculate Bytes for constants of type %d\n",
-                desc->RegisterSet);
+        FIXME("Don't know how to calculate Bytes for constants of type %s\n",
+                debug_d3dxparameter_registerset(desc->RegisterSet));
 
     return 4 * desc->Elements * desc->Rows * desc->Columns;
 }
@@ -1064,7 +1064,7 @@ static HRESULT set_scalar_array(ID3DXConstantTable *iface, IDirect3DDevice9 *dev
             }
             break;
         default:
-            FIXME("Handle other register sets\n");
+            FIXME("Unhandled register set %s\n", debug_d3dxparameter_registerset(desc.RegisterSet));
             return E_NOTIMPL;
     }
 
@@ -1117,7 +1117,7 @@ static HRESULT set_vector_array(ID3DXConstantTable *iface, IDirect3DDevice9 *dev
             }
             break;
         default:
-            FIXME("Unhandled register set %#x\n", desc.RegisterSet);
+            FIXME("Unhandled register set %s\n", debug_d3dxparameter_registerset(desc.RegisterSet));
             return E_NOTIMPL;
     }
 
@@ -1235,7 +1235,7 @@ static HRESULT set_matrix_array(ID3DXConstantTable *iface, IDirect3DDevice9 *dev
             }
             break;
         default:
-            FIXME("Unhandled register set %#x\n", desc.RegisterSet);
+            FIXME("Unhandled register set %s\n", debug_d3dxparameter_registerset(desc.RegisterSet));
             return E_NOTIMPL;
     }
 
@@ -1340,7 +1340,7 @@ static HRESULT set_matrix_pointer_array(ID3DXConstantTable *iface, IDirect3DDevi
             }
             break;
         default:
-            FIXME("Unhandled register set %#x\n", desc.RegisterSet);
+            FIXME("Unhandled register set %s\n", debug_d3dxparameter_registerset(desc.RegisterSet));
             return E_NOTIMPL;
     }
 
@@ -1599,8 +1599,9 @@ static HRESULT parse_ctab_constant_type(const char *ctab, DWORD typeoffset, stru
     constant->desc.RegisterSet = regset;
     constant->desc.RegisterIndex = index;
 
-    TRACE("name %s, elements %u, index %u, defaultvalue %p\n", constant->desc.Name,
-            constant->desc.Elements, index, constant->desc.DefaultValue);
+    TRACE("name %s, elements %u, index %u, defaultvalue %p, regset %s\n", constant->desc.Name,
+            constant->desc.Elements, index, constant->desc.DefaultValue,
+            debug_d3dxparameter_registerset(regset));
     TRACE("class %s, type %s, rows %d, columns %d, elements %d, struct_members %d\n",
             debug_d3dxparameter_class(type->Class), debug_d3dxparameter_type(type->Type),
             type->Rows, type->Columns, type->Elements, type->StructMembers);
diff --git a/dlls/d3dx9_36/util.c b/dlls/d3dx9_36/util.c
index cf974cf..5c34834 100644
--- a/dlls/d3dx9_36/util.c
+++ b/dlls/d3dx9_36/util.c
@@ -250,7 +250,21 @@ const char *debug_d3dxparameter_type(D3DXPARAMETER_TYPE t)
         WINE_D3DX_TO_STR(D3DXPT_VERTEXFRAGMENT);
         WINE_D3DX_TO_STR(D3DXPT_UNSUPPORTED);
         default:
-           FIXME("Unrecognized D3DXPARAMETER_TYP %#x.\n", t);
+            FIXME("Unrecognized D3DXPARAMETER_TYP %#x.\n", t);
+            return "unrecognized";
+    }
+}
+
+const char *debug_d3dxparameter_registerset(D3DXREGISTER_SET r)
+{
+    switch (r)
+    {
+        WINE_D3DX_TO_STR(D3DXRS_BOOL);
+        WINE_D3DX_TO_STR(D3DXRS_INT4);
+        WINE_D3DX_TO_STR(D3DXRS_FLOAT4);
+        WINE_D3DX_TO_STR(D3DXRS_SAMPLER);
+        default:
+            FIXME("Unrecognized D3DXREGISTER_SET %#x.\n", r);
             return "unrecognized";
     }
 }




More information about the wine-cvs mailing list