aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers
diff options
context:
space:
mode:
Diffstat (limited to 'src/render_helpers')
-rw-r--r--src/render_helpers/mod.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/render_helpers/mod.rs b/src/render_helpers/mod.rs
index 369ee5c2..d8799094 100644
--- a/src/render_helpers/mod.rs
+++ b/src/render_helpers/mod.rs
@@ -309,6 +309,19 @@ pub fn render_to_shm(
.context("expected shm buffer, but didn't get one")?
}
+pub fn clear_dmabuf(renderer: &mut GlesRenderer, mut dmabuf: Dmabuf) -> anyhow::Result<SyncPoint> {
+ let size = dmabuf.size();
+ let size = size.to_logical(1, Transform::Normal).to_physical(1);
+ let mut target = renderer.bind(&mut dmabuf).context("error binding dmabuf")?;
+ let mut frame = renderer
+ .render(&mut target, size, Transform::Normal)
+ .context("error starting frame")?;
+ frame
+ .clear(Color32F::TRANSPARENT, &[Rectangle::from_size(size)])
+ .context("error clearing")?;
+ frame.finish().context("error finishing frame")
+}
+
fn render_elements(
renderer: &mut GlesRenderer,
target: &mut GlesTarget,