Stefan Dösinger : ddraw: Convert VB lock flags to wined3d flags.
Alexandre Julliard
julliard at winehq.org
Fri Jan 29 10:56:35 CST 2010
Module: wine
Branch: master
Commit: a9f969094c4e3c03d0d31704aa8ab7097a3786ba
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a9f969094c4e3c03d0d31704aa8ab7097a3786ba
Author: Stefan Dösinger <stefan at 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;
}
More information about the wine-cvs
mailing list