From 8cae0e4d07ea4f533ddaed50af03458bc0179e16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Tue, 13 Feb 2007 20:21:32 +0100 Subject: [PATCH] wined3d: Dirtify the render targets, not the primary swapchain on draws. --- dlls/wined3d/drawprim.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index dcf6d26f6b7..63c89ef44c2 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -1177,18 +1177,15 @@ void drawPrimitive(IWineD3DDevice *iface, int minIndex) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; - IWineD3DSwapChainImpl *swapchain; int i; /* Signals other modules that a drawing is in progress and the stateblock finalized */ This->isInDraw = TRUE; /* Invalidate the back buffer memory so LockRect will read it the next time */ - for(i = 0; i < IWineD3DDevice_GetNumberOfSwapChains(iface); i++) { - IWineD3DDevice_GetSwapChain(iface, i, (IWineD3DSwapChain **) &swapchain); - if(swapchain) { - if(swapchain->backBuffer) ((IWineD3DSurfaceImpl *) swapchain->backBuffer[0])->Flags |= SFLAG_GLDIRTY; - IWineD3DSwapChain_Release( (IWineD3DSwapChain *) swapchain); + for(i = 0; i < GL_LIMITS(buffers); i++) { + if(This->render_targets[i]) { + ((IWineD3DSurfaceImpl *) This->render_targets[i])->Flags |= SFLAG_GLDIRTY; } }