summaryrefslogtreecommitdiffstats
path: root/examples
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 /examples
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 'examples')
-rw-r--r--examples/integration/src/main.rs35
1 files changed, 19 insertions, 16 deletions
diff --git a/examples/integration/src/main.rs b/examples/integration/src/main.rs
index b57c73d8..ffa3bf48 100644
--- a/examples/integration/src/main.rs
+++ b/examples/integration/src/main.rs
@@ -34,7 +34,7 @@ pub fn main() {
let instance = wgpu::Instance::new(wgpu::BackendBit::PRIMARY);
let surface = unsafe { instance.create_surface(&window) };
- let (mut device, queue) = futures::executor::block_on(async {
+ let (format, (mut device, queue)) = futures::executor::block_on(async {
let adapter = instance
.request_adapter(&wgpu::RequestAdapterOptions {
power_preference: wgpu::PowerPreference::HighPerformance,
@@ -43,21 +43,24 @@ pub fn main() {
.await
.expect("Request adapter");
- adapter
- .request_device(
- &wgpu::DeviceDescriptor {
- label: None,
- features: wgpu::Features::empty(),
- limits: wgpu::Limits::default(),
- },
- None,
- )
- .await
- .expect("Request device")
+ (
+ adapter
+ .get_swap_chain_preferred_format(&surface)
+ .expect("Preffered format"),
+ adapter
+ .request_device(
+ &wgpu::DeviceDescriptor {
+ label: None,
+ features: wgpu::Features::empty(),
+ limits: wgpu::Limits::default(),
+ },
+ None,
+ )
+ .await
+ .expect("Request device"),
+ )
});
- let format = wgpu::TextureFormat::Bgra8UnormSrgb;
-
let mut swap_chain = {
let size = window.inner_size();
@@ -65,7 +68,7 @@ pub fn main() {
&surface,
&wgpu::SwapChainDescriptor {
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
- format: format,
+ format,
width: size.width,
height: size.height,
present_mode: wgpu::PresentMode::Mailbox,
@@ -85,7 +88,7 @@ pub fn main() {
// Initialize iced
let mut debug = Debug::new();
let mut renderer =
- Renderer::new(Backend::new(&mut device, Settings::default()));
+ Renderer::new(Backend::new(&mut device, Settings::default(), format));
let mut state = program::State::new(
controls,