http://bugs.winehq.org/show_bug.cgi?id=30115
--- Comment #7 from Alexey Loukianov mooroon2@mail.ru 2012-03-09 16:41:45 CST --- Hadn't tried compiling wine with your patch yet, but from what I see it should essentially do the same thing my patch does, but only if the "src_format->block_height == 1 && src_format->block_width == 1" condition is warranted to be TRUE for non-compressed formats.
A case when destination surface and source surface are the same one isn't handled for compressed formats in any case, there's FIXME("Only plain blits supported on compressed surfaces.\n") there catching such scenario. Sure, CPU-based blits for compressed surfaces should be extended to handle src == dest case correctly, but IMO it's a separate task that isn't closely related to the task of fixing the regression this bug report is about :-).