From 6c44eadf770bcea0b5675986c45ebef4c64bc418 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 26 Aug 2025 19:14:06 +0530 Subject: [PATCH] Directly operate on vec3 for linear2srgb --- kitty/linear2srgb.glsl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kitty/linear2srgb.glsl b/kitty/linear2srgb.glsl index 637632d55..63e2fe5c0 100644 --- a/kitty/linear2srgb.glsl +++ b/kitty/linear2srgb.glsl @@ -14,8 +14,10 @@ float linear2srgb(float x) { return mix(lower, upper, step(0.0031308f, x)); } -vec3 linear2srgb(vec3 c) { - return vec3(linear2srgb(c.r), linear2srgb(c.g), linear2srgb(c.b)); +vec3 linear2srgb(vec3 x) { + vec3 lower = 12.92 * x; + vec3 upper = 1.055 * pow(x, vec3(1.0f / 2.4f)) - 0.055f; + return mix(lower, upper, step(0.0031308f, x)); } vec3 srgb2linear(vec3 c) {