[Bug 46779] New: OblivionReloaded CompileEffects require ID3DXEffectCompilerImpl_CompileEffect implementation.
https://bugs.winehq.org/show_bug.cgi?id=46779 Bug ID: 46779 Summary: OblivionReloaded CompileEffects require ID3DXEffectCompilerImpl_CompileEffect implementation. Product: Wine Version: 4.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx9 Assignee: wine-bugs(a)winehq.org Reporter: lorenzofer(a)live.it Distribution: --- OblivionReloaded 6.5.0 CompileEffects option (needed to recompile provided effects and custom effects) require a working ID3DXEffectCompilerImpl_CompileEffect. Now with the stub, if the option is activated, all the effects fail to compile silently. Relevant log: 002f:trace:d3dx:D3DXCreateEffectCompilerFromFileA srcfile "Data\\Shaders\\OblivionReloaded\\Bloom\\Bloom.fx.hlsl", defines (nil), include (nil), flags 0, effectcompiler 0x32f290, parseerrors 0x3be3b18. 002f:trace:d3dx:D3DXCreateEffectCompilerFromFileW srcfile L"Data\\Shaders\\OblivionReloaded\\Bloom\\Bloom.fx.hlsl", defines (nil), include (nil), flags 0, effectcompiler 0x32f290, parseerrors 0x3be3b18. 002f:trace:d3dx:D3DXCreateEffectCompiler srcdata 0x57f0000, srcdatalen 4086, defines (nil), include (nil), flags 0, compiler 0x32f290, parse_errors 0x3be3b18 002f:trace:d3dx:d3dx9_effect_compiler_init compiler 0x3be4048, data 0x57f0000, data_size 4086, defines (nil), include (nil), eflags 0, error_messages 0x3be3b18. 002f:fixme:d3dx:d3dx9_effect_compiler_init ID3DXEffectCompiler implementation is only a stub. 002f:trace:d3dx:D3DXCreateEffectCompiler Created ID3DXEffectCompiler 0x3be4048 002f:fixme:d3dx:ID3DXEffectCompilerImpl_CompileEffect iface 0x3be4048, flags 0, effect 0x32f28c, error_msgs 0x3be3b18 stub! 002f:trace:d3dx:ID3DXEffectCompilerImpl_Release iface 0x3be4048: Release from 1 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #1 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- Created attachment 63807 --> https://bugs.winehq.org/attachment.cgi?id=63807 Implementation for ID3DXEffectCompiler_CompileEffect My try to implement ID3DXEffectCompiler_CompileEffect. It allow to compile all Oblivion Reloaded shader. There are some things that can be improved in the patch, expecially avoiding passing throught the Unicode version of the function -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Lorenzo Ferrillo <lorenzofer(a)live.it> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #63807|0 |1 is obsolete| | --- Comment #2 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- Created attachment 63814 --> https://bugs.winehq.org/attachment.cgi?id=63814 Working Implementation of ID3DXEffectCompiler_CompileEffect During rewrite for application to a wine (instead of staging) patch I forgot a small but critical piece of code, in compiler creation. Also fixed a potential memory leak, and null pointer dereference, if the compiler is created directly or from a resource. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 pattietreutel <katyaberezyaka(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Lorenzo Ferrillo <lorenzofer(a)live.it> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #63814|0 |1 is obsolete| | --- Comment #3 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- Created attachment 65591 --> https://bugs.winehq.org/attachment.cgi?id=65591 ID3DXEffectCompiler partial working implementation with initial tests Wine 4-18 or 4-19 broke the previous patch, so I reworked it.It also include some tests. However it's still incomplete, but enough for this use case. Excpet for the tests there isn't much difference. It handle better some failure cases. It's missing all the baseeffect methods, that probably require a partial compilation of the shader/effect, as implied by documentations and tests, and it will not handle correctly external includes (includes passed to the D3DXCreateEffectCompiler* functions) when passed to non D3DXCreateEffectCompilerFromFile function. Also to work on wine, it will still require the relevant native d3dcompiler.dll (should be d3dcompiler_47.dll ) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Lorenzo Ferrillo <lorenzofer(a)live.it> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #65591|0 |1 is obsolete| | --- Comment #4 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- Created attachment 65610 --> https://bugs.winehq.org/attachment.cgi?id=65610 ID3DXEffectCompiler partial working implementation with initial tests Ok new version for the patch. I started to use D3DPreprocess to get a self contained HLSL effect, so that ID3DXEffectCompiler partial working implementation with initial tests can close and free the ID3DXInclude internal implementation for file before returing the interface to the caller. This avoid a nasty bug I had when creating two instances of this Include, and opening both. I don't know if this is the supposed beheaviour for this internal includes, it may just be a wine issue. This has still a serious race when creating compilers concurrently (in different threads). However it should be fine for even if creation of compilers and actual effect compilation happen in a "strange interleaving". Still all the BaseEffect methods and the CompileShader method are unimplemented. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Andrey Gusev <andrey.goosev(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Severity|normal |minor --- Comment #5 from Andrey Gusev <andrey.goosev(a)gmail.com> --- Also affects Velvet Assassin. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #6 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- (In reply to Andrey Gusev from comment #5)
Also affects Velvet Assassin.
Can you upload a wine log? To understand if V.A require something more elaborate. Note the last patch need a rebase to the last git. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 maniikarabera(a)protonmail.ch changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |maniikarabera(a)protonmail.ch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Lorenzo Ferrillo <lorenzofer(a)live.it> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #65610|0 |1 is obsolete| | --- Comment #7 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- Created attachment 66677 --> https://bugs.winehq.org/attachment.cgi?id=66677 ID3DXEffectCompiler partial working implementation with initial tests Rebased for 5.4 Changes: Enable Backward Compatibility mode for d3dx9_xx dlls with xx < d3dx9_36 (as normal ID3DXEffect does) Pass flags to the D3DCompile functions. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Vijay Kamuju <infyquest(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest(a)gmail.com --- Comment #8 from Vijay Kamuju <infyquest(a)gmail.com> --- Please dont use c++ style comments and send the patch to wine-devel(a)winehq.org with your Signed-Off-By -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #9 from Lorenzo Ferrillo <lorenzofer(a)live.it> --- I belive it isn't still ready to be submitted, for now I'm just updating it when I can, as it seems to reasonably work in this use case (I'd like to test others cases) Also I don't know how to regulate with the fact it is still require a native d3dcompiler to properly function. Also what the patch do may be fundamentally different on Windows. I would need to understand on which level the ID3DXEffectCompiler BaseEffect methods work. I may submit as a request for comment on the wine-devel mailinglist. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.goosev(a)gmail.com --- Comment #10 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- *** Bug 35137 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|OblivionReloaded |Multiple applications need |CompileEffects require |ID3DXEffectCompiler::Compil |ID3DXEffectCompilerImpl_Com |eEffect() implementation |pileEffect implementation. |(OblivionReloaded, Hitman: | |Blood Money demo) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple applications need |Multiple applications need |ID3DXEffectCompiler::Compil |ID3DXEffectCompiler::Compil |eEffect() implementation |eEffect() implementation |(OblivionReloaded, Hitman: |(OblivionReloaded, Hitman: |Blood Money demo) |Blood Money demo, Velvet | |Assassin) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #11 from Andrey Gusev <andrey.goosev(a)gmail.com> --- With the patch Tropico 3, Tropico 4 and Velvet Assassin require fx_2_0 bug 37676. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Andrey Gusev <andrey.goosev(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35213 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |luis.panadero(a)gmail.com --- Comment #12 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- *** Bug 46924 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple applications need |Multiple applications need |ID3DXEffectCompiler::Compil |ID3DXEffectCompiler::Compil |eEffect() implementation |eEffect() implementation |(OblivionReloaded, Hitman: |(OblivionReloaded, Hitman: |Blood Money demo, Velvet |Blood Money demo, Velvet |Assassin) |Assassin, Sword of the | |Stars: Complete Collection) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 joaopa <jeremielapuree(a)yahoo.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree(a)yahoo.fr --- Comment #13 from joaopa <jeremielapuree(a)yahoo.fr> --- Does the bug still occur with wine-8.6? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #14 from Lorenzo Ferrillo <lorenzofer(a)live.it> ---
From what I can see the ID3DXEffectCompiler i still STUB, so yes the bug still is there, recent changes about d3dcompiler could remove the reliance on a native d3dcompiler dll, but I need to test this.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 --- Comment #15 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to Lorenzo Ferrillo from comment #14)
From what I can see the ID3DXEffectCompiler i still STUB, so yes the bug still is there, recent changes about d3dcompiler could remove the reliance on a native d3dcompiler dll, but I need to test this.
It has some functionality in addition to compiling things, native compiler dll won't change that. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=46779 soredake <broaden_acid002(a)simplelogin.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|broaden_acid002(a)simplelogin | |.com | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla