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/win32/win32k/dib/dib.c?rev=48470&r1=48469&r2=48470&view=diff
==============================================================================
--- 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/win32/win32k/objects/palette.c?rev=48470&r1=48469&r2=48470&view=diff
==============================================================================
--- 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/gendib.c?rev=48470&r1=48469&r2=48470&view=diff
==============================================================================
--- 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 }
     };


Reply via email to