From 6fb3ec6fd8f821c0f8e4975e7031cb353d9c14f7 Mon Sep 17 00:00:00 2001 From: Silver Date: Fri, 8 Apr 2022 02:34:20 +0100 Subject: [PATCH] gpu: make writeBuffer API nicer to use --- gpu/src/CommandEncoder.zig | 4 ++-- gpu/src/Queue.zig | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gpu/src/CommandEncoder.zig b/gpu/src/CommandEncoder.zig index b2468575..421cd284 100644 --- a/gpu/src/CommandEncoder.zig +++ b/gpu/src/CommandEncoder.zig @@ -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), ); } diff --git a/gpu/src/Queue.zig b/gpu/src/Queue.zig index c1c17f59..d8407c3a 100644 --- a/gpu/src/Queue.zig +++ b/gpu/src/Queue.zig @@ -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), ); }