О да, можно компилировать раст в шейдеры
Есть такое же только для DXBC?
На DXIL наверняка легко можно портировать, это LLVM, а вот на DXBC — можно прогнать выделение регистров, и все кейсы с fallthrough у свичей закрыть, продублировав код (только производные поломает, наверно)