feat: open Card from Device
This commit is contained in:
+4
-3
@@ -5,12 +5,13 @@ pub fn main(init: std.process.Init) !void {
|
||||
const io = init.io;
|
||||
const gpa = init.gpa;
|
||||
|
||||
const devid = drm.makeDev(226, 128);
|
||||
const device = try drm.Device.getFromDevId(io, gpa, devid, .{});
|
||||
const device = drm.Device.getFromDevId(io, gpa, drm.makeDev(226, 0), .{}) catch
|
||||
try drm.Device.getFromDevId(io, gpa, drm.makeDev(226, 1), .{});
|
||||
|
||||
std.log.info("Device node path: {s}.", .{device.nodePath()});
|
||||
|
||||
const card = try drm.Card.openAuto(io);
|
||||
// const card = try drm.Card.openAuto(io);
|
||||
const card = try device.openNode(io);
|
||||
defer card.close(io);
|
||||
const res = try card.getModesettingResources(gpa);
|
||||
defer res.deinit(gpa);
|
||||
|
||||
+9
-3
@@ -1,9 +1,11 @@
|
||||
const std = @import("std");
|
||||
const drm = @import("drm.zig");
|
||||
const sys = @import("sys.zig");
|
||||
const log = std.log.scoped(.drm);
|
||||
const path_max = std.os.linux.PATH_MAX;
|
||||
|
||||
const Card = @import("Card.zig");
|
||||
const drm = @import("drm.zig");
|
||||
const sys = @import("sys.zig");
|
||||
|
||||
const log = std.log.scoped(.drm);
|
||||
const Device = @This();
|
||||
|
||||
node_type: NodeType,
|
||||
@@ -69,6 +71,10 @@ pub fn getFromDevId(io: std.Io, gpa: std.mem.Allocator, devid: std.posix.dev_t,
|
||||
} else error.NoDeviceFound;
|
||||
}
|
||||
|
||||
pub fn openNode(self: *const Device, io: std.Io) std.Io.File.OpenError!Card {
|
||||
return Card.open(io, self.nodePath());
|
||||
}
|
||||
|
||||
pub const BusType = enum(c_int) {
|
||||
pci = 0,
|
||||
usb = 1,
|
||||
|
||||
Reference in New Issue
Block a user