mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-23 08:18:13 +02:00
When an atomic commit fails then the output will be stuck in REPAINT_AWAITING_COMPLETION state. It is waiting for a vblank event that was never scheduled. If the error is EBUSY then it can be expected to be a transient error. So propagate the error and schedule a new repaint in the core compositor. This is necessary because there are some circumstances when the commit can fail unexpectedly: - With 'state_invalid == true' one commit will disable all planes. If another commit for a different output is triggered immediately afterwards, then this commit can temporarily fail with EBUSY because it tries to use the same planes. - At least with i915, if one commit enables an output then a second commit for a different output immediately afterwards can temporarily fail with EBUSY. This is probably caused by some hardware interdependency. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> |
||
|---|---|---|
| .. | ||
| drm-gbm.c | ||
| drm-internal.h | ||
| drm-virtual.c | ||
| drm.c | ||
| fb.c | ||
| kms-color.c | ||
| kms.c | ||
| libbacklight.c | ||
| libbacklight.h | ||
| meson.build | ||
| modes.c | ||
| state-helpers.c | ||
| state-propose.c | ||
| vaapi-recorder.c | ||
| vaapi-recorder.h | ||