Stefan Dösinger : wined3d: Split up the render target -> render target blit.
Alexandre Julliard
julliard at winehq.org
Tue Dec 18 07:34:52 CST 2007
Module: wine
Branch: master
Commit: 83c0b13c5b2bf710542f365b6aa876b103a46147
URL: http://source.winehq.org/git/wine.git/?a=commit;h=83c0b13c5b2bf710542f365b6aa876b103a46147
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sun Dec 16 00:18:20 2007 +0100
wined3d: Split up the render target -> render target blit.
---
dlls/wined3d/surface.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index bedb306..7971908 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2967,9 +2967,23 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT *
TRACE("Unsupported blit between buffers on the same swapchain\n");
return WINED3DERR_INVALIDCALL;
- } else if((dstSwapchain || This == (IWineD3DSurfaceImpl *) myDevice->render_targets[0]) &&
- (srcSwapchain || SrcSurface == myDevice->render_targets[0]) ) {
- ERR("Can't perform hardware blit between 2 different swapchains, falling back to software\n");
+ } else if(dstSwapchain && dstSwapchain == srcSwapchain) {
+ FIXME("Implement hardware blit between two surfaces on the same swapchain\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;
}
More information about the wine-cvs
mailing list