1e5c31af7Sopenharmony_cigroup unspecified_precision "Invalid declarations with unspecified precision"
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci	case float_partially_specified_fragment
4e5c31af7Sopenharmony_ci		version 310 es
5e5c31af7Sopenharmony_ci		expect compile_fail
6e5c31af7Sopenharmony_ci		vertex ""
7e5c31af7Sopenharmony_ci			#version 310 es
8e5c31af7Sopenharmony_ci			${VERTEX_DECLARATIONS}
9e5c31af7Sopenharmony_ci			void main() {}
10e5c31af7Sopenharmony_ci		""
11e5c31af7Sopenharmony_ci		fragment ""
12e5c31af7Sopenharmony_ci			#version 310 es
13e5c31af7Sopenharmony_ci			// no global precision qualifier (e.g. precision mediump float)
14e5c31af7Sopenharmony_ci			void main() {
15e5c31af7Sopenharmony_ci				mediump float x = 1.0;
16e5c31af7Sopenharmony_ci				vec3 y = vec3(x);
17e5c31af7Sopenharmony_ci				mediump vec4 z = vec4(y, x);
18e5c31af7Sopenharmony_ci			}
19e5c31af7Sopenharmony_ci		""
20e5c31af7Sopenharmony_ci	end
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ci	case float_fragment
23e5c31af7Sopenharmony_ci		version 310 es
24e5c31af7Sopenharmony_ci		expect compile_fail
25e5c31af7Sopenharmony_ci		vertex ""
26e5c31af7Sopenharmony_ci			#version 310 es
27e5c31af7Sopenharmony_ci			void main() {}
28e5c31af7Sopenharmony_ci		""
29e5c31af7Sopenharmony_ci		fragment ""
30e5c31af7Sopenharmony_ci			#version 310 es
31e5c31af7Sopenharmony_ci			void main() { float v; }
32e5c31af7Sopenharmony_ci		""
33e5c31af7Sopenharmony_ci	end
34e5c31af7Sopenharmony_ci
35e5c31af7Sopenharmony_ci	case vec2_fragment
36e5c31af7Sopenharmony_ci		version 310 es
37e5c31af7Sopenharmony_ci		expect compile_fail
38e5c31af7Sopenharmony_ci		vertex ""
39e5c31af7Sopenharmony_ci			#version 310 es
40e5c31af7Sopenharmony_ci			void main() {}
41e5c31af7Sopenharmony_ci		""
42e5c31af7Sopenharmony_ci		fragment ""
43e5c31af7Sopenharmony_ci			#version 310 es
44e5c31af7Sopenharmony_ci			void main() { vec2 v; }
45e5c31af7Sopenharmony_ci		""
46e5c31af7Sopenharmony_ci	end
47e5c31af7Sopenharmony_ci
48e5c31af7Sopenharmony_ci	case vec3_fragment
49e5c31af7Sopenharmony_ci		version 310 es
50e5c31af7Sopenharmony_ci		expect compile_fail
51e5c31af7Sopenharmony_ci		vertex ""
52e5c31af7Sopenharmony_ci			#version 310 es
53e5c31af7Sopenharmony_ci			void main() {}
54e5c31af7Sopenharmony_ci		""
55e5c31af7Sopenharmony_ci		fragment ""
56e5c31af7Sopenharmony_ci			#version 310 es
57e5c31af7Sopenharmony_ci			void main() { vec3 v; }
58e5c31af7Sopenharmony_ci		""
59e5c31af7Sopenharmony_ci	end
60e5c31af7Sopenharmony_ci
61e5c31af7Sopenharmony_ci	case vec4_fragment
62e5c31af7Sopenharmony_ci		version 310 es
63e5c31af7Sopenharmony_ci		expect compile_fail
64e5c31af7Sopenharmony_ci		vertex ""
65e5c31af7Sopenharmony_ci			#version 310 es
66e5c31af7Sopenharmony_ci			void main() {}
67e5c31af7Sopenharmony_ci		""
68e5c31af7Sopenharmony_ci		fragment ""
69e5c31af7Sopenharmony_ci			#version 310 es
70e5c31af7Sopenharmony_ci			void main() { vec4 v; }
71e5c31af7Sopenharmony_ci		""
72e5c31af7Sopenharmony_ci	end
73e5c31af7Sopenharmony_ci
74e5c31af7Sopenharmony_ci	case sampler3D
75e5c31af7Sopenharmony_ci		version 310 es
76e5c31af7Sopenharmony_ci		expect compile_fail
77e5c31af7Sopenharmony_ci		both ""
78e5c31af7Sopenharmony_ci			#version 310 es
79e5c31af7Sopenharmony_ci			uniform sampler3D samp;
80e5c31af7Sopenharmony_ci			void main() {}
81e5c31af7Sopenharmony_ci		""
82e5c31af7Sopenharmony_ci	end
83e5c31af7Sopenharmony_ci
84e5c31af7Sopenharmony_ci	case samplerCubeShadow
85e5c31af7Sopenharmony_ci		version 310 es
86e5c31af7Sopenharmony_ci		expect compile_fail
87e5c31af7Sopenharmony_ci		both ""
88e5c31af7Sopenharmony_ci			#version 310 es
89e5c31af7Sopenharmony_ci			uniform samplerCubeShadow samp;
90e5c31af7Sopenharmony_ci			void main() {}
91e5c31af7Sopenharmony_ci		""
92e5c31af7Sopenharmony_ci	end
93e5c31af7Sopenharmony_ci
94e5c31af7Sopenharmony_ci	case sampler2DShadow
95e5c31af7Sopenharmony_ci		version 310 es
96e5c31af7Sopenharmony_ci		expect compile_fail
97e5c31af7Sopenharmony_ci		both ""
98e5c31af7Sopenharmony_ci			#version 310 es
99e5c31af7Sopenharmony_ci			uniform sampler2DShadow samp;
100e5c31af7Sopenharmony_ci			void main() {}
101e5c31af7Sopenharmony_ci		""
102e5c31af7Sopenharmony_ci	end
103e5c31af7Sopenharmony_ci
104e5c31af7Sopenharmony_ci	case sampler2DArray
105e5c31af7Sopenharmony_ci		version 310 es
106e5c31af7Sopenharmony_ci		expect compile_fail
107e5c31af7Sopenharmony_ci		both ""
108e5c31af7Sopenharmony_ci			#version 310 es
109e5c31af7Sopenharmony_ci			uniform sampler2DArray samp;
110e5c31af7Sopenharmony_ci			void main() {}
111e5c31af7Sopenharmony_ci		""
112e5c31af7Sopenharmony_ci	end
113e5c31af7Sopenharmony_ci
114e5c31af7Sopenharmony_ci	case sampler2DArrayShadow
115e5c31af7Sopenharmony_ci		version 310 es
116e5c31af7Sopenharmony_ci		expect compile_fail
117e5c31af7Sopenharmony_ci		both ""
118e5c31af7Sopenharmony_ci			#version 310 es
119e5c31af7Sopenharmony_ci			uniform sampler2DArrayShadow samp;
120e5c31af7Sopenharmony_ci			void main() {}
121e5c31af7Sopenharmony_ci		""
122e5c31af7Sopenharmony_ci	end
123e5c31af7Sopenharmony_ci
124e5c31af7Sopenharmony_ci	case isampler2D
125e5c31af7Sopenharmony_ci		version 310 es
126e5c31af7Sopenharmony_ci		expect compile_fail
127e5c31af7Sopenharmony_ci		both ""
128e5c31af7Sopenharmony_ci			#version 310 es
129e5c31af7Sopenharmony_ci			uniform isampler2D samp;
130e5c31af7Sopenharmony_ci			void main() {}
131e5c31af7Sopenharmony_ci		""
132e5c31af7Sopenharmony_ci	end
133e5c31af7Sopenharmony_ci
134e5c31af7Sopenharmony_ci	case isampler3D
135e5c31af7Sopenharmony_ci		version 310 es
136e5c31af7Sopenharmony_ci		expect compile_fail
137e5c31af7Sopenharmony_ci		both ""
138e5c31af7Sopenharmony_ci			#version 310 es
139e5c31af7Sopenharmony_ci			uniform isampler3D samp;
140e5c31af7Sopenharmony_ci			void main() {}
141e5c31af7Sopenharmony_ci		""
142e5c31af7Sopenharmony_ci	end
143e5c31af7Sopenharmony_ci
144e5c31af7Sopenharmony_ci	case isamplerCube
145e5c31af7Sopenharmony_ci		version 310 es
146e5c31af7Sopenharmony_ci		expect compile_fail
147e5c31af7Sopenharmony_ci		both ""
148e5c31af7Sopenharmony_ci			#version 310 es
149e5c31af7Sopenharmony_ci			uniform isamplerCube samp;
150e5c31af7Sopenharmony_ci			void main() {}
151e5c31af7Sopenharmony_ci		""
152e5c31af7Sopenharmony_ci	end
153e5c31af7Sopenharmony_ci
154e5c31af7Sopenharmony_ci	case isampler2DArray
155e5c31af7Sopenharmony_ci		version 310 es
156e5c31af7Sopenharmony_ci		expect compile_fail
157e5c31af7Sopenharmony_ci		both ""
158e5c31af7Sopenharmony_ci			#version 310 es
159e5c31af7Sopenharmony_ci			uniform isampler2DArray samp;
160e5c31af7Sopenharmony_ci			void main() {}
161e5c31af7Sopenharmony_ci		""
162e5c31af7Sopenharmony_ci	end
163e5c31af7Sopenharmony_ci
164e5c31af7Sopenharmony_ci	case usampler2D
165e5c31af7Sopenharmony_ci		version 310 es
166e5c31af7Sopenharmony_ci		expect compile_fail
167e5c31af7Sopenharmony_ci		both ""
168e5c31af7Sopenharmony_ci			#version 310 es
169e5c31af7Sopenharmony_ci			uniform usampler2D samp;
170e5c31af7Sopenharmony_ci			void main() {}
171e5c31af7Sopenharmony_ci		""
172e5c31af7Sopenharmony_ci	end
173e5c31af7Sopenharmony_ci
174e5c31af7Sopenharmony_ci	case usampler3D
175e5c31af7Sopenharmony_ci		version 310 es
176e5c31af7Sopenharmony_ci		expect compile_fail
177e5c31af7Sopenharmony_ci		both ""
178e5c31af7Sopenharmony_ci			#version 310 es
179e5c31af7Sopenharmony_ci			uniform usampler3D samp;
180e5c31af7Sopenharmony_ci			void main() {}
181e5c31af7Sopenharmony_ci		""
182e5c31af7Sopenharmony_ci	end
183e5c31af7Sopenharmony_ci
184e5c31af7Sopenharmony_ci	case usamplerCube
185e5c31af7Sopenharmony_ci		version 310 es
186e5c31af7Sopenharmony_ci		expect compile_fail
187e5c31af7Sopenharmony_ci		both ""
188e5c31af7Sopenharmony_ci			#version 310 es
189e5c31af7Sopenharmony_ci			uniform usamplerCube samp;
190e5c31af7Sopenharmony_ci			void main() {}
191e5c31af7Sopenharmony_ci		""
192e5c31af7Sopenharmony_ci	end
193e5c31af7Sopenharmony_ci
194e5c31af7Sopenharmony_ci	case usampler2DArray
195e5c31af7Sopenharmony_ci		version 310 es
196e5c31af7Sopenharmony_ci		expect compile_fail
197e5c31af7Sopenharmony_ci		both ""
198e5c31af7Sopenharmony_ci			#version 310 es
199e5c31af7Sopenharmony_ci			uniform usampler2DArray samp;
200e5c31af7Sopenharmony_ci			void main() {}
201e5c31af7Sopenharmony_ci		""
202e5c31af7Sopenharmony_ci	end
203e5c31af7Sopenharmony_ci
204e5c31af7Sopenharmony_ciend # unspecified_precision
205