summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag')
-rw-r--r--dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag83
1 files changed, 83 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag
new file mode 100644
index 0000000000..147b8c5ba4
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/checkout/conformance/ogles/GL/struct/structnest_mat4_frag.frag
@@ -0,0 +1,83 @@
+
+/*
+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
+struct nestb
+{
+ mat4 b;
+};
+
+struct nesta
+{
+ mat4 a;
+ nestb nest_b;
+};
+
+struct nest
+{
+ nesta nest_a;
+};
+
+void main (void)
+{
+ nest s = nest(nesta( mat4(11, 13, 29, 33, 63, 13, 49, 57, 71, 47, 91, 101, 167, 21, 39, 41), nestb( mat4(12, 19, 79, 81, 35, 51, 73, 66, 23, 134, 121, 156, 76, 23, 24, 78) ) ) );
+ float sum1=0.0,sum2=0.0;
+ int i,j;
+
+ sum1 = sum1 + s.nest_a.a[0][0];
+ sum2 = sum2 + s.nest_a.nest_b.b[0][0];
+
+ sum1 = sum1 + s.nest_a.a[0][1];
+ sum2 = sum2 + s.nest_a.nest_b.b[0][1];
+
+ sum1 = sum1 + s.nest_a.a[0][2];
+ sum2 = sum2 + s.nest_a.nest_b.b[0][2];
+
+ sum1 = sum1 + s.nest_a.a[0][3];
+ sum2 = sum2 + s.nest_a.nest_b.b[0][3];
+
+ sum1 = sum1 + s.nest_a.a[1][0];
+ sum2 = sum2 + s.nest_a.nest_b.b[1][0];
+
+ sum1 = sum1 + s.nest_a.a[1][1];
+ sum2 = sum2 + s.nest_a.nest_b.b[1][1];
+
+ sum1 = sum1 + s.nest_a.a[1][2];
+ sum2 = sum2 + s.nest_a.nest_b.b[1][2];
+
+ sum1 = sum1 + s.nest_a.a[1][3];
+ sum2 = sum2 + s.nest_a.nest_b.b[1][3];
+
+ sum1 = sum1 + s.nest_a.a[2][0];
+ sum2 = sum2 + s.nest_a.nest_b.b[2][0];
+
+ sum1 = sum1 + s.nest_a.a[2][1];
+ sum2 = sum2 + s.nest_a.nest_b.b[2][1];
+
+ sum1 = sum1 + s.nest_a.a[2][2];
+ sum2 = sum2 + s.nest_a.nest_b.b[2][2];
+
+ sum1 = sum1 + s.nest_a.a[2][3];
+ sum2 = sum2 + s.nest_a.nest_b.b[2][3];
+
+ sum1 = sum1 + s.nest_a.a[3][0];
+ sum2 = sum2 + s.nest_a.nest_b.b[3][0];
+
+ sum1 = sum1 + s.nest_a.a[3][1];
+ sum2 = sum2 + s.nest_a.nest_b.b[3][1];
+
+ sum1 = sum1 + s.nest_a.a[3][2];
+ sum2 = sum2 + s.nest_a.nest_b.b[3][2];
+
+ sum1 = sum1 + s.nest_a.a[3][3];
+ sum2 = sum2 + s.nest_a.nest_b.b[3][3];
+
+ gl_FragColor = vec4( vec3( ( sum1 + sum2 )/ 1897.0 ), 1.0);
+}