Zebediah Figura : wined3d: Set a valid map pointer in adapter_gl_alloc_bo() if possible.

Alexandre Julliard julliard at winehq.org
Fri Feb 18 15:15:00 CST 2022


Module: wine
Branch: master
Commit: 5dd3b178ce8cbebf84de3f418115a47798144dbc
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5dd3b178ce8cbebf84de3f418115a47798144dbc

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Feb 18 15:50:25 2022 +0100

wined3d: Set a valid map pointer in adapter_gl_alloc_bo() if possible.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/adapter_gl.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index cb0c34823aa..4e93e25452d 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -4646,6 +4646,18 @@ static bool adapter_gl_alloc_bo(struct wined3d_device *device, struct wined3d_re
             return false;
         }
 
+        if (bo_gl->memory)
+        {
+            struct wined3d_allocator_chunk_gl *chunk = wined3d_allocator_chunk_gl(bo_gl->memory->chunk);
+
+            wined3d_allocator_chunk_gl_lock(chunk);
+
+            if ((bo_gl->b.map_ptr = chunk->c.map_ptr))
+                ++chunk->c.map_count;
+
+            wined3d_allocator_chunk_gl_unlock(chunk);
+        }
+
         addr->buffer_object = &bo_gl->b;
         addr->addr = NULL;
 




More information about the wine-cvs mailing list