http://bugs.winehq.org/show_bug.cgi?id=10631
Summary: 3DMark01 - Test4 Nature is extremely slow Product: Wine Version: CVS/GIT Platform: PC-x86-64 URL: http://www.futuremark.com/download/3dmark2001/ OS/Version: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: wine-directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: kgbricola@web.de
3DMark2001se - Game4 Nature is extremely slow. 208,6FPS before this patch and 0.5FPS after this one.
959212304dfaf0e7459374593b20b74fe22a0b57 is first bad commit commit 959212304dfaf0e7459374593b20b74fe22a0b57 Author: Stefan Dösinger stefan@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
The console output is all the time: fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x2481888 recompiled more than 50 times
This patch (http://bugs.winehq.org/attachment.cgi?id=9337) doesn't help.
My System: Fedora7, Geforce 8800GTS, Driver 100.14.23.
http://bugs.winehq.org/show_bug.cgi?id=10631
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #1 from Rico kgbricola@web.de 2007-12-02 05:51:28 --- GTA SA is also slowed down by this patch.
http://bugs.winehq.org/show_bug.cgi?id=10631
Gregor Münch greg87@online.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |greg87@online.de
--- Comment #2 from Gregor Münch greg87@online.de 2007-12-02 06:23:56 --- I can confirm the problems in both apps. However these recompiled shader errors come only up in 3Dmark where in GTA:SA they dont appear, but this game is also not that slow as 3Dmark.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #3 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-02 06:33:37 --- I'll take a look. Either the game does depend on the recompilation, or it is a bug in the code that tracks the D3DCOLOR attribute types.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #4 from Rico kgbricola@web.de 2007-12-02 07:18:31 --- @Gregor Münch They also appear in GTA:SA but only if there is a shader rendered and after a while. This isn't all the time. (for example in front of the first savehouse looking the direction out of the door)
It isn't so slow as 3DMark but the slownes is noticeable.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #5 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-02 16:11:10 --- Created an attachment (id=9463) --> (http://bugs.winehq.org/attachment.cgi?id=9463) Proposed fix
Hi, I've written this patch based on a log from Battlefield 2 which showed a similar issue. It fixed the slowness in 3DMark2001 for too. Can you give it a try with your games?
Thanks, Stefan
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #6 from Rico kgbricola@web.de 2007-12-03 12:28:44 --- @Stefan Thanks for your quick help ;-)
This patch works fine for 3DMark, but for GTA:SA (Grand Theft Auto : San Andreas) it doesn't.
In GTA:SA I got a lot of these messages (after the patch applied): fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x306cd10 recompiled more than 50 times fixme:d3d:state_fog Implement table fog for foggy vertex shader fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x306cd10 recompiled more than 50 times fixme:d3d:state_fog Implement table fog for foggy vertex shader fixme:d3d:state_fog Implement table fog for foggy vertex shader fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x306cd10 recompiled more than 50 times
Is there another problem with the patch from #0?
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #7 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-03 12:55:52 --- Propably yes.
Can you attach a d3d,d3d_shader,d3d_decl log with the patch applied?
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #8 from Rico kgbricola@web.de 2007-12-03 14:55:02 --- @Stefan,
I hope, I've done all right. I've uploaded the file here as .tar.gz (25MB): http://www.file-upload.net/download-537932/d3d.d3d_shader.d3d_decl.log.tar.g...
and here as .7z (2.6MB): http://www.file-upload.net/download-537936/d3d.d3d_shader.d3d_decl.log.7z.ht...
Both contain the same log-file. It's for your choice which one is better for you.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #9 from Rico kgbricola@web.de 2007-12-09 06:24:38 --- Do you need some more infos or logs?
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #10 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-09 17:42:38 --- The 3dmark2k1 problem is fixed in git, gta and others(bf2) are still broken.
http://bugs.winehq.org/show_bug.cgi?id=10631
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #9463 is|0 |1 obsolete| |
--- Comment #11 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-15 05:45:35 --- Created an attachment (id=9632) --> (http://bugs.winehq.org/attachment.cgi?id=9632) Another attempt
Can those of you who still have broken games give this patch a try? It takes unused and tesselated streams out of consideration.
The problem I saw in Enverex's Battlefield 2 log was that the previous patch(which is in 0.9.51 already) correctly prevented undeclared attributes from causing recompilation, but the vertex declaration had two POSITION0 attributes. One was the real one, it needs swizzling, and the other one was the array termination marker, which has POSITION0, stream 255(invalid) and D3DDECLTYPE_UNUSED(which the code considered as no swizzling).
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #12 from Rico kgbricola@web.de 2007-12-15 08:14:48 --- This patch didn't fix GTA:SA. The fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x306cd10 recompiled more than 50 times is still alive.
http://bugs.winehq.org/show_bug.cgi?id=10631
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jfarroyo82@hotmail.com
--- Comment #13 from Austin English austinenglish@gmail.com 2008-02-02 17:40:28 --- *** Bug 11434 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #14 from Gregor Münch greg87@online.de 2008-02-10 13:13:13 --- Bug still there in current git.
http://bugs.winehq.org/show_bug.cgi?id=10631
Jesper winehq@cronflakes.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@cronflakes.com
--- Comment #15 from Jesper winehq@cronflakes.com 2008-03-10 18:51:14 --- I see this bug as well using the game Company of Heroes 1.71
Notably. Versions such as 48 did not render everything correctly but the FPS was/is pretty alright. With 50-57 however, I see multiple entries about vertex shaders being recompiled more than 50 times. I applied the latest fix attempt to the 0.9.57 source and the error persists.
http://bugs.winehq.org/show_bug.cgi?id=10631
stan stanphilipsen@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stanphilipsen@hotmail.com
--- Comment #16 from stan stanphilipsen@hotmail.com 2008-04-13 10:19:17 --- I can confirm this bug for Company Of Heroes 1.71 with wine 0.9.59. This makes the game unplayable. Everything is rendered correctly, but it is very slow. While playing I can see many errors like fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x1d3d40 recompiled more than 50 times This does only happen in specific parts of the map, but in those places the framerate drops to 1 instead of 40 fps.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #17 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-13 10:20:35 --- How did you get COH running? I failed to start to install it...
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #18 from stan stanphilipsen@hotmail.com 2008-04-13 10:34:59 --- I used a "fresh" and new install of wine and the installer did just work. The progress bar was not being displayed but everything was working correctly. Then I applied the patches to 1.71. I used the fbo-instruction, given by HoodedMan in the appDB and everything worked. There is only 1 major problem (this one).
Ubuntu 7.10, wine 0.59, DirectX installed (http://wine-review.blogspot.com/2008/03/directx-90c-march-2008-redistributab...) Hope this will help you.
http://bugs.winehq.org/show_bug.cgi?id=10631
GNUtoo GNUtoo@no-log.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |GNUtoo@no-log.org
--- Comment #19 from GNUtoo GNUtoo@no-log.org 2008-04-30 15:51:08 --- i think i have the same issue with san andreas... i even tried to compile an old wine but without success(segfault)
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #20 from _D-1337r! d1337r@post.ru 2008-05-13 11:38:44 --- Created an attachment (id=13021) --> (http://bugs.winehq.org/attachment.cgi?id=13021) My log
OS: Fedora 8 x86_64 Version:0.9.58 App: Grand Theft Auto: San Andreas 1.00 (not installed, just copied the folder) So, no 'recompiled more than 50 times'.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #21 from _D-1337r! d1337r@post.ru 2008-05-13 11:39:26 --- (From update of attachment 13021) No message 'recompiled more than 50 times', but some stub in EvictManagedResources.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #22 from Stefan Dösinger stefandoesinger@gmx.at 2008-05-13 11:43:17 --- EvictManagedResources is harmless. The worst that happens is that the game runs a bit slower the first few frames. This stub should not have any run-time negative effects.
http://bugs.winehq.org/show_bug.cgi?id=10631
Pieter tidus532@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tidus532@gmail.com
--- Comment #23 from Pieter tidus532@gmail.com 2008-05-17 04:20:23 --- confirming this bug in debris, you can get his program at http://www.theprodukkt.com/debris. terminal output is all the time :IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x46667a8 recompiled more than 50 times Also you don't see the buildings if you turn shadows on, you see a little bit more if you turn them off, but it still gives the warnings
http://bugs.winehq.org/show_bug.cgi?id=10631
S.P. crashkopf@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #24 from S.P. crashkopf@gmail.com 2008-08-15 07:19:30 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=10631
Christian Nolte ch.nolte@noltec.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ch.nolte@noltec.org
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #25 from Rico kgbricola@web.de 2009-01-08 10:41:21 --- Fixed by http://source.winehq.org/git/wine.git/?a=commit;h=45a61d1ac4b88082d1d38201eb... ?
I tested gta:sa which seems to work fine.
Could you please test if it's also fixed for all other apps mentioned here?
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #26 from H. Verbeet hverbeet@gmail.com 2009-01-08 10:53:32 --- That's doubtful. Are you sure it's not the patch before that one?
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #27 from Rico kgbricola@web.de 2009-01-08 12:09:35 --- Yes, you are right, it's the one before. http://source.winehq.org/git/wine.git?a=commit;h=b1812c690c52c568222963da77a...
I've copied the wrong link.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #28 from stan stanphilipsen@hotmail.com 2009-01-08 13:47:27 --- problem still exists when playing Company of Heroes. Wine 1.1.12 Ubuntu 8.10 32 bit
fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x83d9dc8 recompiled more than 50 times .......
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #29 from Rico kgbricola@web.de 2009-01-17 04:54:14 --- stan: You have to use at least the git version after the patch I mentioned or wine 1.1.13.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #30 from stan stanphilipsen@hotmail.com 2009-01-17 05:49:32 --- Sorry Rico, tried again today: Ubuntu 8.10 32 bit wine --version -> wine-1.1.13
Problem still exists: fixme:d3d_shader:IWineD3DVertexShaderImpl_CompileShader Vertexshader 0x83c6638 recompiled more than 50 times
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #31 from Gregor Münch greg87@online.de 2009-01-17 08:35:59 --- Well I guess your setup needs to support EXT_vertex_array_bgra. Which is a brand new extension. Make sure your driver supports this. glxinfo | grep EXT_vertex_array_bgra
I think its in the nvidia-drivers 180.x
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #32 from Stefan Dösinger stefandoesinger@gmx.at 2009-01-17 19:12:19 --- fyi, I have some patches in the works that duplicate the vertex shader in case of a format switch. That way it should work for cards/drivers that don't have the mentioned extension too(at the cost of slightly more memory use, although that shouldn't be measurable)
http://bugs.winehq.org/show_bug.cgi?id=10631
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
--- Comment #33 from Austin English austinenglish@gmail.com 2009-01-18 03:47:05 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #34 from stan stanphilipsen@hotmail.com 2009-02-22 11:03:45 --- Tested today (wine 1.1.15). Problem does not exist any more. However, after playing Company of Heroes for some minutes the game will crash. I don't know whether or not this is related to this bug (see attachment). It looks like it is running out of video memory.
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #35 from stan stanphilipsen@hotmail.com 2009-02-22 11:04:46 --- Created an attachment (id=19609) --> (http://bugs.winehq.org/attachment.cgi?id=19609) Company of Heroes output
http://bugs.winehq.org/show_bug.cgi?id=10631
--- Comment #36 from Stefan Dösinger stefandoesinger@gmx.at 2009-02-22 12:29:01 --- Yeah, the vertex shader duplication infrastructure fixes this issue. In COH it was a genuine recompile before, the game switched between two incompatible decls. Now WineD3D creates two GL vertex shader, one matching each declaration.
http://bugs.winehq.org/show_bug.cgi?id=10631
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #37 from Dan Kegel dank@kegel.com 2009-02-23 06:11:00 --- stan, could the out of memory issue be bug 13335?
http://bugs.winehq.org/show_bug.cgi?id=10631
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #38 from Rico kgbricola@web.de 2009-02-26 15:02:41 --- Fixed, because coh, gtasa and 3dmark01 works fine here and they were also reported as working by other testers.
http://bugs.winehq.org/show_bug.cgi?id=10631
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #39 from Alexandre Julliard julliard@winehq.org 2009-02-27 16:30:44 --- Closing bugs fixed in 1.1.16.
http://bugs.winehq.org/show_bug.cgi?id=10631
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |silver.quettier@gmail.com
--- Comment #40 from Vitaliy Margolen vitaliy@kievinfo.com 2009-04-12 17:17:07 --- *** Bug 13259 has been marked as a duplicate of this bug. ***