diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
37 files changed, 1122 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/input.run.txt b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/input.run.txt new file mode 100644 index 0000000000..89038b7445 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/input.run.txt @@ -0,0 +1,2 @@ +# this file is auto-generated. DO NOT EDIT. +not_001_to_004.html diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_001_to_004.html b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_001_to_004.html new file mode 100644 index 0000000000..c505a2f601 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_001_to_004.html @@ -0,0 +1,83 @@ +<!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: not_001_to_004.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": "not_bvec2_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "not_bvec2_frag.frag" + }, + "name": "not_bvec2_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "not_bvec2_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "not_bvec2_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "not_bvec2_vert.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "not_bvec3_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "not_bvec3_frag.frag" + }, + "name": "not_bvec3_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "not_bvec3_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "not_bvec3_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "not_bvec3_vert.test.html", + "pattern": "compare" + } + ] +}); +var successfullyParsed = true; +</script> +</html> diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag.frag new file mode 100644 index 0000000000..0a89d7ba84 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag.frag @@ -0,0 +1,22 @@ + +/* +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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +void main (void) +{ + vec2 c = floor(1.5 * color.rg); // 1/3 true, 2/3 false + gl_FragColor = vec4(vec2(not(bvec2(c))), 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag_ref.frag new file mode 100644 index 0000000000..7bd26175f0 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_frag_ref.frag @@ -0,0 +1,32 @@ + +/* +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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +bvec2 _not(in bvec2 a) +{ + bvec2 result; + if(a[0]) result[0] = false; + else result[0] = true; + if(a[1]) result[1] = false; + else result[1] = true; + return result; +} + +void main (void) +{ + vec2 c = floor(1.5 * color.rg); // 1/3 true, 2/3 false + gl_FragColor = vec4(vec2(_not(bvec2(c))), 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert.vert new file mode 100644 index 0000000000..9006e480d0 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert.vert @@ -0,0 +1,19 @@ + +/* +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) +{ + vec2 c = floor(1.5 * gtf_Color.rg); // 1/3 true, 2/3 false + color = vec4(vec2(not(bvec2(c))), 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert_ref.vert new file mode 100644 index 0000000000..bd3528fa94 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec2_vert_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; + +bvec2 _not(in bvec2 a) +{ + bvec2 result; + if(a[0]) result[0] = false; + else result[0] = true; + if(a[1]) result[1] = false; + else result[1] = true; + return result; +} + +void main (void) +{ + vec2 c = floor(1.5 * gtf_Color.rg); // 1/3 true, 2/3 false + color = vec4(vec2(_not(bvec2(c))), 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag.frag new file mode 100644 index 0000000000..a0d6beaf91 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag.frag @@ -0,0 +1,18 @@ + +/* +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) +{ + vec3 c = floor(1.5 * color.rgb); // 1/3 true, 2/3 false + gl_FragColor = vec4(vec3(not(bvec3(c))), 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag_ref.frag new file mode 100644 index 0000000000..5cfc127c63 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_frag_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; + +bvec3 _not(in bvec3 a) +{ + bvec3 result; + if(a[0]) result[0] = false; + else result[0] = true; + if(a[1]) result[1] = false; + else result[1] = true; + if(a[2]) result[2] = false; + else result[2] = true; + return result; +} + +void main (void) +{ + vec3 c = floor(1.5 * color.rgb); // 1/3 true, 2/3 false + gl_FragColor = vec4(vec3(_not(bvec3(c))), 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert.vert new file mode 100644 index 0000000000..48d99112be --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert.vert @@ -0,0 +1,19 @@ + +/* +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) +{ + vec3 c = floor(1.5 * gtf_Color.rgb); // 1/3 true, 2/3 false + color = vec4(vec3(not(bvec3(c))), 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert_ref.vert new file mode 100644 index 0000000000..7d54ec2cfc --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/not/not_bvec3_vert_ref.vert @@ -0,0 +1,31 @@ + +/* +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; + +bvec3 _not(in bvec3 a) +{ + bvec3 result; + if(a[0]) result[0] = false; + else result[0] = true; + if(a[1]) result[1] = false; + else result[1] = true; + if(a[2]) result[2] = false; + else result[2] = true; + return result; +} + +void main (void) +{ + vec3 c = floor(1.5 * gtf_Color.rgb); // 1/3 true, 2/3 false + color = vec4(vec3(_not(bvec3(c))), 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/input.run.txt b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/input.run.txt new file mode 100644 index 0000000000..9bc23768ea --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/input.run.txt @@ -0,0 +1,3 @@ +# this file is auto-generated. DO NOT EDIT. +notEqual_001_to_008.html +notEqual_009_to_012.html diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_001_to_008.html b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_001_to_008.html new file mode 100644 index 0000000000..5ad5a6bcc0 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_001_to_008.html @@ -0,0 +1,135 @@ +<!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: notEqual_001_to_008.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": "notEqual_vec2_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_vec2_frag.frag" + }, + "name": "notEqual_vec2_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_vec2_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_vec2_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_vec2_vert.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_vec3_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_vec3_frag.frag" + }, + "name": "notEqual_vec3_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_vec3_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_vec3_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_vec3_vert.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_ivec2_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_ivec2_frag.frag" + }, + "name": "notEqual_ivec2_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_ivec2_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_ivec2_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_ivec2_vert.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_ivec3_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_ivec3_frag.frag" + }, + "name": "notEqual_ivec3_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_ivec3_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_ivec3_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_ivec3_vert.test.html", + "pattern": "compare" + } + ] +}); +var successfullyParsed = true; +</script> +</html> diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_009_to_012.html b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_009_to_012.html new file mode 100644 index 0000000000..c2693e7fec --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_009_to_012.html @@ -0,0 +1,83 @@ +<!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: notEqual_009_to_012.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": "notEqual_bvec2_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_bvec2_frag.frag" + }, + "name": "notEqual_bvec2_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_bvec2_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_bvec2_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_bvec2_vert.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_bvec3_frag_ref.frag" + }, + "model": null, + "testProgram": { + "vertexShader": "../default/default.vert", + "fragmentShader": "notEqual_bvec3_frag.frag" + }, + "name": "notEqual_bvec3_frag.test.html", + "pattern": "compare" + }, + { + "referenceProgram": { + "vertexShader": "notEqual_bvec3_vert_ref.vert", + "fragmentShader": "../default/default.frag" + }, + "model": "grid", + "testProgram": { + "vertexShader": "notEqual_bvec3_vert.vert", + "fragmentShader": "../default/default.frag" + }, + "name": "notEqual_bvec3_vert.test.html", + "pattern": "compare" + } + ] +}); +var successfullyParsed = true; +</script> +</html> diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag.frag new file mode 100644 index 0000000000..49df59dfb7 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag.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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +void main (void) +{ + vec2 c = floor(1.5 * color.rg); // 1/3 true, 2/3 false + vec2 result = vec2(notEqual(bvec2(c), bvec2(true))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag_ref.frag new file mode 100644 index 0000000000..b436a76ce2 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_frag_ref.frag @@ -0,0 +1,33 @@ + +/* +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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +bvec2 ne(in bvec2 a, in bvec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(1.5 * color.rg); // 1/3 true, 2/3 false + vec2 result = vec2(ne(bvec2(c), bvec2(true))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert.vert new file mode 100644 index 0000000000..974111cdad --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec2 c = floor(1.5 * gtf_Color.rg); // 1/3 true, 2/3 false + vec2 result = vec2(notEqual(bvec2(c), bvec2(true))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert_ref.vert new file mode 100644 index 0000000000..022d3b2186 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec2_vert_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; + +bvec2 ne(in bvec2 a, in bvec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(1.5 * gtf_Color.rg); // 1/3 true, 2/3 false + vec2 result = vec2(ne(bvec2(c), bvec2(true))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag.frag new file mode 100644 index 0000000000..ee17b824a4 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag.frag @@ -0,0 +1,19 @@ + +/* +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) +{ + vec3 c = floor(1.5 * color.rgb); // 1/3 true, 2/3 false + vec3 result = vec3(notEqual(bvec3(c), bvec3(true))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag_ref.frag new file mode 100644 index 0000000000..86607e8449 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_frag_ref.frag @@ -0,0 +1,31 @@ + +/* +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; + +bvec3 ne(in bvec3 a, in bvec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(1.5 * color.rgb); // 1/3 true, 2/3 false + vec3 result = vec3(ne(bvec3(c), bvec3(true))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert.vert new file mode 100644 index 0000000000..beed0319b8 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec3 c = floor(1.5 * gtf_Color.rgb); // 1/3 true, 2/3 false + vec3 result = vec3(notEqual(bvec3(c), bvec3(true))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert_ref.vert new file mode 100644 index 0000000000..0a9a60b77b --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_bvec3_vert_ref.vert @@ -0,0 +1,32 @@ + +/* +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; + +bvec3 ne(in bvec3 a, in bvec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(1.5 * gtf_Color.rgb); // 1/3 true, 2/3 false + vec3 result = vec3(ne(bvec3(c), bvec3(true))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag.frag new file mode 100644 index 0000000000..f996de0530 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag.frag @@ -0,0 +1,19 @@ + +/* +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) +{ + vec2 c = floor(10.0 * color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(notEqual(ivec2(c), ivec2(0))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag_ref.frag new file mode 100644 index 0000000000..9c15d3941b --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_frag_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; + +bvec2 ne(in ivec2 a, in ivec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(10.0 * color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(ne(ivec2(c), ivec2(0))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert.vert new file mode 100644 index 0000000000..7305ff1599 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec2 c = floor(10.0 * gtf_Color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(notEqual(ivec2(c), ivec2(0))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert_ref.vert new file mode 100644 index 0000000000..824b870db8 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec2_vert_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; + +bvec2 ne(in ivec2 a, in ivec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(10.0 * gtf_Color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(ne(ivec2(c), ivec2(0))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag.frag new file mode 100644 index 0000000000..48ada5f7b4 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag.frag @@ -0,0 +1,19 @@ + +/* +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) +{ + vec3 c = floor(10.0 * color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(notEqual(ivec3(c), ivec3(0))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag_ref.frag new file mode 100644 index 0000000000..4401b1d798 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_frag_ref.frag @@ -0,0 +1,31 @@ + +/* +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; + +bvec3 ne(in ivec3 a, in ivec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(10.0 * color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(ne(ivec3(c), ivec3(0))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert.vert new file mode 100644 index 0000000000..4aa2e34cc2 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec3 c = floor(10.0 * gtf_Color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(notEqual(ivec3(c), ivec3(0))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert_ref.vert new file mode 100644 index 0000000000..eb07abcf64 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_ivec3_vert_ref.vert @@ -0,0 +1,32 @@ + +/* +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; + +bvec3 ne(in ivec3 a, in ivec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(10.0 * gtf_Color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(ne(ivec3(c), ivec3(0))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag.frag new file mode 100644 index 0000000000..ab1b496119 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag.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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +void main (void) +{ + vec2 c = floor(10.0 * color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(notEqual(c, vec2(0.0))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag_ref.frag new file mode 100644 index 0000000000..71320e67c1 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_frag_ref.frag @@ -0,0 +1,33 @@ + +/* +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 +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif +#endif +varying vec4 color; + +bvec2 ne(in vec2 a, in vec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(10.0 * color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(ne(c, vec2(0.0))); + gl_FragColor = vec4(result, 0.0, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert.vert new file mode 100644 index 0000000000..c7931c787b --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec2 c = floor(10.0 * gtf_Color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(notEqual(c, vec2(0.0))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert_ref.vert new file mode 100644 index 0000000000..1892d3ad89 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec2_vert_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; + +bvec2 ne(in vec2 a, in vec2 b) +{ + bvec2 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + return result; +} + +void main (void) +{ + vec2 c = floor(10.0 * gtf_Color.rg - 4.5); // round to the nearest integer + vec2 result = vec2(ne(c, vec2(0.0))); + color = vec4(result, 0.0, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag.frag new file mode 100644 index 0000000000..fe7d7a1153 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag.frag @@ -0,0 +1,19 @@ + +/* +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) +{ + vec3 c = floor(10.0 * color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(notEqual(c, vec3(0.0))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag_ref.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag_ref.frag new file mode 100644 index 0000000000..8a18ea0327 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_frag_ref.frag @@ -0,0 +1,31 @@ + +/* +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; + +bvec3 ne(in vec3 a, in vec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(10.0 * color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(ne(c, vec3(0.0))); + gl_FragColor = vec4(result, 1.0); +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert.vert new file mode 100644 index 0000000000..a97081973a --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert.vert @@ -0,0 +1,20 @@ + +/* +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) +{ + vec3 c = floor(10.0 * gtf_Color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(notEqual(c, vec3(0.0))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert_ref.vert b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert_ref.vert new file mode 100644 index 0000000000..a6c5687e24 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/notEqual/notEqual_vec3_vert_ref.vert @@ -0,0 +1,32 @@ + +/* +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; + +bvec3 ne(in vec3 a, in vec3 b) +{ + bvec3 result; + if(a[0] != b[0]) result[0] = true; + else result[0] = false; + if(a[1] != b[1]) result[1] = true; + else result[1] = false; + if(a[2] != b[2]) result[2] = true; + else result[2] = false; + return result; +} + +void main (void) +{ + vec3 c = floor(10.0 * gtf_Color.rgb - 4.5); // round to the nearest integer + vec3 result = vec3(ne(c, vec3(0.0))); + color = vec4(result, 1.0); + gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; +} |