Module: wine Branch: master Commit: 1c4e9e6a0e09fcf6c95013bbb627fb107ffb7072 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1c4e9e6a0e09fcf6c95013bbb6...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Mar 25 09:32:35 2010 +0100
wined3d: Disable two-sided stencil when doing stencil clears.
---
dlls/wined3d/device.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index d48acf2..b25c4ec 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -4390,7 +4390,13 @@ HRESULT IWineD3DDeviceImpl_ClearSurface(IWineD3DDeviceImpl *This, IWineD3DSurfac ENTER_GL();
/* Only set the values up once, as they are not changing */ - if (Flags & WINED3DCLEAR_STENCIL) { + if (Flags & WINED3DCLEAR_STENCIL) + { + if (context->gl_info->supported[EXT_STENCIL_TWO_SIDE]) + { + glDisable(GL_STENCIL_TEST_TWO_SIDE_EXT); + IWineD3DDeviceImpl_MarkStateDirty(This, STATE_RENDER(WINED3DRS_TWOSIDEDSTENCILMODE)); + } glClearStencil(Stencil); checkGLcall("glClearStencil"); glMask = glMask | GL_STENCIL_BUFFER_BIT;