Henri Verbeet : wined3d: Use wined3d_surface_blt() in surface_upload_from_surface().
Alexandre Julliard
julliard at winehq.org
Thu Nov 3 13:10:14 CDT 2011
Module: wine
Branch: master
Commit: c30ea3767c69cacd2ed487fc3b6085028e097ef7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c30ea3767c69cacd2ed487fc3b6085028e097ef7
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Nov 2 22:46:52 2011 +0100
wined3d: Use wined3d_surface_blt() in surface_upload_from_surface().
---
dlls/wined3d/surface.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 7361391..21848e9 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2588,13 +2588,13 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
return WINED3DERR_INVALIDCALL;
}
- /* This call loads the OpenGL surface directly, instead of copying the
- * surface to the destination's sysmem copy. If surface conversion is
- * needed, use BltFast instead to copy in sysmem and use regular surface
- * loading. */
+ /* Use wined3d_surface_blt() instead of uploading directly if we need conversion. */
d3dfmt_get_conv(dst_surface, FALSE, TRUE, &format, &convert);
if (convert != NO_CONVERSION || format.convert)
- return surface_bltfast(dst_surface, dst_point->x, dst_point->y, src_surface, src_rect, 0);
+ {
+ RECT dst_rect = {dst_point->x, dst_point->y, dst_point->x + update_w, dst_point->y + update_h};
+ return wined3d_surface_blt(dst_surface, &dst_rect, src_surface, src_rect, 0, NULL, WINED3DTEXF_POINT);
+ }
context = context_acquire(dst_surface->resource.device, NULL);
gl_info = context->gl_info;
More information about the wine-cvs
mailing list