Yiwei Zhang <zzyi...@gmail.com> writes: > 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. > > Changes since v1: > - Minor commit msg updates based on feedbacks from BALATON > > Cc: qemu-sta...@nongnu.org > Fixes: 94d0ea1c1928 ("virtio-gpu: Support Venus context") > Signed-off-by: Yiwei Zhang <zzyi...@gmail.com>
Queued to virtio-gpu/next (in maintainer/may-2025), thanks. <snip> -- Alex Bennée Virtualisation Tech Lead @ Linaro