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(a)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
On Dec 7, 2007 8:41 AM, Gilles May <may.gilles(a)mindgate.lu> wrote:
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(a)codeweavers.com> Date: Tue Nov 20 21:14:10 2007 +0100
wined3d: Track vertex declaration changes on vertex shaders. This has been fixed to an extent in the current git, please test with current git or wait for the 0.9.51
VJ
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
participants (2)
-
Gilles May -
Vijay Kiran Kamuju