ui/gtk: Create a common release_dmabuf helper
Since the texture release mechanism is same for both gtk-egl and gtk-glarea, move the helper from gtk-egl to common gtk code so that it can be shared by both gtk backends. Cc: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Message-Id: <20210914211837.3229977-2-vivek.kasireddy@intel.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
eb94846280
commit
89faed62af
@ -181,8 +181,6 @@ void gd_egl_cursor_dmabuf(DisplayChangeListener *dcl,
|
|||||||
uint32_t hot_x, uint32_t hot_y);
|
uint32_t hot_x, uint32_t hot_y);
|
||||||
void gd_egl_cursor_position(DisplayChangeListener *dcl,
|
void gd_egl_cursor_position(DisplayChangeListener *dcl,
|
||||||
uint32_t pos_x, uint32_t pos_y);
|
uint32_t pos_x, uint32_t pos_y);
|
||||||
void gd_egl_release_dmabuf(DisplayChangeListener *dcl,
|
|
||||||
QemuDmaBuf *dmabuf);
|
|
||||||
void gd_egl_scanout_flush(DisplayChangeListener *dcl,
|
void gd_egl_scanout_flush(DisplayChangeListener *dcl,
|
||||||
uint32_t x, uint32_t y, uint32_t w, uint32_t h);
|
uint32_t x, uint32_t y, uint32_t w, uint32_t h);
|
||||||
void gtk_egl_init(DisplayGLMode mode);
|
void gtk_egl_init(DisplayGLMode mode);
|
||||||
|
@ -249,14 +249,6 @@ void gd_egl_cursor_position(DisplayChangeListener *dcl,
|
|||||||
vc->gfx.cursor_y = pos_y * vc->gfx.scale_y;
|
vc->gfx.cursor_y = pos_y * vc->gfx.scale_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gd_egl_release_dmabuf(DisplayChangeListener *dcl,
|
|
||||||
QemuDmaBuf *dmabuf)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_GBM
|
|
||||||
egl_dmabuf_release_texture(dmabuf);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void gd_egl_scanout_flush(DisplayChangeListener *dcl,
|
void gd_egl_scanout_flush(DisplayChangeListener *dcl,
|
||||||
uint32_t x, uint32_t y, uint32_t w, uint32_t h)
|
uint32_t x, uint32_t y, uint32_t w, uint32_t h)
|
||||||
{
|
{
|
||||||
|
11
ui/gtk.c
11
ui/gtk.c
@ -575,6 +575,14 @@ static bool gd_has_dmabuf(DisplayChangeListener *dcl)
|
|||||||
return vc->gfx.has_dmabuf;
|
return vc->gfx.has_dmabuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void gd_gl_release_dmabuf(DisplayChangeListener *dcl,
|
||||||
|
QemuDmaBuf *dmabuf)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_GBM
|
||||||
|
egl_dmabuf_release_texture(dmabuf);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/** DisplayState Callbacks (opengl version) **/
|
/** DisplayState Callbacks (opengl version) **/
|
||||||
|
|
||||||
static const DisplayChangeListenerOps dcl_gl_area_ops = {
|
static const DisplayChangeListenerOps dcl_gl_area_ops = {
|
||||||
@ -593,6 +601,7 @@ static const DisplayChangeListenerOps dcl_gl_area_ops = {
|
|||||||
.dpy_gl_scanout_disable = gd_gl_area_scanout_disable,
|
.dpy_gl_scanout_disable = gd_gl_area_scanout_disable,
|
||||||
.dpy_gl_update = gd_gl_area_scanout_flush,
|
.dpy_gl_update = gd_gl_area_scanout_flush,
|
||||||
.dpy_gl_scanout_dmabuf = gd_gl_area_scanout_dmabuf,
|
.dpy_gl_scanout_dmabuf = gd_gl_area_scanout_dmabuf,
|
||||||
|
.dpy_gl_release_dmabuf = gd_gl_release_dmabuf,
|
||||||
.dpy_has_dmabuf = gd_has_dmabuf,
|
.dpy_has_dmabuf = gd_has_dmabuf,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -615,8 +624,8 @@ static const DisplayChangeListenerOps dcl_egl_ops = {
|
|||||||
.dpy_gl_scanout_dmabuf = gd_egl_scanout_dmabuf,
|
.dpy_gl_scanout_dmabuf = gd_egl_scanout_dmabuf,
|
||||||
.dpy_gl_cursor_dmabuf = gd_egl_cursor_dmabuf,
|
.dpy_gl_cursor_dmabuf = gd_egl_cursor_dmabuf,
|
||||||
.dpy_gl_cursor_position = gd_egl_cursor_position,
|
.dpy_gl_cursor_position = gd_egl_cursor_position,
|
||||||
.dpy_gl_release_dmabuf = gd_egl_release_dmabuf,
|
|
||||||
.dpy_gl_update = gd_egl_scanout_flush,
|
.dpy_gl_update = gd_egl_scanout_flush,
|
||||||
|
.dpy_gl_release_dmabuf = gd_gl_release_dmabuf,
|
||||||
.dpy_has_dmabuf = gd_has_dmabuf,
|
.dpy_has_dmabuf = gd_has_dmabuf,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user