WineD3D: better pixelformat selection code
H. Verbeet
hverbeet at gmail.com
Thu Aug 9 02:23:34 CDT 2007
On 09/08/07, Roderick Colenbrander <thunderbird2k at gmx.net> wrote:
> Hi,
>
> This code lets WineD3D use the pixelformat of the D3D device. The code helps
> on Windows where OpenGL offers multiple pixelformats.
>
The stencil column is probably useful for determining if we need an
stencil attachment for FBOs as well.
>+int count_bits(int mask)
>+{
>+ int i, count=0;
>+ for(i=0; i<32; i++)
>+ {
>+ if(mask & (1<<i))
>+ count++;
>+ }
>+ return count;
>+}
The "classical" way to do that would be something like this:
unsigned int count_bits(unsigned int mask)
{
unsigned int count;
for (count = 0; mask; ++count)
{
mask &= mask - 1;
}
return count;
}
Ie, simply mask out the set bits one by one until none are set, rather
than looping over all of them.
More information about the wine-patches
mailing list