protonscr

ID3D11Device::OpenSharedResource implementation

dxvkclosed wontfix
doitsujin/dxvk#899 · opened 2019-02-01 by decrn · updated 2019-10-31 · 7 comments · github
Ddecrn 2019-02-01 github

Any timeline on shared resources? :)

Ddoitsujin maintainer 2019-02-01 github

It is not possible to implement this in any useful way without support for external memory, and Wine does not support that (it would be a huge task as well). So, basically it's not going to happen.

What do you need it for anyway?

Ddecrn 2019-02-01 github

Ah, damn shame. Injection clients like FiveM for GTA V uses it, among others.

Ddecrn 2019-04-07 github

Considering BattleEye and similar AC also use ReadProcessMemory and WriteProcessMemory, neither will be supported. I believe it will be up to the AC developers themselves to add Linux support, paving the way for game developers to support Linux out of the box.

After all, an anticheat that operates through a D3D wrapper can never be assumed to work as intended, anyway...

AAnti-Ultimate 2019-10-31 github

Seems like there's significant progress on @Guy1524 's shared-resource branch
https://github.com/Guy1524/wine/commits/shared-resources

I'm sure this isn't completed yet, but maybe it's time to reopen this again.

Ddoitsujin maintainer 2019-10-31 github

@Kreyren please refrain from pinging people who aren't directly involved in this project for no good reason. Last warning.

@Anti-Ultimate

I'm sure this isn't completed yet, but maybe it's time to reopen this again.

there's no good reason to reopen this issue either. If the wine patches land - which isn't even certain at this point - then yes, it'll probably be implemented, but a thread that opens with "when will this be done" doesn't help doing that in any way whatsoever. Especially since we already know that FiveM, one of the few actual use cases, will not work with the implementation.

Mmisyltoad 2019-10-31 github

We know what needs to and has to be done to an extent -- I've even done an impl in my dxvk branch that works on Windows.

Currently the issues are:

  • Attaching texture metadata to the handle
  • WineVulkan/Wine implementation of the shared memory stuff
  • How the hell do things synchronize???
    • We know at least a manual flush is required on source device in the docs before its used on another... But how is that waited on... The submitted cmd buffers might need some ordering guarantee.

Stuff will happen when it happens, putting 15 random links in your comment and pinging people from LunarG isn't going to help or change things.

Ddoitsujin maintainer 2019-10-31 github

These are vulkan developers so I believe that they are directly related to DXVK

No, they are not. Or is Linus Torvalds is directly related to DXVK as well now because it targets Linux?

Maybe just leave the development and project management to me and contributors.

Nothing extracted yet.