kvark/blade

Dynamic backends (or multiple static backends)

lukaslihotzki opened this issue · 1 comments

Do you have any idea how to make the backends (specifically, GLES or Vulkan) selectable at runtime? For exmaple, by making some object-safe traits? Alternatively, it would help if multiple backends can be activated at the same time (for example, with cargo features, preferably exposed as (non-object-safe) traits too). Then, abstracting over multiple backends could be done by the application.

Yes, the latter, I think, is the way to explore. Make it possible to build multiple backends even if the "root" exported types are from one of them. Would require a few fixes in the backends themselves, since sometimes they use types as crate::Type, but possible.