Henri Verbeet : wined3d: Try to avoid stalling on dynamic buffer maps.
Module: wine Branch: master Commit: afb2aa2512d4c5ffa7256ce5137bc2c142a5d065 URL: http://source.winehq.org/git/wine.git/?a=commit;h=afb2aa2512d4c5ffa7256ce513... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 30 13:04:40 2017 +0100 wined3d: Try to avoid stalling on dynamic buffer maps. Particularly for applications that use dynamic buffers without WINED3D_MAP_DISCARD/WINED3D_MAP_NOOVERWRITE. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/buffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index 33571d0..abf3f7f 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -1039,7 +1039,8 @@ static HRESULT wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UI dirty_size = 0; } - if (buffer->flags & WINED3D_BUFFER_PIN_SYSMEM) + if (!(flags & (WINED3D_MAP_NOOVERWRITE | WINED3D_MAP_DISCARD | WINED3D_MAP_READONLY)) + || buffer->flags & WINED3D_BUFFER_PIN_SYSMEM) { if (!(buffer->locations & WINED3D_LOCATION_SYSMEM)) {
participants (1)
-
Alexandre Julliard