Zebediah Figura : wined3d: Always set GL_PIXEL_PACK_BUFFER binding before downloading texture data.
Module: wine Branch: master Commit: f4cbd110d9234a339fede7e005135fd31c926cb1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=f4cbd110d9234a339fede7e00... Author: Zebediah Figura <zfigura(a)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(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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) {
participants (1)
-
Alexandre Julliard