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

This commit is contained in:
Henri Verbeet 2008-09-03 16:25:44 +02:00 committed by Alexandre Julliard
parent 4b6887b8e3
commit d37c6fc0a9
1 changed files with 7 additions and 6 deletions

View File

@ -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;