Rico Schüller : d3dx9: Handle ST_PARAMETER in d3dx9_parse resource().

Alexandre Julliard julliard at winehq.org
Fri Jul 1 14:11:04 CDT 2011


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

Author: Rico Schüller <kgbricola at web.de>
Date:   Fri Jul  1 13:50:27 2011 +0200

d3dx9: Handle ST_PARAMETER in d3dx9_parse resource().

---

 dlls/d3dx9_36/effect.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 5d76917..b4f1932 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -88,6 +88,7 @@ enum SHADER_CONSTANT_TYPE
 enum STATE_TYPE
 {
     ST_CONSTANT,
+    ST_PARAMETER,
     ST_FXLC,
 };
 
@@ -4739,7 +4740,7 @@ static HRESULT d3dx9_parse_resource(struct ID3DXBaseEffectImpl *base, const char
     DWORD index, state_index, usage;
     struct d3dx_state *state;
     struct d3dx_parameter *param;
-    HRESULT hr;
+    HRESULT hr = E_FAIL;
 
     read_dword(ptr, &technique_index);
     TRACE("techn: %u\n", technique_index);
@@ -4828,14 +4829,21 @@ static HRESULT d3dx9_parse_resource(struct ID3DXBaseEffectImpl *base, const char
 
                 default:
                     FIXME("Unhandled type %s\n", debug_d3dxparameter_type(param->type));
-                    hr=E_FAIL;
                     break;
             }
             break;
 
+        case 1:
+            state->type = ST_PARAMETER;
+            hr = d3dx9_copy_data(param->data, ptr);
+            if (hr == D3D_OK)
+            {
+                TRACE("Mapping to parameter %s\n", *(char **)param->data);
+            }
+            break;
+
         default:
             FIXME("Unknown usage %x\n", usage);
-            hr=E_FAIL;
             break;
     }
 




More information about the wine-cvs mailing list