From 34ac711d2fe096479c790ddbc4f69e90b18270c0 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 13 Mar 2022 11:23:42 -0700 Subject: [PATCH] gpu: implement Buffer.unmap Signed-off-by: Stephen Gutekanst --- gpu/src/Buffer.zig | 6 +++++- gpu/src/NativeInstance.zig | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gpu/src/Buffer.zig b/gpu/src/Buffer.zig index 0abcc211..8165dfe4 100644 --- a/gpu/src/Buffer.zig +++ b/gpu/src/Buffer.zig @@ -16,7 +16,7 @@ pub const VTable = struct { // WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size); // WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void * userdata); setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void, - // WGPU_EXPORT void wgpuBufferUnmap(WGPUBuffer buffer); + unmap: fn (ptr: *anyopaque) void, }; pub inline fn reference(buf: Buffer) void { @@ -35,6 +35,10 @@ pub inline fn setLabel(buf: Buffer, label: [:0]const u8) void { buf.vtable.setLabel(buf.ptr, label); } +pub inline fn unmap(buf: Buffer) void { + buf.vtable.unmap(buf.ptr); +} + pub const Descriptor = struct { label: ?[*:0]const u8 = null, usage: BufferUsage, diff --git a/gpu/src/NativeInstance.zig b/gpu/src/NativeInstance.zig index 4fcf473d..fd368052 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -976,6 +976,11 @@ const buffer_vtable = Buffer.VTable{ c.wgpuBufferDestroy(@ptrCast(c.WGPUBuffer, ptr)); } }).destroy, + .unmap = (struct { + pub fn unmap(ptr: *anyopaque) void { + c.wgpuBufferUnmap(@ptrCast(c.WGPUBuffer, ptr)); + } + }).unmap, }; fn wrapCommandBuffer(buffer: c.WGPUCommandBuffer) CommandBuffer {