Henri Verbeet : wined3d: Respect the BO buffer offset in create_buffer_texture().

Alexandre Julliard julliard at winehq.org
Tue Nov 23 16:03:29 CST 2021


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Mon Nov 22 18:14:43 2021 -0600

wined3d: Respect the BO buffer offset in create_buffer_texture().

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/view.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index b981602f1a2..0ea14531766 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -257,6 +257,10 @@ static void create_buffer_texture(struct wined3d_gl_view *view, struct wined3d_c
         return;
     }
 
+    wined3d_buffer_load_location(buffer, &context_gl->c, WINED3D_LOCATION_BUFFER);
+    bo_gl = wined3d_bo_gl(buffer->buffer_object);
+    offset += bo_gl->b.buffer_offset;
+
     if ((offset & (gl_info->limits.texture_buffer_offset_alignment - 1)))
     {
         FIXME("Buffer offset %u is not %u byte aligned.\n",
@@ -264,9 +268,6 @@ static void create_buffer_texture(struct wined3d_gl_view *view, struct wined3d_c
         return;
     }
 
-    wined3d_buffer_load_location(buffer, &context_gl->c, WINED3D_LOCATION_BUFFER);
-    bo_gl = wined3d_bo_gl(buffer->buffer_object);
-
     view->target = GL_TEXTURE_BUFFER;
     if (!view->name)
         gl_info->gl_ops.gl.p_glGenTextures(1, &view->name);




More information about the wine-cvs mailing list