File a bug report?

Gilles May coke at lounge.lu
Sat Dec 8 12:27:35 CST 2007


Hi everybody.

After updating WINE to from 0.9.49 to 0.9.50 I noticed major slowdown in
Company of Heroes, to the point that I get like 1 Frame every 2 seconds.
Wine spams the console with:

fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader
0x4d20b78 recompiled more than 50 times

Trying to find out the cause for the slowdown I did my first attempt at
using git bisect and I could trace the slowdown to this patch:

959212304dfaf0e7459374593b20b74fe22a0b57 is first bad commit
commit 959212304dfaf0e7459374593b20b74fe22a0b57
Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Nov 20 21:14:10 2007 +0100

    wined3d: Track vertex declaration changes on vertex shaders.
   
    If an attribute has type D3DDECLTYPE_D3DCOLOR, the red and blue channels
    are swizzled in the shader. Since the attribute is stored in the vertex
    declaration and not the vertex shader, it can change by setting a new
    vertex declaration. If this happens, we have to recompile the shader
    with the swizzling of that specific attribute turned on or off.

:040000 040000 327661a4d0f8a02bdc18380084589c891b64af9c
e35a2bcbf9514e4f261d8b7a93dcb24c0b3c89a7 M      dlls

Now without that patch there is slight texture corruption in the game,
with the patch it's much much less but it renders the game unplayable.
The reason I didn't file a bug report is that I am not sure if it is
really a bug or not since obviously the patch fixes in-game texture
corruption.

Regards, Gilles





More information about the wine-devel mailing list