Rico Schüller : d3dx9: Warn when submitting invalid flags to ID3DXEffect::Begin().
Module: wine Branch: master Commit: d3b4dc92d9f5f37e659dbc75510461c3586000e3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3b4dc92d9f5f37e659dbc7551... Author: Rico Schüller <kgbricola(a)web.de> Date: Thu Aug 1 22:48:19 2013 +0200 d3dx9: Warn when submitting invalid flags to ID3DXEffect::Begin(). --- dlls/d3dx9_36/effect.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index 2c8eedf..44957db 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -177,6 +177,7 @@ struct ID3DXEffectImpl struct d3dx_technique *active_technique; struct d3dx_pass *active_pass; BOOL started; + DWORD flags; ID3DXBaseEffect *base_effect; }; @@ -3457,10 +3458,13 @@ static HRESULT WINAPI ID3DXEffectImpl_Begin(ID3DXEffect *iface, UINT *passes, DW struct ID3DXEffectImpl *This = impl_from_ID3DXEffect(iface); struct d3dx_technique *technique = This->active_technique; - FIXME("iface %p, passes %p, flags %#x partial stub\n", This, passes, flags); + FIXME("iface %p, passes %p, flags %#x partial stub\n", iface, passes, flags); if (passes && technique) { + if (flags & ~(D3DXFX_DONOTSAVESTATE | D3DXFX_DONOTSAVESAMPLERSTATE | D3DXFX_DONOTSAVESHADERSTATE)) + WARN("Invalid flags (%#x) specified.\n", flags); + if (This->manager || flags & D3DXFX_DONOTSAVESTATE) { TRACE("State capturing disabled.\n"); @@ -3472,6 +3476,7 @@ static HRESULT WINAPI ID3DXEffectImpl_Begin(ID3DXEffect *iface, UINT *passes, DW *passes = technique->pass_count; This->started = TRUE; + This->flags = flags; return D3D_OK; } @@ -3534,6 +3539,18 @@ static HRESULT WINAPI ID3DXEffectImpl_End(ID3DXEffect *iface) FIXME("iface %p partial stub\n", iface); + if (!This->started) + return D3D_OK; + + if (This->manager || This->flags & D3DXFX_DONOTSAVESTATE) + { + TRACE("State restoring disabled.\n"); + } + else + { + FIXME("State restoring not supported, yet!\n"); + } + This->started = FALSE; return D3D_OK;
participants (1)
-
Alexandre Julliard