Skip to content

Commit ec8886f

Browse files
authored
Wrapper: Allow null src_lengths to be passed to shaderSource (#17)
Fixes #13
1 parent 964f72e commit ec8886f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/wrapper.zig

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2762,16 +2762,22 @@ pub fn Wrap(comptime bindings: anytype) type {
27622762
// string: [*c]const [*c]const Char,
27632763
// length: [*c]const Int,
27642764
// ) callconv(.C) void = undefined;
2765-
pub fn shaderSource(shader: Shader, src_ptrs: []const [*:0]const u8, src_lengths: []const u32) void {
2765+
pub fn shaderSource(
2766+
shader: Shader,
2767+
src_ptrs: []const [*:0]const u8,
2768+
maybe_src_lengths: ?[]const u32,
2769+
) void {
27662770
assert(shader != Shader.invalid);
27672771
assert(src_ptrs.len > 0);
27682772
assert(src_ptrs.len <= std.math.maxInt(u32));
2769-
assert(src_ptrs.len == src_lengths.len);
2773+
if (maybe_src_lengths) |src_lengths| {
2774+
assert(src_ptrs.len == src_lengths.len);
2775+
}
27702776
bindings.shaderSource(
27712777
@intFromEnum(shader),
27722778
@as(Sizei, @bitCast(@as(u32, @intCast(src_ptrs.len)))),
27732779
@as([*c]const [*c]const Char, @ptrCast(src_ptrs)),
2774-
@as([*c]const Int, @ptrCast(src_lengths.ptr)),
2780+
if (maybe_src_lengths) |src_lengths| @as([*c]const Int, @ptrCast(src_lengths.ptr)) else null,
27752781
);
27762782
}
27772783

0 commit comments

Comments
 (0)