Stefan Dösinger : wined3d: Dirtify the render targets, not the primary swapchain on draws.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Feb 14 09:25:33 CST 2007


Module: wine
Branch: master
Commit: 8cae0e4d07ea4f533ddaed50af03458bc0179e16
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8cae0e4d07ea4f533ddaed50af03458bc0179e16

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Feb 13 20:21:32 2007 +0100

wined3d: Dirtify the render targets, not the primary swapchain on draws.

---

 dlls/wined3d/drawprim.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index dcf6d26..63c89ef 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;
         }
     }
 




More information about the wine-cvs mailing list