=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9: Warn when submitting invalid flags to ID3DXEffect::Begin().
Alexandre Julliard
julliard at winehq.org
Fri Aug 2 09:53:39 CDT 2013
Module: wine
Branch: master
Commit: d3b4dc92d9f5f37e659dbc75510461c3586000e3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3b4dc92d9f5f37e659dbc75510461c3586000e3
Author: Rico Schüller <kgbricola at 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;
More information about the wine-cvs
mailing list