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