wined3d: Depth stencil tracking depends on the value of This->render_offscreen.
Henri Verbeet
hverbeet at codeweavers.com
Wed Sep 3 09:25:44 CDT 2008
---
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;
--
1.5.6.4
--------------070005070806070602080103--
More information about the wine-patches
mailing list