From 8d062a90b1ffbe9e00334fa3e9e939406bd32141 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sun, 2 Feb 2025 16:00:15 +0100 Subject: screen: add vsync and double buffering --- src/screen/drm/event.zig | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/screen/drm/event.zig (limited to 'src/screen/drm/event.zig') diff --git a/src/screen/drm/event.zig b/src/screen/drm/event.zig new file mode 100644 index 0000000..201ced3 --- /dev/null +++ b/src/screen/drm/event.zig @@ -0,0 +1,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, +}; -- cgit v1.2.3-70-g09d2