perf: use cached alpha mode instead of calling surface.get_capabilities every time the window is redrawn

This commit is contained in:
Adam Cosner 2025-02-20 04:34:39 -08:00 committed by Ashley Wulber
parent 46c745be2c
commit 0f37c9922d
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820

View file

@ -397,21 +397,6 @@ impl graphics::Compositor for Compositor {
width: u32,
height: u32,
) {
let caps = surface.get_capabilities(&self.adapter);
let alpha_mode = if caps
.alpha_modes
.contains(&wgpu::CompositeAlphaMode::PostMultiplied)
{
wgpu::CompositeAlphaMode::PostMultiplied
} else if caps
.alpha_modes
.contains(&wgpu::CompositeAlphaMode::PreMultiplied)
{
wgpu::CompositeAlphaMode::PreMultiplied
} else {
wgpu::CompositeAlphaMode::Auto
};
surface.configure(
&self.engine.device,
&wgpu::SurfaceConfiguration {
@ -420,7 +405,7 @@ impl graphics::Compositor for Compositor {
present_mode: self.settings.present_mode,
width,
height,
alpha_mode,
alpha_mode: self.alpha_mode,
view_formats: vec![],
desired_maximum_frame_latency: 1,
},