i've made my music player relatively modular as well and now it's coming to bite me in the arse when it comes to implementing a proper API for it, cause it's too modular
merged the reason its so jank is that the API was originally built for use in FNA/MojoShader exclusively, and it just so happens that people like me picked it up and started improving upon it for use elsewhere
d3d12 would be absolutely ideal for me. i love d3d11 way more than i should do so d3d12 is probably the best api for me if it can work on linux and hopefully macs in the future as well
will be interesting trying to get the windows headers compiling on linux though. didn't have much luck before when i used dxvk-native. can't remember what was missing though, probably something obvious
also I wish I could use d3d12 everywhere with vkd3d but it's LGPL so I can't (there is a popular platform that supports vulkan but requires static linking and NDAs)
however, DXVK won't compile on my HD 4000 machine because it requires Vulkan 1.3 and the cracked mesa devs only support almost-vulkan 1.0 on HD 4000 GPUs.