From 590ab157f4f05286888f5838f4167fe4fcc07be2 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 18 Sep 2026 00:05:01 +0800 Subject: [PATCH] opengl/Sampler: handle enum parameters correctly I'm so dumb like honestly, always double check if your unreachables are *comptime*. Whether the value being switched on is comptime or not does not matter --- pkg/opengl/Sampler.zig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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(); }