From 268ad957677bf160a40c96aa45d4d7bd44259797 Mon Sep 17 00:00:00 2001 From: Victor Brekenfeld Date: Fri, 18 Jun 2021 23:32:23 +0200 Subject: [PATCH] gles2: Fixup cleanup of unused dmabuf-bindings --- src/backend/renderer/gles2/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/backend/renderer/gles2/mod.rs b/src/backend/renderer/gles2/mod.rs index 0915fbc..491f2d4 100644 --- a/src/backend/renderer/gles2/mod.rs +++ b/src/backend/renderer/gles2/mod.rs @@ -781,7 +781,12 @@ impl Bind for Gles2Renderer { let mut i = 0; while i != self.buffers.len() { if self.buffers[i].dmabuf.upgrade().is_none() { - self.buffers.remove(i); + let weak = self.buffers.remove(i); + unsafe { + self.gl.DeleteFramebuffers(1, &weak.fbo as *const _); + self.gl.DeleteRenderbuffers(1, &weak.rbo as *const _); + ffi_egl::DestroyImageKHR(**self.egl.display.display, weak.image); + } } else { i += 1; } @@ -809,6 +814,7 @@ impl Bind for Gles2Renderer { }) }) .unwrap_or_else(|| { + trace!(self.logger, "Creating EGLImage for Dmabuf: {:?}", dmabuf); let image = self .egl .display