summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2025-03-06 15:23:54 -0500
committerGitHub <noreply@github.com>2025-03-06 15:23:54 -0500
commite6927d8a079f81522e7dde9b1c67035171f84c93 (patch)
treea5335524e579d1ad478f1b723215673a55cc51dd /indra/newview/app_settings/shaders/class1/environment/srgbF.glsl
parent5029f0322f264e17f7509952f7bf9812db17a9ec (diff)
parent42ceac9695f7e098f15264977396a939c8ddfd23 (diff)
Merge pull request #3304 from secondlife/release/2024.12-ForeverFPS
2024.12 ForeverFPS
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/environment/srgbF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/environment/srgbF.glsl20
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl
index d7f6d20547..bf8737615f 100644
--- a/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/srgbF.glsl
@@ -41,6 +41,26 @@ vec3 srgb_to_linear(vec3 cs)
}
+
+vec4 srgb_to_linear4(vec4 cs)
+{
+ vec4 low_range = cs / vec4(12.92);
+ vec4 high_range = pow((cs+vec4(0.055))/vec4(1.055), vec4(2.4));
+ bvec4 lte = lessThanEqual(cs,vec4(0.04045));
+
+#ifdef OLD_SELECT
+ vec4 result;
+ result.r = lte.r ? low_range.r : high_range.r;
+ result.g = lte.g ? low_range.g : high_range.g;
+ result.b = lte.b ? low_range.b : high_range.b;
+ result.a = lte.a ? low_range.a : high_range.a;
+ return result;
+#else
+ return mix(high_range, low_range, lte);
+#endif
+
+}
+
vec3 linear_to_srgb(vec3 cl)
{
cl = clamp(cl, vec3(0), vec3(1));