http://bugs.winehq.org/show_bug.cgi?id=24013
Summary: D3D10 : Missing function D3D10CompileShader Product: Wine Version: 1.3.0 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: xvachon@gmail.com
Assassin's creed requires this function to start the game.
wine: Call from 0x7ed877d2 to unimplemented function d3d10.dll.D3D10CompileShader, aborting
Current git wine 1.3.0
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #1 from Xavier Vachon xvachon@gmail.com 2010-08-16 11:56:23 --- As suggested in http://forum.winehq.org/viewtopic.php?t=9311
AC was runned straight wine AssassinsCreed_Dx10.exe sh winetricks d3dx10 is not a workaround
http://bugs.winehq.org/show_bug.cgi?id=24013
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #2 from Matteo Bruni matteo.mystral@gmail.com 2010-08-30 16:39:36 CDT --- This function is implemented in today's git by da783ee57da68adc4285faf7b9efeb0bc872866f; you currently need native d3dcompiler_43.dll to have it really work though.
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #3 from Xavier Vachon xvachon@gmail.com 2010-08-30 18:05:30 CDT --- Testing in today's git, the missing implementation message does not appear. However, the game does not load. The log shows a loop of these two messages :
fixme:d3d_shader:shader_sm4_read_opcode Unrecognized opcode 0x1, token 0x00004001 fixme:d3d_shader:shader_sm4_read_comment ptr 0x351e6d8, comment 0x351e6d4, comment_size 0x351e6d0 stub!
Using a native d3dcompiler_43.dll didn't helped.
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2010-08-31 06:26:07 CDT --- (In reply to comment #1)
As suggested in http://forum.winehq.org/viewtopic.php?t=9311
I think it's misguided to give that kind of advice to regular users. For potential developers the situation may be a bit different. Realistically speaking, it will be quite some time before Wine is able to successfully run d3d10 or d3d11 applications, fixing this bug is just going to expose the next one, and so on. That's simply how Wine development works, of course, but just don't get your hopes up.
(In reply to comment #3)
Testing in today's git, the missing implementation message does not appear. However, the game does not load. The log shows a loop of these two messages :
fixme:d3d_shader:shader_sm4_read_opcode Unrecognized opcode 0x1, token 0x00004001 fixme:d3d_shader:shader_sm4_read_comment ptr 0x351e6d8, comment 0x351e6d4, comment_size 0x351e6d0 stub!
That's the SM4 bytecode parser in wined3d. It's very rudimentary. If you're serious about fixing that, getting a dump of the offending shader bytecode would be the first step.
http://bugs.winehq.org/show_bug.cgi?id=24013
Xavier Vachon xvachon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|D3D10 : Missing function |Assassin's Creed's DX10 |D3D10CompileShader |version does not work.
--- Comment #5 from Xavier Vachon xvachon@gmail.com 2010-11-04 14:28:59 CDT --- Editing bug title to reflect the actual state of the bug.
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #6 from Berillions berillions@gmail.com 2011-09-10 04:18:29 CDT --- Created an attachment (id=36311) --> (http://bugs.winehq.org/attachment.cgi?id=36311) Assassin's Creed Dx10 crash log
I don't know if this log can help to resolv this bug.
In this log, you can see that there are differents functions which are not implemented. (Like d3d10_device_CheckMultisampleQualityLevels)
Install d3dx10 with winetricks don't resolve the problem. I have always the same error message.
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #7 from Fernando Martins fernando@cmartins.nl 2012-04-08 08:19:27 CDT --- Created attachment 39724 --> http://bugs.winehq.org/attachment.cgi?id=39724 log with wine 1.5.1
GoG has just released AC without DRM. I tried DX10's version and it still dies at the same place. The log is somewhat different, less error messages in essence.
http://bugs.winehq.org/show_bug.cgi?id=24013
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #36311|0 |1 is obsolete| |
--- Comment #8 from Berillions berillions@gmail.com 2012-08-03 11:24:39 CDT --- Created attachment 41253 --> http://bugs.winehq.org/attachment.cgi?id=41253 AC Dx10 with Wine 1.5.10
Good news,
With Wine 1.5.10, when you launch the game with AssassinsCreed_Dx10, wine does not crash like in my previous attachments(the game does not work too).
In fact, in the output console, there are more message like : "fixme:d3d_shader:shader_sm4_read_comment ptr 0x37be644, comment 0x37be648, comment_size 0x37be64c stub! fixme:d3d_shader:shader_sm4_read_opcode Unrecognized opcode 0x46, token 0x00107e46"
http://bugs.winehq.org/show_bug.cgi?id=24013
felix moreno info@justdust.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |info@justdust.es
--- Comment #9 from felix moreno info@justdust.es 2012-11-05 04:23:01 CST --- I have the same problem using a optimus card using the internal intel. With the external nvidia dx9 and dx10 doesn't work.
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #10 from Berillions berillions@gmail.com 2013-08-16 16:22:42 CDT --- Created attachment 45637 --> http://bugs.winehq.org/attachment.cgi?id=45637 AC_Dx10 crash with wine 1.7.0
New crash log when i launch the game with the Dx10 executable. The crash come from "dxgi" and i don't know which debug channel i can use to get to get more informations.
http://bugs.winehq.org/show_bug.cgi?id=24013
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |endercraft4@gmail.com
--- Comment #11 from GyB gyebro69@gmail.com --- *** Bug 35297 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #12 from Anastasius Focht focht@gmx.net --- Created attachment 47510 --> http://bugs.winehq.org/attachment.cgi?id=47510 AssassinsCreed_Dx10.exe crash
Hello folks,
confirming. There is some progress due to recent commits.
There are lots of d3d10/shader stub/fixme messages.
I debugged the current crash ultimately being caused by d3d10_shader_reflection_GetConstantBufferByIndex() stub but probably the harm has already been done earlier due to other DX10 insufficiencies.
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/bb173761%28v=vs.85%2...
The returned ID3D10EffectConstantBuffer iface ptr is NULL hence the crash on dereference.
Regards
http://bugs.winehq.org/show_bug.cgi?id=24013
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|Assassin's Creed's DX10 |Assassin's Creed (DX10) |version does not work. |crashes | |(ID3D10Effect::GetConstantB | |ufferByIndex is a stub) Ever confirmed|0 |1
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary ...
It might be useful to target specific stubs even with DX10 being WIP at large. Still better than having those DX10 'meta' bugs or bug recycling (happened here too, unfortunately).
Regards
https://bugs.winehq.org/show_bug.cgi?id=24013
John the.ideals@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |the.ideals@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #14 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.51 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
NOTE: You need to disable 'd3d10_1.dll' now (different issue).
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Ubisoft/Assassin's Creed
$ WINEDLLOVERRIDES=d3d10_1=d wine ./AssassinsCreed_Dx10.exe ... fixme:d3d_shader:shader_sm4_read_instruction Unrecognized opcode 0x65, opcode_token 0x03000065. fixme:d3d_shader:shader_sm4_read_instruction Unrecognized opcode 0x5a, opcode_token 0x0300005a. fixme:d3d_shader:shader_sm4_read_instruction Unrecognized opcode 0x5a, opcode_token 0x0300005a. fixme:d3d_shader:shader_sm4_read_instruction Unrecognized opcode 0x68, opcode_token 0x02000068. fixme:d3d_shader:shader_sm4_read_src_param Unhandled swizzle type 0. fixme:d3d_shader:shader_sm4_read_src_param Unhandled swizzle type 0. fixme:d3d10:D3D10ReflectShader data 0x167f328, data_size 1104, reflector 0x7f390ce4 stub! fixme:d3d10:d3d10_shader_reflection_GetDesc iface 0x1ce4c8, desc 0x385e5d8 stub! fixme:d3d10:d3d10_shader_reflection_GetConstantBufferByIndex iface 0x1ce4c8, index 0 stub! wine: Unhandled page fault on read access to 0x00000000 at address 0x89203d (thread 0034), starting debugger... --- snip ---
$ wine --version wine-1.7.51-102-ga7e294c
Regards
https://bugs.winehq.org/show_bug.cgi?id=24013
Gerry genephills@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |genephills@yahoo.com
--- Comment #16 from Gerry genephills@yahoo.com --- As on Ubuntu 14.04 both 32 bit and 64 bit and wine from repository (1.6) AC game works great.
It displays messages regarding ID3D10Effect::GetConstantBufferByIndex function but no crash. This just useless to have this bug "open". Thanks..
https://bugs.winehq.org/show_bug.cgi?id=24013
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #17 from super_man@post.com --- (In reply to Gerry from comment #16)
As on Ubuntu 14.04 both 32 bit and 64 bit and wine from repository (1.6) AC game works great.
It displays messages regarding ID3D10Effect::GetConstantBufferByIndex function but no crash. This just useless to have this bug "open". Thanks..
You are more likely running somehow the dx9 version of the game. The game contains 2 exe files. Also your wine version is so outdated that its not even supported anymore.
https://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #18 from Gerry genephills@yahoo.com --- Yes, Dx9 version. I am sorry for posting this, did not mentioned "Dx10" in bug description.
Speaking of wine1.6, it's repository version for most popular ubuntu version 14.04 at the moment, but i use 1.8 already.
Sorry!
https://bugs.winehq.org/show_bug.cgi?id=24013
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isakov-sl@bk.ru
--- Comment #19 from Sergey Isakov isakov-sl@bk.ru --- I confirm these bug with application Nvidia Demo:Cascades, wine-1.9.1-197-gd1841f4 ~~~~ fixme:d3d10:D3D10ReflectShader data 0x9d3b10, data_size 988, reflector 0x33e2a8 stub! fixme:d3d10:d3d10_shader_reflection_GetDesc iface 0x2c91a50, desc 0x33e234 stub! fixme:d3d10:d3d10_shader_reflection_GetConstantBufferByIndex iface 0x2c91a50, index 0 stub! wine: Unhandled page fault on read access to 0x00000000 at address 0x4b24e2 (thread 003d), starting debugger... ~~~
https://bugs.winehq.org/show_bug.cgi?id=24013
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com, | |winetest@luukku.com
https://bugs.winehq.org/show_bug.cgi?id=24013
Andrew Wesie awesie@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |awesie@gmail.com
--- Comment #20 from Andrew Wesie awesie@gmail.com --- Still present on wine 3.18.
Using native d3dcompiler and modifying the D3D10ReflectShader stub to call D3DReflect (which is implemented in the native d3dcompiler), the DX10 version of the game works correctly.
https://bugs.winehq.org/show_bug.cgi?id=24013
--- Comment #21 from Andrew Wesie awesie@gmail.com --- Created attachment 62542 --> https://bugs.winehq.org/attachment.cgi?id=62542 Patch to forward D3D10ReflectShader to d3dcompiler.
Forwards to d3dcompiler. Native version of the dll is able to correctly handle this, but the Wine version will fail because it does not implement IID_ID3D10ShaderReflection.
https://bugs.winehq.org/show_bug.cgi?id=24013
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=24013
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |13a5a3cadcca4914f63268ab7a7 | |c1cfb2382e332 Status|NEW |RESOLVED Summary|Assassin's Creed (DX10) |Assassin's Creed (DX10) |crashes |crashes |(ID3D10Effect::GetConstantB |(ID3D10ShaderReflection::Ge |ufferByIndex is a stub) |tConstantBufferByIndex is a | |stub)
--- Comment #22 from Matteo Bruni matteo.mystral@gmail.com --- This one should have been fixed by https://source.winehq.org/git/wine.git/commitdiff/13a5a3cadcca4914f63268ab7a7c1cfb2382e332, thank you Connor!
https://bugs.winehq.org/show_bug.cgi?id=24013
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
--- Comment #23 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 43042 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=24013
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.4.