Skip to content

backend-drm: don't copy the fence fd when duplicating the plane state

Michael Olbrich requested to merge mol/weston:fence-fd into main

The state does not own the fd. This is usually not a problem, because the in_fence_fd of the state is assigned during drm_assign_planes() and then immediately used in drm_repaint_flush(). It cannot be closed in-between.

However, in the fallback path in drm_output_start_repaint_loop(), the state is duplicated. At this point in time, the in_fence_fd may be invalid because it was replaced in a new commit of the corresponding surface.

The plane state was already committed to the kernel when it is copied, so the fence is no longer needed. So just clear it.

Signed-off-by: Michael Olbrich

Merge request reports