From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../ogles/GL/atan/atan_vec2_vert_xvary_ref.vert | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/atan/atan_vec2_vert_xvary_ref.vert (limited to 'dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/atan/atan_vec2_vert_xvary_ref.vert') diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/atan/atan_vec2_vert_xvary_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/atan/atan_vec2_vert_xvary_ref.vert new file mode 100644 index 0000000000..1ef2d5e83d --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/atan/atan_vec2_vert_xvary_ref.vert @@ -0,0 +1,116 @@ + +/* +Copyright (c) 2019 The Khronos Group Inc. +Use of this source code is governed by an MIT-style license that can be +found in the LICENSE.txt file. +*/ + + +attribute vec4 gtf_Vertex; +attribute vec4 gtf_Color; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + vec2 c = 4.0 * 2.0 * (gtf_Color.rg - 0.5); + vec2 atan_c = vec2(0.0); + vec2 scale = vec2(1.0); + vec2 sign = vec2(1.0); + vec4 result = vec4(0.0, 0.0, 0.0, 1.0); + + if(c[0] < 0.0) + { + sign[0] = -1.0; + c[0] *= -1.0; + } + + if(c[0] <= 1.0) + { + // Taylors series expansion for atan + atan_c[0] += scale[0] * pow(c[0], float(1)) / float(1); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(3)) / float(3); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(5)) / float(5); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(7)) / float(7); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(9)) / float(9); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(11)) / float(11); + scale[0] *= -1.0; + + result[0] = sign[0] * atan_c[0] / M_PI + 0.5; + } + else + { + c[0] = 1.0 / c[0]; + + // Taylors series expansion for atan + atan_c[0] += scale[0] * pow(c[0], float(1)) / float(1); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(3)) / float(3); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(5)) / float(5); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(7)) / float(7); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(9)) / float(9); + scale[0] *= -1.0; + atan_c[0] += scale[0] * pow(c[0], float(11)) / float(11); + scale[0] *= -1.0; + + result[0] = sign[0] * (M_PI / 2.0 - atan_c[0]) / M_PI + 0.5; + } + + + if(c[1] < 0.0) + { + sign[1] = -1.0; + c[1] *= -1.0; + } + + if(c[1] <= 1.0) + { + // Taylors series expansion for atan + atan_c[1] += scale[1] * pow(c[1], float(1)) / float(1); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(3)) / float(3); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(5)) / float(5); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(7)) / float(7); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(9)) / float(9); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(11)) / float(11); + scale[1] *= -1.0; + + result[1] = sign[1] * atan_c[1] / M_PI + 0.5; + } + else + { + c[1] = 1.0 / c[1]; + + // Taylors series expansion for atan + atan_c[1] += scale[1] * pow(c[1], float(1)) / float(1); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(3)) / float(3); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(5)) / float(5); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(7)) / float(7); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(9)) / float(9); + scale[1] *= -1.0; + atan_c[1] += scale[1] * pow(c[1], float(11)) / float(11); + scale[1] *= -1.0; + + result[1] = sign[1] * (M_PI / 2.0 - atan_c[1]) / M_PI + 0.5; + } + + color = result; + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} -- cgit v1.2.3