On Fri, Jun 03, 2022 at 02:18:49PM -0700, Dongwon Kim wrote:
Having one fence for a vgfb would cause conflict in case there are multiple planes referencing the same vgfb (e.g. Xorg screen covering two displays in extended mode) being flushed simultaneously. So it makes sence to use a separated fence for each plane update to prevent this.
vgfb->fence is not required anymore with the suggested code change so both prepare_fb and cleanup_fb are removed since only fence creation/ freeing are done in there.
The fences are allocated and released in prepare_fb + cleanup_fb for a reason: atomic_update must not fail.
I guess virtio-gpu must be fixed to use drm_plane_state->fence correctly ...
take care, Gerd