summaryrefslogtreecommitdiff
path: root/src/screen/drm/event.zig
blob: 201ced35c633c1fd1eb5a5e0967338bfd611ab85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
pub const EventType = enum(u32) {
    vblank = 1,
    page_flip_complete = 2,
    crtc_sequence = 3,
};

pub const VBlankEvent = extern struct {
    user_data: u64,
    tv_sec: u32,
    tv_usec: u32,
    sequence: u32,
    crtc_id: u32,
};

pub const CrtcSequenceEvent = extern struct {
    user_data: u64,
    time_ns: i64,
    sequence: u64,
};

pub const EventPayload = extern union {
    vblank: VBlankEvent,
    crtc_sequence: CrtcSequenceEvent,
};

pub const Event = extern struct {
    type: EventType,
    length: u32,
    payload: EventPayload,
};