Utility/PixelFormat: Fix mask bit orders
This commit is contained in:
parent
964d16f907
commit
93a2e54667
|
|
@ -39,18 +39,8 @@ namespace Nz
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, Bitset<> rMask, Bitset<> gMask, Bitset<> bMask, Bitset<> aMask, PixelFormatSubType subType) :
|
inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, Bitset<> rMask, Bitset<> gMask, Bitset<> bMask, Bitset<> aMask, PixelFormatSubType subType) :
|
||||||
redMask(rMask),
|
PixelFormatInfo(formatName, formatContent, subType, rMask, subType, gMask, subType, bMask, subType, aMask)
|
||||||
greenMask(gMask),
|
|
||||||
blueMask(bMask),
|
|
||||||
alphaMask(aMask),
|
|
||||||
content(formatContent),
|
|
||||||
redType(subType),
|
|
||||||
greenType(subType),
|
|
||||||
blueType(subType),
|
|
||||||
alphaType(subType),
|
|
||||||
name(formatName)
|
|
||||||
{
|
{
|
||||||
RecomputeBitsPerPixel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, PixelFormatSubType rType, Bitset<> rMask, PixelFormatSubType gType, Bitset<> gMask, PixelFormatSubType bType, Bitset<> bMask, PixelFormatSubType aType, Bitset<> aMask, UInt8 bpp) :
|
inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, PixelFormatSubType rType, Bitset<> rMask, PixelFormatSubType gType, Bitset<> gMask, PixelFormatSubType bType, Bitset<> bMask, PixelFormatSubType aType, Bitset<> aMask, UInt8 bpp) :
|
||||||
|
|
@ -65,6 +55,11 @@ namespace Nz
|
||||||
alphaType(aType),
|
alphaType(aType),
|
||||||
name(formatName)
|
name(formatName)
|
||||||
{
|
{
|
||||||
|
redMask.Reverse();
|
||||||
|
greenMask.Reverse();
|
||||||
|
blueMask.Reverse();
|
||||||
|
alphaMask.Reverse();
|
||||||
|
|
||||||
if (bpp == 0)
|
if (bpp == 0)
|
||||||
RecomputeBitsPerPixel();
|
RecomputeBitsPerPixel();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -174,15 +174,15 @@ namespace Nz
|
||||||
if (header.format.flags & DDPF_RGB)
|
if (header.format.flags & DDPF_RGB)
|
||||||
{
|
{
|
||||||
// Reverse bits for our masks
|
// Reverse bits for our masks
|
||||||
info.redMask = ReverseBits(header.format.redMask);
|
info.redMask = header.format.redMask;
|
||||||
info.greenMask = ReverseBits(header.format.greenMask);
|
info.greenMask = header.format.greenMask;
|
||||||
info.blueMask = ReverseBits(header.format.blueMask);
|
info.blueMask = header.format.blueMask;
|
||||||
}
|
}
|
||||||
else if (header.format.flags & DDPF_LUMINANCE)
|
else if (header.format.flags & DDPF_LUMINANCE)
|
||||||
info.redMask = ReverseBits(header.format.redMask);
|
info.redMask = header.format.redMask;
|
||||||
|
|
||||||
if (header.format.flags & (DDPF_ALPHA | DDPF_ALPHAPIXELS))
|
if (header.format.flags & (DDPF_ALPHA | DDPF_ALPHAPIXELS))
|
||||||
info.alphaMask = ReverseBits(header.format.alphaMask);
|
info.alphaMask = header.format.alphaMask;
|
||||||
|
|
||||||
*format = PixelFormat::IdentifyFormat(info);
|
*format = PixelFormat::IdentifyFormat(info);
|
||||||
if (!PixelFormat::IsValid(*format))
|
if (!PixelFormat::IsValid(*format))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue