Commit 83c0b13c authored by Stefan Dösinger's avatar Stefan Dösinger Committed by Alexandre Julliard

wined3d: Split up the render target -> render target blit.

parent df77e288
...@@ -2967,9 +2967,23 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT * ...@@ -2967,9 +2967,23 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT *
TRACE("Unsupported blit between buffers on the same swapchain\n"); TRACE("Unsupported blit between buffers on the same swapchain\n");
return WINED3DERR_INVALIDCALL; return WINED3DERR_INVALIDCALL;
} else if((dstSwapchain || This == (IWineD3DSurfaceImpl *) myDevice->render_targets[0]) && } else if(dstSwapchain && dstSwapchain == srcSwapchain) {
(srcSwapchain || SrcSurface == myDevice->render_targets[0]) ) { FIXME("Implement hardware blit between two surfaces on the same swapchain\n");
ERR("Can't perform hardware blit between 2 different swapchains, falling back to software\n"); return WINED3DERR_INVALIDCALL;
} else if(dstSwapchain && srcSwapchain) {
FIXME("Implement hardware blit between two different swapchains\n");
return WINED3DERR_INVALIDCALL;
} else if(dstSwapchain) {
if(SrcSurface != myDevice->render_targets[0]) {
ERR("Unexpected render target -> render target blit\n");
}
FIXME("Implement blit from active render target to a swapchain\n");
return WINED3DERR_INVALIDCALL;
} else if(srcSwapchain) {
if(This != (IWineD3DSurfaceImpl *) myDevice->render_targets[0]) {
ERR("Unexpected render target -> render target blit\n");
}
FIXME("Implement blit from a swapchain to the active render target\n");
return WINED3DERR_INVALIDCALL; return WINED3DERR_INVALIDCALL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment