Stefan Dösinger : ddraw: Implement IDirect3D7:: EvictManagedTextures.

Alexandre Julliard julliard at winehq.org
Fri Jun 17 13:13:47 CDT 2011


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Jun 14 20:21:08 2011 +0200

ddraw: Implement IDirect3D7::EvictManagedTextures.

---

 dlls/ddraw/ddraw.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 2dbad98..0474d19 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -5126,12 +5126,16 @@ static HRESULT WINAPI d3d3_EnumZBufferFormats(IDirect3D3 *iface, REFCLSID device
  *****************************************************************************/
 static HRESULT WINAPI d3d7_EvictManagedTextures(IDirect3D7 *iface)
 {
-    FIXME("iface %p stub!\n", iface);
+    IDirectDrawImpl *This = impl_from_IDirect3D7(iface);
+    HRESULT hr;
+    TRACE("iface %p!\n", iface);
 
-    /* TODO: Just enumerate resources using IWineD3DDevice_EnumResources(),
-     * then unload surfaces / textures. */
+    EnterCriticalSection(&ddraw_cs);
+    if (!This->d3d_initialized) hr = D3D_OK;
+    else hr = wined3d_device_evict_managed_resources(This->wined3d_device);
+    LeaveCriticalSection(&ddraw_cs);
 
-    return D3D_OK;
+    return hr;
 }
 
 static HRESULT WINAPI d3d3_EvictManagedTextures(IDirect3D3 *iface)




More information about the wine-cvs mailing list