qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 12/12] ui/console: call gfx_switch() even if the current s


From: Akihiko Odaki
Subject: Re: [PATCH v3 12/12] ui/console: call gfx_switch() even if the current scanout is GL
Date: Wed, 9 Mar 2022 17:49:12 +0900
User-agent: Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

On 2022/03/09 17:40, Marc-André Lureau wrote:
Hi

On Wed, Mar 9, 2022 at 12:34 PM Akihiko Odaki <akihiko.odaki@gmail.com <mailto:akihiko.odaki@gmail.com>> wrote:

    On 2022/03/09 17:33, Marc-André Lureau wrote:
     > Hi
     >
     > On Wed, Mar 9, 2022 at 12:21 PM Akihiko Odaki
    <akihiko.odaki@gmail.com <mailto:akihiko.odaki@gmail.com>
     > <mailto:akihiko.odaki@gmail.com
    <mailto:akihiko.odaki@gmail.com>>> wrote:
     >
     >
     >     If it is expected that dpy_gfx_update is required, it should call
     >     dpy_gfx_update. I agree it is not a right timing to fix vnc
    to remove
     >     the implicit update as it is pre-existing.
     >     However the lack of dpy_gfx_update call is a regression and
    should
     >     be fixed.
     >
     >
     > Calling dpy_gfx_update is done when the scanount.kind is SURFACE.
     >
     > dpy_gfx_update is specific to SURFACE, GL uses dpy_gl_update.
     >
     > --
     > Marc-André Lureau

    egl-headless requires non-OpenGL to display the surface content even if
    scanout.kind is not SURFACE. Calling dpy_gfx_update is done when the
    scanount.kind is SURFACE is not enough.


We are going in circles... egl-headless call dpy_gfx_update on dpy_gl_update.
--
Marc-André Lureau

Ok, let me summarize the situation.

The problem occurs in the following condition.
1. register_displaychangelistener of console_select is called for a non-OpenGL display.
2. scanout.kind is SURFACE_TEXTURE or SURFACE_DMABUF.
3. egl-headless is employed.

dpy_gfx_switch and dpy_gfx_update need to be called to finish the initialization or switching of the non-OpenGL display. However, the proposed patch only calls dpy_gfx_switch.

vnc actually does not need dpy_gfx_update because the vnc implementation of dpy_gfx_switch implicitly does the work for dpy_gfx_update, but the model of ui/console expects the two of dpy_gfx_switch and dpy_gfx_update is separated and only calling dpy_gfx_switch violates the model. dpy_gfx_update used to be called even in such a case before and it is a regression.

Regards,
Akihiko Odaki



reply via email to

[Prev in Thread] Current Thread [Next in Thread]