[Bug 57022] New: Graphical and color distortions in The Witcher [d3dx9_35.dll]
https://bugs.winehq.org/show_bug.cgi?id=57022 Bug ID: 57022 Summary: Graphical and color distortions in The Witcher [d3dx9_35.dll] Product: Wine Version: 9.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs(a)winehq.org Reporter: shtetldik(a)gmail.com Distribution: --- In some scenes in the Witcher there are glitches when using Wine + dxvk. See a small video example in the linked dxvk issue (see Shani's hair and some general flickering and light anomalies especially around that candle on the table): https://github.com/doitsujin/dxvk/issues/4178 Set up: * Game: The Witcher Enhanced Edition, latest GOG release. * Wine: 9.14 + esync * dxvk: git 1077d6a * GPU: AMD Sapphire Nitro+ RX 7900 XTX * Kernel/amdgpu: 6.10.2 * Mesa/radv: git deb1d1f9c3 dxvk developers helped narrowing it down to Wine's side, since installing native d3dx9_35.dll works around it so it must be some issue with built-in d3dx9_35 implementation. -- 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=57022 --- Comment #1 from Shmerl <shtetldik(a)gmail.com> --- adding WINEDEBUG=+d3dx9_35 shows a bunch of entries like this: ``` 0024:fixme:d3dx:d3dx_load_pixels_from_pixels Unhandled filter 0x5. 0024:fixme:d3dx:d3dx_load_pixels_from_pixels Unhandled filter 0x5. ... 0024:fixme:d3dx:d3dx_effect_ValidateTechnique iface 0FDF8600, technique 0FDFFF48 semi-stub. 0024:fixme:d3dx:d3dx_effect_GetDesc iface 0FDF8600, desc 01C6EEB8 partial stub. 0024:fixme:d3dx:d3dx_effect_GetDesc iface 0FDF8600, desc 01C6EE30 partial stub. ... ``` Which could be related. -- 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=57022 --- Comment #2 from Shmerl <shtetldik(a)gmail.com> --- Created attachment 76871 --> https://bugs.winehq.org/attachment.cgi?id=76871 Save at bugged location -- 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=57022 --- Comment #3 from Nikolay Sivov <bunglehead(a)gmail.com> --- Could you attach full +d3dx log as well? -- 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=57022 --- Comment #4 from Shmerl <shtetldik(a)gmail.com> --- Created attachment 76884 --> https://bugs.winehq.org/attachment.cgi?id=76884 Wine log with WINEDEBUG=+d3dx Attaching Wine log with debug set to WINEDEBUG=+d3dx -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #5 from Shmerl <shtetldik@gmail.com> --- This still happens with latest Wine 11.7. I also tested it using wined3d only, it exhibits the same issue so the bug is somewhere in d3dx9 implementation by Wine. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 Stian Low <wineryyyyy@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wineryyyyy@gmail.com --- Comment #6 from Stian Low <wineryyyyy@gmail.com> --- Created attachment 81034 --> http://bugs.winehq.org/attachment.cgi?id=81034 Screenshot only tongues and hair rendered when skipping d3dx_effect_SetTechnique() for wine-11.9-f72272396b7 Shani's red hair flicker is the most obvious signs of the bug which is also clear for the fish hanging above the fighting men and objects around the other fireplace in the back. Bug seems more subtle elsewhere and may be confused for other odd but otherwise normal rendering which also happens when run on Windows 11 such as shadows under the table with candles suddenly appearing and disappearing based on slight proximity changes of player. Skipping d3dx_effect_SetTechnique() renders only tongues and hair for characters which may hint why Shani's red hair flickers so obviously. Maybe something isn't being flipped on/off for blending when those objects are rendered as a separate pass. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #7 from Stian Low <wineryyyyy@gmail.com> --- D3DX_FILTER_BOX has since been added so this log no longer appears but bug remains: 0024:fixme:d3dx:d3dx_load_pixels_from_pixels Unhandled filter 0x5. Remaining logs still unsupported which may cause the flicker: 015c:fixme:d3dx:d3dx_load_pixels_from_pixels Unhandled filter 0x3. 015c:fixme:d3dx:d3dx_load_pixels_from_pixels Unhandled filter 0x80004. #define D3DX_FILTER_LINEAR 0x00000003 #define D3DX_FILTER_TRIANGLE 0x00000004 #define D3DX_FILTER_DITHER 0x00080000 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #8 from Stian Low <wineryyyyy@gmail.com> --- Created attachment 81054 --> http://bugs.winehq.org/attachment.cgi?id=81054 Screenshot bug fixed with built-in d3dx9_35.dll and native SwiftShader d3d9.dll (Google CPU-based renderer) Confirming native d3dx9_35.dll works with built-in d3d9.dll. However, built-in d3dx9_35.dll works with SwiftShader d3d9.dll as native which seems to indicate built-in d3d9.dll and d3dx9_35.dll have compatibility bugs. Same d3dx logs are produced for SwiftShader d3d9.dll which seem to be red-herrings: 0158:fixme:d3dx:d3dx_effect_ValidateTechnique flags 0x1, load_path 00000000, dll_characteristics 00000000, name 01C6EEF4, base 01C6EEF0. LIBGL_ALWAYS_SOFTWARE=1 for X11 without EGL also runs CPU based rendering like SwiftShader but reproduces the bug. Therefore, if bug is not caused by multithreading difference between SwiftShader and built-in d3d9.dll CPU-based rendering, then built-in d3d9.dll may indeed also have bugs. Be aware, GOG Witcher installer replaces some built-in dlls for c:/windows/systeme32 and c:/windows/syswow64 including d3dx9_35.dll which caused some confusion for me. Therefore I backed up original system32 and syswow64 before installing witcher to replace witcher modded directories and guarantee built-ins were used while testing. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #9 from Stian Low <wineryyyyy@gmail.com> --- (In reply to Stian Low from comment #8)
However, built-in d3dx9_35.dll works with SwiftShader d3d9.dll as native which seems to indicate built-in d3d9.dll and d3dx9_35.dll have compatibility bugs.
https://swiftshader.googlesource.com/SwiftShader/+/refs/heads/legacy-d3d9 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #10 from Stian Low <wineryyyyy@gmail.com> --- (In reply to Stian Low from comment #6)
Created attachment 81034 [details] Screenshot only tongues and hair rendered when skipping d3dx_effect_SetTechnique() for wine-11.9-f72272396b7
(In reply to Stian Low from comment #8)
However, built-in d3dx9_35.dll works with SwiftShader d3d9.dll as native which seems to indicate built-in d3d9.dll and d3dx9_35.dll have compatibility bugs.
SwiftShader d3d9.dll actually seems to render independent of d3dx9_35.dll because d3dx_effect_SetTechnique() hack has practically no impact on SwiftShader rendering which produces practically identical results as native d3dx9_35.dll and Windows runs. Maybe d3dx9_35.dll calls are actually supposed to be skipped/ignored? I'll keep looking for rendering differences but so far they seem very subtle if they exist. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #11 from Stian Low <wineryyyyy@gmail.com> --- (In reply to Stian Low from comment #10)
SwiftShader d3d9.dll actually seems to render independent of d3dx9_35.dll because d3dx_effect_SetTechnique() hack has practically no impact on SwiftShader rendering which produces practically identical results as native d3dx9_35.dll and Windows runs.
Maybe d3dx9_35.dll calls are actually supposed to be skipped/ignored? I'll keep looking for rendering differences but so far they seem very subtle if they exist.
Ignore last comment which was mistake due to testing error. Confirming SwiftShader d3d9.dll does in fact depend upon d3dx9_35.dll but renders without bug and therefore compatible with it as built-in. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #12 from Stian Low <wineryyyyy@gmail.com> --- Created attachment 81055 --> http://bugs.winehq.org/attachment.cgi?id=81055 Screenshot SwiftShader vs Windows rendering practically identical including shadows not to be confused with lighting bug Screenshots show consistency between SwiftShader via d3dx9_35.dll builtin and Windows with shadows appearing/disappearing based on camera angle which should not be confused with the actual bug which seems seems more related to rendering light which causes flickering and/or colors too bright like Shani's hair. Notice shadows under table appear for cam view over left shoulder (top) but disappears for view over right shoulder (bottom). Again, normal behavior that also happens for Windows. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=57022 --- Comment #13 from Stian Low <wineryyyyy@gmail.com> --- Bug reproducible for DAMAVAND/vk after patch that fixes mostly blackscreen: https://bugs.winehq.org/show_bug.cgi?id=59815#c1 Bug behaves the same for all rendering backends: - WINED3D/gl, - DAMAVAND/vk, - DXVK as reported -- 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)
-
WineHQ Bugzilla -
WineHQ Bugzilla