wined3d: Use the previous "dirty" status to set WINED3D_BUFFER_NOSYNC in wined3d_buffer_map().

This (presumably) fixes a regression introduced by commit
c1032e977b.
This commit is contained in:
Henri Verbeet 2014-07-18 10:37:54 +02:00 committed by Alexandre Julliard
parent 8c19371b62
commit 01251f3d3c
1 changed files with 2 additions and 1 deletions

View File

@ -939,6 +939,7 @@ struct wined3d_resource * CDECL wined3d_buffer_get_resource(struct wined3d_buffe
HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UINT size, BYTE **data, DWORD flags)
{
BOOL dirty = buffer_is_dirty(buffer);
LONG count;
BYTE *base;
@ -1034,7 +1035,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
if (!(flags & WINED3D_MAP_NOOVERWRITE))
buffer->flags &= ~WINED3D_BUFFER_NOSYNC;
else if (!buffer_is_dirty(buffer))
else if (!dirty)
buffer->flags |= WINED3D_BUFFER_NOSYNC;
}