From: Dongwon Kim Date: Thu, 4 Nov 2021 06:51:50 +0000 (-0700) Subject: ui/gtk-egl: guest fb texture needs to be regenerated when reinitializing egl X-Git-Tag: qemu-xen-4.17.0-rc4~239^2~2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4872a023a593e6519b272a57fea03abe13a7bb00;p=qemu-xen.git ui/gtk-egl: guest fb texture needs to be regenerated when reinitializing egl 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 Signed-off-by: Dongwon Kim Message-Id: <20211104065153.28897-3-dongwon.kim@intel.com> Signed-off-by: Gerd Hoffmann --- diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c index 2164995098..f2026e4b5c 100644 --- a/ui/gtk-egl.c +++ b/ui/gtk-egl.c @@ -155,6 +155,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);