diff options
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect')
14 files changed, 440 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/input.run.txt b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/input.run.txt new file mode 100644 index 0000000000..b32c960e6c --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/input.run.txt @@ -0,0 +1,2 @@ +# this file is auto-generated. DO NOT EDIT. +reflect_001_to_006.html diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_001_to_006.html b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_001_to_006.html new file mode 100644 index 0000000000..95273c41bf --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_001_to_006.html @@ -0,0 +1,109 @@ +<!DOCTYPE html> +<!-- this file is auto-generated. DO NOT EDIT. --> +<!-- +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. +--> +<html> +<head> +<meta charset="utf-8"> +<title>WebGL GLSL conformance test: reflect_001_to_006.html</title> +<link rel="stylesheet" href="../../../../resources/js-test-style.css" /> +<link rel="stylesheet" href="../../../../resources/ogles-tests.css" /> +<script src="../../../../js/js-test-pre.js"></script> +<script src="../../../../js/webgl-test-utils.js"></script> +<script src="../../ogles-utils.js"></script> +</head> +<body> +<canvas id="example" width="500" height="500" style="width: 16px; height: 16px;"></canvas> +<div id="description"></div> +<div id="console"></div> +</body> +<script> +"use strict"; +OpenGLESTestRunner.run({ + "tests": [ + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_float_frag_ivarynconst_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_float_frag_ivarynconst.frag" + }, + "name": "reflect_float_frag_ivarynconst.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "reflect_float_vert_ivarynconst_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "reflect_float_vert_ivarynconst.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "reflect_float_vert_ivarynconst.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_vec2_frag_ivarynconst_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_vec2_frag_ivarynconst.frag" + }, + "name": "reflect_vec2_frag_ivarynconst.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "reflect_vec2_vert_ivarynconst_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "reflect_vec2_vert_ivarynconst.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "reflect_vec2_vert_ivarynconst.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_vec3_frag_ivarynconst_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "reflect_vec3_frag_ivarynconst.frag" + }, + "name": "reflect_vec3_frag_ivarynconst.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "reflect_vec3_vert_ivarynconst_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "reflect_vec3_vert_ivarynconst.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "reflect_vec3_vert_ivarynconst.test.html", + "pattern": "compare" + } + ] +}); +var successfullyParsed = true; +</script> +</html> diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst.frag new file mode 100644 index 0000000000..33a20805ec --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst.frag @@ -0,0 +1,23 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + float v1 = (color.g + 1.0) / 2.0; + float v2 = (color.b + 1.0) / 2.0; + + gl_FragColor = vec4((reflect(v1, v2) + 1.0) / 2.0, 0.0, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst_ref.frag new file mode 100644 index 0000000000..066c91bd24 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_frag_ivarynconst_ref.frag @@ -0,0 +1,23 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + float v1 = (color.g + 1.0) / 2.0; + float v2 = (color.b + 1.0) / 2.0; + + gl_FragColor = vec4((v1 - 2.0 * dot(v2, v1) * v2 + 1.0) / 2.0, 0.0, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst.vert new file mode 100644 index 0000000000..ecfc76140c --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst.vert @@ -0,0 +1,24 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + float v1 = (gtf_Color.g + 1.0) / 2.0; + float v2 = (gtf_Color.b + 1.0) / 2.0; + + color = vec4((reflect(v1, v2) + 1.0) / 2.0, 0.0, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst_ref.vert new file mode 100644 index 0000000000..d9b9908636 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_float_vert_ivarynconst_ref.vert @@ -0,0 +1,24 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + float v1 = (gtf_Color.g + 1.0) / 2.0; + float v2 = (gtf_Color.b + 1.0) / 2.0; + + color = vec4((v1 - 2.0 * dot(v2, v1) * v2 + 1.0) / 2.0, 0.0, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst.frag new file mode 100644 index 0000000000..1e852dd7f8 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst.frag @@ -0,0 +1,28 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec2 v1; + vec2 v2 = normalize(vec2(1.0, 1.0)); + + float theta = color.g * 2.0 * M_PI; + float phi = color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + + gl_FragColor = vec4((reflect(v1, v2) + 1.0) / 2.0, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst_ref.frag new file mode 100644 index 0000000000..2a832a62e8 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_frag_ivarynconst_ref.frag @@ -0,0 +1,29 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec2 v1; + vec2 v2 = normalize(vec2(1.0, 1.0)); + + + float theta = color.g * 2.0 * M_PI; + float phi = color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + + gl_FragColor = vec4((v1 - 2.0 * dot(v2, v1) * v2 + 1.0) / 2.0, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst.vert new file mode 100644 index 0000000000..644024fec8 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst.vert @@ -0,0 +1,29 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec2 v1; + vec2 v2 = normalize(vec2(1.0, 1.0)); + + float theta = gtf_Color.g * 2.0 * M_PI; + float phi = gtf_Color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + + color = vec4((reflect(v1, v2) + 1.0) / 2.0, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst_ref.vert new file mode 100644 index 0000000000..a333ed5da0 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec2_vert_ivarynconst_ref.vert @@ -0,0 +1,29 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec2 v1; + vec2 v2 = normalize(vec2(1.0, 1.0)); + + float theta = gtf_Color.g * 2.0 * M_PI; + float phi = gtf_Color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + + color = vec4((v1 - 2.0 * dot(v2, v1) * v2 + 1.0) / 2.0, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst.frag new file mode 100644 index 0000000000..776dbcaedb --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst.frag @@ -0,0 +1,30 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec3 v1; + vec3 v2 = normalize(vec3(1.0, 1.0, 1.0)); + + + float theta = color.g * 2.0 * M_PI; + float phi = color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + v1.z = cos(phi); + + gl_FragColor = vec4((reflect(v1, v2) + 1.0) / 2.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst_ref.frag new file mode 100644 index 0000000000..fd741cd29b --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_frag_ivarynconst_ref.frag @@ -0,0 +1,30 @@ + +/* +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. +*/ + + +#ifdef GL_ES +precision mediump float; +#endif +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec3 v1; + vec3 v2 = normalize(vec3(1.0, 1.0, 1.0)); + + + float theta = color.g * 2.0 * M_PI; + float phi = color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + v1.z = cos(phi); + + gl_FragColor = vec4((v1 - 2.0 * dot(v2, v1) * v2 + 1.0) / 2.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst.vert new file mode 100644 index 0000000000..43913886ca --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst.vert @@ -0,0 +1,30 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec3 v1; + vec3 v2 = normalize(vec3(1.0, 1.0, 1.0)); + + float theta = gtf_Color.g * 2.0 * M_PI; + float phi = gtf_Color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + v1.z = cos(phi); + + color = vec4((reflect(v1, v2) + 1.0) / 2.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst_ref.vert new file mode 100644 index 0000000000..8cdbc8a7bd --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/reflect/reflect_vec3_vert_ivarynconst_ref.vert @@ -0,0 +1,30 @@ + +/* +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_Color; +attribute vec4 gtf_Vertex; +uniform mat4 gtf_ModelViewProjectionMatrix; +varying vec4 color; + +void main (void) +{ + const float M_PI = 3.14159265358979323846; + + // Both are unit vectors + vec3 v1; + vec3 v2 = normalize(vec3(1.0, 1.0, 1.0)); + + float theta = gtf_Color.g * 2.0 * M_PI; + float phi = gtf_Color.b * 2.0 * M_PI; + v1.x = cos(theta) * sin(phi); + v1.y = sin(theta) * sin(phi); + v1.z = cos(phi); + + color = vec4((v1 - 2.0 * dot(v2, v1) * v2 + vec3(1.0)) / 2.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} |