image-copy: Always use GlesRenderbuffer in render_session

This commit is contained in:
Ian Douglas Scott 2026-03-11 10:16:02 -07:00 committed by Victoria Brekenfeld
parent c0c7a26178
commit 3ca15a5e1e
2 changed files with 11 additions and 10 deletions

View file

@ -1365,7 +1365,7 @@ where
match result { match result {
Ok((res, mut elements)) => { Ok((res, mut elements)) => {
for (session, frame) in output.take_pending_frames() { 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, renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,

View file

@ -185,7 +185,7 @@ where
})) }))
} }
pub fn render_session<F, R, T>( pub fn render_session<F, R>(
renderer: &mut R, renderer: &mut R,
session: &SessionData, session: &SessionData,
frame: Frame, frame: Frame,
@ -193,7 +193,7 @@ pub fn render_session<F, R, T>(
render_fn: F, render_fn: F,
) -> Result<Option<PendingImageCopyData>, DTError<R::Error>> ) -> Result<Option<PendingImageCopyData>, DTError<R::Error>>
where where
R: Offscreen<T> + AsGlowRenderer, R: AsGlowRenderer,
R::Error: FromGlesError, R::Error: FromGlesError,
F: for<'d> FnOnce( F: for<'d> FnOnce(
&WlBuffer, &WlBuffer,
@ -215,7 +215,8 @@ where
.expect("We should be able to convert all hardcoded shm screencopy formats") .expect("We should be able to convert all hardcoded shm screencopy formats")
}) })
.map_err(|_| DTError::OutputNoMode(OutputNoMode))?; .map_err(|_| DTError::OutputNoMode(OutputNoMode))?;
Offscreen::<T>::create_buffer(renderer, format, size).map_err(DTError::Rendering) Offscreen::<GlesRenderbuffer>::create_buffer(renderer, format, size)
.map_err(DTError::Rendering)
}) })
.transpose()?; .transpose()?;
@ -420,7 +421,7 @@ pub fn render_workspace_to_buffer(
}; };
let result = match renderer { let result = match renderer {
RendererRef::Glow(renderer) => { RendererRef::Glow(renderer) => {
match render_session::<_, _, GlesRenderbuffer>( match render_session(
renderer, renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,
@ -448,7 +449,7 @@ pub fn render_workspace_to_buffer(
} }
} }
RendererRef::GlMulti(mut renderer) => { RendererRef::GlMulti(mut renderer) => {
match render_session::<_, _, GlesRenderbuffer>( match render_session(
&mut renderer, &mut renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,
@ -670,7 +671,7 @@ pub fn render_window_to_buffer(
} }
}; };
let result = match renderer { let result = match renderer {
RendererRef::Glow(renderer) => match render_session::<_, _, GlesRenderbuffer>( RendererRef::Glow(renderer) => match render_session(
renderer, renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,
@ -696,7 +697,7 @@ pub fn render_window_to_buffer(
None None
} }
}, },
RendererRef::GlMulti(mut renderer) => match render_session::<_, _, GlesRenderbuffer>( RendererRef::GlMulti(mut renderer) => match render_session(
&mut renderer, &mut renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,
@ -830,7 +831,7 @@ pub fn render_cursor_to_buffer(
}; };
let result = match renderer { let result = match renderer {
RendererRef::Glow(renderer) => { RendererRef::Glow(renderer) => {
match render_session::<_, _, GlesRenderbuffer>( match render_session(
renderer, renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,
@ -856,7 +857,7 @@ pub fn render_cursor_to_buffer(
} }
} }
RendererRef::GlMulti(mut renderer) => { RendererRef::GlMulti(mut renderer) => {
match render_session::<_, _, GlesRenderbuffer>( match render_session(
&mut renderer, &mut renderer,
session.user_data().get::<SessionData>().unwrap(), session.user_data().get::<SessionData>().unwrap(),
frame, frame,