From 87a7d20b33c678dd992a556ca7b87e461ff84e79 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Wed, 11 Mar 2026 20:08:26 -0700 Subject: [PATCH] Revert "image-copy: Always use `GlesRenderbuffer` in `render_session`" This reverts commit 398fcc896bb26d3f2706da090152d1c67881816e. Accidentally pushed to wrong branch. If only branch protection has a way to prompt for overriding rule on push... --- src/backend/render/mod.rs | 2 +- .../handlers/image_copy_capture/render.rs | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/backend/render/mod.rs b/src/backend/render/mod.rs index cb8453f4..b1215fd6 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( + if let Some(pending_image_copy_data) = render_session::<_, _, GlesTexture>( 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 49e89593..10f2d117 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: AsGlowRenderer, + R: Offscreen + AsGlowRenderer, R::Error: FromGlesError, F: for<'d> FnOnce( &WlBuffer, @@ -215,8 +215,7 @@ 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()?; @@ -421,7 +420,7 @@ pub fn render_workspace_to_buffer( }; let result = match renderer { RendererRef::Glow(renderer) => { - match render_session( + match render_session::<_, _, GlesRenderbuffer>( renderer, session.user_data().get::().unwrap(), frame, @@ -449,7 +448,7 @@ pub fn render_workspace_to_buffer( } } RendererRef::GlMulti(mut renderer) => { - match render_session( + match render_session::<_, _, GlesRenderbuffer>( &mut renderer, session.user_data().get::().unwrap(), frame, @@ -671,7 +670,7 @@ pub fn render_window_to_buffer( } }; let result = match renderer { - RendererRef::Glow(renderer) => match render_session( + RendererRef::Glow(renderer) => match render_session::<_, _, GlesRenderbuffer>( renderer, session.user_data().get::().unwrap(), frame, @@ -697,7 +696,7 @@ pub fn render_window_to_buffer( None } }, - RendererRef::GlMulti(mut renderer) => match render_session( + RendererRef::GlMulti(mut renderer) => match render_session::<_, _, GlesRenderbuffer>( &mut renderer, session.user_data().get::().unwrap(), frame, @@ -831,7 +830,7 @@ pub fn render_cursor_to_buffer( }; let result = match renderer { RendererRef::Glow(renderer) => { - match render_session( + match render_session::<_, _, GlesRenderbuffer>( renderer, session.user_data().get::().unwrap(), frame, @@ -857,7 +856,7 @@ pub fn render_cursor_to_buffer( } } RendererRef::GlMulti(mut renderer) => { - match render_session( + match render_session::<_, _, GlesRenderbuffer>( &mut renderer, session.user_data().get::().unwrap(), frame,