http://bugs.winehq.org/show_bug.cgi?id=25857
Summary: Stronghold 2 v1.4 and v1.4.1 hangs up with ID3DXEffectImpl_*Pass calls Product: Wine Version: 1.3.12 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx9 AssignedTo: wine-bugs@winehq.org ReportedBy: alexander255@lavabit.com CC: wine-bugs@winehq.org
In certain menus and after some videos Stronghold 2 seams to get into an endless loop and does not respond anymore, the sound however is still working while the following text is dispalyed in the console window over and over again: fixme:d3dx:ID3DXEffectImpl_EndPass (0xfd57480)->(): stub fixme:d3dx:ID3DXEffectImpl_BeginPass (0xfd57480)->(47291): stub fixme:d3dx:ID3DXEffectImpl_EndPass (0xfd57480)->(): stub fixme:d3dx:ID3DXEffectImpl_BeginPass (0xfd57480)->(47292): stub Note that the returned number of ID3DXEffectImpl_BeginPass (the one without 0x) increases by one every time a block of these messages is displayed.
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #1 from Austin English austinenglish@gmail.com 2011-01-22 17:56:16 CST --- Does 'winetricks d3dx9' help?
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #2 from Alexander alexander255@lavabit.com 2011-01-22 18:19:15 CST --- Created an attachment (id=32950) --> (http://bugs.winehq.org/attachment.cgi?id=32950) crash
Stronghold 2 crashes after installing "d3dx9" with winetricks
http://bugs.winehq.org/show_bug.cgi?id=25857
Alexander Schlarb alexander255@lavabit.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #32950|new file (copy) |crash.txt filename| |
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #3 from Rico kgbricola@web.de 2011-02-11 09:24:59 CST --- Does the demo (http://www.gamershell.com/download_17186.shtml) have the same problem?
What's your graphics card? It looks like you are using an intel card, so the crash might be card specific.
In the appdb someone said it is working (http://appdb.winehq.org/objectManager.php?sClass=version&iId=21080). Could you try wine 1.2 and check if it is a regression?
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #4 from Alexander Schlarb alexander255@lavabit.com 2011-02-12 13:03:03 CST --- (In reply to comment #3)
Does the demo (http://www.gamershell.com/download_17186.shtml) have the same problem?
The demo version shows a lot of these messages while loading:
fixme:d3d:wined3d_get_format Can't find format unrecognized (0x36315220) in the format lookup table fixme:d3d:debug_d3dformat Unrecognized 0x36314c41 (as fourcc: AL16) WINED3DFORMAT!
and also crashes when loading the game.
What's your graphics card? It looks like you are using an intel card, so the crash might be card specific.
Yes, it's an Intel GMA (can't find the revision anywhere...)
In the appdb someone said it is working (http://appdb.winehq.org/objectManager.php?sClass=version&iId=21080). Could you try wine 1.2 and check if it is a regression?
I get the exact same problems with wine 1.2
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #5 from Rico kgbricola@web.de 2011-09-25 09:40:52 CDT --- I tried the demo version.
You need to raise ulimit for files (see http://appdb.winehq.org/objectManager.php?sClass=version&iId=21080 ). The demo ships it's own version of the d3dx9_27.dll, normally the game works with that. If that's not the case it's probably a bug in the intel driver. With nvidia it works fine here.
The game uses asci effects, so it could be a while til it works. fixme:d3dx:D3DXCreateEffectEx (0x1380e8, 0x3d0000, 3412, 0x456d678, (nil), (nil), 0, 0x4e0ba18, 0x36ff180, 0x36ff154): semi-stub fixme:d3dx:d3dx9_base_effect_init HLSL ascii effects not supported, yet
http://bugs.winehq.org/show_bug.cgi?id=25857
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |wylda@volny.cz Ever Confirmed|0 |1
--- Comment #6 from Wylda wylda@volny.cz 2012-07-15 05:11:10 CDT ---
NFS MW (Need for Speed Most Wanted) _works_fine_ with native D3D, but setting d3dx9_26 to builtin makes the game displaying just color squares. With builtin d3dx9_26.dll console displays tons of:
fixme:d3dx:ID3DXEffectImpl_BeginPass No states applied, yet! fixme:d3dx:ID3DXEffectImpl_CommitChanges (0x1ae538)->(): stub fixme:d3dx:ID3DXEffectImpl_BeginPass No states applied, yet! fixme:d3dx:ID3DXEffectImpl_End (0x1ae538)->(): stub fixme:d3dx:ID3DXEffectImpl_Begin iface 0x1ae538, passes 0x33fc1c, flags 0 partial stub
Tested under wine-1.5.8-160-g8613d5e.
http://bugs.winehq.org/show_bug.cgi?id=25857
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |essention@gmail.com
--- Comment #7 from Austin English austinenglish@gmail.com 2013-06-25 19:18:54 CDT --- *** Bug 15904 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=25857
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xvachon@gmail.com
--- Comment #8 from Austin English austinenglish@gmail.com 2013-06-25 19:19:01 CDT --- *** Bug 25260 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=25857
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.goosev@gmail.com
--- Comment #9 from Austin English austinenglish@gmail.com 2013-06-25 19:19:10 CDT --- *** Bug 33864 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=25857
Johan Gardhage johan.gardhage@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johan.gardhage@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=25857
Alexey Loukianov mooroon2@mail.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mooroon2@mail.ru
http://bugs.winehq.org/show_bug.cgi?id=25857
russianneuromancer@ya.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |russianneuromancer@ya.ru
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #10 from Andrey Gusev andrey.goosev@gmail.com 2013-07-21 07:15:22 CDT --- FIFA 13 demo affected.
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #11 from Maksim Melnikau maxposedon@gmail.com 2013-11-04 05:29:09 CST --- Created attachment 46452 --> http://bugs.winehq.org/attachment.cgi?id=46452 wot-wine174.log
World of Tanks running on wine-1.7.4 also affected
fixme:d3dx:D3DXCreateEffectEx (0x3b762c8, 0x5a30398, 33920, 0x5a12170, 0x59ee668, (nil), 0x10000, 0x386ebd0, 0x33e844, 0x33e848): semi-stub fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000017 fixme:d3dx:d3dx9_copy_data Object already initialized! fixme:d3dx:d3dx9_copy_data Object already initialized! fixme:d3dx:d3dx9_copy_data Object already initialized! fixme:d3dx:d3dx9_parse_resource Unknown usage 2 fixme:d3dx:d3dx9_base_effect_init Failed to parse effect. fixme:d3dx:d3dx9_effect_init Failed to parse effect, hr 0x80004005.
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #12 from Maksim Melnikau maxposedon@gmail.com 2013-11-04 05:30:17 CST --- Created attachment 46453 --> http://bugs.winehq.org/attachment.cgi?id=46453 wot_warn_all_wine174.log
another log with WINEDEBUG=warn+all.log
http://bugs.winehq.org/show_bug.cgi?id=25857
Maksim Melnikau maxposedon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maxposedon@gmail.com
--- Comment #13 from Maksim Melnikau maxposedon@gmail.com 2013-11-04 05:30:57 CST --- ... with WINEDEBUG=all+warn
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #14 from Andrey Gusev andrey.goosev@gmail.com --- *** Bug 34482 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #15 from Andrey Gusev andrey.goosev@gmail.com --- *** Bug 34981 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=25857
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hibbsncc1701@yahoo.com
--- Comment #16 from Anastasius Focht focht@gmx.net --- *** Bug 36579 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #17 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=25857
russianneuromancer@ya.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|russianneuromancer@ya.ru |
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #18 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Austin English from comment #17)
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?
Yes.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #19 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 34118 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=25857
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://download.chip.eu/en/ | |Demo-Need-for-Speed-Carbon_ | |103234.html Summary|Stronghold 2 v1.4 and |Multiple games (Stronghold |v1.4.1 hangs up with |2, Need for Speed: Carbon |ID3DXEffectImpl_*Pass calls |demo, Purge) fail to draw | |correctly because of | |ID3DXEffectImpl_*Pass calls
https://bugs.winehq.org/show_bug.cgi?id=25857
gamiljydcome@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gamiljydcome@gmail.com
--- Comment #20 from gamiljydcome@gmail.com --- I tested some of 3d games in wine 1.8rc1 works fine using native d3d such as d3dx9_24.dll, d3dx9_36.dll etc, and i retested these games with built-in d3d libs, all of them renderring totally wrong 3d scenes.
Console output almost repeating these same info so i found this bug post:
fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: (effect.c) fixme:d3dx:skip_dword_unknown 0x00000021 fixme:d3dx:d3dx9_parse_array_selector Parse preshader. fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x0000004a fixme:d3dx:D3DXLoadSurfaceFromMemory Unhandled filter 0x80004. (surface.c) fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000007 fixme:d3dx:ID3DXEffectImpl_BeginPass No states applied, yet! (effect.c)
It looks like ID3DXEffectImpl_BeginPass still unimplement, skip_dword_unknown 0x00000021, 0x0000004a etc also?
I'd like to use wine built-in d3d libs just if possible, i think built-in impl directly using more effective opengl calls will make d3d apps running more faster.
https://bugs.winehq.org/show_bug.cgi?id=25857
Lorenzo Ferrillo lorenzofer@live.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lorenzofer@live.it
--- Comment #21 from Lorenzo Ferrillo lorenzofer@live.it --- An issue also for Oblivion Reloded (game patch for TES4 Oblivion) post processing effects.
fixme:d3dx:ID3DXEffectImpl_Begin State capturing not supported, yet! fixme:d3dx:ID3DXEffectImpl_BeginPass No states applied, yet! fixme:d3dx:ID3DXEffectImpl_End State restoring not supported, yet!
Simply the post processing effects are not applied.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #22 from Paul Gofman gofmanp@gmail.com --- Created attachment 53845 --> https://bugs.winehq.org/attachment.cgi?id=53845 Preshaders in effects implementation
Can someone interested please test (some of) these games with this patch applied on top of Wine 1.9.5? I am testing this patch now and it would be great if someone can run it on these games. I mean the games which were failing with "fixme:d3dx:ID3DXEffectImpl_Begin State capturing not supported, yet! fixme:d3dx:ID3DXEffectImpl_End State restoring not supported, yet!" (in unpatched Wine 1.9.5. the games most likely will fail nearly the same way but with different FIXMEs).
If the game is currently failing with "fixme:d3dx:d3dx9_base_effect_init Failed to parse effect.", then this patch won't help, it is not related.
Messages like in #Comment11 are mostly harmless, at least they are not showstoppers for trying this patch.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #23 from Paul Gofman gofmanp@gmail.com --- (In reply to Paul Gofman from comment #22)
Messages like in #Comment11 are mostly harmless, at least they are not showstoppers for trying this patch.
Sorry, here should go #comment20 instead of 11, these ones are harmless or supposed to be fixed by 1.9.5 + the patch:
fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: (effect.c) fixme:d3dx:skip_dword_unknown 0x00000021 fixme:d3dx:d3dx9_parse_array_selector Parse preshader. fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x0000004a fixme:d3dx:D3DXLoadSurfaceFromMemory Unhandled filter 0x80004. (surface.c) fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000007 fixme:d3dx:ID3DXEffectImpl_BeginPass No states applied, yet!
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #24 from Paul Gofman gofmanp@gmail.com --- Created attachment 53869 --> https://bugs.winehq.org/attachment.cgi?id=53869 Patch fixing F.E.A.R. with Wine builtin d3dx
I've tested demo version of F.E.A.R. game (listed somewhere in the bugs which depend on this one; downloaded from here: http://files.downloadnow.com/s/software/10/42/42/12/fear_spdemo_en.exe?token...). It finally worked for me with preshader implementation attached previously, but after a few more unrelated fixes to d3dx, namely: - SetValue support for setting texture; - IsParameterUsed returning true; - support for shared parameters in effects.
I am attaching a cumulative patch (which includes preshaders and all these fixes) in case someone will want to test it (or some other game).
https://bugs.winehq.org/show_bug.cgi?id=25857
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #25 from super_man@post.com --- (In reply to Paul Gofman from comment #24)
Created attachment 53869 [details] Patch fixing F.E.A.R. with Wine builtin d3dx
I've tested demo version of F.E.A.R. game (listed somewhere in the bugs which depend on this one; downloaded from here: http://files.downloadnow.com/s/software/10/42/42/12/fear_spdemo_en. exe?token=1457229670_70c9eb8ee8b35503ff658e0c494fc06b&fileName=fear_spdemo_en .exe). It finally worked for me with preshader implementation attached previously, but after a few more unrelated fixes to d3dx, namely:
- SetValue support for setting texture;
- IsParameterUsed returning true;
- support for shared parameters in effects.
I am attaching a cumulative patch (which includes preshaders and all these fixes) in case someone will want to test it (or some other game).
Your patch doesnt apply cleanly anymore, but most of the stuff applies.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53845|0 |1 is obsolete| |
--- Comment #26 from Paul Gofman gofmanp@gmail.com --- Created attachment 53955 --> https://bugs.winehq.org/attachment.cgi?id=53955 Patch fixing F.E.A.R. with Wine builtin d3dx (for git of 15 Mar 2016)
(In reply to super_man from comment #25)
Your patch doesnt apply cleanly anymore, but most of the stuff applies.
I am attaching an updated patch which can be applied on top of the current git.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #34 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #33)
I used 2> to catch only the standard error that wine use to print its messages. Also becose probably dued to another wine bug, the message from obse_loader and its plugins should be only logged in specified files, instead they are also be printed in the standard output, dirtying it.
You log is OK now, thanks. I already see a relevant line there:
fixme:d3dx:parse_pres_ins Unknown opcode 0x105, raw 0x10500001.
I will find out what this opcode is and update the patch with it early next week. It would be great if you will be able to retest it with the new patch then.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #27 from Lorenzo Ferrillo lorenzofer@live.it --- After wine 1.9.5 and 1.9.6 Oblivion Reloaded can apply the effects, but they aren't applied correctly for missiong preshader and constant settings.
With the patch you provided it give another error:
fixme:d3dx:d3dx_set_shader_const_fxlc Preshader structure is null.
And the effects are still not properly applyed, I have a full blank ,or pink image, whle before I had full blurred images in exteriors and black with red rendering in interiors
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #28 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #27)
After wine 1.9.5 and 1.9.6 Oblivion Reloaded can apply the effects, but they aren't applied correctly for missiong preshader and constant settings.
With the patch you provided it give another error:
fixme:d3dx:d3dx_set_shader_const_fxlc Preshader structure is null.
Thank you for testing this. Could you please provide an output for such run (with my patches applied) with WINEDEBUG=+d3dx? Even if it is big (hundreds of MB) it should be very good compressed by gzip or 7z. I am preparing these patches for upstream, and the error most likely means that it encountered something unsupported in preshader parsing (what exactly might be evident from a full log).
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #29 from Lorenzo Ferrillo lorenzofer@live.it --- Created attachment 53995 --> https://bugs.winehq.org/attachment.cgi?id=53995 log of obse_loader.exe with d3dx debug and Oblivion Reloaded active
logged with "WINDEDEBUG=+d3dx wine obse_loader.exe 2> wine.txt"
With Oblivion Reloaded active.
quartz error can be ignored, they happen in the base unmodded game aswell.
If it may interst you these are the main page of Oblivion Reloaded: http://www.nexusmods.com/oblivion/mods/45749/
and the source code aswell: https://github.com/Alenett/Oblivion-Reloaded-Source
in particular the file with the code to manage effects: https://github.com/Alenett/Oblivion-Reloaded-Source/blob/master/EffectManage...
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #30 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #29)
Created attachment 53995 [details] log of obse_loader.exe with d3dx debug and Oblivion Reloaded active
logged with "WINDEDEBUG=+d3dx wine obse_loader.exe 2> wine.txt"
With Oblivion Reloaded active.
quartz error can be ignored, they happen in the base unmodded game aswell.
If it may interst you these are the main page of Oblivion Reloaded: http://www.nexusmods.com/oblivion/mods/45749/
and the source code aswell: https://github.com/Alenett/Oblivion-Reloaded-Source
in particular the file with the code to manage effects: https://github.com/Alenett/Oblivion-Reloaded-Source/blob/master/ EffectManager.cpp
It looks like your log file is empty (2 bytes in length). Probably it is due to the mistyped redirection, I suggest you use something like "WINDEDEBUG=+d3dx wine obse_loader.exe >& wine.txt"
If this game has a demo or can be freely downloaded I would look at it directly. I would be grateful if you could point me to somewhere where I can download this game or demo binaries. I think I do not really need its source code but rather a working executable and all the stuff needed to run & reproduce the problem.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #31 from Paul Gofman gofmanp@gmail.com --- (In reply to Paul Gofman from comment #30)
It looks like your log file is empty (2 bytes in length). Probably it is due to the mistyped redirection, I suggest you use something like "WINDEDEBUG=+d3dx wine obse_loader.exe >& wine.txt"
It is also misspelled WINEDEBUG in both your message and my reply (I copypasted it from yours), the correct line is:
WINEDEBUG=+d3dx wine obse_loader.exe >& wine.txt
https://bugs.winehq.org/show_bug.cgi?id=25857
Lorenzo Ferrillo lorenzofer@live.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53995|0 |1 is obsolete| |
--- Comment #32 from Lorenzo Ferrillo lorenzofer@live.it --- Created attachment 53996 --> https://bugs.winehq.org/attachment.cgi?id=53996 New log for Oblivion Reloaded
No the log was full, something was wrong during the upload. I'm ahving issue with surfing bugzilla, but let's try again.
The game is not free and has no demo. It is The Elder Scroll 4 Oblivion. (I'm testing with the retail but I suspect that the steam version should have the same issues) The game itself work perfectly.
The issue is when using Oblivion Reloaded, an obse plugin that change game code in memory allowing some features, that are impossible to obtain in other ways.
Do reproduce you must have: TES4 Oblivion (there is no demo unluckly but it is a 2006 game), the Oblivion Script Extender (free and open source can be downloaded from obse.silverlock.org), an injector that extend Oblivion capabilities, and load others plugins. And Oblivion Reloaded(downloadable for the nexusmods link I provided) with some post processing effects active as godrays. Shaders replacement only works fine.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #33 from Lorenzo Ferrillo lorenzofer@live.it --- P.S obviously the DEDEBUG in the previous message was a typo I committed when I was posting in bugzilla. I spelled it correctly when I was typing the command in the shell.
(Bugzilla should really allow to edit at least the last post)
I used 2> to catch only the standard error that wine use to print its messages. Also becose probably dued to another wine bug, the message from obse_loader and its plugins should be only logged in specified files, instead they are also be printed in the standard output, dirtying it.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #35 from Lorenzo Ferrillo lorenzofer@live.it --- Sure, University allowing.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53869|0 |1 is obsolete| | Attachment #53955|0 |1 is obsolete| |
--- Comment #36 from Paul Gofman gofmanp@gmail.com --- Created attachment 54011 --> https://bugs.winehq.org/attachment.cgi?id=54011 updated patch for testing
Added 'exp' opcode to preshader (required for Oblivion Reloaded).
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #37 from Lorenzo Ferrillo lorenzofer@live.it --- With the last patch the effects seem to be applied correctly.
Now I'm getting this fixme multiple times : fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Generation of mipmaps for compressed pixel formats is not implemented yet.
but it doesn't seem to be related to effects processings.
Great Work!
https://bugs.winehq.org/show_bug.cgi?id=25857
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isakov-sl@bk.ru
--- Comment #38 from Sergey Isakov isakov-sl@bk.ru --- I tested the game F.E.A.R. SP demo and confirm the bug. Black screen with pure wine-hq. With the patch by Paul Gofman from comment 36 the game works almost fine. I see no artefacts. The log full of fixme like ~~~~ fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0x20451b58)->(0x20452ea0): stub fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000009 fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0x20821a00)->(0x208233c8): stub fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x0000000d fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0x20825860)->(0x20828090): stub fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x0000000a fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0x2082b580)->(0x2082d820): stub fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x0000000e fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0x20831870)->(0x20834918): stub ~~~ with different codes 0 - 3f. Graphicks in game set to Middle as I have low end Nvidia 7300LE. Playable.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #39 from Paul Gofman gofmanp@gmail.com --- (In reply to Sergey Isakov from comment #38)
I tested the game F.E.A.R. SP demo and confirm the bug. Black screen with pure wine-hq. With the patch by Paul Gofman from comment 36 the game works almost fine. I see no artefacts. The log full of fixme like
Thanks for testing this. You say the game work almost fine, could you please specify what is under "almost" :)? Did you notice any difference in rendering compared to using native d3dx9? If yes, do you know a sure way to reproduce it?
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #40 from Sergey Isakov isakov-sl@bk.ru --- With wine-staging black screen with additional messages ~~~~ fixme:d3dx:ID3DXEffectImpl_IsParameterUsed (0x3f3b918)->(0x3f3eca8, 0x3f41020): stub fixme:d3dx:ID3DXEffectImpl_IsParameterUsed (0x3f3b918)->(0x3f3eca8, 0x3f41034): stub fixme:d3dx:ID3DXEffectImpl_IsParameterUsed (0x3f3b918)->(0x3f3eca8, 0x3f41048): stub fixme:d3dx:ID3DXEffectImpl_IsParameterUsed (0x3f3b918)->(0x3f3eca8, 0x3f4105c): stub ~~~~
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #41 from Sergey Isakov isakov-sl@bk.ru --- (In reply to Paul Gofman from comment #39)
(In reply to Sergey Isakov from comment #38)
I tested the game F.E.A.R. SP demo and confirm the bug. Black screen with pure wine-hq. With the patch by Paul Gofman from comment 36 the game works almost fine. I see no artefacts. The log full of fixme like
Thanks for testing this. You say the game work almost fine, could you please specify what is under "almost" :)? Did you notice any difference in rendering compared to using native d3dx9? If yes, do you know a sure way to reproduce it?
No, I played few minutes and I found no differences compared to native d3dx9_25 or 36.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #42 from super_man@post.com --- Your source is missing FindNextValidTechnique
https://github.com/wine-compholio/wine-staging/tree/master/patches/d3dx9_36-...
But it's so related to your patch that maybe you should merge it and give credits to Costa.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #43 from Paul Gofman gofmanp@gmail.com --- (In reply to super_man from comment #42)
Your source is missing FindNextValidTechnique
https://github.com/wine-compholio/wine-staging/tree/master/patches/d3dx9_36- FindNextValidTechnique
But it's so related to your patch that maybe you should merge it and give credits to Costa.
I am not sure it is directly related, it is a distinct issue. Current stub returning E_NOTIMPLEMENTED gives the apps depending on FindNextValidTechnique no chance to work. That patch will allow many of such apps to run normally (though alone it will not provide a complete implementation as it reasonably relies on ValidateTechnique which is still a stub returning OK).
BTW is there any reason why this patch is not suggested upstream and stays in staging since 2014?
I suppose that if this patch is required to run or test some games (which is clear as they should have FindNextValidTechnique FIXME in output) it should be easy (after you gave a reference to it) to apply it independently. Or apply my test.patch on staging. That patch is already maintained in Staging, so it should be applied cleanly.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #44 from Lorenzo Ferrillo lorenzofer@live.it --- @Paul Gofman
Is the patch included in the last wine 1.9.7 version?
If not it is possible to apply the patch on the current wine source?
If it is, why this bug is not marked as fixed?
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #45 from super_man@post.com --- (In reply to Lorenzo Ferrillo from comment #44)
@Paul Gofman
Is the patch included in the last wine 1.9.7 version?
If not it is possible to apply the patch on the current wine source?
If it is, why this bug is not marked as fixed?
It's not merged into 1.9.7 version of wine. There were some issues other developers pointed out. If he keeps fixing the issues and resending the patches they might land in next release of 1.9.8. I cant promise on his behalf but he already has done a lot work towards these patches.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54011|0 |1 is obsolete| |
--- Comment #46 from Paul Gofman gofmanp@gmail.com --- Created attachment 54133 --> https://bugs.winehq.org/attachment.cgi?id=54133 updated patch for testing
(In reply to Lorenzo Ferrillo from comment #44)
@Paul Gofman
Is the patch included in the last wine 1.9.7 version?
If not it is possible to apply the patch on the current wine source?
If it is, why this bug is not marked as fixed?
I am updating testing patchset to be suitable for 1.9.7.
This testing patch is actually a collection of several and not fully related patches, all concerning effects implementation. The first few patches are related to preshaders implementation and some part of it is already upstream but not the major part yet. Until then the upstream version is not really functional without this patch.
Besides there is some shared parameters (effect pools) implementation. I am not sure if I will be suggesting this part upstream at all but I am putting it here to make the whole thing more suitable for testing as many games depend on this functionality.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #47 from Lorenzo Ferrillo lorenzofer@live.it --- Is this applicable on the top of wine-staging patches, or is possible to apply wine-staging after this patch?
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #48 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #47)
Is this applicable on the top of wine-staging patches, or is possible to apply wine-staging after this patch?
It should be applicable with wine-staging, either before or after. I did not test with the very latest wine-staging though, but most likely it is still ok.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #52 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #51)
...I am a bit confused with "IsParameterUsed" stub FIXME as my test patch here adds a real implementation...
Probably the reason is, that i used only patches waiting in the patches queue, not the one attached in comment 46.
Oh, I see, it is actually clear from your initial message but I did not realize that, sorry.
I could use -O2 build and provide the log.
That would be really helpful. Seeing the log for the every other app is useful at this stage as it may reveal some bug in the currently implemented features under testing or reveal which non implemented features are mostly used by the apps.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #49 from Wylda wylda@volny.cz --- Hi Paul, i gave a try to your 6 patches version 9 on top of vanilla wine-1.9.7 and "The Witcher Enhanced Edition Director's Cut" _intro_ works great vs. black screen on vanilla wine.
The Witcher's game menu isn't displayed correctly (missing background image + missing effect when hovering above for example "New Game"). But that's probably unrelated to this bug?? Game console shows at that time (duplicates omitted):
fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Generation of mipmaps for compressed pixel formats is not implemented yet. fixme:d3dx:D3DXLoadSurfaceFromMemory Format conversion missing 0x35545844 -> 0x35545844 fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Texture loading failed. fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000006 fixme:d3dx:d3dx9_copy_data Object already initialized! fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0xe72d4c0)->(0xe7303f0): stub fixme:d3dx:d3dx9_base_effect_get_desc partial stub! fixme:d3dx:ID3DXEffectImpl_IsParameterUsed iface 0xe72d4c0, parameter 0xe7300f0, technique 0xe7303f0 stub.
Thank you for your patient work!
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #50 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #49)
Hi Paul, i gave a try to your 6 patches version 9 on top of vanilla wine-1.9.7 and "The Witcher Enhanced Edition Director's Cut" _intro_ works great vs. black screen on vanilla wine.
The Witcher's game menu isn't displayed correctly (missing background image
- missing effect when hovering above for example "New Game"). But that's
probably unrelated to this bug?? Game console shows at that time (duplicates omitted):
fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Generation of mipmaps for compressed pixel formats is not implemented yet. fixme:d3dx:D3DXLoadSurfaceFromMemory Format conversion missing 0x35545844 -> 0x35545844 fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Texture loading failed. fixme:d3dx:skip_dword_unknown Skipping 1 unknown DWORDs: fixme:d3dx:skip_dword_unknown 0x00000006 fixme:d3dx:d3dx9_copy_data Object already initialized! fixme:d3dx:ID3DXEffectImpl_ValidateTechnique (0xe72d4c0)->(0xe7303f0): stub fixme:d3dx:d3dx9_base_effect_get_desc partial stub! fixme:d3dx:ID3DXEffectImpl_IsParameterUsed iface 0xe72d4c0, parameter 0xe7300f0, technique 0xe7303f0 stub.
Thank you for your patient work!
Thank you for testing this. I am a bit confused with "IsParameterUsed" stub FIXME as my test patch here adds a real implementation for this function and there should be no such FIXME in the code anymore. Could you please check if the patch was fully applied and if you are using the version of Wine built with the patch? Regarding the problem you pointed, failure to create the texture looks like enough reason to have anything rendered in black, and this issue is not related to effects implementation. Still it would be great if you could attach an output with WINEDEBUG=+d3dx (after checking the correctness of patch usage), I would check if there are some evident non-implememented effect related features used.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #51 from Wylda wylda@volny.cz ---
...I am a bit confused with "IsParameterUsed" stub FIXME as my test patch here adds a real implementation...
Probably the reason is, that i used only patches waiting in the patches queue, not the one attached in comment 46.
I noticed, that even if patch from comment 46 is applied on a clean wine-1.9.7 source and it is applied cleanly, it does not build with -O0:
../../tools/winegcc/winegcc -o d3dx9_36.dll.so -B../../tools/winebuild -m32 -fasynchronous-unwind-tables -shared ../../../wine_git_build/dlls/d3dx9_36/d3dx9_36.spec \ animation.o core.o d3dx9_36_main.o effect.o font.o line.o math.o mesh.o preshader.o render.o \ shader.o skin.o sprite.o surface.o texture.o util.o volume.o xfile.o version.res -ld3d9 \ -ld3dcompiler ../../dlls/dxguid/libdxguid.a -ld3dxof -lole32 -lgdi32 -luser32 \ ../../libs/port/libwine_port.a effect.o: In function `walk_parameter_tree': /build/wine_git_build_32/dlls/d3dx9_36/../../../wine_git_build/dlls/d3dx9_36/effect.c:3687: undefined reference to `is_type_sampler' effect.o: In function `walk_state': /build/wine_git_build_32/dlls/d3dx9_36/../../../wine_git_build/dlls/d3dx9_36/effect.c:3741: undefined reference to `is_type_sampler' collect2: error: ld returned 1 exit status
With -O2 it build fine.
...Still it would be great if you could attach an output with WINEDEBUG=+d3dx (after checking the correctness of patch usage), I would check if there are some evident non-implememented effect related features used.
I could use -O2 build and provide the log. But do you still want to check it, when you know, that initially i didn't use the patch from comment 46 (i.e. patches 07..11 were missing)? If useful, I'll gladly provide that.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #53 from Wylda wylda@volny.cz ---
Here you are console_witcher_debug_d3dx.txt.bz2 (compressed 25MB, uncompressed 5GB - whole intro which used to be black without your patch):
https://docs.google.com/uc?id=0B0P6Qsjr9RYFZWJ5NXZycXFvT0E&export=downlo...
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #54 from Wylda wylda@volny.cz ---
Here you are: "console_fifa_2011_demo_debug_d3dx.txt.bz2" (compressed 7MB, uncompressed 870MB):
https://docs.google.com/uc?id=0B0P6Qsjr9RYFQUFxRF9tWnVjdkk&export=downlo...
Rendering is not correct, but this may be unrelated to your work. Tested under current wine-1.9.7-118-gaaddf13 + 4 patches from patch-queue (v10) + rest of patches from comment 46 (07 + 08 + 09 + 10 + 11).
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #55 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #54)
Here you are: "console_fifa_2011_demo_debug_d3dx.txt.bz2" (compressed 7MB, uncompressed 870MB):
https://docs.google.com/uc?id=0B0P6Qsjr9RYFQUFxRF9tWnVjdkk&export=downlo...
Rendering is not correct, but this may be unrelated to your work. Tested under current wine-1.9.7-118-gaaddf13 + 4 patches from patch-queue (v10) + rest of patches from comment 46 (07 + 08 + 09 + 10 + 11).
Thanks. Could you please describe somehow how rendering is incorrect (I presume rendering is correct with native d3dx)? Maybe since it is demo you could give some link for download (I tried to find fifa2011 demo for download some time ago but failed)?
I am curious as I do not see any problems or unsupported features in the log (apart from 'skip_constants' which probably should not lead to incorrect rendering) related to d3dx in the log at the first glance, so incorrect rendering may be due to some bug or silently unsupported feature.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #56 from Wylda wylda@volny.cz --- Created attachment 54185 --> https://bugs.winehq.org/attachment.cgi?id=54185 fifa & Paul's patches in wine-1.9.7-118-gaaddf13
Thanks. Could you please describe somehow how rendering is incorrect (I presume rendering is correct with native d3dx)?
Attached.
Maybe since it is demo you could give some link for download...
http://static.cdn.ea.com/fifa/u/f/fifa11_pc_demo_EU.zip
I am curious as I do not see any problems or unsupported features in the log (apart from 'skip_constants' which probably should not lead to incorrect rendering) related to d3dx in the log at the first glance, so incorrect rendering may be due to some bug or silently unsupported feature.
if d3dx9_36.dll is set to native, it works correctly. If built-in + patches, then as attached JPG. But as i said, it can be unrelated to your patches, i can't judge that corretly. Maybe it's like bug 34052.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #57 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #56)
Created attachment 54185 [details] fifa & Paul's patches in wine-1.9.7-118-gaaddf13
Maybe since it is demo you could give some link for download...
if d3dx9_36.dll is set to native, it works correctly. If built-in + patches, then as attached JPG. But as i said, it can be unrelated to your patches, i can't judge that corretly. Maybe it's like bug 34052.
Looks like some vertex shader is not working or wrong shader selected. This can't be like 34052 (or anything else wined3d related) as if it was it would not work with native d3dx either.
The problem can be unrelated to effect framework if, for instance, D3DXCompileShader is used there, for which WINEDEBUG=+d3dx does not output any errors, WINEDEBUG=+d3dcompiler does, but some effect framework problem is likely until we know more.
I will download and test this in a few days. If you can check & sort out possible compiler issue this can be checked by using native d3dcompiler_43.dll and/or reviewing the output with WINEDEBUG=+d3dcompiler.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #58 from Wylda wylda@volny.cz --- Created attachment 54190 --> https://bugs.winehq.org/attachment.cgi?id=54190 NFS Most wanted comparison: Paul's patches vs. native d3dx9_36.dll
First back to the Fifa 11 - i tried built in d3dx9_36.dll and native d3dcompiler_43.dll, but the problem is the same. I tried also WINEDEBUG=+d3dcompiler, but IMHO it didn't bring anything new in console. But when i'm in the game as incomplete player, console is continuously flooded by:
fixme:d3dx:d3dx9_base_effect_get_desc partial stub!
Another game, which used to be black in wine-1.9.7, but changed with your patches is NFS Most Wanted. Intro & menu seems to be OK, but in-game racing is broken. Native d3dx_36.dll fixes that fully. See attached JPG. Usual logs in case of interest:
https://docs.google.com/uc?id=0B0P6Qsjr9RYFZmJLS1l5aG1rSHc&export=downlo...
Thank you for your work. It's nice to see how things are improving.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #59 from Wylda wylda@volny.cz --- Created attachment 54193 --> https://bugs.winehq.org/attachment.cgi?id=54193 NFS Carbon comparison: Paul's patches vs. native d3dx9_36.dll
Another linked game - NFS: Carbon. This is from my full game, not the demo. Interesting, that these pictures are taken: - from the same place - from the same point of view - in the same game-time
Here is more obvious, than in case of previous NFS MW. You can see, that there is some weird building in front of "car" in case of built-in dll.
Bottom pictures - obvious car's color + menu above should have faint shadow (fade-in/out) at left/right arrows, but it is somehow condensed closely to arrows.
Usual log in case of interest (compressed 52MB, uncompressed 7GB):
https://docs.google.com/uc?id=0B0P6Qsjr9RYFNGNrRmpQS3pJSzA&export=downlo...
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #60 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #58)
Created attachment 54190 [details] NFS Most wanted comparison: Paul's patches vs. native d3dx9_36.dll
First back to the Fifa 11 - i tried built in d3dx9_36.dll and native d3dcompiler_43.dll, but the problem is the same.
If it looks the same with native and Wine d3dx then it is not a d3dx dll problem. If I get some time for it I will run the demo and track the problem down, but it is not related to this bug.
fixme:d3dx:d3dx9_base_effect_get_desc partial stub!
Another game, which used to be black in wine-1.9.7, but changed with your patches is NFS Most Wanted. Intro & menu seems to be OK, but in-game racing is broken. Native d3dx_36.dll fixes that fully. See attached JPG. Usual logs in case of interest:
https://docs.google.com/uc?id=0B0P6Qsjr9RYFZmJLS1l5aG1rSHc&export=downlo...
After a quick look I do not see any clearly unsupported features/opcodes related to preshaders (though need to check more), but it uses effect pools (for which my preliminary implementation in the test patch can easily be not fully correct), and maybe something else in effects which I would check. Since this is a demo do you have a link for it so I could reproduce the problem?
https://bugs.winehq.org/show_bug.cgi?id=25857
Christoph Korn christoph.korn@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |christoph.korn@posteo.de
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #61 from Wylda wylda@volny.cz ---
Comment 8 says, that Monkey Island is also affected, but MI crashes even with your patches on:
fixme:d3dx:d3dx9_effect_init Failed to parse effect, hr 0x8876086c. wine: Unhandled page fault on read access to 0x00000000 at address 0x481c8c (thread 0009), starting debugger...
and you already mentioned, that this is not covered by your work. So it should be de-duplicated from this bug. Does anybody know specific bug for this function? (i failed to find specific bug report).
NFS Most Wanted Demo: http://www.gamershell.com/download_11487.shtml
NFS Carbon Demo: http://www.gamershell.com/download_16174.shtml
All my pictures come from full versions, but right now i verified, that both demos are affected similar way and both can be tested.
In NFS MW, what you see at the left upper corner of my picture is actual track. So you are deep bellow it. If i begin to move, it starts to sink pretty deep (infinitely) and cars is getting incredible speed like a airplane (500MHP;) In demo it sinks automatically.
In NFS Carbon, where you see building on my picture instead of car, you are actually highly above the track. If i move, so that building won't cover my line of sight, i'll see track deeply bellow me.
As a last point, i applied all your patches to wine-staging, but there is just one minor change. The car in NFS Carbon is painted correctly, so it can be ignored, as patch already exists for that.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #62 from Wylda wylda@volny.cz --- I wanted to closer point out, where the problem lies. I tried to edit d3dx9_36.spec + effect.c, so that only D3DXCreateEffect and D3DXCreateEffectEx are used from d3dx9_36_native.dll.
It fixed Fifa, so the players were complete. It did not help NFS Carbon nor MW. Cars were still "flying" above/bellow the track.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #63 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #62)
I wanted to closer point out, where the problem lies. I tried to edit d3dx9_36.spec + effect.c, so that only D3DXCreateEffect and D3DXCreateEffectEx are used from d3dx9_36_native.dll.
It fixed Fifa, so the players were complete. It did not help NFS Carbon nor MW. Cars were still "flying" above/bellow the track.
Thanks for your testing and analysis. So, it looks now that problem with Fifa is effect related, while it is not clear yet for NFS (it is still possible that they also have some issues with effects as there are the other functions to create effect like CreateEffectFromResource). I have a lot of logs to analyse now and links to demos and will be looking into these problems.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54133|0 |1 is obsolete| |
--- Comment #64 from Paul Gofman gofmanp@gmail.com --- Created attachment 54198 --> https://bugs.winehq.org/attachment.cgi?id=54198 updated patch for testing
Regarding fifa11 problem, I reproduced the problem with the demo and found a bug in my temporary shared parameters implementation. I am updating the patch for testing (it is to be applied on top of the current git). With updated patch fifa11 renders characters OK for me (I tested the very game start with some penalty).
NFS problems are yet to be analyzed.
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54198|0 |1 is obsolete| |
--- Comment #65 from Paul Gofman gofmanp@gmail.com --- Created attachment 54199 --> https://bugs.winehq.org/attachment.cgi?id=54199 updated patch for testing
I've reproduced and tracked down NFS problem also. It is not effect framework related, there is a bug in D3DXVec3Transform (which currently does not expect the same location for input and output vector). I am attaching updated patchset which has a fix for that. I think I will suggest the fix upstream (after adding a proper test). I suspect that much more functions may have the same bug though.
BTW the notice that the bug affects mph displayed in game (in problem description by Wylda) was very useful for quick locating this problem.
https://bugs.winehq.org/show_bug.cgi?id=25857
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #66 from Wylda wylda@volny.cz ---
Paul this is awesome, Awesome and QUICK on top of that. I tested this new patch and problems in Fifa11, NFS MW, NFS Carbon are fixed. It's great to see, that these games are running with "winetricks alldlls=builtin".
We should try to keep 1 problem per bug, so i split the unrelated NFS to bug 40456. As on bug closure there is just one field for "Fixed by SHA1".
Some of your 3d patches already got in. Did it fixed at least one real application, so i can split this bug further. I don't understand the code, so it's not clear to me, patches vs. real application.
Last point - yesterday i hit the problem from Comment 51, as i normally build with disabled optimizations, i.e. CFLAGS/CXXFLAGS "-g -O0" (significantly faster during regression hunting). And patch 08/10 brakes this build (it remind me unrelated bug 22717).
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #67 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #66)
Paul this is awesome, Awesome and QUICK on top of that. I tested this new patch and problems in Fifa11, NFS MW, NFS Carbon are fixed. It's great to see, that these games are running with "winetricks alldlls=builtin".
We should try to keep 1 problem per bug, so i split the unrelated NFS to bug 40456. As on bug closure there is just one field for "Fixed by SHA1".
I suppose there was no need for that as I was going to suggest a fix with a unit test anyway and the bug record is not required for that. But since it is already there I will reference it in the patch description.
Some of your 3d patches already got in. Did it fixed at least one real application, so i can split this bug further. I don't understand the code, so it's not clear to me, patches vs. real application.
Not yet, though most of the initial preshader implementation code is already there :). Some games (possibly fifa11 for instance) will have good chances to work after 4 patches currently left under review & my updates will get in (1st 4 ones from this test patch). So for now this bug is active and I suppose there is no need to open separate bugs for specific effect states issues yet until it is closed.
Last point - yesterday i hit the problem from Comment 51, as i normally build with disabled optimizations, i.e. CFLAGS/CXXFLAGS "-g -O0" (significantly faster during regression hunting). And patch 08/10 brakes this build (it remind me unrelated bug 22717).
I will fix that in the next test patch update.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #68 from super_man@post.com --- There is no doubt you know what you are doing since you have done so enormous amount of work towards these patches an reform them so quickly, but if I would be you I would split the patches smaller. It would make regression testing later easier since regression wouldnt point huge patch-sets and it would make easier to get the patches in. It would be also really good if you could take a look some of the other wine bugs when you are done with this. Not everyone has the skills to fix these things.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #69 from super_man@post.com --- Could bug 23729 be related? No console output given, just mentioned that demo has the issue too.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #70 from Paul Gofman gofmanp@gmail.com --- (In reply to super_man from comment #68)
There is no doubt you know what you are doing since you have done so enormous amount of work towards these patches an reform them so quickly, but if I would be you I would split the patches smaller. It would make regression testing later easier since regression wouldnt point huge patch-sets and it would make easier to get the patches in.
This is not an enormous amount of work really.
A patchset attached to this bug is not a solid patchset, it is just a cat of not fully related patches which I made eventually while testing preshaders on real applications. The biggest patches concerning initial implementation are already upstream actually (the remaining 4 patches of that series are smaller). There was a great desire to split them further but it was not so easy to do in case of preshaders implementation provided that each patch should end up with code complete and verifyable in some sense. I originally made an implementation, unit tests and tested on some real apps, and then it was splitted into 8 pieces.
The only reason I've put this joint patchset here is that it gives more chances to test the main functionality in applications which would otherwise not possible for the most of them due to many pieces missing (there are still many, but this gives some chance at least :). Most of separate patches in this patchset are not big really, and some of them which are preparing for upstream (like IsParameterUsed implementation, added opcode) already have unit tests, and there is also a patch with just a unit test which was easier to leave in range rather than to remove.
Pools (shared parameters) implementation here really at least requires unit testing, a bit ugly, could possibly be splitted and most likely buggy in certain aspects, but I did not intend it for upstream. Making just a quick implementation which allows some apps to pass takes much less efforts than making it complete and fully tested.
Having said all this, I do not deny that you are right and making patches smaller is preferred while I often tend to make them bigger, all I wanted to say that it is not so easy in some cases.
It would be also really good if you could take a look some of the other wine bugs when you are done with this. Not everyone has the skills to fix these things.
If you have some interesting bugs to track down, please point me :) I will look if I have anything to do with them whenever possible.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #71 from Wylda wylda@volny.cz ---
If you have some interesting bugs to track down, please point me :) I will look if I have anything to do with them whenever possible.
Well you must be brave ;) I would expect, that you(mailbox) will be overwhelmed soon. I know it was not address to me, but anyway - what about bug 22317 or bug 31260 ?
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #72 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #71)
If you have some interesting bugs to track down, please point me :) I will look if I have anything to do with them whenever possible.
Well you must be brave ;) I would expect, that you(mailbox) will be overwhelmed soon.
I am not promising to track down or even look into each of them, I can just sometimes choose some for curiosity.
I know it was not address to me, but anyway - what about
bug 22317
here you are: https://bugs.winehq.org/show_bug.cgi?id=22317#c10
or bug 31260 ?
there is already a comment from Matteo which points to the cause of the issue: https://bugs.winehq.org/show_bug.cgi?id=31260#c21
So probably it is matter of implementing this feature in wined3d.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #73 from Wylda wylda@volny.cz --- Created attachment 54243 --> https://bugs.winehq.org/attachment.cgi?id=54243 native D3DXCreateEffect vs. native D3DXCreateEffect + winestaging's DXTn
I gave a try v12 from patches queue + 05..09 (10th already got in). Fifa, NFS MW, NFS Carbon still work perfectly.
Then i tried CNC Red Alert 3. Without the patches you cant get pass the intro.
With these patches you see intro and game menu. But when i enter the game, i see the black screen and maps and button in the corners. Log from this state in case of interest: "console_ra3_debug_d3dx.txt.bz2"
https://docs.google.com/uc?id=0B0P6Qsjr9RYFd21sZGdrSzlDc2s&export=downlo...
When i redirect D3DXCreateEffect + D3DXCreateEffectEx to d3dx9_36_native.dll, i see silhouette of the 3 tanks = left screenshot. When i add these patches from staging wined3d-DXTn & d3dx9_36-DXTn = right screenshot.
And BTW: Staging's patches wined3d-DXTn & d3dx9_36-DXTn also fixes NFS Carbon car's textures.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #74 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #73)
Created attachment 54243 [details] native D3DXCreateEffect vs. native D3DXCreateEffect + winestaging's DXTn
I gave a try v12 from patches queue + 05..09 (10th already got in). Fifa, NFS MW, NFS Carbon still work perfectly.
Then i tried CNC Red Alert 3. Without the patches you cant get pass the intro.
With these patches you see intro and game menu. But when i enter the game, i see the black screen and maps and button in the corners.
I checked, this is due to currently pSkipConstants parameter for D3DXCreateEffectEx is ignored in effect framework. The constants listed in this string should be ignored by effect framework, application sets it itself though d3d calls directly. I checked that: - there are meaningfull constants in this string passed by application; - some constants are indeed set by SetPixelShaderConstantF directly by application; - if to proxy native D3DXCreateEffectEx nullifying pSkipConstants, native framework renders the same black as Wine.
So I will remember this as todo for effect framework but I do not have a patch for that right now.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #75 from Lorenzo Ferrillo lorenzofer@live.it --- @PAul Gofman
I was looking in the wine git mirror, and I saw this commit:https://github.com/wine-mirror/wine/commit/58d80d90a54a9d3be853e549ae828edc4...
While I'd love to see preshading fully supported in wine, it seem like you forgot to add "exp" : {0x105, "exp", 1, 0, pres_exp}, /* PRESHADER_OP_EXP */
(Completly not defined.)
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #76 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #75)
@PAul Gofman
I was looking in the wine git mirror, and I saw this commit:https://github.com/wine-mirror/wine/commit/ 58d80d90a54a9d3be853e549ae828edc411f2649
While I'd love to see preshading fully supported in wine, it seem like you forgot to add "exp" : {0x105, "exp", 1, 0, pres_exp}, /* PRESHADER_OP_EXP */
(Completly not defined.)
exp opcode is added in the testing patch attached to this bug. I am going to suggest it upstream soon, but actually there are a lot of other opcodes missing (there was no point adding them all at once in initial implementation). There is still a TODO list for effects framework which I am going to send and adding all the opcodes is one of TODOs.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #77 from Lorenzo Ferrillo lorenzofer@live.it --- Should be possible to include at least exp into the next wine version , cause it's required by Oblivion Reloaded. It's a bit time consuming recompiling wine or wine-staging every time.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #78 from Paul Gofman gofmanp@gmail.com --- (In reply to Lorenzo Ferrillo from comment #77)
Should be possible to include at least exp into the next wine version , cause it's required by Oblivion Reloaded. It's a bit time consuming recompiling wine or wine-staging every time.
I will send the patch today but it is not just 2 lines of code as introduces some new functions for ops testing, and I cannot say how long review & patch update process will take. But this is still a very small thing, I guess it can settle until the next dev release.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #79 from Wylda wylda@volny.cz --- Created attachment 54390 --> https://bugs.winehq.org/attachment.cgi?id=54390 Black and White 2 log from wine-1.9.9 +d3dx
Another game which probably belongs to this bug family - Black and White 2. BW2 works fine with native d3dx9_25.dll, but fails with builtin:
fixme:d3dx:ID3DXEffectImpl_DeleteParameterBlock (0x217c38)->(0x137a50): stub wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0009), starting debugger...
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #80 from Wylda wylda@volny.cz --- Another game linked here - Condemned: Criminal Origins has graphical issues in wine-1.9.9 (missing flashlight effects, legs, ...), but it is fully fixed with applied rest of patches from comment 65.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #81 from Wylda wylda@volny.cz --- Another game linked here - Stronghold Kingdoms, probably not worth testing at this stage, as i was not able to get it up and running, despite recommended recipes.
Another game linked here - Codename: Panzers Coldwar Single Player Demo (http://stahnu.cz/strategicke-hry/codename-panzers-cold-war/download) works with native d3dx9_36.dll. Wine-1.9.9 + rest of patches from comment 65 are not sufficient to make this playable. It shows just black screen on startup with built-in d3dx9_36.dll. Usual log in case of interest "console_cpcw_sp_demo_debug_d3dx.txt.bz2":
https://docs.google.com/uc?id=0B0P6Qsjr9RYFb0tmR1I4eVMyWTA&export=downlo...
Paul, what about getting wider testing of your work through wine-staging? Some distro include staging, pre-built packages exists... It would also make testing easier, at least for me ;)
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #82 from Wylda wylda@volny.cz --- I did the re-test under wine-1.9.15 and wine-staging-1.9.15.
Black and White 2 ================= * fixme:d3dx:ID3DXEffectImpl_DeleteParameterBlock (0x16f6b8)->(0x139568): stub * wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0009), starting debugger... * Vanilla wine-1.9.15 - bug 25138 * Wine-staging-1.9.15 - shows splash screen and crashes
Codename Panzers Cold War - SP Demo =================================== * Black screen instead of intro and game menu * Works OK with native d3dx9_34.dll * Download: http://stahnu.cz/strategicke-hry/codename-panzers-cold-war/download
Command and Conquer: Red Alert 3 ================================ * intro and menu are OK now * gameplay - black screen with buttons+map in corners. Comment #74 (currently pSkipConstants parameter for D3DXCreateEffectEx is ignored...) * For textures - wine-staging's wined3d-DXTn & d3dx9_36-DXTn is needed
Condemned - Criminal Origins Demo ================================= * wrong rendering * d3dx9: OnLostDevice temp changes - not upstreamed yet * d3dx9: Implement shared parameters in effect - not upstreamed yet
F.E.A.R. 1 ========== * wrong rendering * d3dx9: OnLostDevice temp changes - not upstreamed yet * d3dx9: Implement shared parameters in effect - not upstreamed yet
Fifa 11 ======= * Works OK
Need for Speed: Carbon ====================== * vanilla wine - wrong car texture, otherwise OK * wine-staging - works OK thanks to wined3d-DXTn & d3dx9_36-DXTn patches
Need for Speed: Most Wanted =========================== * intro and menu are OK now * gameplay - wrong rendering * d3dx9: OnLostDevice temp changes - not upstreamed yet * d3dx9: Implement shared parameters in effect - not upstreamed yet
Witcher Enhanced Edition Director's Cut ======================================= * intro and menu items are OK now * menu - is missing background image (console: D3DXCreateTextureFromFileInMemoryEx Generation of mipmaps for compressed pixel formats is not implemented yet.) * gameplay - crash * Works OK with native d3dx9_35.dll
Patch "d3dx9: Implement shared parameters in effect" can't be applied anymore to wine-1.9.15.
https://bugs.winehq.org/show_bug.cgi?id=25857
Sander svl_wine@juima.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |svl_wine@juima.org
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #83 from Wylda wylda@volny.cz --- Hello Paul, i just wanted to ask if you lost interest to continue on these two patches which no longer applies, but makes bunch of these games happy:
* d3dx9: OnLostDevice temp changes - not upstreamed yet * d3dx9: Implement shared parameters in effect - not upstreamed yet
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #84 from Paul Gofman gofmanp@gmail.com --- Created attachment 55895 --> https://bugs.winehq.org/attachment.cgi?id=55895 updated patch
(In reply to Wylda from comment #83)
Hello Paul, i just wanted to ask if you lost interest to continue on these two patches which no longer applies, but makes bunch of these games happy:
- d3dx9: OnLostDevice temp changes - not upstreamed yet
- d3dx9: Implement shared parameters in effect - not upstreamed yet
Hello Wylda,
I did not loose the interest to finish this, I actually was quite busy for the last time but hope to get back to this. The first of these patches in my testing patchset is actually mostly a leftover from problem tracking, this patch is neither required for all these games to work nor even close to be correct or complete. I am updating my patchset, it is much different. I can't suggest it upstream as is unfortunately, as the tests are not complete yet and there are some implementation details (especially in shared parameters implementation) which might be subject for more consideration.
Thanks, Paul.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #85 from Wylda wylda@volny.cz --- Thank you Paul for continuous effort. I gave a try your latest patch series (Comment 84), but FEAR 1 crashes for me during the startup. Usual log in case of interest "fear1_crash_log_debug_d3d_tid_seh.txt.bz2":
https://docs.google.com/uc?id=0B0P6Qsjr9RYFOWVaUGRuWGJMMzA&export=downlo...
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #86 from Paul Gofman gofmanp@gmail.com --- (In reply to Wylda from comment #85)
Thank you Paul for continuous effort. I gave a try your latest patch series (Comment 84), but FEAR 1 crashes for me during the startup. Usual log in case of interest "fear1_crash_log_debug_d3d_tid_seh.txt.bz2":
https://docs.google.com/uc?id=0B0P6Qsjr9RYFOWVaUGRuWGJMMzA&export=downlo...
I retested my Fear SP demo, it still works ok. You have some different version of Fear apparently as it uses d3dx 27 while mine is using d3dx 25. Is your version (or its demo) available for download? If no, could you please rerun your log with +d3dx (it looks like your log is produced with +d3d instead)?
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #87 from Wylda wylda@volny.cz ---
Is your version (or its demo) available for download?
It is F.E.A.R. Platinum edition released on DVD. I also have a GOG and Steam versions, but didn't tested these two yet.
If no, could you please rerun your log with +d3dx (it looks like your log is produced with +d3d instead)?
Sorry for that, this should be with correct debug channel: https://docs.google.com/uc?id=0B0P6Qsjr9RYFS0o4UG14bGZDa3c&export=downlo...
https://bugs.winehq.org/show_bug.cgi?id=25857
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54199|0 |1 is obsolete| | Attachment #55895|0 |1 is obsolete| |
--- Comment #88 from Paul Gofman gofmanp@gmail.com --- Created attachment 55947 --> https://bugs.winehq.org/attachment.cgi?id=55947 updated patch
(In reply to Wylda from comment #85)
Thank you Paul for continuous effort. I gave a try your latest patch series (Comment 84), but FEAR 1 crashes for me during the startup. Usual log in case of interest "fear1_crash_log_debug_d3d_tid_seh.txt.bz2":
https://docs.google.com/uc?id=0B0P6Qsjr9RYFOWVaUGRuWGJMMzA&export=downlo...
I think I found the problem, updating patch. Thanks for testing this.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #89 from Wylda wylda@volny.cz --- I did a quick test and yes, it fixed the crash for me. FEAR is OK again. Thank you. During the weekend i'll try to find some time to re-test the rest of the games.
https://bugs.winehq.org/show_bug.cgi?id=25857
Kai Hiller V02460@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |V02460@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #90 from Paul Gofman gofmanp@gmail.com --- Updated versions of all the relevant patches tested here are committed upstream by this moment (and should probably appear in 2.7 release). I suppose d3dx9 effect framework, while still having TODOs, missing features and possible bugs, is generally complete now and a lot of applications can work with the current implementation. So I suggest to close this general bug now, leaving further problems with d3dx9 effect framework to more specific bug reports. Such bugs do exist already for some time (e. g, bug #36820).
Please add me to CC: list for the bugs (possibly) related to d3dx9 effects if possible.
https://bugs.winehq.org/show_bug.cgi?id=25857
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6f99cf01e1b88c9bb09fe6b9bff | |3443514db5ae2 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #91 from Matteo Bruni matteo.mystral@gmail.com --- Seems reasonable to me. Thank you Paul for your work!
https://bugs.winehq.org/show_bug.cgi?id=25857
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #92 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.7.
https://bugs.winehq.org/show_bug.cgi?id=25857
--- Comment #93 from Wylda wylda@volny.cz ---
Thank you for your great work Paul. Just to recap and if anyone would be interested to track it further in newly created bug reports mentioned bellow.
All the testing done under wine-2.7 and "winetricks csmt=on"
Black and White 2 ================= * still crashes, assuming bug 25138
Codename Panzers Cold War - SP Demo =================================== * Black screen instead of intro and game menu * Works OK with native d3dx9_34.dll * Download: http://stahnu.cz/strategicke-hry/codename-panzers-cold-war/download * Newly bug 42917
Command and Conquer: Red Alert 3 ================================ * intro and menu are OK now * gameplay - black screen with buttons+map in corners after tutorial speech. I should see at lease silhouette per Comment #74 (currently pSkipConstants parameter for D3DXCreateEffectEx is ignored...) * For textures - wine-staging's wined3d-DXTn & d3dx9_36-DXTn are needed * Newly bug 42918
Condemned - Criminal Origins Demo ================================= * Fixed
F.E.A.R. 1 ========== * Fixed
Fifa 11 ======= * Fixed
Need for Speed: Most Wanted =========================== * Fixed
Need for Speed: Carbon ====================== * Fixed * Some cars have wrong texture. Needs wined3d-DXTn & d3dx9_36-DXTn patches available in wine-staging
Witcher Enhanced Edition Director's Cut ======================================= * intro and menu items are OK now * background images in menu are also OK now * gameplay - crash * Works OK with native d3dx9_35.dll * Newly bug 42919