diff --git a/src/backend/openxr/swapchain.rs b/src/backend/openxr/swapchain.rs index a64bc0e..f8b3e6b 100644 --- a/src/backend/openxr/swapchain.rs +++ b/src/backend/openxr/swapchain.rs @@ -94,7 +94,7 @@ impl SwapchainRenderData { let render_target = &mut self.images[idx]; command_buffer.begin_rendering(render_target.clone()); - let target_extent = view.image().extent(); + let target_extent = render_target.image().extent(); let set = self .pipeline .uniform_sampler(0, view.clone(), Filter::Linear); diff --git a/src/overlays/screen.rs b/src/overlays/screen.rs index 753165f..26fff3d 100644 --- a/src/overlays/screen.rs +++ b/src/overlays/screen.rs @@ -241,7 +241,7 @@ impl OverlayRenderer for ScreenRenderer { self.capture.resume(); } fn view(&mut self) -> Option> { - self.last_view.take() + self.last_view.clone() } fn extent(&self) -> [u32; 3] { self.extent.clone() @@ -433,7 +433,7 @@ fn extent_from_res(res: (i32, i32)) -> [u32; 3] { // screens above a certain resolution will have severe aliasing // TODO make dynamic. maybe don't go above HMD resolution? - let w = res.0.min(2560) as u32; + let w = res.0.min(1920) as u32; let h = (res.1 as f32 / res.0 as f32 * w as f32) as u32; [w, h, 1] }