Sunshine icon indicating copy to clipboard operation
Sunshine copied to clipboard

feat(win/nvenc): dynamic sdk version selection at runtime

Open ns6089 opened this issue 1 year ago • 4 comments

Description

Notes

  • submodules moved from nv-codec-headers to nvenc-headers to avoid conflicts during branch switching
  • 1202 tracks master because there is no branch for this version yet

Todo

  • [x] update doxygen comments
  • [x] add some automatic regression tests for older sdk's

Screenshot

if (max_version >= 1202) {
  return std::make_shared<nvenc_dynamic_factory_1202>(dll);
}
else if (max_version >= 1200) {
  return std::make_shared<nvenc_dynamic_factory_1200>(dll);
}
else if (max_version >= 1100) {
  return std::make_shared<nvenc_dynamic_factory_1100>(dll);
}
else {
  BOOST_LOG(error) << "NvEnc: minimum required driver version is 456.71";
}

Issues Fixed or Closed

Type of Change

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [x] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [ ] Dependency update (updates to dependencies)
  • [ ] Documentation update (changes to documentation)
  • [ ] Repository update (changes to repository files, e.g. .github/...)

Checklist

  • [x] My code follows the style guidelines of this project
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

ns6089 avatar Aug 17 '24 11:08 ns6089

Ready. Split-frame encoding will be done in a separate PR since it's a separate feature and we're now auto-squashing commits.

ns6089 avatar Aug 22 '24 09:08 ns6089

Quality Gate Failed Quality Gate failed

Failed conditions
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

sonarqubecloud[bot] avatar Aug 23 '24 06:08 sonarqubecloud[bot]

The code in this pull request is Not a Contribution under LizardByte Individual Contributor License Agreement. The code in this pull request is shared under GNU GENERAL PUBLIC LICENSE Version 3.

ns6089 avatar Aug 25 '24 03:08 ns6089

Reopening now that the CLA has been revoked and this can now be accepted under the GPLv3 terms alone.

cgutman avatar Aug 28 '24 02:08 cgutman

It looks like this PR has been idle for 90 days. If it's still something you're working on or would like to pursue, please leave a comment or update your branch. Otherwise, we'll be closing this PR in 10 days to reduce our backlog. Thanks!

LizardByte-bot avatar Jan 03 '25 10:01 LizardByte-bot

This PR was closed because it has been stalled for 10 days with no activity.

LizardByte-bot avatar Jan 13 '25 10:01 LizardByte-bot