[PATCH 3/4] wined3d: Properly flip in surface_blt_to_drawable().

Henri Verbeet hverbeet at codeweavers.com
Tue Oct 19 05:00:01 CDT 2010


We want to flip the coordinate system, not just the rectangle.
---
 dlls/wined3d/surface.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index fe46665..6ebffbe 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4336,16 +4336,12 @@ static inline void surface_blt_to_drawable(IWineD3DSurfaceImpl *This, const RECT
 
     context = context_acquire(device, This);
     context_apply_blit_state(context, device);
+
+    dst_rect = src_rect;
     if (context->render_offscreen)
     {
-        dst_rect.left = src_rect.left;
-        dst_rect.right = src_rect.right;
-        dst_rect.top = src_rect.bottom;
-        dst_rect.bottom = src_rect.top;
-    }
-    else
-    {
-        dst_rect = src_rect;
+        dst_rect.top = This->currentDesc.Height - dst_rect.top;
+        dst_rect.bottom = This->currentDesc.Height - dst_rect.bottom;
     }
 
     swapchain = This->container.type == WINED3D_CONTAINER_SWAPCHAIN ? This->container.u.swapchain : NULL;
-- 
1.7.2.2




More information about the wine-patches mailing list