diff --git a/gpu/src/BindGroupLayout.zig b/gpu/src/BindGroupLayout.zig index 94b4d2d0..d5cc0e80 100644 --- a/gpu/src/BindGroupLayout.zig +++ b/gpu/src/BindGroupLayout.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 wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, char const * label); + setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void, }; pub inline fn reference(layout: BindGroupLayout) void { @@ -20,8 +19,13 @@ pub inline fn release(layout: BindGroupLayout) void { layout.vtable.release(layout.ptr); } +pub inline fn setLabel(group: BindGroupLayout, 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 db9c190b..a61f2180 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -756,6 +756,11 @@ const bind_group_layout_vtable = BindGroupLayout.VTable{ c.wgpuBindGroupLayoutRelease(@ptrCast(c.WGPUBindGroupLayout, ptr)); } }).release, + .setLabel = (struct { + pub fn setLabel(ptr: *anyopaque, label: [:0]const u8) void { + c.wgpuBindGroupLayoutSetLabel(@ptrCast(c.WGPUBindGroupLayout, ptr), label); + } + }).setLabel, }; fn wrapBuffer(buffer: c.WGPUBuffer) Buffer {