wined3d: Reject cross-device blits.

DirectDraw tests show that cross-device blits are supposed to work for
limited cases between system memory surfaces. However, cross-device
blits are unsafe in wined3d, especially with CSMT enabled.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45382
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2018-08-09 13:26:42 +02:00 committed by Alexandre Julliard
parent 1da24bcdbf
commit db6f95880c
1 changed files with 6 additions and 0 deletions

View File

@ -3119,6 +3119,12 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
return WINED3DERR_INVALIDCALL;
}
if (dst_texture->resource.device != src_texture->resource.device)
{
FIXME("Rejecting cross-device blit.\n");
return E_NOTIMPL;
}
wined3d_cs_emit_blt_sub_resource(dst_texture->resource.device->cs, &dst_texture->resource, dst_sub_resource_idx,
&dst_box, &src_texture->resource, src_sub_resource_idx, &src_box, flags, fx, filter);