wined3d: Prepare/load the destination resource location in glsl_blitter_blit().

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@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Paul Gofman 2020-05-28 22:32:16 +04:30 committed by Alexandre Julliard
parent a389f32967
commit c0ab55700f
1 changed files with 5 additions and 0 deletions

View File

@ -13135,6 +13135,11 @@ static DWORD glsl_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bli
wined3d_texture_load(src_texture, context, FALSE); 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); wined3d_context_gl_apply_blit_state(context_gl, device);
if (dst_location == WINED3D_LOCATION_DRAWABLE) if (dst_location == WINED3D_LOCATION_DRAWABLE)