H. Verbeet : wined3d: Make sure the color buffer is not modified by depth_blt().

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 6 07:41:53 CDT 2007


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

Author: H. Verbeet <hverbeet at 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);




More information about the wine-cvs mailing list