hidpi swap chains (#973)

hidpi swap chains
This commit is contained in:
Carter Anderson 2020-12-01 20:25:31 -08:00 committed by GitHub
parent b5ffab7135
commit c05c1dc119
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 4 deletions

View File

@ -68,8 +68,8 @@ impl Node for WindowTextureNode {
render_resource_context.remove_texture(old_texture);
}
self.descriptor.size.width = window.width();
self.descriptor.size.height = window.height();
self.descriptor.size.width = window.scaled_width();
self.descriptor.size.height = window.scaled_height();
let texture_resource = render_resource_context.create_texture(self.descriptor);
output.set(WINDOW_TEXTURE, RenderResourceId::Texture(texture_resource));
}

View File

@ -564,8 +564,8 @@ impl WgpuFrom<&Window> for wgpu::SwapChainDescriptor {
wgpu::SwapChainDescriptor {
usage: wgpu::TextureUsage::OUTPUT_ATTACHMENT,
format: TextureFormat::default().wgpu_into(),
width: window.width(),
height: window.height(),
width: window.scaled_width(),
height: window.scaled_height(),
present_mode: if window.vsync() {
wgpu::PresentMode::Mailbox
} else {

View File

@ -125,6 +125,14 @@ impl Window {
self.width
}
pub fn scaled_width(&self) -> u32 {
(self.width as f64 * self.scale_factor) as u32
}
pub fn scaled_height(&self) -> u32 {
(self.height as f64 * self.scale_factor) as u32
}
#[inline]
pub fn height(&self) -> u32 {
self.height