[PATCH 6/6] wined3d: Respect the BO memory offset in wined3d_context_gl_map_bo_address().

Zebediah Figura zfigura at codeweavers.com
Tue Nov 30 17:55:22 CST 2021


From: Henri Verbeet <hverbeet at codeweavers.com>

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 dlls/wined3d/context_gl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c
index 0c8ee0f605b..f02a0f400a6 100644
--- a/dlls/wined3d/context_gl.c
+++ b/dlls/wined3d/context_gl.c
@@ -2739,7 +2739,7 @@ void *wined3d_context_gl_map_bo_address(struct wined3d_context_gl *context_gl,
         return NULL;
     }
 
-    return (uint8_t *)map_ptr + (uintptr_t)data->addr;
+    return (uint8_t *)map_ptr + bo->buffer_offset + (uintptr_t)data->addr;
 }
 
 static void flush_bo_ranges(struct wined3d_context_gl *context_gl, const struct wined3d_const_bo_address *data,
@@ -2771,7 +2771,7 @@ static void flush_bo_ranges(struct wined3d_context_gl *context_gl, const struct
         for (i = 0; i < range_count; ++i)
         {
             GL_EXTCALL(glFlushMappedBufferRangeAPPLE(bo->binding,
-                    (uintptr_t)data->addr + ranges[i].offset, ranges[i].size));
+                    bo->b.buffer_offset + (uintptr_t)data->addr + ranges[i].offset, ranges[i].size));
             checkGLcall("glFlushMappedBufferRangeAPPLE");
         }
     }
-- 
2.32.0




More information about the wine-devel mailing list