27 lines
850 B
Zig
27 lines
850 B
Zig
const ChainedStruct = @import("types.zig").ChainedStruct;
|
|
const FeatureName = @import("types.zig").FeatureName;
|
|
const RequiredLimits = @import("types.zig").RequiredLimits;
|
|
const Queue = @import("queue.zig").Queue;
|
|
const QueueDescriptor = @import("queue.zig").QueueDescriptor;
|
|
|
|
pub const Device = *opaque {};
|
|
|
|
pub const DeviceLostCallback = fn (
|
|
reason: DeviceLostReason,
|
|
message: [*:0]const u8,
|
|
userdata: *anyopaque,
|
|
) callconv(.C) void;
|
|
|
|
pub const DeviceLostReason = enum(u32) {
|
|
undef = 0x00000000,
|
|
destroyed = 0x00000001,
|
|
};
|
|
|
|
pub const DeviceDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
required_features_count: u32,
|
|
required_features: [*]const FeatureName,
|
|
required_limits: ?*const RequiredLimits = null, // nullable
|
|
default_queue: QueueDescriptor,
|
|
};
|