diff options
author | 2021-08-04 18:48:19 +0700 | |
---|---|---|
committer | 2021-08-04 18:48:19 +0700 | |
commit | 63bdbf817e0ecd8ce9162f2b8cc5eaefb5b42e68 (patch) | |
tree | 01217e3365733a8c34a2bee980b21197347d6c03 /wgpu/src/window | |
parent | cdd2f247f8c22775a5035be03715775c96cd1037 (diff) | |
parent | f3916decf25063ea23e03e63a65f0342cef09f1a (diff) | |
download | iced-63bdbf817e0ecd8ce9162f2b8cc5eaefb5b42e68.tar.gz iced-63bdbf817e0ecd8ce9162f2b8cc5eaefb5b42e68.tar.bz2 iced-63bdbf817e0ecd8ce9162f2b8cc5eaefb5b42e68.zip |
Merge pull request #978 from ATiltedTree/use-preffered-format
wgpu: Use the preferred texture format of the surface
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/compositor.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 9b65596f..68ebf234 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -13,6 +13,7 @@ pub struct Compositor { queue: wgpu::Queue, staging_belt: wgpu::util::StagingBelt, local_pool: futures::executor::LocalPool, + format: wgpu::TextureFormat, } impl Compositor { @@ -42,6 +43,10 @@ impl Compositor { }) .await?; + let format = compatible_surface + .as_ref() + .and_then(|surf| adapter.get_swap_chain_preferred_format(surf))?; + let (device, queue) = adapter .request_device( &wgpu::DeviceDescriptor { @@ -69,12 +74,13 @@ impl Compositor { queue, staging_belt, local_pool, + format, }) } /// Creates a new rendering [`Backend`] for this [`Compositor`]. pub fn create_backend(&self) -> Backend { - Backend::new(&self.device, self.settings) + Backend::new(&self.device, self.settings, self.format) } } @@ -119,7 +125,7 @@ impl iced_graphics::window::Compositor for Compositor { surface, &wgpu::SwapChainDescriptor { usage: wgpu::TextureUsage::RENDER_ATTACHMENT, - format: self.settings.format, + format: self.format, present_mode: self.settings.present_mode, width, height, |