diff --git a/gpu/src/command_encoder.zig b/gpu/src/command_encoder.zig index c5257c7a..0d8889e3 100644 --- a/gpu/src/command_encoder.zig +++ b/gpu/src/command_encoder.zig @@ -12,6 +12,11 @@ const Extent3D = @import("types.zig").Extent3D; const Impl = @import("interface.zig").Impl; pub const CommandEncoder = opaque { + pub const Descriptor = extern struct { + next_in_chain: ?*const ChainedStruct = null, + label: ?[*:0]const u8 = null, + }; + pub inline fn beginComputePass(command_encoder: *CommandEncoder, descriptor: ?*const ComputePassDescriptor) *ComputePassEncoder { return Impl.commandEncoderBeginComputePass(command_encoder, descriptor); } @@ -92,8 +97,3 @@ pub const CommandEncoder = opaque { Impl.commandEncoderRelease(command_encoder); } }; - -pub const CommandEncoderDescriptor = extern struct { - next_in_chain: ?*const ChainedStruct = null, - label: ?[*:0]const u8 = null, -}; diff --git a/gpu/src/device.zig b/gpu/src/device.zig index 5c7eac5f..a0c83b3a 100644 --- a/gpu/src/device.zig +++ b/gpu/src/device.zig @@ -4,7 +4,6 @@ const BindGroup = @import("bind_group.zig").BindGroup; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; const Buffer = @import("buffer.zig").Buffer; const CommandEncoder = @import("command_encoder.zig").CommandEncoder; -const CommandEncoderDescriptor = @import("command_encoder.zig").CommandEncoderDescriptor; const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline; const ComputePipelineDescriptor = @import("compute_pipeline.zig").ComputePipelineDescriptor; const ExternalTexture = @import("external_texture.zig").ExternalTexture; @@ -51,7 +50,7 @@ pub const Device = opaque { return Impl.deviceCreateBuffer(device, descriptor); } - pub inline fn createCommandEncoder(device: *Device, descriptor: ?*const CommandEncoderDescriptor) *CommandEncoder { + pub inline fn createCommandEncoder(device: *Device, descriptor: ?*const CommandEncoder.Descriptor) *CommandEncoder { return Impl.deviceCreateCommandEncoder(device, descriptor); } diff --git a/gpu/src/interface.zig b/gpu/src/interface.zig index b006e451..78f12f6d 100644 --- a/gpu/src/interface.zig +++ b/gpu/src/interface.zig @@ -82,7 +82,7 @@ pub fn Interface(comptime T: type) type { assertDecl(T, "deviceCreateBindGroup", fn (device: *gpu.Device, descriptor: *const gpu.BindGroup.Descriptor) callconv(.Inline) *gpu.BindGroup); assertDecl(T, "deviceCreateBindGroupLayout", fn (device: *gpu.Device, descriptor: *const gpu.BindGroupLayout.Descriptor) callconv(.Inline) *gpu.BindGroupLayout); assertDecl(T, "deviceCreateBuffer", fn (device: *gpu.Device, descriptor: *const gpu.Buffer.Descriptor) callconv(.Inline) *gpu.Buffer); - assertDecl(T, "deviceCreateCommandEncoder", fn (device: *gpu.Device, descriptor: ?*const gpu.CommandEncoderDescriptor) callconv(.Inline) *gpu.CommandEncoder); + assertDecl(T, "deviceCreateCommandEncoder", fn (device: *gpu.Device, descriptor: ?*const gpu.CommandEncoder.Descriptor) callconv(.Inline) *gpu.CommandEncoder); assertDecl(T, "deviceCreateComputePipeline", fn (device: *gpu.Device, descriptor: *const gpu.ComputePipelineDescriptor) callconv(.Inline) *gpu.ComputePipeline); assertDecl(T, "deviceCreateComputePipelineAsync", fn (device: *gpu.Device, descriptor: *const gpu.ComputePipelineDescriptor, callback: gpu.CreateComputePipelineAsyncCallback, userdata: *anyopaque) callconv(.Inline) void); assertDecl(T, "deviceCreateErrorBuffer", fn (device: *gpu.Device) callconv(.Inline) *gpu.Buffer); @@ -564,7 +564,7 @@ pub fn Export(comptime T: type) type { } // WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPUCommandEncoderDescriptor const * descriptor /* nullable */); - export fn wgpuDeviceCreateCommandEncoder(device: *gpu.Device, descriptor: ?*const gpu.CommandEncoderDescriptor) *gpu.CommandEncoder { + export fn wgpuDeviceCreateCommandEncoder(device: *gpu.Device, descriptor: ?*const gpu.CommandEncoder.Descriptor) *gpu.CommandEncoder { return T.deviceCreateCommandEncoder(device, descriptor); } @@ -1635,7 +1635,7 @@ pub const StubInterface = Interface(struct { unreachable; } - pub inline fn deviceCreateCommandEncoder(device: *gpu.Device, descriptor: ?*const gpu.CommandEncoderDescriptor) *gpu.CommandEncoder { + pub inline fn deviceCreateCommandEncoder(device: *gpu.Device, descriptor: ?*const gpu.CommandEncoder.Descriptor) *gpu.CommandEncoder { _ = device; _ = descriptor; unreachable;