• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2case correct_int_literal
3	version 300 es
4	values
5	{
6		uniform int u_ref = -1610612736;
7		output float out0 = 1.0;
8	}
9	both ""
10		#version 300 es
11		precision mediump float;
12		uniform highp int u_ref;
13		${DECLARATIONS}
14		void main()
15		{
16			highp int h = 0xA0000000;
17			out0 = 0.0;
18			if (h == u_ref)
19				out0 = 1.0;
20			${OUTPUT}
21		}
22	""
23end
24
25case int_overflow_1
26	version 300 es
27	expect compile_fail
28	both ""
29		#version 300 es
30		precision mediump float;
31		${DECLARATIONS}
32		void main()
33		{
34			highp int i = 5000000000;
35			out0 = 1.0;
36			${OUTPUT}
37		}
38	""
39end
40
41case int_overflow_2
42	version 300 es
43	expect compile_fail
44	both ""
45		#version 300 es
46		precision mediump float;
47		${DECLARATIONS}
48		void main()
49		{
50			highp int j = 0xFFFFFFFFF;
51			out0 = 1.0;
52			${OUTPUT}
53		}
54	""
55end
56
57case int_wrap_1
58	version 300 es
59	values { output int out0 = -2147483648; }
60	vertex ""
61		#version 300 es
62		${VERTEX_DECLARATIONS}
63		void main()
64		{
65			${VERTEX_OUTPUT}
66		}
67	""
68	fragment ""
69		#version 300 es
70		precision mediump float;
71		${FRAGMENT_DECLARATIONS}
72		void main()
73		{
74			out0 = 0x80000000;
75			${FRAGMENT_OUTPUT}
76		}
77	""
78end
79
80case int_wrap_2
81	version 300 es
82	values { output int out0 = -2147483648; }
83	vertex ""
84		#version 300 es
85		${VERTEX_DECLARATIONS}
86		void main()
87		{
88			${VERTEX_OUTPUT}
89		}
90	""
91	fragment ""
92		#version 300 es
93		precision mediump float;
94		${FRAGMENT_DECLARATIONS}
95		void main()
96		{
97			out0 = 2147483648;
98			${FRAGMENT_OUTPUT}
99		}
100	""
101end
102