diff --git a/pkg/opengl/Sampler.zig b/pkg/opengl/Sampler.zig index 8e1a1951a..d271f971e 100644 --- a/pkg/opengl/Sampler.zig +++ b/pkg/opengl/Sampler.zig @@ -27,13 +27,22 @@ pub fn parameter( comptime name: Texture.Parameter, value: name.Type(), ) errors.Error!void { - switch (@TypeOf(value)) { + const T = name.Type(); + + switch (T) { c.GLint => glad.context.SamplerParameteri.?( self.id, @intFromEnum(name), value, ), - else => unreachable, + else => switch (@typeInfo(T)) { + .@"enum" => glad.context.SamplerParameteri.?( + self.id, + @intFromEnum(name), + @intFromEnum(value), + ), + else => @compileLog("unsupported parameter type", T), + }, } try errors.getError(); }