-
Notifications
You must be signed in to change notification settings - Fork 911
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
[d3d8/9] Properly handle resource priority #4690
Conversation
e3d2212
to
a4fdff9
Compare
Ended up having to fix some odd crashes with the x64 builds of the Wine device tests (which to be fair I haven't checked in like ages, since I didn't expect any foul play vs x32). I've confirmed the priority behavior is now in line with expectations. |
a4fdff9
to
86e9227
Compare
86e9227
to
0d5b64e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few nits. Please tell me if you disagree with any of them or if it gets too nit-picky.
599073c
to
c60305a
Compare
c60305a
to
7561a18
Compare
The d3d8/9 behavior with regards to resource priorities is pretty straight forward:
D3D8/9Resource::SetPriority()
only works for resources in D3DPOOL_MANAGEDD3D8/9Resource::GetPriority()
(esentially the value used above is ignored)d3d9Ex, in its eternal wisdom decided to switch this up and:
D3D9Resource::SetPriority()
only works for resources in D3DPOOL_DEFAULTD3D9Resource::GetPriority()
, including anything in D3DPOOL_MANAGEDSetPriority()
, but they're not mandatory and apps can basically set pretty much anything they wantI'm aware our backend doesn't use the priority for anything really, but I guess some games might depend on it for their own internal stuff. Oh, and Wine has a d3d8/9 test for it that fails without this PR, which annoyed me.
So this is now pretty much native behavior, as annoying as it was to get everything in place within templateing nightmares and whatnot.
Still need to double check if the tests are happy, and I'll undraft after I've confirmed.