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 io = init.io;
|
||||||
const gpa = init.gpa;
|
const gpa = init.gpa;
|
||||||
|
|
||||||
const devid = drm.makeDev(226, 128);
|
const device = drm.Device.getFromDevId(io, gpa, drm.makeDev(226, 0), .{}) catch
|
||||||
const device = try drm.Device.getFromDevId(io, gpa, devid, .{});
|
try drm.Device.getFromDevId(io, gpa, drm.makeDev(226, 1), .{});
|
||||||
|
|
||||||
std.log.info("Device node path: {s}.", .{device.nodePath()});
|
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);
|
defer card.close(io);
|
||||||
const res = try card.getModesettingResources(gpa);
|
const res = try card.getModesettingResources(gpa);
|
||||||
defer res.deinit(gpa);
|
defer res.deinit(gpa);
|
||||||
|
|||||||
+9
-3
@@ -1,9 +1,11 @@
|
|||||||
const std = @import("std");
|
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 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();
|
const Device = @This();
|
||||||
|
|
||||||
node_type: NodeType,
|
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;
|
} 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) {
|
pub const BusType = enum(c_int) {
|
||||||
pci = 0,
|
pci = 0,
|
||||||
usb = 1,
|
usb = 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user