From 445b97b2a26d9d4d9cf9fcbb9fa7e15bb068fe20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 31 Jan 2019 18:11:43 +0330 Subject: [PATCH] ddraw: Pass correct box when mapping system memory vertex buffers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a regression introduced by commit 5a8e430b96ab429a85f82f26ba9d2de4729954c2. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46536 Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/ddraw/device.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index af9f28d8cbf..d2f11c1dab5 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -4410,6 +4410,8 @@ static HRESULT d3d_device7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, { TRACE("Drawing from D3DVBCAPS_SYSTEMMEMORY vertex buffer, forwarding to DrawIndexedPrimitive().\n"); wined3d_mutex_lock(); + wined3d_box.left = start_vertex * stride; + wined3d_box.right = wined3d_box.left + vertex_count * stride; wined3d_resource = wined3d_buffer_get_resource(vb_impl->wined3d_buffer); if (FAILED(hr = wined3d_resource_map(wined3d_resource, 0, &wined3d_map_desc, &wined3d_box, WINED3D_MAP_READ))) @@ -4417,8 +4419,8 @@ static HRESULT d3d_device7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, wined3d_mutex_unlock(); return D3DERR_VERTEXBUFFERLOCKED; } - hr = d3d_device7_DrawIndexedPrimitive(iface, primitive_type, vb_impl->fvf, wined3d_map_desc.data, - start_vertex + vertex_count, indices, index_count, flags); + hr = d3d_device7_DrawIndexedPrimitive(iface, primitive_type, vb_impl->fvf, + wined3d_map_desc.data, vertex_count, indices, index_count, flags); wined3d_resource_unmap(wined3d_resource, 0); wined3d_mutex_unlock(); return hr;