On Tue, May 20, 2025 at 9:31 AM Dmitry Osipenko
<dmitry.osipe...@collabora.com> wrote:
>
> On 5/20/25 11:26, Yiwei Zhang wrote:
> > On Mon, May 19, 2025 at 7:29 PM Dmitry Osipenko
> > <dmitry.osipe...@collabora.com> wrote:
> >>
> >> On 5/18/25 18:26, Yiwei Zhang wrote:
> >>> +#if VIRGL_VERSION_MAJOR >= 1
> >>> +static void virgl_write_context_fence(void *opaque, uint32_t ctx_id,
> >>> +                                      uint32_t ring_idx, uint64_t 
> >>> fence_id) {
> >>> +    VirtIOGPU *g = opaque;
> >>> +    struct virtio_gpu_ctrl_command *cmd, *tmp;
> >>> +
> >>> +    QTAILQ_FOREACH_SAFE(cmd, &g->fenceq, next, tmp) {
> >>> +        if (cmd->cmd_hdr.flags & VIRTIO_GPU_FLAG_INFO_RING_IDX &&
> >>
> >> What if guest kernel version is very old and doesn't support ring_idx?
> >> Wouldn't this write_context_fence() cb be used by vrend for signalling
> >> fences without ring_idx info?
> >
> > Old kernels without CONTEXT_INIT don't have the uapi to create context
> > fences. So only ctx0 fences can be created, which are retired only
> > with the ctx0 specific write_fence() callback. The newer
> > write_context_fence() callback is dedicated to retire context fences.
>
> All should be good then, thanks.
>
> --
> Best regards,
> Dmitry

Thank you all for the prompt reviews!

Best,
Yiwei

Reply via email to