https://bugs.winehq.org/show_bug.cgi?id=51238
Bug ID: 51238 Summary: regression: World of Warships fails with wined3d_deferred_context_* functions available. Product: Wine Version: 6.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: janbraun@gmx.net Regression SHA1: 60027fcc23e665fdd073e5fbe33bdd4850cd9e84 Distribution: ---
Created attachment 70109 --> https://bugs.winehq.org/attachment.cgi?id=70109 hack removing deferred context support
Since wine6.10, World of Warships crashes with a dialog box """ A critical error has occurred The error information was collected to the Reports folder Use the link below for support [Restart] [Terminate] """ upon game start (on the black screen, before displaying the WoWS logo). The Report data suggests "crash_type": "unhandled_exception" "code_of_exception": 3221225477.
Bisecting points to 60027fcc23e665fdd073e5fbe33bdd4850cd9e84, which doesn't revert cleanly. But simply removing the wined3d_deferred_context_* functions (see attached patch/hack) allows WoWS to work normally again.
Diffing the WINEDEBUG=trace+d3dx logs shows they diverge after the line "fixme:d3d11:d3d11_device_CheckFeatureSupport Returning fake threading support data." The stock version prints a few variations of "fixme:d3d:wined3d_deferred_context_update_sub_resource context 0x262ef030, resource 0x23ccc360, sub_resource_idx 0, box (0, 0, 0)-(20, 20, 1), data 0x1bd92000, row_pitch 80, slice_pitch 1600, stub!" , and then goes on to spam the _Locinfo__Locinfo_ctor_cat_cstr FIXME (possibly while building the dialog box). The hacked version instead spams complaints about "err:d3d:state_undefined Undefined state UNKNOWN_STATE(0) (0)." , but continues working until I kill the window when the logo is rendered.
Everything above was tested on git revision aadcff491fc9d823a90cee567c8e1d55cd9a589b in a prefix with winetricks corefonts vcrun2013 win10.
https://bugs.winehq.org/show_bug.cgi?id=51238
--- Comment #1 from Jan Braun janbraun@gmx.net --- Created attachment 70111 --> https://bugs.winehq.org/attachment.cgi?id=70111 WINEDEBUG=trace+d3dx log, failing, stock wine
https://bugs.winehq.org/show_bug.cgi?id=51238
--- Comment #2 from Jan Braun janbraun@gmx.net --- Created attachment 70112 --> https://bugs.winehq.org/attachment.cgi?id=70112 WINEDEBUG=trace+d3dx log, working, attachment70109 applied
https://bugs.winehq.org/show_bug.cgi?id=51238
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|regression: World of |World of Warships crashes |Warships fails with |due to missing support for |wined3d_deferred_context_* |ID3D11DeviceContext::Map() |functions available. |on a deferred context CC| |z.figura12@gmail.com Keywords| |regression
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- It probably needs Map() to work; most applications still do.
https://bugs.winehq.org/show_bug.cgi?id=51238
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/d3d11-Deferred_C | |ontext Status|UNCONFIRMED |STAGED CC| |o.dierick@piezo-forte.be
--- Comment #4 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
I can confirm the issue in World of Warships, and also see identical behavior in Fallout 76.
Map() for deferred context is implemented in staged patchset d3d11-Deferred_Context/0014-wined3d-Implement-wined3d_deferred_context_map.patch, so both games work with wine-staging.
I guess this bug can be marked staged as this is the first bug referencing the deferred context map() patch specifically.
Maybe this could be added to the definition file.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=51238
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|World of Warships crashes |Multiple games crash due to |due to missing support for |missing support for |ID3D11DeviceContext::Map() |ID3D11DeviceContext::Map() |on a deferred context |on a deferred context | |(World of Warships, Fallout | |76)
https://bugs.winehq.org/show_bug.cgi?id=51238
--- Comment #5 from Jan Braun janbraun@gmx.net --- While WoWS does not crash with the staging patch for me, the port UI does not get rendered. I only get a rotatable view of my ship in port. Like you'd want for a wallpaper, but no menu, no buttons to start a match or anything. So it's not playable.
Wine fd7954974b9d94b4abe5b2ee8918f8ca063b51db, with 0014-wined3d-Implement-wined3d_deferred_context_map.patch applied. Same behaviour with 0013-wined3d-Implement-wined3d_deferred_context_update_su.patch applied as well.
https://bugs.winehq.org/show_bug.cgi?id=51238
--- Comment #6 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Jan Braun from comment #5)
While WoWS does not crash with the staging patch for me, the port UI does not get rendered. I only get a rotatable view of my ship in port. Like you'd want for a wallpaper, but no menu, no buttons to start a match or anything. So it's not playable.
Hello,
I don't have that issue using wine-staging on 6.11 release tag, no controller, nvidia GPU + proprietary driver 460.39, libglesv2=disabled in winecfg, winetricks corefonts and virtual desktop.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=51238
--- Comment #7 from Jan Braun janbraun@gmx.net --- Yes, sorry, disregard comment5. Something else broke with my graphics drivers, several things are suddenly failing now.
https://bugs.winehq.org/show_bug.cgi?id=51238
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|STAGED |RESOLVED
--- Comment #8 from Zebediah Figura z.figura12@gmail.com --- DISCARD maps are implemented by https://source.winehq.org/git/wine.git/commitdiff/65e31e450896590fd92feef5e9ad6e3100afe561. Deferred context support was upstreamed in a bunch of separate pieces, and I marked bug 42191 as fixed by the same commit, so if there are no objections I'm going to mark this as a duplicate.
*** This bug has been marked as a duplicate of bug 42191 ***
https://bugs.winehq.org/show_bug.cgi?id=51238
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Zebediah Figura z.figura12@gmail.com --- Closing.