From: "Kim, Dongwon" <dongwon.kim@intel.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>
Cc: <qemu-devel@nongnu.org>, Gerd Hoffmann <kraxel@redhat.com>,
"Vivek Kasireddy" <vivek.kasireddy@intel.com>
Subject: Re: [PATCH] virtio-gpu: do not replace surface when scanout is disabled
Date: Thu, 6 Jul 2023 11:00:23 -0700 [thread overview]
Message-ID: <7b432804-c651-4cda-a18f-0098da8c2ff8@intel.com> (raw)
In-Reply-To: <CAJ+F1C+b8OXuTVS7oVdP+pvm8arSBWznxDki2TFttmRdeWqb1w@mail.gmail.com>
On 7/4/2023 8:12 AM, Marc-André Lureau wrote:
> Hi
>
> On Wed, Jun 28, 2023 at 12:32 AM Dongwon Kim <dongwon.kim@intel.com>
> wrote:
>
> Surface is replaced with a place holder whenever the surface res
> is unreferenced by the guest message. With this logic, there is
> very frequent switching between guest display and the place holder
> image, which is looking like a flickering display if the guest driver
> is designed to unref the current scanout resource before sending out
> a new scanout resource. So it is better to leave the current scanout
> image until there is a new one flushed by the guest.
>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
> Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
>
>
> Why is the driver not setting a different scanout before destroying
> the resource?
>
> I think it's wrong to not replace the surface, as the associated
> scanout resource may be destroyed or explicitly disabled for various
> purposes, and we don't want to display garbage either.
Yeah..I got your point. This is to address very specific to our use-case
with windows guest that runs virtio-gpu like driver that does unref
before the next framebuffer is set. And I agree that this sequence
doesn't look right. Let me check if we could change the sequence in the
guest driver.
>
> ---
> hw/display/virtio-gpu.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 66cddd94d9..9d3e922c8f 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -387,7 +387,6 @@ static void
> virtio_gpu_disable_scanout(VirtIOGPU *g, int scanout_id)
> res->scanout_bitmask &= ~(1 << scanout_id);
> }
>
> - dpy_gfx_replace_surface(scanout->con, NULL);
> scanout->resource_id = 0;
> scanout->ds = NULL;
> scanout->width = 0;
> --
> 2.34.1
>
>
>
>
> --
> Marc-André Lureau
prev parent reply other threads:[~2023-07-06 18:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-27 22:11 [PATCH] virtio-gpu: do not replace surface when scanout is disabled Dongwon Kim
2023-07-04 15:12 ` Marc-André Lureau
2023-07-06 18:00 ` Kim, Dongwon [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7b432804-c651-4cda-a18f-0098da8c2ff8@intel.com \
--to=dongwon.kim@intel.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=vivek.kasireddy@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).