diff options
author | Vivek Kasireddy <vivek.kasireddy@intel.com> | 2021-09-14 14:18:35 -0700 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2021-09-15 08:41:59 +0200 |
commit | 65b847d284c1ab8a1dbd44d2b046e87e83ebb6e0 (patch) | |
tree | 63b0281591813862f2802aa44cf4e5fda2aecc8e /include/ui | |
parent | 121abaf3e68d620f7c4c1d16875de4a4b92fa8f8 (diff) |
ui: Create sync objects and fences only for blobs
Create sync objects and fences only for dmabufs that are blobs. Once a
fence is created (after glFlush) and is signalled,
graphic_hw_gl_flushed() will be called and virtio-gpu cmd processing
will be resumed.
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Message-Id: <20210914211837.3229977-4-vivek.kasireddy@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'include/ui')
-rw-r--r-- | include/ui/console.h | 1 | ||||
-rw-r--r-- | include/ui/egl-helpers.h | 1 | ||||
-rw-r--r-- | include/ui/gtk.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/include/ui/console.h b/include/ui/console.h index 45ec129174..244664d727 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -170,6 +170,7 @@ typedef struct QemuDmaBuf { bool y0_top; void *sync; int fence_fd; + bool allow_fences; } QemuDmaBuf; typedef struct DisplayState DisplayState; diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h index 2c3ba92b53..2fb6e0dd6b 100644 --- a/include/ui/egl-helpers.h +++ b/include/ui/egl-helpers.h @@ -19,6 +19,7 @@ typedef struct egl_fb { GLuint texture; GLuint framebuffer; bool delete_texture; + QemuDmaBuf *dmabuf; } egl_fb; void egl_fb_destroy(egl_fb *fb); diff --git a/include/ui/gtk.h b/include/ui/gtk.h index 8e98a79ac8..43854f3509 100644 --- a/include/ui/gtk.h +++ b/include/ui/gtk.h @@ -155,6 +155,7 @@ extern bool gtk_use_gl_area; /* ui/gtk.c */ void gd_update_windowsize(VirtualConsole *vc); int gd_monitor_update_interval(GtkWidget *widget); +void gd_hw_gl_flushed(void *vc); /* ui/gtk-egl.c */ void gd_egl_init(VirtualConsole *vc); |