Author: jgardou Date: Fri Aug 6 14:55:44 2010 New Revision: 48470
URL: http://svn.reactos.org/svn/reactos?rev=48470&view=rev Log: [WIN32K, GENDIB] - Did you know that we should ignore alpha channel of pattern in ROPs? You didn't, I didn't, now we do. [WIN32K] - Use BGR palette as default for 24 and 32 bpp bitmaps.
Modified: branches/reactos-yarotows/subsystems/win32/win32k/dib/dib.c branches/reactos-yarotows/subsystems/win32/win32k/objects/palette.c branches/reactos-yarotows/tools/gendib/gendib.c
Modified: branches/reactos-yarotows/subsystems/win32/win32k/dib/dib.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win3... ============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/dib/dib.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/dib/dib.c [iso-8859-1] Fri Aug 6 14:55:44 2010 @@ -150,6 +150,9 @@ 0xF0F0F00F /* 1110 */, 0xF0F0F0F0 /* 1111 */, }; + + /* Ignore alpha channel in Pattern */ + Pattern &= 0x00ffffff ;
/* Optimized code for the various named rop codes. */ switch (Rop)
Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/palette.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win3... ============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/objects/palette.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/objects/palette.c [iso-8859-1] Fri Aug 6 14:55:44 2010 @@ -124,8 +124,8 @@ appalSurfaceDefault[BMF_4BPP] = gppalDefault; appalSurfaceDefault[BMF_8BPP] = gppalDefault; appalSurfaceDefault[BMF_16BPP] = &gpalRGB565; - appalSurfaceDefault[BMF_24BPP] = &gpalRGB; - appalSurfaceDefault[BMF_32BPP] = &gpalRGB; + appalSurfaceDefault[BMF_24BPP] = &gpalBGR; + appalSurfaceDefault[BMF_32BPP] = &gpalBGR; appalSurfaceDefault[BMF_4RLE] = gppalDefault; appalSurfaceDefault[BMF_8RLE] = gppalDefault; appalSurfaceDefault[BMF_JPEG] = &gpalRGB;
Modified: branches/reactos-yarotows/tools/gendib/gendib.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/tools/gendib/ge... ============================================================================== --- branches/reactos-yarotows/tools/gendib/gendib.c [iso-8859-1] (original) +++ branches/reactos-yarotows/tools/gendib/gendib.c [iso-8859-1] Fri Aug 6 14:55:44 2010 @@ -143,16 +143,16 @@ { ROPCODE_NOTSRCCOPY, "NOTSRCCOPY", "~S", 0, 1, 0 }, { ROPCODE_SRCERASE, "SRCERASE", "(~D) & S", 1, 1, 0 }, { ROPCODE_DSTINVERT, "DSTINVERT", "~D", 1, 0, 0 }, - { ROPCODE_PATINVERT, "PATINVERT", "D ^ P", 1, 0, 1 }, + { ROPCODE_PATINVERT, "PATINVERT", "D ^ (P & 0x00ffffff)", 1, 0, 1 }, { ROPCODE_SRCINVERT, "SRCINVERT", "D ^ S", 1, 1, 0 }, { ROPCODE_SRCAND, "SRCAND", "D & S", 1, 1, 0 }, { ROPCODE_NOOP, "NOOP", "D", 1, 0, 0 }, { ROPCODE_MERGEPAINT, "MERGEPAINT", "D | (~S)", 1, 1, 0 }, - { ROPCODE_MERGECOPY, "MERGECOPY", "S & P", 0, 1, 1 }, + { ROPCODE_MERGECOPY, "MERGECOPY", "S & P & 0x00ffffff", 0, 1, 1 }, { ROPCODE_SRCCOPY, "SRCCOPY", "S", 0, 1, 0 }, { ROPCODE_SRCPAINT, "SRCPAINT", "D | S", 1, 1, 0 }, - { ROPCODE_PATCOPY, "PATCOPY", "P", 0, 0, 1 }, - { ROPCODE_PATPAINT, "PATPAINT", "D | (~S) | P", 1, 1, 1 }, + { ROPCODE_PATCOPY, "PATCOPY", "P & 0x00ffffff", 0, 0, 1 }, + { ROPCODE_PATPAINT, "PATPAINT", "D | (~S) | (P & 0x00ffffff)", 1, 1, 1 }, { ROPCODE_WHITENESS, "WHITENESS", "0xffffffff", 0, 0, 0 }, { ROPCODE_GENERIC, NULL, NULL, 1, 1, 1 } };