https://bugs.kde.org/show_bug.cgi?id=524883

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/4e1d60af03
                   |                            |17e077da7812e593c6cf7a37fe3
                   |                            |4f2

--- Comment #8 from [email protected] ---
Git commit 4e1d60af0317e077da7812e593c6cf7a37fe34f2 by Yifan Zhu.
Committed on 10/09/2026 at 16:57.
Pushed by fanzhuyifan into branch 'master'.

backends/drm: match pageflip events to unique commit IDs

A DRM file descriptor can outlive its DrmGpu, so events queued before
suspend can arrive after the GPU is recreated. Matching only by CRTC can
mistake such an event for a newer commit. Pending entries can also retain
pointers to commits that have already been destroyed.

Give each pageflip submission a unique ID and pass it as the atomic and
legacy pageflip user data. Register only when requesting a pageflip event,
before the ioctl, so an event arriving before the ioctl returns can be
matched without holding the registry mutex across the ioctl.

Remove registrations on the first event or commit destruction. Failed
commits are discarded by the callers. Copies start unregistered and get
their own IDs if submitted, so stale events cannot resolve to another
commit even if its address is reused.

M  +35   -14   src/backends/drm/drm_commit.cpp
M  +9    -0    src/backends/drm/drm_commit.h
M  +6    -28   src/backends/drm/drm_gpu.cpp
M  +0    -8    src/backends/drm/drm_gpu.h

https://invent.kde.org/plasma/kwin/-/commit/4e1d60af0317e077da7812e593c6cf7a37fe34f2

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to