wined3d: universal surface convertor function for unsigned integer color formats(2nd attempt)

Stefan Dösinger stefan at codeweavers.com
Thu Jul 17 13:33:34 CDT 2008


How many different conversions do the two games need? One of my concerns is that this generic code is way slower than a separate conversion function for each pair of color formats. On the other hand, one function for each pair gives a whole lot more of code, and if we run into the conversion function during rendering we can kiss the framerate goodbye anyway


> -----Original Message-----
> From: wine-patches-bounces at winehq.org [mailto:wine-patches-
> bounces at winehq.org] On Behalf Of Victor Eremin
> Sent: Thursday, July 17, 2008 11:02 AM
> To: wine-patches at winehq.org
> Subject: wined3d: universal surface convertor function for unsigned
> integer color formats(2nd 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    |  203
> ++++++++++++++++++++++++++++++++++++++--
>  dlls/wined3d/utils.c           |  126 ++++++++++++------------
>  dlls/wined3d/wined3d_private.h |    2 +-
>  3 files changed, 260 insertions(+), 71 deletions(-)




More information about the wine-patches mailing list