[Bug 59432] New: MediaFoundation does not set D3D11_RESOURCE_MISC_FLAG for textures
http://bugs.winehq.org/show_bug.cgi?id=59432 Bug ID: 59432 Summary: MediaFoundation does not set D3D11_RESOURCE_MISC_FLAG for textures Product: Wine Version: 11.2 Hardware: x86-64 OS: MacOS Status: UNCONFIRMED Severity: normal Priority: P2 Component: mfplat Assignee: wine-bugs@list.winehq.org Reporter: afifsworld132@gmail.com Created attachment 80406 --> http://bugs.winehq.org/attachment.cgi?id=80406 Log of game from Steam with +d3dkmt,+mfplat,+quartz System: MacBook Pro M1 (2020), macOS 14.1.1, Wine Staging 11.2, DXMT 0.73 When using DXMT as the renderer, a Shared Handle is created through D3DKMT for video textures. However when games (especially Unity games) try to use video rendering, the videos along with audio simply do not work. According to 3Shain, the current implementation of MediaFoundation has an issue where a miscflag (D3D11_RESOURCE_MISC_FLAG) does not get set, and as such DXMT fails to render anything. So I only hear audio and no video. Logs from Unity game's (In Falsus), startup video is given. -- 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=59432 Afif An Nafie <afifsworld132@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://store.steampowered. | |com/app/3971950/In_Falsus/ -- 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=59432 --- Comment #1 from Nikolay Sivov <bunglehead@gmail.com> --- Is there any more information on this anywhere? Which flags are not set, and when? Currently we do set D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX or D3D11_RESOURCE_MISC_SHARED for samples produced by the allocator. -- 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=59432 Afif An Nafie <afifsworld132@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #80406|0 |1 is obsolete| | --- Comment #2 from Afif An Nafie <afifsworld132@gmail.com> --- Created attachment 80421 --> http://bugs.winehq.org/attachment.cgi?id=80421 Log of game with extra logging from DXMT Getting extra log from DXMT, we can see that for a given texture resource, there is no MiscFlags set when it reaches that point. I think maybe since the video processor sets the attributes after the texture was created, it never got to the processor, and the allocator doesn't reinitialize after the flags got set. Am I missing something... -- 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=59432 --- Comment #3 from Afif An Nafie <afifsworld132@gmail.com> --- Actually, it may just be D3DKMT not sending the flags. Since it only setup's handle. 0660:fixme:d3dkmt:NtGdiDdDDICreateAllocation2 params 0x752cf5a0 semi-stub! -- 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=59432 --- Comment #4 from Afif An Nafie <afifsworld132@gmail.com> --- https://github.com/ValveSoftware/wine/commit/164af86dd770f975cdff3e09884f14e... This commit fixes this issue. -- 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=59432 --- Comment #5 from Afif An Nafie <afifsworld132@gmail.com> --- (In reply to Afif An Nafie from comment #4)
https://github.com/ValveSoftware/wine/commit/ 164af86dd770f975cdff3e09884f14ebc14b856b
This commit fixes this issue.
Though, there is a memory leak. Running Hollow Knight: Silksong is a good example here. Opening the game and playing for 10 minutes with no video playing, I see kernel_task is using around 9MB memory. Then I start a new game and letting the video play for ~20 seconds and closing the game, the memory usage of kernel_task spikes ~150MB (and does not get removed after the games closes). Same thing with In Falsus. -- 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 (1)
-
WineHQ Bugzilla