From 3ca15a5e1e8e3f501c417d035873b92a8d0dfc62 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Wed, 11 Mar 2026 10:16:02 -0700 Subject: [PATCH] image-copy: Always use `GlesRenderbuffer` in `render_session` --- src/backend/render/mod.rs | 2 +- .../handlers/image_copy_capture/render.rs | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/backend/render/mod.rs b/src/backend/render/mod.rs index b1215fd6..cb8453f4 100644 --- a/src/backend/render/mod.rs +++ b/src/backend/render/mod.rs @@ -1365,7 +1365,7 @@ where match result { Ok((res, mut elements)) => { for (session, frame) in output.take_pending_frames() { - if let Some(pending_image_copy_data) = render_session::<_, _, GlesTexture>( + if let Some(pending_image_copy_data) = render_session( renderer, session.user_data().get::().unwrap(), frame, diff --git a/src/wayland/handlers/image_copy_capture/render.rs b/src/wayland/handlers/image_copy_capture/render.rs index 10f2d117..49e89593 100644 --- a/src/wayland/handlers/image_copy_capture/render.rs +++ b/src/wayland/handlers/image_copy_capture/render.rs @@ -185,7 +185,7 @@ where })) } -pub fn render_session( +pub fn render_session( renderer: &mut R, session: &SessionData, frame: Frame, @@ -193,7 +193,7 @@ pub fn render_session( render_fn: F, ) -> Result, DTError> where - R: Offscreen + AsGlowRenderer, + R: AsGlowRenderer, R::Error: FromGlesError, F: for<'d> FnOnce( &WlBuffer, @@ -215,7 +215,8 @@ where .expect("We should be able to convert all hardcoded shm screencopy formats") }) .map_err(|_| DTError::OutputNoMode(OutputNoMode))?; - Offscreen::::create_buffer(renderer, format, size).map_err(DTError::Rendering) + Offscreen::::create_buffer(renderer, format, size) + .map_err(DTError::Rendering) }) .transpose()?; @@ -420,7 +421,7 @@ pub fn render_workspace_to_buffer( }; let result = match renderer { RendererRef::Glow(renderer) => { - match render_session::<_, _, GlesRenderbuffer>( + match render_session( renderer, session.user_data().get::().unwrap(), frame, @@ -448,7 +449,7 @@ pub fn render_workspace_to_buffer( } } RendererRef::GlMulti(mut renderer) => { - match render_session::<_, _, GlesRenderbuffer>( + match render_session( &mut renderer, session.user_data().get::().unwrap(), frame, @@ -670,7 +671,7 @@ pub fn render_window_to_buffer( } }; let result = match renderer { - RendererRef::Glow(renderer) => match render_session::<_, _, GlesRenderbuffer>( + RendererRef::Glow(renderer) => match render_session( renderer, session.user_data().get::().unwrap(), frame, @@ -696,7 +697,7 @@ pub fn render_window_to_buffer( None } }, - RendererRef::GlMulti(mut renderer) => match render_session::<_, _, GlesRenderbuffer>( + RendererRef::GlMulti(mut renderer) => match render_session( &mut renderer, session.user_data().get::().unwrap(), frame, @@ -830,7 +831,7 @@ pub fn render_cursor_to_buffer( }; let result = match renderer { RendererRef::Glow(renderer) => { - match render_session::<_, _, GlesRenderbuffer>( + match render_session( renderer, session.user_data().get::().unwrap(), frame, @@ -856,7 +857,7 @@ pub fn render_cursor_to_buffer( } } RendererRef::GlMulti(mut renderer) => { - match render_session::<_, _, GlesRenderbuffer>( + match render_session( &mut renderer, session.user_data().get::().unwrap(), frame,