From 39b60870ffc4f35fbbac08a7dd32f208b5b6cd40 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Thu, 25 Mar 2010 08:41:18 +0100 Subject: [PATCH] d3dx9_36: Implement D3DXCreateEffectEx and make D3DXCreateEffect use it. --- dlls/d3dx9_36/effect.c | 39 ++++++++++++++++++++++++++++----------- include/d3dx9effect.h | 11 +++++++++++ 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index ec775e4b822..4633d887e46 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 9f06c2aed74..3bb2878d579 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,