mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-31 04:18:17 +02:00
Previously, ms_flush_drm_events() returned a boolean value, and it was
very easy to interpret the meaning incorrectly. Now, we return an
integer value.
The possible outcomes of this call are:
- poll() raised an error (formerly TRUE, now -1 - poll's return value)
- poll() said there are no events (formerly TRUE, now 0).
- drmHandleEvent() raised an error (formerly FALSE, now the negative
value returned by drmHandleEvent).
- An event was successfully handled (formerly TRUE, now 1).
The nice part is that this allows you to distinguish errors (< 0),
nothing to do (= 0), and success (1). We no longer conflate errors
with success.
v2: Change ms_present_queue_vblank to < 0 instead of <= 0, fixing an
unintentional behavior change. libdrm may return EBUSY if it's
received EINTR for more than a second straight; just keep retrying
in that case. Suggested by Jasper St. Pierre.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
|
||
|---|---|---|
| .. | ||
| common | ||
| ddc | ||
| dixmods | ||
| doc | ||
| dri | ||
| dri2 | ||
| drivers | ||
| exa | ||
| fbdevhw | ||
| glamor_egl | ||
| i2c | ||
| int10 | ||
| loader | ||
| man | ||
| modes | ||
| os-support | ||
| parser | ||
| ramdac | ||
| shadowfb | ||
| utils | ||
| vbe | ||
| vgahw | ||
| x86emu | ||
| .gitignore | ||
| Makefile.am | ||
| sdksyms.sh | ||
| xorg-wrapper.c | ||
| Xorg.sh.in | ||
| xorgconf.cpp | ||