Module: wine Branch: master Commit: d26a3858d918520c58b5d1e597dabe428a58898a URL: http://source.winehq.org/git/wine.git/?a=commit;h=d26a3858d918520c58b5d1e597...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Jul 11 12:19:02 2012 +0200
wined3d: Fix the block alignment check in surface_cpu_blt().
---
dlls/wined3d/surface.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 91ebcca..ea0baa4 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -6699,9 +6699,16 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT * goto release; }
- if (srcwidth & (src_format->block_width - 1) || srcheight & (src_format->block_height - 1)) + if (!surface_check_block_align(src_surface, src_rect)) { - WARN("Rectangle not block-aligned.\n"); + WARN("Source rectangle not block-aligned.\n"); + hr = WINED3DERR_INVALIDCALL; + goto release; + } + + if (!surface_check_block_align(dst_surface, dst_rect)) + { + WARN("Destination rectangle not block-aligned.\n"); hr = WINED3DERR_INVALIDCALL; goto release; }