http://bugs.winehq.org/show_bug.cgi?id=27885
Summary: Starcraft 2 + Mesa 7.12-devel Gallium 4 on AMD REDWOOD: No Textures in Game Product: Wine Version: 1.3.24 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: chewi@schmodder.org
Running Starcraft 2 with current git wine and current git mesa on Ubuntu 11.04 works except for textures. They are not drawn.
It looks like a problem in the association of DXT5 formal surfaces. For some reason wine does not set the "internal formal", "gl format" and "gl type" to correct values, but leaves them as 0.
Here are the relevant log traces of mesa vs fglrx: mesa: trace:d3d_surface:surface_allocate_surface (0x20c18880) : Creating surface (target 0xde1) level 0, d3d format WINED3DFMT_DXT5, internal format 0, width 1024, height 1024, gl format 0, gl type=0 Mesa: User error: GL_INVALID_VALUE in glTexImage2D(internalFormat=GL_FALSE) err:d3d_surface:surface_allocate_surface >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from glTexImage2D @ surface.c / 2338 fglrx: trace:d3d_surface:surface_allocate_surface (0x20490550) : Creating surface (target 0xde1) level 0, d3d format WINED3DFMT_DXT5, internal format 0x83f3, width 1024, height 1024, gl format 0x1908, gl type=0x1401 trace:d3d_surface:surface_allocate_surface glTexImage2D call ok surface.c / 2311
I guess, the mesa-gallium detection does not cover the DXT5-Textures, as the fglrx detection of wine initialization does.
I'll try to do some debugging myself, but if there are hints or solution ideas of experienced wine-devs, that would be great.