diff options
author | 2021-03-25 11:27:31 +0100 | |
---|---|---|
committer | 2021-03-25 11:29:40 +0100 | |
commit | 883c7e71ae699a29c23b8f95b7335d015e5a985d (patch) | |
tree | 7010fec72aefa97a329eb4b29667e102017114dd /wgpu/src/window | |
parent | ab8dcf91bdcad6c8d0a39802f2823e65aafa8f0a (diff) | |
download | iced-883c7e71ae699a29c23b8f95b7335d015e5a985d.tar.gz iced-883c7e71ae699a29c23b8f95b7335d015e5a985d.tar.bz2 iced-883c7e71ae699a29c23b8f95b7335d015e5a985d.zip |
Introduce `internal_backend` to `iced_wgpu::Settings`
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/compositor.rs | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 3d785f71..fdd648e8 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -15,35 +15,6 @@ pub struct Compositor { local_pool: futures::executor::LocalPool, } -#[derive(Clone)] -pub enum WgpuBackend { - Auto, - Vulkan, - Metal, - Dx12, - Dx11, - Gl, - BrowserWgpu, -} - -impl WgpuBackend { - fn from_env() -> Self { - if let Ok(backend) = std::env::var("WGPU_BACKEND") { - match backend.to_lowercase().as_str() { - "vulkan" => WgpuBackend::Vulkan, - "metal" => WgpuBackend::Metal, - "dx12" => WgpuBackend::Dx12, - "dx11" => WgpuBackend::Dx11, - "gl" => WgpuBackend::Gl, - "webgpu" => WgpuBackend::BrowserWgpu, - other => panic!("Unknown backend: {}", other), - } - } else { - WgpuBackend::Auto - } - } -} - impl Compositor { const CHUNK_SIZE: u64 = 10 * 1024; @@ -51,17 +22,7 @@ impl Compositor { /// /// Returns `None` if no compatible graphics adapter could be found. pub async fn request(settings: Settings) -> Option<Self> { - let backend = match WgpuBackend::from_env() { - WgpuBackend::Auto => wgpu::BackendBit::PRIMARY, - WgpuBackend::Vulkan => wgpu::BackendBit::VULKAN, - WgpuBackend::Metal => wgpu::BackendBit::METAL, - WgpuBackend::Dx12 => wgpu::BackendBit::DX12, - WgpuBackend::Dx11 => wgpu::BackendBit::DX11, - WgpuBackend::Gl => wgpu::BackendBit::GL, - WgpuBackend::BrowserWgpu => wgpu::BackendBit::BROWSER_WEBGPU, - }; - - let instance = wgpu::Instance::new(backend); + let instance = wgpu::Instance::new(settings.internal_backend); let adapter = instance .request_adapter(&wgpu::RequestAdapterOptions { |