I’ve been wanting to implement support for Vulkan in CasparCG for a while now. But it’s been difficult to find one single client to fund the effort. Especially since there is no real payback for just reimplementing the accelerator in Vulkan. The payback comes in the form of the new features and optimizations it enables.
I’ve now initiated a sort of fund raising campaign, with the hope to get around that problem. Have a look at https://casparcgvulkan.com if you represent an organisation that would benefit from this effort. And thanks to the kind folks at nxtedition, I’ve already got a substantial contribution towards the initial goal.
Initial Vulkan support has been made publicly available via PR 1677
This adds a drop-in replacement of the opengl accelerator based on Vulkan. Image mixing should be feature complete (it’s meant to be at least). Support for configuring which accelerator backend to use has been added (defaults to opengl on linux and windows), for easy testing. In the same spirit, an new feature flag, “ENABLE_VULKAN”, has been added to opt-in to building with Vulkan support. Making the feature completely non-intrusive unless you explicitly opt-in.
Very limited compatibility and performance testing has been done. Help with testing of different hardware and platforms are greatly appreciated.
The PR also includes initial macOS support, with some gotchas:
Compiles and runs on macos
ffmpeg producer and consumer working
No real performace testing done yet
Issue with OSC that causes CasparCG Client to crash. Use as workaround