http://bugs.winehq.org/show_bug.cgi?id=10112
Summary: BitBlt between 8 bit color index DIBs wrong Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: alexd14@hushmail.com
Created an attachment (id=8678) --> (http://bugs.winehq.org/attachment.cgi?id=8678) test case
BitBlt from one 8 bit DIB to another 8 bit DIB produces wrong results. I'll attach a simple test case that illustrates the problem. What it does: creates two 8 bit, color index dib sections with a color table where color index 1 = red, 2 = blue, 3 = green. Then it fills first DIB with 1 (red) and second with 2 (blue). It then does a BitBlt with SRCPAINT (OR) ROP from first DIB to second. Finally, this DIB is drawn in a window, and a hex value of the first pixel is drawn over it for convenience.
In such BitBlt Windows, apparently, operates on DIB pixels as color index values w/o palette lookup; 1 OR 2 == 3, so it fills destination DIB pixels with 3, and, consequently, it is displayed as a green rectangle.
In Wine, this operation works like actual RGB values (red and blue) from palettes are getting combined, and it's displayed as a magenta rectangle. Probably, because wine seems to convert it to truecolor pixmaps internally. Pixels as stored in memory become zeros.
Real app affected by it: igonwin.exe in bug #201 (http://bugs.winehq.org/show_bug.cgi?id=201). I don't have other apps that use color index dibs to test, but I think any apps that use such DIBs AND "fancy" ROPs (XOR, AND, OR etc) may be affected.
http://bugs.winehq.org/show_bug.cgi?id=10112
--- Comment #1 from alexd14@hushmail.com 2007-10-20 06:29:15 --- Created an attachment (id=8679) --> (http://bugs.winehq.org/attachment.cgi?id=8679) how it looks in win98 and winxp
http://bugs.winehq.org/show_bug.cgi?id=10112
--- Comment #2 from alexd14@hushmail.com 2007-10-20 06:30:15 --- Created an attachment (id=8680) --> (http://bugs.winehq.org/attachment.cgi?id=8680) how it looks in wine
http://bugs.winehq.org/show_bug.cgi?id=10112
Alex Villacís Lasso a_villacis@palosanto.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |a_villacis@palosanto.com
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |testcase
http://bugs.winehq.org/show_bug.cgi?id=10112
mizipzor mizipzor@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mizipzor@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=10112
nathan.n saturn_systems@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |saturn_systems@yahoo.com
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
--- Comment #3 from Austin English austinenglish@gmail.com 2009-01-18 03:46:16 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #3 from Austin English austinenglish@gmail.com 2009-01-18 03:46:16 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
--- Comment #4 from Austin English austinenglish@gmail.com 2009-07-21 12:36:30 --- According to Andre, still present in 1.1.26.
http://bugs.winehq.org/show_bug.cgi?id=10112
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de
--- Comment #5 from André H. nerv@dawncrow.de 2009-07-21 12:37:09 --- confirming in wine 1.1.26 the testcase still does the same in wine 1.1.26 as on the picture
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=10112
Wolfram Sang wolfram@the-dreams.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wolfram@the-dreams.de
--- Comment #6 from Wolfram Sang wolfram@the-dreams.de 2010-03-20 05:27:09 --- Still the same in 1.1.41.
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86 Version|unspecified |0.9.47. OS/Version|other |Linux
--- Comment #7 from Austin English austinenglish@gmail.com 2011-08-11 14:20:54 CDT --- Still in 1.3.26.
http://bugs.winehq.org/show_bug.cgi?id=10112
--- Comment #8 from Wolfram Sang wolfram@the-dreams.de 2011-10-12 15:06:32 CDT --- Fixed in wine-1.3.30-45-ga843ace! Yay \o/
http://bugs.winehq.org/show_bug.cgi?id=10112
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |0f9dfb932e51efa844283d28d7a | |a9be22c6f28db Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #9 from Austin English austinenglish@gmail.com 2011-10-12 17:14:54 CDT --- (In reply to comment #8)
Fixed in wine-1.3.30-45-ga843ace! Yay \o/
Yep, here to. Bisect points to: 0f9dfb932e51efa844283d28d7aa9be22c6f28db is the first bad commit commit 0f9dfb932e51efa844283d28d7aa9be22c6f28db Author: Alexandre Julliard julliard@winehq.org Date: Wed Sep 14 13:26:29 2011 +0200
winex11: Use the DIB engine for client-side DIB copy optimizations.
:040000 040000 61b398c500c7fa20726e946fbcf6c7ec176d051d 2253de708e226931d6692b471b4a0f692383bdfe M dlls
http://bugs.winehq.org/show_bug.cgi?id=10112
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2011-10-21 13:50:31 CDT --- Closing bugs fixed in 1.3.31.