-
Notifications
You must be signed in to change notification settings - Fork 831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dxvk] Hold a reference to the DxvkAdapter's DxvkInstance #1240
Conversation
This fixes a crash when playing Beat Saber with Wine's DXGI.
To elaborate a bit more.
|
I see the problem and wonder why we haven't run into this earlier since it's a really dumb bug; unfortunately this solution creates a circular reference since I'll work out why there's an adapter->instance relation in the first place, it probably shouldn't exist. |
Could solve this the d3d9 surface/texture way and make that child object inherit the refcount of its parent |
Doesn't really work that way since this isn't COM ref counting that's going wrong but the internal DXVK stuff. Now that I think about it, I think |
FWIW the crash I saw happens when Proton's |
Beat Saber works with the above commit on my end; a proper solution will require significantly more work. |
Thanks. I picked that commit on top of 1.4.4 and confirmed it's working here. Are you OK with releasing like that in the next Proton? |
Yes; I don't know how long it'll take to rework the whole adapter thing. |
Hack to keep the instance alive which owns the adapters. Should fix #1240 for now, but we should fix this properly later on.
This fixes a crash when playing Beat Saber with Wine's DXGI.