From: Zebediah Figura Subject: [PATCH 2/2] wined3d: Always unmap buffer objects if ARB_buffer_storage is not supported. Message-Id: <20220531011008.2341764-2-zfigura@codeweavers.com> Date: Mon, 30 May 2022 20:10:08 -0500 In-Reply-To: <20220531011008.2341764-1-zfigura@codeweavers.com> References: <20220531011008.2341764-1-zfigura@codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52663 Signed-off-by: Zebediah Figura --- 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 1e4fcd12e9d..a0c7457d922 100644 --- a/dlls/wined3d/context_gl.c +++ b/dlls/wined3d/context_gl.c @@ -2939,7 +2939,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; @@ -2962,6 +2963,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; } -- 2.35.1