From 811a6bd572f4c6b26e99b4e746f5d710947ee934 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sun, 2 Feb 2025 21:54:14 +0100 Subject: screen: drm change struct layout --- src/screen/drm/encoder.zig | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/screen/drm/encoder.zig (limited to 'src/screen/drm/encoder.zig') diff --git a/src/screen/drm/encoder.zig b/src/screen/drm/encoder.zig new file mode 100644 index 0000000..19630ab --- /dev/null +++ b/src/screen/drm/encoder.zig @@ -0,0 +1,42 @@ +const std = @import("std"); +const drm = @import("root.zig"); +const Card = drm.Card; + +pub const Encoder = struct { + const Self = @This(); + + pub const Kind = enum(u32) { + none = 0, + dac = 1, + tmds = 2, + lvds = 3, + tvdac = 4, + virtual = 5, + dsi = 6, + dpmst = 7, + dpi = 8, + }; + + id: u32, + type: Kind, + possible_crtcs: u32, + possible_clones: u32, + card: *Card, + + pub fn init(card: *Card, id: u32) !Self { + var raw = std.mem.zeroInit(drm.request.Encoder, .{ .id = id }); + try card.request(.get_encoder, &raw); + + return .{ + .id = raw.id, + .type = raw.type, + .possible_crtcs = raw.possible_crtcs, + .possible_clones = raw.possible_clones, + .card = card + }; + } + + pub fn deinit(self: *Self) void { + _ = self; + } +}; -- cgit v1.2.3-70-g09d2