MR !607 was trying to fix an issue with Life Is Strange Remastered, but
although it fixed some race conditions with presentation end, the issue
it was trying to fix is still there.
The game calls IMFMediaSession_Stop while the presentation is ending, expects
that command to quickly execute, interrupting the presentation end and
emitting a MESessionStopped event instead of the MESessionEnded.
Delaying the Stop command and emitting the MESessionEnded event breaks
the game assumptions and it crashes.
--
v2: mf: Discard end of presentation on IMFMediaSession_Stop.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1710
On Wed Dec 7 03:23:03 2022 +0000, Zebediah Figura wrote:
> > This is probably fine for simplicity, but note the existence of
> WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS (and "NumSimultaneousRTs" more
> generally); this is not strictly a requirement for D3D 9.3.
> Is it not? [1] at least states it is. For d3d9 we'd presumably want to
> set WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS appropriately (which,
> granted, I don't have a patch for yet) but in terms of setting feature
> levels it seems right?
> [1] https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct…
Oh, I was looking at the required features for Direct3D 9, not Direct3D 11 downlevel devices. For the most part that shouldn't matter too much, because we'll happily create a device with a lower feature level in d3d9, but we do restrict the maximum shader version based on the feature level (shader_max_version_from_feature_level()). I.e., AFAIK in d3d9 it should be possible to use shader model 3 shaders without having D3DPMISCCAPS_INDEPENDENTWRITEMASKS.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1693#note_18956