wined3d: Use the previous "dirty" status to set WINED3D_BUFFER_NOSYNC in wined3d_buffer_map().
This (presumably) fixes a regression introduced by commit c1032e977bb9f850e3aea28dd79e3d7c2244cd6c.
This commit is contained in:
parent
8c19371b62
commit
01251f3d3c
@ -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)
|
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;
|
LONG count;
|
||||||
BYTE *base;
|
BYTE *base;
|
||||||
|
|
||||||
@ -1034,7 +1035,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
|
|||||||
|
|
||||||
if (!(flags & WINED3D_MAP_NOOVERWRITE))
|
if (!(flags & WINED3D_MAP_NOOVERWRITE))
|
||||||
buffer->flags &= ~WINED3D_BUFFER_NOSYNC;
|
buffer->flags &= ~WINED3D_BUFFER_NOSYNC;
|
||||||
else if (!buffer_is_dirty(buffer))
|
else if (!dirty)
|
||||||
buffer->flags |= WINED3D_BUFFER_NOSYNC;
|
buffer->flags |= WINED3D_BUFFER_NOSYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user