gpu: make writeBuffer API nicer to use

This commit is contained in:
Silver 2022-04-08 02:34:20 +01:00 committed by Stephen Gutekanst
parent 5ecb980b5f
commit 6fb3ec6fd8
2 changed files with 4 additions and 4 deletions

View file

@ -130,13 +130,13 @@ pub inline fn setLabel(enc: CommandEncoder, label: [:0]const u8) void {
enc.vtable.setLabel(enc.ptr, label);
}
pub inline fn writeBuffer(enc: CommandEncoder, buffer: Buffer, buffer_offset: u64, data: anytype) void {
pub inline fn writeBuffer(enc: CommandEncoder, buffer: Buffer, buffer_offset: u64, comptime T: type, data: []const T) void {
enc.vtable.writeBuffer(
enc.ptr,
buffer,
buffer_offset,
@ptrCast([*]const u8, data.ptr),
@intCast(u64, data.len) * @sizeOf(std.meta.Elem(@TypeOf(data))),
@intCast(u64, data.len) * @sizeOf(T),
);
}

View file

@ -50,13 +50,13 @@ pub inline fn submit(queue: Queue, commands: []const CommandBuffer) void {
queue.vtable.submit(queue, commands);
}
pub inline fn writeBuffer(queue: Queue, buffer: Buffer, buffer_offset: u64, data: anytype) void {
pub inline fn writeBuffer(queue: Queue, buffer: Buffer, buffer_offset: u64, comptime T: type, data: []const T) void {
queue.vtable.writeBuffer(
queue.ptr,
buffer,
buffer_offset,
@ptrCast(*const anyopaque, data.ptr),
@intCast(u64, data.len) * @sizeOf(std.meta.Elem(@TypeOf(data))),
@intCast(u64, data.len) * @sizeOf(T),
);
}