http://bugs.winehq.org/show_bug.cgi?id=13860
--- Comment #10 from Alexander Dorofeyev alexd4@inbox.lv 2008-07-08 17:26:32 --- (In reply to comment #9)
Any news on this one Alexander?
I would dig a bit into this if I knew where to search.
Uh, unfortunately, no. I started trying to fix videos in looking glass games but got ambushed by a swarm of bugs along the way :). I'm making some progress and hope to clear out them all in a week or so, then I might look into this regression later. If you are interested in wine 3d hacking, feel free to take on it. I believe my IDirect3dDevice7_Load rewrite caused it. The rewritten method uses some wined3d device methods, some of which probably directly or indirectly trigger IWineD3DSurface_LoadLocation (maybe via loadtexture in wined3d's texture.c) while there is no palette set (a situation it's usually best to avoid). It may be that palette setting should simply be done earlier in IDirect3dDevice7_Load / helper functions than it is now. It is surprising that presense of ext_paletted_texture makes such a difference though. Possibly this indicates a problem somewhere, such as either missing LoadLocation or unneeded one in some of codepaths in wined3d. wined3d codepaths for paletted_texture support are not unlikely to be buggy as most hardware nowadays doesn't support it so it's worse tested than others, it needs close examination where the differences caused by ext_paletted_texture is coming from.