[PATCH 3/5] wined3d: Use wined3d_surface_blt() in swapchain_gl_present().

Henri Verbeet hverbeet at codeweavers.com
Wed Nov 2 16:46:54 CDT 2011


---
 dlls/wined3d/surface.c         |   19 -------------------
 dlls/wined3d/swapchain.c       |    7 +++++--
 dlls/wined3d/wined3d_private.h |    2 --
 3 files changed, 5 insertions(+), 23 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 21848e9..1492071 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1815,25 +1815,6 @@ cpu:
     return surface_cpu_blt(dst_surface, &dst_rect, src_surface, &src_rect, flags, fx, filter);
 }
 
-/* Do not call while under the GL lock. */
-HRESULT surface_bltfast(struct wined3d_surface *dst_surface, DWORD dst_x, DWORD dst_y,
-        struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags)
-{
-    RECT src_rect, dst_rect;
-
-    TRACE("dst_surface %p, dst_x %u, dst_y %u, src_surface %p, src_rect_in %s, flags %#x.\n",
-            dst_surface, dst_x, dst_y, src_surface, wine_dbgstr_rect(src_rect_in), flags);
-
-    surface_get_rect(src_surface, src_rect_in, &src_rect);
-
-    dst_rect.left = dst_x;
-    dst_rect.top = dst_y;
-    dst_rect.right = dst_x + src_rect.right - src_rect.left;
-    dst_rect.bottom = dst_y + src_rect.bottom - src_rect.top;
-
-    return wined3d_surface_blt(dst_surface, &dst_rect, src_surface, &src_rect, flags, NULL, WINED3DTEXF_POINT);
-}
-
 HRESULT CDECL wined3d_surface_get_render_target_data(struct wined3d_surface *surface,
         struct wined3d_surface *render_target)
 {
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index e31b622..7d7be5b 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -482,9 +482,12 @@ static HRESULT swapchain_gl_present(struct wined3d_swapchain *swapchain, const R
 
     if (swapchain->device->logo_surface)
     {
+        struct wined3d_surface *src_surface = swapchain->device->logo_surface;
+        RECT rect = {0, 0, src_surface->resource.width, src_surface->resource.height};
+
         /* Blit the logo into the upper left corner of the drawable. */
-        surface_bltfast(swapchain->back_buffers[0], 0, 0,
-                swapchain->device->logo_surface, NULL, WINEDDBLT_KEYSRC);
+        wined3d_surface_blt(swapchain->back_buffers[0], &rect, src_surface, &rect,
+                 WINEDDBLT_KEYSRC, NULL, WINED3DTEXF_POINT);
     }
 
     TRACE("Presenting HDC %p.\n", context->hdc);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 26be952..2a987d5 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2079,8 +2079,6 @@ static inline GLuint surface_get_texture_name(const struct wined3d_surface *surf
 
 void surface_add_dirty_rect(struct wined3d_surface *surface, const WINED3DBOX *dirty_rect) DECLSPEC_HIDDEN;
 void surface_bind(struct wined3d_surface *surface, struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
-HRESULT surface_bltfast(struct wined3d_surface *dst_surface, DWORD dst_x, DWORD dst_y,
-        struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags) DECLSPEC_HIDDEN;
 HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const WINED3DCOLORVALUE *color) DECLSPEC_HIDDEN;
 GLenum surface_get_gl_buffer(const struct wined3d_surface *surface) DECLSPEC_HIDDEN;
 BOOL surface_init_sysmem(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
-- 
1.7.3.4




More information about the wine-patches mailing list