diff options
author | 2020-02-25 11:14:34 +0100 | |
---|---|---|
committer | 2020-02-25 11:14:34 +0100 | |
commit | 69c81aa50dc30bc7a05df4393e45bc3d478db8b5 (patch) | |
tree | bc05c7179ade80db61a2009239c9f5c9615181b5 /wgpu/src/window | |
parent | e680fd27e754aead4003cae72f401090662851b2 (diff) | |
parent | be14aca07506385a209e89cd99256744a7ec3c0f (diff) | |
download | iced-69c81aa50dc30bc7a05df4393e45bc3d478db8b5.tar.gz iced-69c81aa50dc30bc7a05df4393e45bc3d478db8b5.tar.bz2 iced-69c81aa50dc30bc7a05df4393e45bc3d478db8b5.zip |
Merge pull request #205 from hecrj/feature/wgpu-configurable-format
Make output format of `iced_wgpu` configurable
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/backend.rs | 12 | ||||
-rw-r--r-- | wgpu/src/window/swap_chain.rs | 6 |
2 files changed, 14 insertions, 4 deletions
diff --git a/wgpu/src/window/backend.rs b/wgpu/src/window/backend.rs index 4c9f289b..5b269f36 100644 --- a/wgpu/src/window/backend.rs +++ b/wgpu/src/window/backend.rs @@ -8,6 +8,7 @@ use raw_window_handle::HasRawWindowHandle; pub struct Backend { device: wgpu::Device, queue: wgpu::Queue, + format: wgpu::TextureFormat, } impl iced_native::window::Backend for Backend { @@ -37,7 +38,14 @@ impl iced_native::window::Backend for Backend { let renderer = Renderer::new(&mut device, settings); - (Backend { device, queue }, renderer) + ( + Backend { + device, + queue, + format: settings.format, + }, + renderer, + ) } fn create_surface<W: HasRawWindowHandle>( @@ -53,7 +61,7 @@ impl iced_native::window::Backend for Backend { width: u32, height: u32, ) -> SwapChain { - SwapChain::new(&self.device, surface, width, height) + SwapChain::new(&self.device, surface, self.format, width, height) } fn draw<T: AsRef<str>>( diff --git a/wgpu/src/window/swap_chain.rs b/wgpu/src/window/swap_chain.rs index 6f545fce..4ca2901b 100644 --- a/wgpu/src/window/swap_chain.rs +++ b/wgpu/src/window/swap_chain.rs @@ -18,11 +18,12 @@ impl SwapChain { pub fn new( device: &wgpu::Device, surface: &wgpu::Surface, + format: wgpu::TextureFormat, width: u32, height: u32, ) -> SwapChain { SwapChain { - raw: new_swap_chain(surface, width, height, device), + raw: new_swap_chain(surface, format, width, height, device), viewport: Viewport::new(width, height), } } @@ -38,6 +39,7 @@ impl SwapChain { fn new_swap_chain( surface: &wgpu::Surface, + format: wgpu::TextureFormat, width: u32, height: u32, device: &wgpu::Device, @@ -46,7 +48,7 @@ fn new_swap_chain( &surface, &wgpu::SwapChainDescriptor { usage: wgpu::TextureUsage::OUTPUT_ATTACHMENT, - format: wgpu::TextureFormat::Bgra8UnormSrgb, + format, width, height, present_mode: wgpu::PresentMode::Vsync, |