On 3/27/25 10:14, Kasireddy, Vivek wrote:
>> Another question, why do we need this fencing for imported dmabuf?
>> Fencing isn't done host/guest blobs in this code, while dmabuf is
>> essentially a guest blob. Could you please clarify why this fence is
>> needed? Maybe we shouldn't allocate fence in the first place for the dmabuf.
> At-least for the non-virgl use-cases (where the rendering is done in the 
> Guest such
> as in passthrough), this Guest/Host synchronization fence serves two purposes:
> - It prevents the Guest from reusing/destroying the submitted buffer (Guest 
> compositor
>   FB) until the Host is done using it. Otherwise, the Guest compositor might 
> render
>   into this buffer at the same time while the Host is consuming it, leading 
> to issues
>   such as tearing/flickering. This problem is more noticeable in cases where 
> the
>   Guest compositor has only one backbuffer such as Xorg + dirtfyFb.
> 
> - It also prevents the Guest compositor from rendering faster than the Host 
> refresh
>   rate. In other words, it just sets the upper bound in terms of the buffer 
> submission
>   rate as there is no point in going over the Host refresh rate, which would 
> likely
>   lead to wastage of GPU cycles and dropped frames.
> 
> Therefore, this fence is really needed for Guest blobs including imported 
> dmabufs.

Thanks a lot

-- 
Best regards,
Dmitry

Reply via email to