[PATCH 4/4] d3dx9_36: Implement D3DXCreateEffectEx and make D3DXCreateEffect use it

Christian Costa titan.costa at wanadoo.fr
Thu Mar 25 02:41:18 CDT 2010


---

 dlls/d3dx9_36/effect.c |   39 ++++++++++++++++++++++++++++-----------
 include/d3dx9effect.h  |   11 +++++++++++
 2 files changed, 39 insertions(+), 11 deletions(-)
-------------- next part --------------
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index ec775e4..4633d88 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -848,20 +848,21 @@ static const struct ID3DXEffectVtbl ID3DXEffect_Vtbl =
     ID3DXEffectImpl_SetRawValue
 };
 
-HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
-                                LPCVOID srcdata,
-                                UINT srcdatalen,
-                                CONST D3DXMACRO* defines,
-                                LPD3DXINCLUDE include,
-                                DWORD flags,
-                                LPD3DXEFFECTPOOL pool,
-                                LPD3DXEFFECT* effect,
-                                LPD3DXBUFFER* compilation_errors)
+HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 device,
+                                  LPCVOID srcdata,
+                                  UINT srcdatalen,
+                                  CONST D3DXMACRO* defines,
+                                  LPD3DXINCLUDE include,
+                                  LPCSTR skip_constants,
+                                  DWORD flags,
+                                  LPD3DXEFFECTPOOL pool,
+                                  LPD3DXEFFECT* effect,
+                                  LPD3DXBUFFER* compilation_errors)
 {
     ID3DXEffectImpl* object;
 
-    FIXME("(%p, %p, %u, %p, %p, %#x, %p, %p, %p): semi-stub\n", device, srcdata, srcdatalen, defines, include, flags,
-        pool, effect, compilation_errors);
+    FIXME("(%p, %p, %u, %p, %p, %p, %#x, %p, %p, %p): semi-stub\n", device, srcdata, srcdatalen, defines, include,
+        skip_constants, flags, pool, effect, compilation_errors);
 
     if (!device || !srcdata)
         return D3DERR_INVALIDCALL;
@@ -888,6 +889,22 @@ HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
     return D3D_OK;
 }
 
+HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
+                                LPCVOID srcdata,
+                                UINT srcdatalen,
+                                CONST D3DXMACRO* defines,
+                                LPD3DXINCLUDE include,
+                                DWORD flags,
+                                LPD3DXEFFECTPOOL pool,
+                                LPD3DXEFFECT* effect,
+                                LPD3DXBUFFER* compilation_errors)
+{
+    TRACE("(%p, %p, %u, %p, %p, %#x, %p, %p, %p): Forwarded to D3DXCreateEffectEx\n", device, srcdata, srcdatalen, defines,
+        include, flags, pool, effect, compilation_errors);
+
+    return D3DXCreateEffectEx(device, srcdata, srcdatalen, defines, include, NULL, flags, pool, effect, compilation_errors);
+}
+
 HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR srcdata,
                                         UINT srcdatalen,
                                         CONST D3DXMACRO* defines,
diff --git a/include/d3dx9effect.h b/include/d3dx9effect.h
index 9f06c2a..3bb2878 100644
--- a/include/d3dx9effect.h
+++ b/include/d3dx9effect.h
@@ -368,6 +368,17 @@ HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
                                 LPD3DXEFFECT* effect,
                                 LPD3DXBUFFER* compilation_errors);
 
+HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 device,
+                                  LPCVOID srcdata,
+                                  UINT srcdatalen,
+                                  CONST D3DXMACRO* defines,
+                                  LPD3DXINCLUDE include,
+                                  LPCSTR skip_constants,
+                                  DWORD flags,
+                                  LPD3DXEFFECTPOOL pool,
+                                  LPD3DXEFFECT* effect,
+                                  LPD3DXBUFFER* compilation_errors);
+
 HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR srcdata,
                                         UINT srcdatalen,
                                         CONST D3DXMACRO* defines,


More information about the wine-patches mailing list