All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Kasireddy <vivek.kasireddy@intel.com>
To: qemu-devel@nongnu.org
Cc: Dongwon Kim <dongwon.kim@intel.com>,
	Tina Zhang <tina.zhang@intel.com>,
	Vivek Kasireddy <vivek.kasireddy@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [PATCH v1 0/5] virtio-gpu: Add implicit (and default) sync mechanism for blobs
Date: Mon,  7 Jun 2021 16:25:25 -0700	[thread overview]
Message-ID: <20210607232530.454435-1-vivek.kasireddy@intel.com> (raw)

When the Guest and Host are using Blob resources, there is a chance
that they may use the underlying storage associated with a Blob at
the same time leading to glitches such as flickering or tearing.
To prevent these from happening, the Host needs to ensure that it
waits until its Blit is completed by the Host GPU before returning
control back to the Guest from resource_flush().

This should be the default behavior regardless of the type of Guest
that is using Blob resources but would be particularly useful for 
Guests that are using frontbuffer rendering such as Linux with X
or Windows 10, etc.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Cc: Tina Zhang <tina.zhang@intel.com>

Vivek Kasireddy (5):
  ui/gtk: Create a common release_dmabuf helper
  ui: Add a helper to wait on a dmabuf sync object
  ui/egl: Add egl helpers to help with synchronization
  ui: Create sync objects only for blobs
  virtio-gpu: Make resource_flush wait on the sync object for blobs

 hw/display/virtio-gpu-udmabuf.c | 30 ++++++++++++++++++++++
 hw/display/virtio-gpu.c         |  1 +
 include/hw/virtio/virtio-gpu.h  |  2 ++
 include/ui/console.h            |  8 ++++++
 include/ui/egl-helpers.h        |  4 +++
 include/ui/gtk.h                |  2 --
 ui/console.c                    | 10 ++++++++
 ui/egl-helpers.c                | 44 +++++++++++++++++++++++++++++++++
 ui/gtk-egl.c                    | 18 ++++++++------
 ui/gtk-gl-area.c                |  8 ++++++
 ui/gtk.c                        | 26 ++++++++++++++++++-
 11 files changed, 142 insertions(+), 11 deletions(-)

-- 
2.30.2



             reply	other threads:[~2021-06-07 23:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-07 23:25 Vivek Kasireddy [this message]
2021-06-07 23:25 ` [PATCH v1 1/5] ui/gtk: Create a common release_dmabuf helper Vivek Kasireddy
2021-06-08 13:42   ` Gerd Hoffmann
2021-06-07 23:25 ` [PATCH v1 2/5] ui: Add a helper to wait on a dmabuf sync object Vivek Kasireddy
2021-06-08 13:57   ` Gerd Hoffmann
2021-06-07 23:25 ` [PATCH v1 3/5] ui/egl: Add egl helpers to help with synchronization Vivek Kasireddy
2021-06-08 14:00   ` Gerd Hoffmann
2021-06-08 21:41     ` Kasireddy, Vivek
2021-06-07 23:25 ` [PATCH v1 4/5] ui: Create sync objects only for blobs Vivek Kasireddy
2021-06-07 23:25 ` [PATCH v1 5/5] virtio-gpu: Make resource_flush wait on the sync object " Vivek Kasireddy
2021-06-09 14:28 ` [PATCH v1 0/5] virtio-gpu: Add implicit (and default) sync mechanism " no-reply

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=20210607232530.454435-1-vivek.kasireddy@intel.com \
    --to=vivek.kasireddy@intel.com \
    --cc=dongwon.kim@intel.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tina.zhang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.