Files
rustdesk/src
Mariano Abad 78ebd602f4 drm: one DisplayHealth per connector, and the last index-keyed map
The three per-display verdicts are three answers to one question, can this
display be captured over DRM right now, and they already fed each other: the
rebuild cadence and the zero-frame streak end in the same demotion, and the
convert verdict is what keeps a multi-GPU display off the dma-buf path so it
never gets there. They are one struct now, keyed by connector identity.

This also closes a real leftover from H2. Two of the three maps were re-keyed by
identity then; the rapid-rebuild map was not, and stayed keyed by list index. A
hotplug that renumbers the list therefore moved a flap verdict onto whichever
monitor took that slot, which is the same defect in the third map. There is no
index-keyed per-display state left.

Behaviour is otherwise the same, with one improvement that falls out of the
merge: when a demotion cooldown expires, clearing the streak now keeps the
display's other state rather than replacing the whole entry, so a build cadence
and a convert verdict survive a retry the way they always should have.

One test for the demoted predicate, including that a higher demote count still
holds a display that a lower one would have released. 101 tests pass, both
configs build.
2026-07-28 09:09:18 -03:00
..
2026-07-06 17:05:11 +08:00
2026-07-06 17:05:11 +08:00
2026-07-06 17:05:11 +08:00
2026-06-26 16:17:44 +08:00
2026-06-26 16:17:44 +08:00
2025-06-13 00:30:21 +08:00
2026-07-14 15:35:52 +08:00
2026-06-22 14:47:12 +08:00
2026-07-06 16:17:32 +08:00
2026-07-06 16:17:32 +08:00
2024-04-25 11:46:21 +08:00
2026-05-06 19:27:56 +08:00
2026-07-06 16:17:32 +08:00