diff options
author | Yiwei Zhang <zzyiwei@gmail.com> | 2025-06-27 12:25:11 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2025-07-02 10:10:07 +0100 |
commit | 1fa2ffdbec55d84326e22f046bc3e26322836f5a (patch) | |
tree | fb73f6dfb168789cc6be47b58d8148e30ed378dc /scripts/qapi/source.py | |
parent | 2882dfa57faad19c9f622eea67614b1215c24d8e (diff) | |
download | qemu-1fa2ffdbec55d84326e22f046bc3e26322836f5a.zip qemu-1fa2ffdbec55d84326e22f046bc3e26322836f5a.tar.gz qemu-1fa2ffdbec55d84326e22f046bc3e26322836f5a.tar.bz2 |
virtio-gpu: support context init multiple timeline
Venus and later native contexts have their own fence context along with
multiple timelines within. Fences wtih VIRTIO_GPU_FLAG_INFO_RING_IDX in
the flags must be dispatched to be created on the target context. Fence
signaling also has to be handled on the specific timeline within that
target context.
Before this change, venus fencing is completely broken if the host
driver doesn't support implicit fencing with external memory objects.
Frames can go backwards along with random artifacts on screen if the
host driver doesn't attach an implicit fence to the render target. The
symptom could be hidden by certain guest wsi backend that waits on a
venus native VkFence object for the actual payload with limited present
modes or under special configs. e.g. x11 mailbox or xwayland.
After this change, everything related to venus fencing starts making
sense. Confirmed this via guest and host side perfetto tracing.
Cc: qemu-stable@nongnu.org
Fixes: 94d0ea1c1928 ("virtio-gpu: Support Venus context")
Signed-off-by: Yiwei Zhang <zzyiwei@gmail.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20250518152651.334115-1-zzyiwei@gmail.com>
[AJB: remove version history from commit message]
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Message-ID: <20250627112512.1880708-16-alex.bennee@linaro.org>
Diffstat (limited to 'scripts/qapi/source.py')
0 files changed, 0 insertions, 0 deletions