summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-conf/checkout/deqp/data/gles3/shaders/switch.test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dom/canvas/test/webgl-conf/checkout/deqp/data/gles3/shaders/switch.test633
1 files changed, 633 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/deqp/data/gles3/shaders/switch.test b/dom/canvas/test/webgl-conf/checkout/deqp/data/gles3/shaders/switch.test
new file mode 100644
index 0000000000..687eb7ebab
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/checkout/deqp/data/gles3/shaders/switch.test
@@ -0,0 +1,633 @@
+
+case empty_condition
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch ()
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case condition_float
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float c = 1.0;
+ switch (c)
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case condition_bool
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ bool c = true;
+ switch (c)
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case condition_ivec2
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ ivec2 c = ivec2(1, 1);
+ switch (c)
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case condition_struct
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ struct S { int m; };
+
+ void main ()
+ {
+ S c = S(1);
+ switch (c)
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case duplicate_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ int c = 1;
+ switch (c)
+ {
+ case 1:
+ case 1:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case float_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ int c = 1;
+ switch (c)
+ {
+ case 1.0:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case non_const_int_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ int c = 1;
+ int l = 2;
+ switch (c)
+ {
+ case l:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case statement_before_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(0.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case statement_before_default_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ default:
+ ${POSITION_FRAG_COLOR} = vec4(0.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case no_statement_after_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ case 0:
+ break;
+ case 1:
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case no_statement_after_default_label
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ case 0:
+ break;
+ default:
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case case_in_if
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ if (f > 0.0)
+ {
+ case 1:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case default_in_if
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ if (f > 0.0)
+ {
+ default:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case case_in_for_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ for (int i = 0; i < 2; i++)
+ {
+ case 1:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case default_in_for_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ for (int i = 0; i < 2; i++)
+ {
+ default:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case case_in_while_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ while (f > 0.0)
+ {
+ case 1:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case default_in_while_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ while (f > 0.0)
+ {
+ default:
+ f *= 2.0;
+ }
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case case_in_do_while_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ do
+ {
+ case 1:
+ f *= 2.0;
+ } while (f > 0.0);
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case default_in_do_while_loop
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ float f = 1.0;
+ switch (1)
+ {
+ case 0:
+ f = 0.0;
+ do
+ {
+ default:
+ f *= 2.0;
+ } while (f > 0.0);
+ break;
+ case 2:
+ break;
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case missing_colon
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ case 1
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case missing_opening_brace
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case missing_closing_brace
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case double_case
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ case case 1:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case double_default_1
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ default:
+ break;
+ default:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end
+
+case double_default_2
+ version 300 es
+ expect compile_fail
+ both ""
+ #version 300 es
+ precision mediump float;
+ ${DECLARATIONS}
+
+ void main ()
+ {
+ switch (1)
+ {
+ default default:
+ ${POSITION_FRAG_COLOR} = vec4(1.0);
+ }
+
+ ${OUTPUT}
+ }
+ ""
+end