wined3d: Allow cross-swapchain blits in the supported cases.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Matteo Bruni 2019-08-13 22:02:13 +02:00 committed by Alexandre Julliard
parent cdacbd9850
commit 493f4098c6
1 changed files with 5 additions and 3 deletions

View File

@ -2411,10 +2411,12 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_
src_swapchain = src_texture->swapchain;
dst_swapchain = dst_texture->swapchain;
/* TODO: We could support cross-swapchain blits by first downloading the
* source to a texture. */
if (src_swapchain && dst_swapchain && src_swapchain != dst_swapchain)
if (src_swapchain && dst_swapchain && src_swapchain != dst_swapchain
&& (wined3d_settings.offscreen_rendering_mode != ORM_FBO
|| src_texture == src_swapchain->front_buffer))
{
/* TODO: We could support cross-swapchain blits by first downloading
* the source to a texture. */
FIXME("Cross-swapchain blit not supported.\n");
return WINED3DERR_INVALIDCALL;
}