Zebediah Figura : wined3d: Always set GL_PIXEL_PACK_BUFFER binding before downloading texture data.

Alexandre Julliard julliard at winehq.org
Tue Nov 30 16:18:51 CST 2021


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

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Mon Nov 29 18:13:41 2021 -0600

wined3d: Always set GL_PIXEL_PACK_BUFFER binding before downloading texture data.

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/texture.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 48202c2142c..d4c7082912b 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -2695,6 +2695,8 @@ static void wined3d_texture_gl_download_data_slow_path(struct wined3d_texture_gl
 
     if (temporary_mem)
     {
+        GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, 0));
+        checkGLcall("glBindBuffer");
         mem = temporary_mem;
     }
     else if (bo)
@@ -2705,6 +2707,8 @@ static void wined3d_texture_gl_download_data_slow_path(struct wined3d_texture_gl
     }
     else
     {
+        GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, 0));
+        checkGLcall("glBindBuffer");
         mem = data->addr;
     }
 
@@ -2918,6 +2922,11 @@ static void wined3d_texture_gl_download_data(struct wined3d_context *context,
         checkGLcall("glBindBuffer");
         offset += dst_bo->buffer_offset;
     }
+    else
+    {
+        GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, 0));
+        checkGLcall("glBindBuffer");
+    }
 
     if (src_texture->resource.format_flags & WINED3DFMT_FLAG_COMPRESSED)
     {




More information about the wine-cvs mailing list