Skip to content

Commit

Permalink
Add get_default_configure for Surface to simplify user creation o…
Browse files Browse the repository at this point in the history
…f `SurfaceConfiguration`
  • Loading branch information
jinleili committed Sep 22, 2022
1 parent 2c1d7a8 commit 9cba89f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ SurfaceConfiguration {
- Address Clippy 0.1.63 complaints. By @jimblandy in [#2977](https://github.com/gfx-rs/wgpu/pull/2977)
- Don't use `PhantomData` for `IdentityManager`'s `Input` type. By @jimblandy in [#2972](https://github.com/gfx-rs/wgpu/pull/2972)
- Changed Naga variant in ShaderSource to `Cow<'static, Module>`, to allow loading global variables by @daxpedda in [#2903](https://github.com/gfx-rs/wgpu/pull/2903)
- Add `get_default_configure` for `Surface` to simplify user creation of `SurfaceConfiguration`. By @jinleili in [#3034](https://github.com/gfx-rs/wgpu/pull/3034)

#### Metal
- Extract the generic code into `get_metal_layer` by @jinleili in [#2826](https://github.com/gfx-rs/wgpu/pull/2826)
Expand Down
9 changes: 1 addition & 8 deletions wgpu/examples/framework.rs
Original file line number Diff line number Diff line change
Expand Up @@ -267,14 +267,7 @@ fn start<E: Example>(
}: Setup,
) {
let spawner = Spawner::new();
let mut config = wgpu::SurfaceConfiguration {
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
format: surface.get_supported_formats(&adapter)[0],
width: size.width,
height: size.height,
present_mode: wgpu::PresentMode::Fifo,
alpha_mode: surface.get_supported_alpha_modes(&adapter)[0],
};
let mut config = surface.get_default_configure(&adapter, size.width, size.height);
surface.configure(&device, &config);

log::info!("Initializing the example...");
Expand Down
17 changes: 17 additions & 0 deletions wgpu/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3690,6 +3690,23 @@ impl Surface {
Context::surface_get_supported_alpha_modes(&*self.context, &self.id, &adapter.id)
}

/// Return a default `SurfaceConfiguration` from width and height to use for the [`Surface`] with this adapter.
pub fn get_default_configure(
&self,
adapter: &Adapter,
width: u32,
height: u32,
) -> wgt::SurfaceConfiguration {
wgt::SurfaceConfiguration {
usage: wgt::TextureUsages::RENDER_ATTACHMENT,
format: self.get_supported_formats(adapter)[0],
width,
height,
present_mode: self.get_supported_present_modes(adapter)[0],
alpha_mode: wgt::CompositeAlphaMode::Auto,
}
}

/// Initializes [`Surface`] for presentation.
///
/// # Panics
Expand Down

0 comments on commit 9cba89f

Please sign in to comment.