wgpu_core/
hal_api.rs

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}