Module: wine Branch: master Commit: a9f969094c4e3c03d0d31704aa8ab7097a3786ba URL: http://source.winehq.org/git/wine.git/?a=commit;h=a9f969094c4e3c03d0d31704aa...
Author: Stefan Dösinger stefan@codeweavers.com Date: Wed Jan 27 23:29:34 2010 +0100
ddraw: Convert VB lock flags to wined3d flags.
---
dlls/ddraw/vertexbuffer.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c index df7528b..f16cf12 100644 --- a/dlls/ddraw/vertexbuffer.c +++ b/dlls/ddraw/vertexbuffer.c @@ -236,8 +236,17 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface, IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; WINED3DBUFFER_DESC Desc; HRESULT hr; + DWORD wined3d_flags = 0; TRACE("(%p)->(%08x,%p,%p)\n", This, Flags, Data, Size);
+ /* Writeonly: Pointless. Event: Unsupported by native according to the sdk + * nosyslock: Not applicable + */ + if(!(Flags & DDLOCK_WAIT)) wined3d_flags |= WINED3DLOCK_DONOTWAIT; + if(Flags & DDLOCK_READONLY) wined3d_flags |= WINED3DLOCK_READONLY; + if(Flags & DDLOCK_NOOVERWRITE) wined3d_flags |= WINED3DLOCK_NOOVERWRITE; + if(Flags & DDLOCK_DISCARDCONTENTS) wined3d_flags |= WINED3DLOCK_DISCARD; + EnterCriticalSection(&ddraw_cs); if(Size) { @@ -253,7 +262,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface, }
hr = IWineD3DBuffer_Map(This->wineD3DVertexBuffer, 0 /* OffsetToLock */, - 0 /* SizeToLock, 0 == Full lock */, (BYTE **)Data, Flags); + 0 /* SizeToLock, 0 == Full lock */, (BYTE **)Data, wined3d_flags); LeaveCriticalSection(&ddraw_cs); return hr; }