RE: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Stefan Dösinger
Actually, one more idea: It will be extra-slow, but we could implement a general all-to-all format by converting the source format to A32R32G32B32F(float values), and then write code to convert this format to all possible destination formats. The from-to table lookup could be replaced by code

RE: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Stefan Dösinger
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: [EMAIL PROTECTED] [mailto:wine-patches- [EMAIL PROTECTED] On

Re: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Victor
On Wednesday 23 July 2008 20:10:02 Stefan Dösinger wrote: Actually, one more idea: It will be extra-slow, but we could implement a general all-to-all format by converting the source format to A32R32G32B32F(float values), and then write code to convert this format to all possible destination

Re: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Chris Robinson
On Wednesday 23 July 2008 09:10:02 am Stefan Dösinger wrote: 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? Maybe it would be better if the table

Re: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Victor
On Wednesday 23 July 2008 21:18:57 Chris Robinson wrote: Maybe it would be better if the table was changed to have a bit offset and a mask size, instead of the actual mask. 0) initial patch used mask size + mask offset, but was rewritten to use mask value when Stefan Dösinger requested that. I

Re: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Chris Robinson
On Wednesday 23 July 2008 10:29:37 am Victor wrote: 0) initial patch used mask size + mask offset, but was rewritten to use mask value when Stefan Dösinger requested that. I don't want to rewrite it back to use mask size + mask offset. 1) mask size and offset can be extracted from mask value.

Re: wined3d: universal surface convertor function for unsigned integer color formats(3rd attempt)

2008-07-23 Thread Victor
On Wednesday 23 July 2008 21:48:59 Chris Robinson wrote: But extracting the mask offset and size from the actual mask takes a bit of time, Extracting mask is called once or twice per channel conversion. I.e. in case of converting a8r8g8b8-a1r5g5b5 mask should be calculated only 8 times, no