diff options
Diffstat (limited to 'vendor/gioui.org/shader/gio/copy.frag')
-rw-r--r-- | vendor/gioui.org/shader/gio/copy.frag | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/vendor/gioui.org/shader/gio/copy.frag b/vendor/gioui.org/shader/gio/copy.frag new file mode 100644 index 0000000..048d9e7 --- /dev/null +++ b/vendor/gioui.org/shader/gio/copy.frag @@ -0,0 +1,24 @@ +#version 310 es + +// SPDX-License-Identifier: Unlicense OR MIT + +precision mediump float; + +layout(binding = 0) uniform sampler2D tex; + +layout(location = 0) in highp vec2 vUV; + +layout(location = 0) out vec4 fragColor; + +vec3 sRGBtoRGB(vec3 rgb) { + bvec3 cutoff = greaterThanEqual(rgb, vec3(0.04045)); + vec3 below = rgb/vec3(12.92); + vec3 above = pow((rgb + vec3(0.055))/vec3(1.055), vec3(2.4)); + return mix(below, above, cutoff); +} + +void main() { + vec4 texel = texture(tex, vUV); + texel.rgb = sRGBtoRGB(texel.rgb); + fragColor = texel; +} |