-
Notifications
You must be signed in to change notification settings - Fork 85
Separate Metal 3 driver in the device enumerator #1835
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
base: master
Are you sure you want to change the base?
Separate Metal 3 driver in the device enumerator #1835
Conversation
72d2706 to
5123ad2
Compare
| devSel.RemoveUnusableDevModes(true); | ||
|
|
||
| if (!devSel.GetDefault(&dmr)) | ||
| if (!devSel.GetRequested(&dmr, devmode)) |
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.
@dpogue - Detecting audio/video settings was using default device instead of the requested device. Not sure if that's intentional. I might at least need to add a backup case of checking the default device for display modes?
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.
@dpogue - Just checking in on this question again in since you had another comment on this PR.
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.
Passing devmode as a bool here is definitely not right (since the second argument to GetRequested is a DeviceType enum value).
I think it is expected/correct that this case uses the default device, since this is the fallback if the requested device can't be in plClient::InitPipeline.
FYI this code was slightly modified in #1744 to enumerate based on the default display handle.
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.
Oh jees, why did the compiler let me get away with that?
But I'm also not sure if should be the default device when the user specifies a renderer as an argument.
I'll look at the other PR.
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.
Ok, I've reverted this change. I wanted to fix it, but this is all run too early, so maybe some other time...
It's not technically a huge problem. As long as all the renderers agree on possible display modes.
aa764f5 to
f5dea00
Compare
This is a commit that adds the Metal 3 check directly into the device enumerator. This allows a user or developer to ask specifically for the Metal 2 renderer on a Metal 3 system.
Not hooked up to anything yet - but needs to be hooked up to the Argument Buffer PR which has Metal 2/3 specific behaviors. This is being done as a direct result of a Metal 2 bug getting past testing because all my dev systems have Metal 3 GPUs.