1use wgt::{Backend, WasmNotSendSync};
2
3pub trait HalApi: hal::Api + 'static + WasmNotSendSync {
4 const VARIANT: Backend;
5}
6
7impl HalApi for hal::api::Empty {
8 const VARIANT: Backend = Backend::Empty;
9}
10
11#[cfg(vulkan)]
12impl HalApi for hal::api::Vulkan {
13 const VARIANT: Backend = Backend::Vulkan;
14}
15
16#[cfg(metal)]
17impl HalApi for hal::api::Metal {
18 const VARIANT: Backend = Backend::Metal;
19}
20
21#[cfg(dx12)]
22impl HalApi for hal::api::Dx12 {
23 const VARIANT: Backend = Backend::Dx12;
24}
25
26#[cfg(gles)]
27impl HalApi for hal::api::Gles {
28 const VARIANT: Backend = Backend::Gl;
29}