From: Paul Gofman <pgofman(a)codeweavers.com>
Like the other blitters. When the GLSL blitter was introduced, the idea was
that caller would be responsible for doing this, but we never ended up
updating the other blitters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49251
Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
This supersedes patch 185896.
dlls/wined3d/glsl_shader.c | 5 +++++
1 file changed,…
[View More] 5 insertions(+)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 7d16f03a219..ddb76143b5c 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -13135,6 +13135,11 @@ static DWORD glsl_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bli
wined3d_texture_load(src_texture, context, FALSE);
}
+ if (wined3d_texture_is_full_rect(dst_texture, dst_sub_resource_idx % dst_texture->level_count, dst_rect))
+ wined3d_texture_prepare_location(dst_texture, dst_sub_resource_idx, context, dst_location);
+ else
+ wined3d_texture_load_location(dst_texture, dst_sub_resource_idx, context, dst_location);
+
wined3d_context_gl_apply_blit_state(context_gl, device);
if (dst_location == WINED3D_LOCATION_DRAWABLE)
--
2.20.1
[View Less]