From 3b822b80feba396ec017c9ef0d96d59a1733a2d8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20D=C3=B6singer?= Date: Tue, 21 Aug 2007 23:24:16 +0200 Subject: [PATCH] wined3d: Reject opengl accelerated blits with system memory surfaces. --- dlls/wined3d/surface.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index f8becfefb53..d85a9d70771 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -2805,9 +2805,17 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT * TRACE("(%p)->(%p,%p,%p,%08x,%p)\n", This, DestRect, SrcSurface, SrcRect, Flags, DDBltFx); /* Get the swapchain. One of the surfaces has to be a primary surface */ + if(This->resource.pool == WINED3DPOOL_SYSTEMMEM) { + WARN("Destination is in sysmem, rejecting gl blt\n"); + return WINED3DERR_INVALIDCALL; + } IWineD3DSurface_GetContainer( (IWineD3DSurface *) This, &IID_IWineD3DSwapChain, (void **)&dstSwapchain); if(dstSwapchain) IWineD3DSwapChain_Release((IWineD3DSwapChain *) dstSwapchain); if(Src) { + if(Src->resource.pool == WINED3DPOOL_SYSTEMMEM) { + WARN("Src is in sysmem, rejecting gl blt\n"); + return WINED3DERR_INVALIDCALL; + } IWineD3DSurface_GetContainer( (IWineD3DSurface *) Src, &IID_IWineD3DSwapChain, (void **)&srcSwapchain); if(srcSwapchain) IWineD3DSwapChain_Release((IWineD3DSwapChain *) srcSwapchain); } -- 2.11.4.GIT