Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-20 Thread Yiwei Zhang
On Tue, May 20, 2025 at 9:31 AM Dmitry Osipenko wrote: > > On 5/20/25 11:26, Yiwei Zhang wrote: > > On Mon, May 19, 2025 at 7:29 PM Dmitry Osipenko > > wrote: > >> > >> On 5/18/25 18:26, Yiwei Zhang wrote: > >>> +#if VIRGL_VERSION_MAJOR >= 1 > >>> +static void virgl_write_context_fence(void *opaq

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-20 Thread Dmitry Osipenko
On 5/20/25 11:26, Yiwei Zhang wrote: > On Mon, May 19, 2025 at 7:29 PM Dmitry Osipenko > 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

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-20 Thread Dmitry Osipenko
On 5/20/25 18:44, Alex Bennée wrote: > Yiwei Zhang 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 >> signalin

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-20 Thread Alex Bennée
Yiwei Zhang 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 time

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-20 Thread Yiwei Zhang
On Mon, May 19, 2025 at 7:29 PM Dmitry Osipenko 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) { > > +

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-19 Thread Dmitry Osipenko
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, *tm

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-19 Thread Dmitry Osipenko
On 5/20/25 01:20, Yiwei Zhang wrote: >> Is it possible that virglrenderer will ever write a context fence in >> virgl_renderer_create_fence()? Do we really need this check? > I assume you were referring to whether a context fence can be written > in virgl_write_fence(). Yes, the fenceq contains bot

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-19 Thread Yiwei Zhang
On Mon, May 19, 2025 at 6:12 AM Dmitry Osipenko wrote: > > On 5/18/25 18:26, Yiwei Zhang wrote: > > 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

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-19 Thread Dmitry Osipenko
On 5/18/25 18:26, Yiwei Zhang wrote: > 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 th

Re: [PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-18 Thread Dmitry Osipenko
On 5/18/25 18:26, Yiwei Zhang wrote: > 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 th

[PATCH v2] virtio-gpu: support context init multiple timeline

2025-05-18 Thread Yiwei Zhang
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 contex