http://bugs.winehq.org/show_bug.cgi?id=201
--- Comment #40 from Alexander Dorofeyev alexd4@inbox.lv 2008-05-14 14:14:01 --- (In reply to comment #38)
The bug discussed here has (IMHO) little to do with display of cursors or other graphical glitches in games. It is strictly a GDI issue. If the glitch is fixed by switching to vesa (which effectively forces software OpenGL rendering), then it is not caused by this bug. This bug (on igowin) persists even on vesa.
Yes, many if not all problems reported here have different origins. You can't expect a pure gdi app that uses 8bpp DIBs and BitBlt to have a lot in common with a d3d7 game - Sacrifice, neither can you expect the latter to have much in common with a modern directx9 game that probably uses shaders (which Company of Heroes afaik is).
It may be the summary that sounds too general that invites people to dump all transparency issues to here.
About vesa and nvidia, I have no idea yet. I haven't looked into transparency problem in Sacrifice, but I did notice that it's not cursor only. Inside the game there were some units which looked like some of their textures are supposed to have transparent areas but instead look black. But most likely the difference in Sacrifice comes from different opengl features exposed by drivers. This triggers different paths in wined3d and they may have bugs in them that are otherwise hidden. In particular, presense of GL_EXT_paletted_texture influences things a lot.
I personally would recommend creating individual bugs for programs like Sacrifice, because indeed they can't possibly have anything to do with issues affecting igowin. Those I understand relatively well, but to fully fix igowin we need either DIB engine or at least a portion of it (8bpp BitBlt) because the current method through X server is just poorly suitable for it, for all I know.