[PATCH 1/6] wined3d: Disable two-sided stencil when doing stencil clears.
Henri Verbeet
hverbeet at codeweavers.com
Thu Mar 25 03:32:35 CDT 2010
---
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;
--
1.6.4.4
More information about the wine-patches
mailing list