Module: wine Branch: master Commit: 45b531fcea85e7338f991a92d23cb865784ef554 URL: http://source.winehq.org/git/wine.git/?a=commit;h=45b531fcea85e7338f991a92d2...
Author: H. Verbeet hverbeet@gmail.com Date: Tue Jun 5 18:52:15 2007 +0200
wined3d: Make sure the color buffer is not modified by depth_blt().
---
dlls/wined3d/drawprim.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index 6901145..bfe9030 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -760,15 +760,16 @@ static void depth_blt(IWineD3DDevice *iface, GLuint texture) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; GLint old_binding = 0;
- glPushAttrib(GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT); + glPushAttrib(GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
glDisable(GL_CULL_FACE); - glDisable(GL_BLEND); + glEnable(GL_BLEND); glDisable(GL_ALPHA_TEST); glDisable(GL_SCISSOR_TEST); glDisable(GL_STENCIL_TEST); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_ALWAYS); + glBlendFunc(GL_ZERO, GL_ONE);
GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB)); glGetIntegerv(GL_TEXTURE_BINDING_2D, &old_binding);