-
-
Notifications
You must be signed in to change notification settings - Fork 961
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
fix: automatic selection for hybrid GPU and IDDSampleDriver users #3002
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3002 +/- ##
=========================================
- Coverage 9.88% 9.87% -0.01%
=========================================
Files 101 101
Lines 17975 17980 +5
Branches 8402 8408 +6
=========================================
- Hits 1776 1775 -1
+ Misses 13321 13318 -3
- Partials 2878 2887 +9
Flags with carried forward coverage won't be shown. Click here to find out more.
|
I have no idea about whether the code logic is correct or not, but I've added a few remarks about other stuff. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
09b988d
to
eac1166
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
tools/ddprobe.cpp
Outdated
|
||
// If duplication is successful, test frame capture | ||
HRESULT captureResult = test_frame_capture(dup, device_ptr.Get()); | ||
if (FAILED(captureResult)) { |
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.
S_FALSE
is a success value, so I'm not sure how this could be working. I think we would just return S_OK
in the case like we did before?
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.
Nice catch! Did not see that at all, fixed it
tools/ddprobe.cpp
Outdated
} | ||
|
||
// If duplication is successful, test frame capture | ||
HRESULT captureResult = test_frame_capture(dup, device_ptr.Get()); |
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.
I'm concerned we may generate false negatives for previously working systems. Can we pass a parameter into ddprobe to allow us to do a first pass with your new check followed by a second pass without if the first one finds no matching configurations?
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.
Updated the code to make the frame capture point optional like you suggested
Also, we now use semantic PRs. Could you make the PR title follow the conventional commit guidelines? https://www.conventionalcommits.org/en/v1.0.0/ |
f620a95
to
4bdae9c
Compare
…ual displays - Added `test_frame_capture` function to verify if frames are successfully captured and not empty. - Fixes issues with virtual displays such as IDDSampleDriver when using more than one GPU.
It occoured to me there might be some desktop images that are predominately black, which could cause a false positive.
Co-authored-by: ReenigneArcher <[email protected]>
Co-authored-by: Cameron Gutman <[email protected]>
4bdae9c
to
ec488ca
Compare
Quality Gate passedIssues Measures |
…zardByte#3002) * Fix frame capture and output duplication for dual GPU setups and virtual displays - Added `test_frame_capture` function to verify if frames are successfully captured and not empty. - Fixes issues with virtual displays such as IDDSampleDriver when using more than one GPU. Co-authored-by: ReenigneArcher <[email protected]> Co-authored-by: Cameron Gutman <[email protected]>
Description
Enhances the ddprobe utility to test to see if frames can be captured and that they are also not empty frames. If one of the 10 frames captured is not empty, it will return back successful. Previously it was only testing to see if it can be duplicated, but would fail on capturing frames which would cause Sunshine to pick the wrong GPU.
Screenshot
N/A
Issues Fixed or Closed
Type of Change
.github/...
)Checklist