diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 4c6d5bf..3db7504 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -105,12 +105,16 @@ static void state_zenable(DWORD state, IWineD3DStateBlockImpl *stateblock, struc return; } + /* Enable DepthTest for default case - workaround for broken apps, + * at least Prince of Persia: Sands of Time needs this. + */ switch ((WINED3DZBUFFERTYPE) stateblock->renderState[WINED3DRS_ZENABLE]) { case WINED3DZB_FALSE: glDisable(GL_DEPTH_TEST); checkGLcall("glDisable GL_DEPTH_TEST"); break; case WINED3DZB_TRUE: + default: glEnable(GL_DEPTH_TEST); checkGLcall("glEnable GL_DEPTH_TEST"); break; @@ -119,8 +123,6 @@ static void state_zenable(DWORD state, IWineD3DStateBlockImpl *stateblock, struc checkGLcall("glEnable GL_DEPTH_TEST"); FIXME("W buffer is not well handled\n"); break; - default: - FIXME("Unrecognized D3DZBUFFERTYPE value %d\n", stateblock->renderState[WINED3DRS_ZENABLE]); } }