diff --git a/gpu/src/BindGroup.zig b/gpu/src/BindGroup.zig index 576798d2..6f6847f2 100644 --- a/gpu/src/BindGroup.zig +++ b/gpu/src/BindGroup.zig @@ -8,8 +8,7 @@ vtable: *const VTable, pub const VTable = struct { reference: fn (ptr: *anyopaque) void, release: fn (ptr: *anyopaque) void, - // TODO: - // WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, char const * label); + setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void, }; pub inline fn reference(group: BindGroup) void { @@ -20,8 +19,13 @@ pub inline fn release(group: BindGroup) void { group.vtable.release(group.ptr); } +pub inline fn setLabel(group: BindGroup, label: [:0]const u8) void { + group.vtable.setLabel(group.ptr, label); +} + test "syntax" { _ = VTable; _ = reference; _ = release; + _ = setLabel; } diff --git a/gpu/src/NativeInstance.zig b/gpu/src/NativeInstance.zig index 55d45930..db9c190b 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -731,6 +731,11 @@ const bind_group_vtable = BindGroup.VTable{ c.wgpuBindGroupRelease(@ptrCast(c.WGPUBindGroup, ptr)); } }).release, + .setLabel = (struct { + pub fn setLabel(ptr: *anyopaque, label: [:0]const u8) void { + c.wgpuBindGroupSetLabel(@ptrCast(c.WGPUBindGroup, ptr), label); + } + }).setLabel, }; fn wrapBindGroupLayout(layout: c.WGPUBindGroupLayout) BindGroupLayout {