image-copy: Always use GlesRenderbuffer in render_session
This commit is contained in:
parent
c0c7a26178
commit
3ca15a5e1e
2 changed files with 11 additions and 10 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue