Henri Verbeet : wined3d: Depth stencil tracking depends on the value of This->render_offscreen.

Alexandre Julliard julliard at winehq.org
Thu Sep 4 08:26:40 CDT 2008


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Sep  3 16:25:44 2008 +0200

wined3d: Depth stencil tracking depends on the value of This->render_offscreen.

---

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

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 3be34d3..24c7d1a 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -928,20 +928,21 @@ void drawPrimitive(IWineD3DDevice *iface,
         }
     }
 
+    /* Signals other modules that a drawing is in progress and the stateblock finalized */
+    This->isInDraw = TRUE;
+
+    ActivateContext(This, This->render_targets[0], CTXUSAGE_DRAWPRIM);
+
     if (This->stencilBufferTarget) {
+        /* Note that this depends on the ActivateContext call above to set
+         * This->render_offscreen properly */
         DWORD location = This->render_offscreen ? SFLAG_DS_OFFSCREEN : SFLAG_DS_ONSCREEN;
         surface_load_ds_location(This->stencilBufferTarget, location);
         surface_modify_ds_location(This->stencilBufferTarget, location);
     }
 
-    /* Signals other modules that a drawing is in progress and the stateblock finalized */
-    This->isInDraw = TRUE;
-
     /* Ok, we will be updating the screen from here onwards so grab the lock */
-
-    ActivateContext(This, This->render_targets[0], CTXUSAGE_DRAWPRIM);
     ENTER_GL();
-
     {
         GLenum glPrimType;
         BOOL emulation = FALSE;




More information about the wine-cvs mailing list