Fix a longstanding XAA CopyPlane bug.

TmpBitPlane is a plane mask, not a plane index.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
This commit is contained in:
Ivaylo Boyadzhiev 2008-08-03 18:55:12 -07:00 committed by Aaron Plattner
parent d980913f31
commit 25882af6d3

View File

@ -110,12 +110,12 @@ XAACopyPlaneNtoNColorExpand(
int Bpp = pSrc->bitsPerPixel >> 3; int Bpp = pSrc->bitsPerPixel >> 3;
unsigned long mask = TmpBitPlane; unsigned long mask = TmpBitPlane;
if(TmpBitPlane < 8) { if(TmpBitPlane < (1 << 8)) {
offset = 0; offset = 0;
} else if(TmpBitPlane < 16) { } else if(TmpBitPlane < (1 << 16)) {
offset = 1; offset = 1;
mask >>= 8; mask >>= 8;
} else if(TmpBitPlane < 24) { } else if(TmpBitPlane < (1 << 24)) {
offset = 2; offset = 2;
mask >>= 16; mask >>= 16;
} else { } else {