Hi On Thu, Dec 14, 2023 at 8:26 AM Dongwon Kim <dongwon....@intel.com> wrote: > > It is needed to unblock the pipeline only if there is an active dmabuf > to be rendered and the fence for it is not yet signaled. > > Cc: Marc-André Lureau <marcandre.lur...@redhat.com> > Cc: Vivek Kasireddy <vivek.kasire...@intel.com> > Signed-off-by: Dongwon Kim <dongwon....@intel.com> > --- > ui/gtk.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/ui/gtk.c b/ui/gtk.c > index ea8d07833e..073c9eadb8 100644 > --- a/ui/gtk.c > +++ b/ui/gtk.c > @@ -597,10 +597,16 @@ void gd_hw_gl_flushed(void *vcon) > VirtualConsole *vc = vcon; > QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf; > > - qemu_set_fd_handler(dmabuf->fence_fd, NULL, NULL, NULL); > - close(dmabuf->fence_fd); > - dmabuf->fence_fd = -1; > - graphic_hw_gl_block(vc->gfx.dcl.con, false); > + if (!dmabuf) { > + return; > + }
When is this function called with dmabuf == NULL or fence_fd < 0? > + > + if (dmabuf->fence_fd > 0) { this should be >= 0 > + qemu_set_fd_handler(dmabuf->fence_fd, NULL, NULL, NULL); > + close(dmabuf->fence_fd); > + dmabuf->fence_fd = -1; > + graphic_hw_gl_block(vc->gfx.dcl.con, false); > + } > } > > /** DisplayState Callbacks (opengl version) **/ > -- > 2.34.1 > > -- Marc-André Lureau