diff --git a/gpu/src/instance.zig b/gpu/src/instance.zig index 5259365f..b0000e76 100644 --- a/gpu/src/instance.zig +++ b/gpu/src/instance.zig @@ -7,6 +7,10 @@ const RequestAdapterOptions = @import("main.zig").RequestAdapterOptions; const Impl = @import("interface.zig").Impl; pub const Instance = opaque { + pub const Descriptor = extern struct { + next_in_chain: ?*const ChainedStruct = null, + }; + pub inline fn createSurface(instance: *Instance, descriptor: *const SurfaceDescriptor) Surface { return Impl.instanceCreateSurface(instance, descriptor); } @@ -30,7 +34,3 @@ pub const RequestAdapterCallback = fn ( message: ?[*:0]const u8, userdata: *anyopaque, ) callconv(.C) void; - -pub const InstanceDescriptor = extern struct { - next_in_chain: ?*const ChainedStruct = null, -}; diff --git a/gpu/src/interface.zig b/gpu/src/interface.zig index 60c6211d..d5890fad 100644 --- a/gpu/src/interface.zig +++ b/gpu/src/interface.zig @@ -1221,7 +1221,7 @@ pub fn Export(comptime T: type) type { /// A stub gpu.Interface in which every function is implemented by `unreachable;` pub const StubInterface = Interface(struct { - pub inline fn createInstance(descriptor: ?*const Instance.Descriptor) ?Instance { + pub inline fn createInstance(descriptor: ?*const Instance.Descriptor) ?*Instance { _ = descriptor; unreachable; } diff --git a/gpu/src/main.zig b/gpu/src/main.zig index 8e04bb09..2bf4207c 100644 --- a/gpu/src/main.zig +++ b/gpu/src/main.zig @@ -122,7 +122,7 @@ pub const RenderPassDescriptor = extern struct { timestamp_writes: ?[*]const RenderPassTimestampWrite = null, }; -pub inline fn createInstance(descriptor: ?*const instance.InstanceDescriptor) ?*instance.Instance { +pub inline fn createInstance(descriptor: ?*const instance.Instance.Descriptor) ?*instance.Instance { return interface.Impl.createInstance(descriptor); }