summaryrefslogtreecommitdiffstats
path: root/wgpu/src/window
diff options
context:
space:
mode:
authorLibravatar Tilmann Meyer <me@atiltedtree.dev>2021-08-01 20:38:34 +0200
committerLibravatar Tilmann Meyer <me@atiltedtree.dev>2021-08-03 11:30:45 +0200
commitd7975a9de591a57b265c2d62078a65ffb9209696 (patch)
tree1dc26f557bc84f059de82f436895858642f635e8 /wgpu/src/window
parenta08e4ebccbb72f9cf6fca01047e0b46a482ca9ea (diff)
downloadiced-d7975a9de591a57b265c2d62078a65ffb9209696.tar.gz
iced-d7975a9de591a57b265c2d62078a65ffb9209696.tar.bz2
iced-d7975a9de591a57b265c2d62078a65ffb9209696.zip
wgpu: Use the preferred texture format of the surface
Signed-off-by: Tilmann Meyer <me@atiltedtree.dev>
Diffstat (limited to 'wgpu/src/window')
-rw-r--r--wgpu/src/window/compositor.rs10
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,