Revert adapter reordering on Intel iGPU+dGPU systems #7987
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR reverts commits related to Intel iGPU+dGPU adapter reordering that occurs in systems with both an Intel iGPU and Intel dGPU. See PR #3686 where this was originally introduced.
Reverts the following commits:
Fixes #7917.
Motivation and Context
PR #3686 originally introduced this change "to improve performance" (per commit c83eaaa). With the release of the Intel Arc GPUs, users were confused as to why they could not run OBS on their Arc GPU if their system also had an Intel iGPU. After further discussion internally and with Intel, we've decided that it's less confusing to just allow users to choose to run OBS on their Arc dGPU if they want to. If they run into GPU headroom issues, that will become apparent in the video output and in log files, and we can make recommendations from there during troubleshooting sessions.
Initially, I also wanted to revert these commits:
However, the new
InitFactory
introduced in 1e106c8 was used in abddfea (#6146), and I did not want to adjust the code there. Commit 477199e does not revert cleanly, and it only seems to apply to DG1 GPUs, so it has a limited scope, and I decided not address it here. We could look into addressing either of those later.I don't see a reason that we would need to keep 02d20e9 or e62759a , but we can keep them if needed.
How Has This Been Tested?
Tested on my Intel iGPU+dGPU system (Iris Xe + Arc A770M). The QSV encoder worked fine no matter which GPU I set OBS to use via Windows Graphics Settings, and the encoder preferred the GPU OBS is running on if the codec is available. The OBS log showed the selected GPU as adapter index 0 and that OBS was running on it. When running on the iGPU, the AV1 encoder uses its non-texture sharing fallback, though with additional resource usage.
Types of changes
Checklist: