The patch looks reasonably, just one small thing: There is a count_bits function implemented in utils.c, which as far as I can see does the same as getMaskSize. Can you check if you can reuse it?
-----Original Message----- From: wine-patches-bounces@winehq.org [mailto:wine-patches- bounces@winehq.org] On Behalf Of Victor Eremin Sent: Wednesday, July 23, 2008 10:25 AM To: wine-patches@winehq.org Subject: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)
Supports conversion between most of "unsigned color" argb/xrgb surface formats (D3DFMT_A8R8G8B8, D3DFMT_A8R3G3B2, etc), and "luminosity" color formats (D3DFMT_L8, etc), excluding D3DFMT_A16R16G16B16, D3DFMT_A8P8, D3DFMT_P8 and D3DFMT_A1. luminosity to argb/xrgb (and vice versa) conversions are not supported
Removes "Cannot find coverter" FIXMEs from "Ancient Evil" and "Stranded 2" games.
Fixes water glitches in "Stranded 2" game.
dlls/wined3d/surface_base.c | 202 ++++++++++++++++++++++++++++++++++++++- dlls/wined3d/utils.c | 126 +++++++++++++------------- dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 260 insertions(+), 70 deletions(-)