Henri Verbeet : wined3d: Always set the get_drawable_size() surface function.

Alexandre Julliard julliard at winehq.org
Tue Aug 3 13:10:34 CDT 2010


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Tue Aug  3 10:13:33 2010 +0200

wined3d: Always set the get_drawable_size() surface function.

---

 dlls/wined3d/surface.c |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 849d892..47282b0 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4028,11 +4028,19 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_PrivateSetup(IWineD3DSurface *iface) {
         }
     }
 
-    if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
-        switch(wined3d_settings.offscreen_rendering_mode) {
-            case ORM_FBO:        This->get_drawable_size = get_drawable_size_fbo;        break;
-            case ORM_BACKBUFFER: This->get_drawable_size = get_drawable_size_backbuffer; break;
-        }
+    switch (wined3d_settings.offscreen_rendering_mode)
+    {
+        case ORM_FBO:
+            This->get_drawable_size = get_drawable_size_fbo;
+            break;
+
+        case ORM_BACKBUFFER:
+            This->get_drawable_size = get_drawable_size_backbuffer;
+            break;
+
+        default:
+            ERR("Unhandled offscreen rendering mode %#x.\n", wined3d_settings.offscreen_rendering_mode);
+            return WINED3DERR_INVALIDCALL;
     }
 
     This->Flags |= SFLAG_INSYSMEM;
@@ -4669,10 +4677,22 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_SetContainer(IWineD3DSurface *iface, I
     if(swapchain) {
         This->get_drawable_size = get_drawable_size_swapchain;
         IWineD3DSwapChain_Release(swapchain);
-    } else if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
-        switch(wined3d_settings.offscreen_rendering_mode) {
-            case ORM_FBO:        This->get_drawable_size = get_drawable_size_fbo;        break;
-            case ORM_BACKBUFFER: This->get_drawable_size = get_drawable_size_backbuffer; break;
+    }
+    else
+    {
+        switch (wined3d_settings.offscreen_rendering_mode)
+        {
+            case ORM_FBO:
+                This->get_drawable_size = get_drawable_size_fbo;
+                break;
+
+            case ORM_BACKBUFFER:
+                This->get_drawable_size = get_drawable_size_backbuffer;
+                break;
+
+            default:
+                ERR("Unhandled offscreen rendering mode %#x.\n", wined3d_settings.offscreen_rendering_mode);
+                return WINED3DERR_INVALIDCALL;
         }
     }
 




More information about the wine-cvs mailing list