Zebediah Figura : wined3d: Always unmap buffer objects if ARB_buffer_storage is not supported.

Alexandre Julliard julliard at winehq.org
Wed Jun 1 15:44:32 CDT 2022


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

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Mon May 30 20:10:08 2022 -0500

wined3d: Always unmap buffer objects if ARB_buffer_storage is not supported.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52663
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/context_gl.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c
index 8da17c9aa94..5ae237db54b 100644
--- a/dlls/wined3d/context_gl.c
+++ b/dlls/wined3d/context_gl.c
@@ -2937,7 +2937,8 @@ static void wined3d_bo_gl_unmap(struct wined3d_bo_gl *bo, struct wined3d_context
 {
     const struct wined3d_gl_info *gl_info = context_gl->gl_info;
 
-    if (context_gl->c.device->adapter->mapped_size <= MAX_PERSISTENT_MAPPED_BYTES)
+    if (context_gl->c.d3d_info->persistent_map
+            && context_gl->c.device->adapter->mapped_size <= MAX_PERSISTENT_MAPPED_BYTES)
     {
         TRACE("Not unmapping BO %p.\n", bo);
         return;
@@ -2960,6 +2961,7 @@ static void wined3d_bo_gl_unmap(struct wined3d_bo_gl *bo, struct wined3d_context
     if (bo->b.client_map_count)
     {
         wined3d_device_bo_map_unlock(context_gl->c.device);
+        assert(context_gl->c.d3d_info->persistent_map);
         TRACE("BO %p is still in use by a client thread; not unmapping.\n", bo);
         return;
     }




More information about the wine-cvs mailing list