[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 4/8] ui/gtk: Implement wait_dmabuf function
From: |
Vivek Kasireddy |
Subject: |
[PATCH v2 4/8] ui/gtk: Implement wait_dmabuf function |
Date: |
Thu, 10 Jun 2021 15:48:33 -0700 |
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
ui/gtk.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/ui/gtk.c b/ui/gtk.c
index 6132bab52f..cd884ca26c 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -583,6 +583,19 @@ static void gd_gl_release_dmabuf(DisplayChangeListener
*dcl,
#endif
}
+static void gd_gl_wait_dmabuf(DisplayChangeListener *dcl,
+ QemuDmaBuf *dmabuf)
+{
+#ifdef CONFIG_GBM
+ egl_dmabuf_create_fence(dmabuf);
+ if (dmabuf->fence_fd <= 0) {
+ return;
+ }
+
+ egl_dmabuf_wait_sync(dmabuf);
+#endif
+}
+
/** DisplayState Callbacks (opengl version) **/
static const DisplayChangeListenerOps dcl_gl_area_ops = {
@@ -602,6 +615,7 @@ static const DisplayChangeListenerOps dcl_gl_area_ops = {
.dpy_gl_update = gd_gl_area_scanout_flush,
.dpy_gl_scanout_dmabuf = gd_gl_area_scanout_dmabuf,
.dpy_gl_release_dmabuf = gd_gl_release_dmabuf,
+ .dpy_gl_wait_dmabuf = gd_gl_wait_dmabuf,
.dpy_has_dmabuf = gd_has_dmabuf,
};
@@ -626,6 +640,7 @@ static const DisplayChangeListenerOps dcl_egl_ops = {
.dpy_gl_cursor_position = gd_egl_cursor_position,
.dpy_gl_update = gd_egl_scanout_flush,
.dpy_gl_release_dmabuf = gd_gl_release_dmabuf,
+ .dpy_gl_wait_dmabuf = gd_gl_wait_dmabuf,
.dpy_has_dmabuf = gd_has_dmabuf,
};
--
2.30.2
- [PATCH v2 0/8] virtio-gpu: Add a default synchronization mechanism for blobs, Vivek Kasireddy, 2021/06/10
- [PATCH v2 1/8] ui/gtk: Create a common release_dmabuf helper, Vivek Kasireddy, 2021/06/10
- [PATCH v2 3/8] ui: Add a helper to wait on a dmabuf sync object, Vivek Kasireddy, 2021/06/10
- [PATCH v2 2/8] ui/egl: Add egl helpers to help with synchronization, Vivek Kasireddy, 2021/06/10
- [PATCH v2 4/8] ui/gtk: Implement wait_dmabuf function,
Vivek Kasireddy <=
- [PATCH v2 6/8] ui/gtk-egl: Wait for the draw signal for dmabuf blobs, Vivek Kasireddy, 2021/06/10
- [PATCH v2 5/8] ui: Create sync objects only for blobs, Vivek Kasireddy, 2021/06/10
- [PATCH v2 7/8] virtio-gpu: Add dmabuf helpers for synchronization, Vivek Kasireddy, 2021/06/10
- [PATCH v2 8/8] virtio-gpu: Add gl_flushed callback, Vivek Kasireddy, 2021/06/10
- Re: [PATCH v2 0/8] virtio-gpu: Add a default synchronization mechanism for blobs, no-reply, 2021/06/14