Stefan Dösinger : wined3d: Implement GetFlipStatus and GetBltStatus.

Alexandre Julliard julliard at wine.codeweavers.com
Wed May 10 05:22:34 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: f8e8646fccd7bda285dab5339ae661d847d61b15
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=f8e8646fccd7bda285dab5339ae661d847d61b15

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue May  9 20:07:40 2006 +0200

wined3d: Implement GetFlipStatus and GetBltStatus.

---

 dlls/wined3d/surface.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index dbd9958..254d225 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -6,6 +6,7 @@
  * Copyright 2002-2003 Raphael Junqueira
  * Copyright 2004 Christian Costa
  * Copyright 2005 Oliver Stieber
+ * Copyright 2006 Stefan Dösinger for CodeWeavers
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -1703,13 +1704,32 @@ HRESULT WINAPI IWineD3DSurfaceImpl_Blt(I
 }
 
 HRESULT WINAPI IWineD3DSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD Flags) {
-    FIXME("This is unimplemented for now(d3d7 merge)\n");
-    return WINED3DERR_INVALIDCALL;
+    IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
+    TRACE("(%p)->(%lx)\n", This, Flags);
+
+    switch (Flags)
+    {
+    case DDGBS_CANBLT:
+    case DDGBS_ISBLTDONE:
+        return DD_OK;
+
+    default:
+        return DDERR_INVALIDPARAMS;
+    }
 }
 
 HRESULT WINAPI IWineD3DSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD Flags) {
-    FIXME("This is unimplemented for now(d3d7 merge)\n");
-    return WINED3DERR_INVALIDCALL;
+    /* XXX: DDERR_INVALIDSURFACETYPE */
+
+    TRACE("(%p)->(%08lx)\n",iface,Flags);
+    switch (Flags) {
+    case DDGFS_CANFLIP:
+    case DDGFS_ISFLIPDONE:
+        return DD_OK;
+
+    default:
+        return DDERR_INVALIDPARAMS;
+    }
 }
 
 HRESULT WINAPI IWineD3DSurfaceImpl_IsLost(IWineD3DSurface *iface) {




More information about the wine-cvs mailing list