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 6 months 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