[PATCH 3/4] d3d9: Use wined3d_resource_map() in d3d9_indexbuffer_Lock().

Henri Verbeet hverbeet at codeweavers.com
Tue Aug 30 04:48:21 CDT 2016


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/d3d9/buffer.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/dlls/d3d9/buffer.c b/dlls/d3d9/buffer.c
index de77d5a..d66c31d 100644
--- a/dlls/d3d9/buffer.c
+++ b/dlls/d3d9/buffer.c
@@ -465,14 +465,20 @@ static HRESULT WINAPI d3d9_indexbuffer_Lock(IDirect3DIndexBuffer9 *iface,
         UINT offset, UINT size, void **data, DWORD flags)
 {
     struct d3d9_indexbuffer *buffer = impl_from_IDirect3DIndexBuffer9(iface);
+    struct wined3d_map_desc wined3d_map_desc;
+    struct wined3d_box wined3d_box = {0};
     HRESULT hr;
 
     TRACE("iface %p, offset %u, size %u, data %p, flags %#x.\n",
             iface, offset, size, data, flags);
 
+    wined3d_box.left = offset;
+    wined3d_box.right = offset + size;
     wined3d_mutex_lock();
-    hr = wined3d_buffer_map(buffer->wined3d_buffer, offset, size, (BYTE **)data, flags);
+    hr = wined3d_resource_map(wined3d_buffer_get_resource(buffer->wined3d_buffer),
+            0, &wined3d_map_desc, &wined3d_box, flags);
     wined3d_mutex_unlock();
+    *data = wined3d_map_desc.data;
 
     return hr;
 }
-- 
2.1.4




More information about the wine-patches mailing list