Huw Davies : gdi32: Fix an error in the blue channel of the 32 -> 16 bpp conversion and update the tests to catch this.

Alexandre Julliard julliard at winehq.org
Wed Jun 1 12:11:08 CDT 2011


Module: wine
Branch: master
Commit: ea361367ed87a18704e8d36646e73692f3a1c69b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ea361367ed87a18704e8d36646e73692f3a1c69b

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Jun  1 09:41:43 2011 +0100

gdi32: Fix an error in the blue channel of the 32 -> 16 bpp conversion and update the tests to catch this.

---

 dlls/gdi32/dibdrv/primitives.c |    2 +-
 dlls/gdi32/tests/dib.c         |   29 +++++++++++++++--------------
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/dlls/gdi32/dibdrv/primitives.c b/dlls/gdi32/dibdrv/primitives.c
index 4711a65..411cddd 100644
--- a/dlls/gdi32/dibdrv/primitives.c
+++ b/dlls/gdi32/dibdrv/primitives.c
@@ -1038,7 +1038,7 @@ static BOOL convert_to_555(dib_info *dst, const dib_info *src, const RECT *src_r
                     src_val = *src_pixel++;
                     *dst_pixel++ = ((src_val >> 9) & 0x7c00) |
                                    ((src_val >> 6) & 0x03e0) |
-                                   ((src_val >> 3) & 0x001e);
+                                   ((src_val >> 3) & 0x001f);
                 }
                 dst_start += dst->stride / 2;
                 src_start += src->stride / 4;
diff --git a/dlls/gdi32/tests/dib.c b/dlls/gdi32/tests/dib.c
index c750a46..60791ca 100644
--- a/dlls/gdi32/tests/dib.c
+++ b/dlls/gdi32/tests/dib.c
@@ -91,8 +91,8 @@ static const char *sha1_graphics_a8r8g8b8[] =
     "6c530622a025d872a642e8f950867884d7b136cb",
     "7c07d91b8f68fb31821701b3dcb96de018bf0c66",
     "b2261353decda2712b83538ab434a49ce21f3172",
-    "ef654fedcb494dae79559f4db8b691ae2d522a3f",
-    "a694872f38e66a7ff471440c3e6a9310ef78328a",
+    "35f731c0f6356b8f30651bb3cbe0d922c49deba5",
+    "9b9874c1c1d92afa554137e191d34ea33acc322f",
     "c311dd74325e8cebfc8529a6d24a6fa4ecb7137e",
     "d7398de15b2837a58a62a701ca1b3384625afec4",
     "a78b28472bb7ff480ddedd06b9cf2daa775fa7ae",
@@ -120,8 +120,8 @@ static const char *sha1_graphics_a8b8g8r8[] =
     "bf57a6a37fb107d29ed3d45695919887abcb7902",
     "3db0f8bcca3d94920aa57be6321202b8c3c08822",
     "1f1fc165a4dae7ba118ddccb58a279bfe3876b0a",
-    "66da15b6780a4ca3b3d2eb1d1dba4e30f7b74964",
-    "42fefefe4435570fa8038ec759140c66c76570e9",
+    "8e09abb108e137c99527ab4c9bd07d95b9254bbb",
+    "b0178632775d29bec2b16de7b9b8287115c40d0f",
     "ca7e859647b9498b53fdd92543ad8aea98ff46f3",
     "3369889a67d6c79a24ee15f7d14374f9995215e4",
     "473a1fd07df800c87a5d3286b642ace10c61c6af",
@@ -149,8 +149,8 @@ static const char *sha1_graphics_24[] =
     "0fa8cf332a56bb6d7e14e85861fdd60f51d70501",
     "593d694cdcc8349b3bfc8257041dbcb27e61da45",
     "1036b91d93e31cd1d4740d0c8642e115e5a38188",
-    "3469776cc7d8f6fd3bce17a39eec0b4092294e49",
-    "1cb7f3fcf42c9ca47a0689195ced239a09d3c308",
+    "1898073cdb35ca4d2b21bba933ac16a0b4297317",
+    "5068bff794553cf5a3145ae407c9a2984357844c",
     "413a7989969c229dee4ab1798362f32f96cf0a10",
     "0bb222e540b82720d4971e4a2fc626899af03e03",
     "adc20832d8c43f1cf372d8392535492013cd2306",
@@ -178,8 +178,8 @@ static const char *sha1_graphics_r5g5b5[] =
     "420e39ff3bdd04c4b6cc2c98e99cb7993c7a0de5",
     "1fabf0fdd046857b1974e31c1c1764fa9d1a762f",
     "449092689226a1172b6086ba1181d6b6d6499f26",
-    "5c636ffadec10fbe440b552fe6436f3dbc607dcf",
-    "4aac89fc18c128eddb69eea658272af53138a1cb",
+    "1a92a60f190d33ef06d9decb56fd3fdd33f3af03",
+    "e61f5978c2e28c0c6d8f5eefe0f840c975586efc",
     "897d16f4d6a6ddad685d23ed7828d4f676539b75",
     "9d21bcfdeaf1ca5d47eb823bdefc24d7a95f4f56",
     "6daaf945a955928c5c124c880522ca4634fb2343",
@@ -207,8 +207,8 @@ static const char *sha1_graphics_r4g4b4[] =
     "115a6bd382410a4a1d3c1fa71d8bf02536863e38",
     "65c6d1228e3b6d63d42647f14217bc1658b70d9a",
     "25fcb75aa687aac35b8f72640889fe92413e00c5",
-    "dbc8d66b419880108793db91c05766c0c6efd86d",
-    "6092ccbab6b6e073c6ac8244d122f2cfc453aa38",
+    "3bddf9d53e89560b083302b146cd33791b13d941",
+    "a81504498c7a7bb46340ce74476a42f70f2730b1",
     "e61a4f2657a444d8c49f84fb944f9f847667bf2b",
     "32b6e0aa79b7e96cd0ab2da167f6463c011023a8",
     "1d283aa4d2b2114f7809fe59357d590c7c779aa7",
@@ -236,8 +236,8 @@ static const char *sha1_graphics_8[] =
     "5ba8f99ca034666effa556748c49a0f5a015125f",
     "b67ba2f55659c75ac72c1112494461bb3086e1a4",
     "73e2859ce849f756f954718ce3c90f02e31712b6",
-    "196d832d283bf642d2e481e5452ca175f7902761",
-    "9552f48b88982633a44001227abb847dae4d06b0",
+    "b1dff0f5dd233b44ee568878c5d3f8ae1d80c6d9",
+    "1f27dc1a1316fb7a4a78fe40fcd4bdae3aaad218",
     "6e375e1485a1e45ac6ab10af49645d5fb2e76dff",
     "cfc67c325c7cdf96d90af9b3cceb8d0504cbb3b0",
     "7262364067e03c7fa498af1d59d228d6c63b460e",
@@ -265,8 +265,8 @@ static const char *sha1_graphics_4[] =
     "665bbbc749a5ffeedc0d62aef0661a5ce845b017",
     "1f26a01730f67d40ea711a50d9d801bac15a642e",
     "3b53d24178cfacba53103a44dfd5d072b15a6781",
-    "fa0d5f2d9419d8310fe4af7a290d13c5026c77de",
-    "5070ecae5085209508f7450d5f21c69737a178e9",
+    "c52cfd57f26037723d37192722fc3a217f280c9e",
+    "e34da6500cf2e424d980714d92737cf6c31a7bda",
     "d17f4358ae529f920960ed89e535902ee13b0033",
     "0f44e12ecd1ea7e39433890443626d4fc35204a4",
     "eb38683e812fd13dca971ba8f4cfd2b6820d3524",
@@ -636,6 +636,7 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
     brush_bits[14] = 0xff;
     brush_bits[65] = 0xff;
     brush_bits[69] = 0xff;
+    brush_bits[72] = 0xff;
 
     dib_brush = CreateDIBPatternBrushPt(brush_bi, DIB_RGB_COLORS);
 




More information about the wine-cvs mailing list