Hi On Thu, Jul 22, 2021 at 4:51 PM Marc-André Lureau < marcandre.lur...@gmail.com> wrote:
> Hi > > On Thu, Jul 22, 2021 at 4:12 PM Gerd Hoffmann <kra...@redhat.com> wrote: > >> On Fri, Jul 02, 2021 at 04:32:21PM +0400, marcandre.lur...@redhat.com >> wrote: >> > From: Marc-André Lureau <marcandre.lur...@redhat.com> >> > >> > Before commit 49afbca3b00e8e517d54964229a794b51768deaf ("virtio-gpu: >> drop >> > use_virgl_renderer"), use_virgl_renderer was preventing calling GL >> > functions from non-GL context threads. The innocuously looking >> > >> > g->parent_obj.use_virgl_renderer = false; >> > >> > was set the first time virtio_gpu_gl_reset() was called, during >> > pc_machine_reset() in the main thread. Further virtio_gpu_gl_reset() >> > calls in IO threads, without associated GL context, were thus skipping >> > GL calls and avoided warnings or crashes (see also >> > https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/226). >> >> Conflicts with patch by Akihiko Odaki fixing the same thing or a >> related issue: >> >> virtio-gpu: Call Virgl only in the main thread >> >> >> https://patchwork.ozlabs.org/project/qemu-devel/patch/20210617113520.25973-1-akihiko.od...@gmail.com/ >> >> Can you have a look please and suggest how to handle this? >> > > Thanks, I didn't notice we were trying to solve the same issue. > > Akihiko's patch indeed seems to solve the crash, but doesn't solve the > flood of asserts (on wayland): > qemu-system-x86_64: Gtk: gtk_gl_area_make_current: assertion > 'gtk_widget_get_realized (widget)' failed > qemu-system-x86_64: Gdk: gdk_window_create_gl_context: assertion > 'GDK_IS_WINDOW (window)' failed > qemu-system-x86_64: Gdk: gdk_gl_context_set_required_version: assertion > 'GDK_IS_GL_CONTEXT (context)' failed > ... and many more > > My patch cleans it for me, I would suggest to take mine. > > Fwiw, I just tested also on X11, and we have another regression that seems > unrelated: > qemu-system-x86_64: ../src/dispatch_common.c:858: epoxy_get_proc_address: > Assertion `0 && "Couldn't find current GLX or EGL context.\n"' failed. > > sigh.. > > That assert is fixed with "vl: add virtio-vga-gl to the default_list" patch ( https://patchew.org/QEMU/20210701062421.721414-1-marcandre.lur...@redhat.com/ ). -- Marc-André Lureau