[9/10] WineD3D: Restore blitting environment after modifying it
Stefan Dösinger
stefan at codeweavers.com
Wed Feb 14 20:04:40 CST 2007
-------------- next part --------------
From 9db1dcb854a697f004191bd06217af4fcdb722cc Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Wed, 7 Feb 2007 23:20:17 +0100
Subject: [PATCH] WineD3D: Restore blitting environment after modifying it
---
dlls/wined3d/surface.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 093af9e..b8acb89 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -964,6 +964,12 @@ static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *This) {
vcheckGLcall("glPixelStorei GL_PACK_SWAP_BYTES");
}
+ /* Blitting environment requires that 2D texturing is enabled. It was turned off before,
+ * turn it on again
+ */
+ glEnable(GL_TEXTURE_2D);
+ checkGLcall("glEnable(GL_TEXTURE_2D)");
+
if(memory_allocated) HeapFree(GetProcessHeap(), 0, mem);
return;
}
@@ -2639,6 +2645,11 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT *
glEnd();
checkGLcall("glEnd");
+ if(Flags & (DDBLT_KEYSRC | DDBLT_KEYSRCOVERRIDE)) {
+ glDisable(GL_ALPHA_TEST);
+ checkGLcall("glDisable(GL_ALPHA_TEST)");
+ }
+
/* Unbind the texture */
glBindTexture(GL_TEXTURE_2D, 0);
checkGLcall("glEnable glBindTexture");
--
1.4.4.3
More information about the wine-patches
mailing list