Henri Verbeet : wined3d: Disable two-sided stencil when doing stencil clears.

Alexandre Julliard julliard at winehq.org
Thu Mar 25 11:44:43 CDT 2010


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

Author: Henri Verbeet <hverbeet at 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;




More information about the wine-cvs mailing list