Message ID | 20211102223632.20466-3-dongwon.kim@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/4] ui/gtk-egl: un-tab and re-tab should destroy egl surface and context | expand |
diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c index 7c9629d6cc..8c55ed18fb 100644 --- a/ui/gtk-egl.c +++ b/ui/gtk-egl.c @@ -142,6 +142,10 @@ void gd_egl_refresh(DisplayChangeListener *dcl) surface_gl_destroy_texture(vc->gfx.gls, vc->gfx.ds); surface_gl_create_texture(vc->gfx.gls, vc->gfx.ds); } + if (vc->gfx.guest_fb.dmabuf) { + egl_dmabuf_release_texture(vc->gfx.guest_fb.dmabuf); + gd_egl_scanout_dmabuf(dcl, vc->gfx.guest_fb.dmabuf); + } } graphic_hw_update(dcl->con);
If guest fb is backed by dmabuf (blob-resource), the texture bound to the old context needs to be recreated in case the egl is re-initialized (e.g. new window for vc is created in case of detaching/reattaching of the tab) v2: call egl_dmabuf_release_texutre instead of putting 0 to dmabuf->texture (Vivek Kasireddy) Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> --- ui/gtk-egl.c | 4 ++++ 1 file changed, 4 insertions(+)