[DDRAW] Add DDBLT_DONOTWAIT flag

Christian Costa titan.costa at wanadoo.fr
Sat Nov 12 17:46:33 CST 2005


Hi,

Changelog:
Add DDBLT_DONOTWAIT flag.
Separate DDBLT_WAIT and DDBLT_ASYNC fixme in Blt method.

Christian Costa   titan.costa at wanadoo.fr

-------------- next part --------------
Index: dlls/ddraw/ddraw_utils.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw_utils.c,v
retrieving revision 1.3
diff -u -r1.3 ddraw_utils.c
--- dlls/ddraw/ddraw_utils.c	10 Oct 2005 10:44:23 -0000	1.3
+++ dlls/ddraw/ddraw_utils.c	12 Nov 2005 22:34:26 -0000
@@ -405,7 +405,8 @@
 	    FE(DDBLT_ZBUFFERSRCCONSTOVERRIDE),
 	    FE(DDBLT_ZBUFFERSRCOVERRIDE),
 	    FE(DDBLT_WAIT),
-	    FE(DDBLT_DEPTHFILL)
+	    FE(DDBLT_DEPTHFILL),
+	    FE(DDBLT_DONOTWAIT)
     };
 
     DDRAW_dump_flags(flagmask, flags, sizeof(flags)/sizeof(flags[0]));
Index: dlls/ddraw/surface_dib.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/surface_dib.c,v
retrieving revision 1.7
diff -u -r1.7 surface_dib.c
--- dlls/ddraw/surface_dib.c	22 Aug 2005 09:20:51 -0000	1.7
+++ dlls/ddraw/surface_dib.c	12 Nov 2005 22:34:29 -0000
@@ -669,15 +669,27 @@
 
     dbuf = (BYTE*)ddesc.lpSurface+(xdst.top*ddesc.u1.lPitch)+(xdst.left*bpp);
 
-    if (dwFlags & (DDBLT_WAIT|DDBLT_ASYNC))
-    {
+    if (dwFlags & DDBLT_WAIT) {
 	static BOOL displayed = FALSE;
 	if (!displayed)
-	{
-	    FIXME("dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now.\n");
-	    displayed = TRUE;
-	}
-        dwFlags &= ~(DDBLT_WAIT|DDBLT_ASYNC);
+	    FIXME("Can't handle DDBLT_WAIT flag right now.\n");
+	displayed = TRUE;
+	dwFlags &= ~DDBLT_WAIT;
+    }
+    if (dwFlags & DDBLT_ASYNC) {
+	static BOOL displayed = FALSE;
+	if (!displayed)
+	    FIXME("Can't handle DDBLT_ASYNC flag right now.\n");
+	displayed = TRUE;
+	dwFlags &= ~DDBLT_ASYNC;
+    }
+    if (dwFlags & DDBLT_DONOTWAIT) {
+	/* DDBLT_DONOTWAIT appeared in DX7 */
+	static BOOL displayed = FALSE;
+	if (!displayed)
+	    FIXME("Can't handle DDBLT_DONOTWAIT flag right now.\n");
+	displayed = TRUE;
+	dwFlags &= ~DDBLT_DONOTWAIT;
     }
 
     /* First, all the 'source-less' blits */


More information about the wine-patches mailing list