On Wed, 24 Nov 2021 at 04:17, Zebediah Figura zfigura@codeweavers.com wrote:
@@ -2853,6 +2853,7 @@ void wined3d_context_gl_copy_bo_address(struct wined3d_context_gl *context_gl, { wined3d_context_gl_bind_bo(context_gl, src_bo->binding, src_bo->id); GL_EXTCALL(glGetBufferSubData(src_bo->binding, src_bo->b.buffer_offset + (GLintptr)src->addr, size, dst->addr));
wined3d_context_gl_bind_bo(context_gl, src_bo->binding, 0); checkGLcall("buffer download");
Here and in the remainder of the series, does this fix a specific issue? The general model we're following is to setup the correct binding before calling GL commands using that bind point, and not restoring any existing binding afterwards. (And note that in terms of restoring bindings, binding 0 would be arbitrary; it's not particularly likely to be the previous binding for a given bind point.)