https://bugs.winehq.org/show_bug.cgi?id=44315
--- Comment #41 from Kai Krakow kai@kaishome.de --- It looks like pba requires inclusion of many (if not all) d3d staging patches - which includes the deferred context patches. Apparently, these also depend on the nvapi patches which is a no-go if you want to allow using dxvk: While it works, it slows dxvk down because it has to deal with command streams in games then (resulting from nvapi) and it cannot do so and complains loudly. There is no support for this in Vulkan so it's unlikely to be supported in dxvk any time soon.
But: If someone would work on removing the nvapi dependency from the deferred context patches, I would work on importing the pba patches into my wine-proton branch and into my wine-gaming branch. I think even without pba, the deferred context patches could be a benefit.
What I don't like about the pba patches is that it requires to manually adjust the heap space. Thanks to Fireat, at least this can be done with environment variables. The next step would be to make it more automatic. I would opt-in to work on such a patch if the above issues with nvapi and other dependencies are fixed. But I'm far far away from understanding how pba integrates with the rest of the wine d3d.
It is also difficult to follow the individual changes that are done with the various wine branches that integrate pba because most of the time these are an undefined collection of various staging and pba patches squashed together into one single, huge patch committed to the repository. This shouldn't be done if you want others to also work on your branches. It also prevents from reworking the individual commits to integrate better with wine staging and refactor them to be less intrusive. This really needs some love and work.
Currently, I rebased proton to wine-3.16 which was a lot of headache work due to the vulkan fullscreen hacks not applying cleanly. But the result is very rewarding: Shadow of Tomb Raider went from 19 fps or 31 fps in my system, and a lot of other bugs related to focus-out events (icon-sized game when focusing back in, game freezes) and gaming windows doing full-screen are fixed with that. BTW: Thanks a lot to all the guys working on the official proton wine branch and their individual own wine branches: You have done really great work, I want to mention Zeb, Andrew and Aric especially here for their work on threading improvements, input improvements (with improved force-feedback) and audio improvements.
The branch is here if someone is interested (but it's not to be used as a stand-alone wine prefix, it's for integration with proton because it includes the steam client hacks):
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.16-unofficial-1
BTW: I don't think there's a chance to get pba upstreamed into wine any times soon without the inter-dependencies with wine-staging being resolved and making the changes to the code more easy to follow. But this only means we should work on it.