pipewire: set xr swapchain size from first valid texture
This commit is contained in:
@@ -34,9 +34,9 @@ impl OverlayData<OpenXrOverlayData> {
|
|||||||
log::warn!("{}: Will not show - image not ready", self.state.name);
|
log::warn!("{}: Will not show - image not ready", self.state.name);
|
||||||
return None;
|
return None;
|
||||||
};
|
};
|
||||||
|
let extent = my_view.image().extent();
|
||||||
|
|
||||||
let data = self.data.swapchain.get_or_insert_with(|| {
|
let data = self.data.swapchain.get_or_insert_with(|| {
|
||||||
let extent = self.backend.extent();
|
|
||||||
let srd = create_swapchain_render_data(xr, command_buffer.graphics.clone(), extent);
|
let srd = create_swapchain_render_data(xr, command_buffer.graphics.clone(), extent);
|
||||||
|
|
||||||
log::info!(
|
log::info!(
|
||||||
@@ -54,7 +54,7 @@ impl OverlayData<OpenXrOverlayData> {
|
|||||||
let posef = helpers::transform_to_posef(&self.state.transform);
|
let posef = helpers::transform_to_posef(&self.state.transform);
|
||||||
|
|
||||||
let scale_x = self.state.transform.matrix3.col(0).length();
|
let scale_x = self.state.transform.matrix3.col(0).length();
|
||||||
let aspect_ratio = self.backend.extent()[1] as f32 / self.backend.extent()[0] as f32;
|
let aspect_ratio = extent[1] as f32 / extent[0] as f32;
|
||||||
let scale_y = scale_x * aspect_ratio;
|
let scale_y = scale_x * aspect_ratio;
|
||||||
|
|
||||||
let quad = xr::CompositionLayerQuad::new()
|
let quad = xr::CompositionLayerQuad::new()
|
||||||
|
|||||||
@@ -287,7 +287,6 @@ impl ScreenRenderer {
|
|||||||
impl OverlayRenderer for ScreenRenderer {
|
impl OverlayRenderer for ScreenRenderer {
|
||||||
fn init(&mut self, app: &mut AppState) {
|
fn init(&mut self, app: &mut AppState) {
|
||||||
let images = app.graphics.shared_images.read().unwrap();
|
let images = app.graphics.shared_images.read().unwrap();
|
||||||
self.last_view = Some(images.get("fallback").unwrap().clone());
|
|
||||||
}
|
}
|
||||||
fn render(&mut self, app: &mut AppState) {
|
fn render(&mut self, app: &mut AppState) {
|
||||||
let receiver = self.receiver.get_or_insert_with(|| {
|
let receiver = self.receiver.get_or_insert_with(|| {
|
||||||
|
|||||||
Reference in New Issue
Block a user