• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1group builtins "Builtin Tests"
2
3	case core_gl_FragColor
4		version 420
5		expect compile_fail
6		vertex ""
7			#version 420
8			${VERTEX_DECLARATIONS}
9			void main()
10			{
11				${VERTEX_OUTPUT}
12			}
13		""
14		fragment ""
15			#version 420
16			void main()
17			{
18				gl_FragColor = vec4(1.0);
19			}
20		""
21	end
22
23	case core_gl_FragData
24		version 420
25		expect compile_fail
26		vertex ""
27			#version 420
28			${VERTEX_DECLARATIONS}
29			void main()
30			{
31				${VERTEX_OUTPUT}
32			}
33		""
34		fragment ""
35			#version 420
36			void main()
37			{
38				gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0);
39			}
40		""
41	end
42
43	case core_gl_MaxVaryingFloats
44		version 420
45		expect compile_fail
46		vertex ""
47			#version 420
48			${VERTEX_DECLARATIONS}
49			void main()
50			{
51				${VERTEX_OUTPUT}
52			}
53		""
54		fragment ""
55			#version 420
56			out vec4 color;
57			void main()
58			{
59				color = vec4(float(gl_MaxVaryingFloats));
60			}
61		""
62	end
63
64	case core_texture_builtins
65		version 420
66		expect compile_fail
67		vertex ""
68			#version 420
69			${VERTEX_DECLARATIONS}
70			void main()
71			{
72				${VERTEX_OUTPUT}
73			}
74		""
75		fragment ""
76			#version 420
77			uniform sampler1D tex1d;
78			uniform sampler2D tex2d;
79			uniform sampler3D tex3d;
80			uniform samplerCube texCube;
81
82			uniform float i;
83			uniform float dummy_f_coord;
84			uniform vec2 dummy_v2_coord;
85			uniform vec3 dummy_v3_coord;
86			uniform vec4 dummy_v4_coord;
87			out vec4 color;
88			void main()
89			{
90				color = texture1D(tex1d, dummy_f_coord, i);
91				color =+ texture1DProj(tex1d, dummy_v2_coord, i);
92				color =+ texture1DProj(tex1d, dummy_v4_coord, i);
93				color =+ texture1DLod(tex1d, dummy_f_coord, i);
94				color =+ texture1DProjLod(tex1d, dummy_v2_coord, i);
95				color =+ texture1DProjLod(tex1d, dummy_v4_coord, i);
96
97				color =+ texture2D(tex2d, dummy_v2_coord, i);
98				color =+ texture2DProj(tex2d, dummy_v3_coord, i);
99				color =+ texture2DProj(tex2d, dummy_v4_coord, i);
100				color =+ texture2DLod(tex2d, dummy_v2_coord, i);
101				color =+ texture2DProjLod(tex2d, dummy_v3_coord, i);
102				color =+ texture2DProjLod(tex2d, dummy_v4_coord, i);
103
104				color =+ texture3D(tex3d, dummy_v3_coord, i);
105				color =+ texture3DProj(tex3d, dummy_v4_coord, i);
106				color =+ texture3DLod(tex3d, dummy_v3_coord, i);
107				color =+ texture3DProjLod(tex3d, dummy_v4_coord, i);
108
109				color =+ textureCube(texCube, dummy_v3_coord, i);
110				color =+ textureCubeLod(texCube, dummy_v3_coord, i);
111			}
112		""
113	end
114
115	case core_shadow_builtins
116		version 420
117		expect compile_fail
118		vertex ""
119			#version 420
120			${VERTEX_DECLARATIONS}
121			void main()
122			{
123				${VERTEX_OUTPUT}
124			}
125		""
126		fragment ""
127			#version 420
128			uniform sampler1DShadow tex1dshadow;
129			uniform sampler2DShadow tex2dshadow;
130
131			uniform float i;
132			uniform vec3 dummy_v3_coord;
133			uniform vec4 dummy_v4_coord;
134			out vec4 color;
135			void main()
136			{
137				color = shadow1D(tex1dshadow, dummy_v3_coord, i);
138				color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i);
139				color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i);
140				color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i);
141
142				color =+ shadow2D(tex2dshadow, dummy_v3_coord, i);
143				color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i);
144				color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i);
145				color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i);
146			}
147		""
148	end
149
150	case compatibility_gl_FragColor
151		version 420
152		vertex ""
153			#version 420 compatibility
154			${VERTEX_DECLARATIONS}
155			void main()
156			{
157				${VERTEX_OUTPUT}
158			}
159		""
160		fragment ""
161			#version 420 compatibility
162			void main()
163			{
164				gl_FragColor = vec4(1.0);
165			}
166		""
167	end
168
169	case compatibility_gl_FragData
170		version 420
171		vertex ""
172			#version 420 compatibility
173			${VERTEX_DECLARATIONS}
174			void main()
175			{
176				${VERTEX_OUTPUT}
177			}
178		""
179		fragment ""
180			#version 420 compatibility
181			void main()
182			{
183				gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0);
184			}
185		""
186	end
187
188	case compatibility_gl_MaxVaryingFloats
189		version 420
190		vertex ""
191			#version 420 compatibility
192			${VERTEX_DECLARATIONS}
193			void main()
194			{
195				${VERTEX_OUTPUT}
196			}
197		""
198		fragment ""
199			#version 420 compatibility
200			out vec4 color;
201			void main()
202			{
203				color = vec4(float(gl_MaxVaryingFloats));
204			}
205		""
206	end
207
208	case compatibility_texture_builtins
209		version 420
210		vertex ""
211			#version 420 compatibility
212			${VERTEX_DECLARATIONS}
213			void main()
214			{
215				${VERTEX_OUTPUT}
216			}
217		""
218		fragment ""
219			#version 420 compatibility
220			uniform sampler1D tex1d;
221			uniform sampler2D tex2d;
222			uniform sampler3D tex3d;
223			uniform samplerCube texCube;
224
225			uniform float i;
226			uniform float dummy_f_coord;
227			uniform vec2 dummy_v2_coord;
228			uniform vec3 dummy_v3_coord;
229			uniform vec4 dummy_v4_coord;
230			out vec4 color;
231			void main()
232			{
233				color = texture1D(tex1d, dummy_f_coord, i);
234				color =+ texture1DProj(tex1d, dummy_v2_coord, i);
235				color =+ texture1DProj(tex1d, dummy_v4_coord, i);
236				color =+ texture1DLod(tex1d, dummy_f_coord, i);
237				color =+ texture1DProjLod(tex1d, dummy_v2_coord, i);
238				color =+ texture1DProjLod(tex1d, dummy_v4_coord, i);
239
240				color =+ texture2D(tex2d, dummy_v2_coord, i);
241				color =+ texture2DProj(tex2d, dummy_v3_coord, i);
242				color =+ texture2DProj(tex2d, dummy_v4_coord, i);
243				color =+ texture2DLod(tex2d, dummy_v2_coord, i);
244				color =+ texture2DProjLod(tex2d, dummy_v3_coord, i);
245				color =+ texture2DProjLod(tex2d, dummy_v4_coord, i);
246
247				color =+ texture3D(tex3d, dummy_v3_coord, i);
248				color =+ texture3DProj(tex3d, dummy_v4_coord, i);
249				color =+ texture3DLod(tex3d, dummy_v3_coord, i);
250				color =+ texture3DProjLod(tex3d, dummy_v4_coord, i);
251
252				color =+ textureCube(texCube, dummy_v3_coord, i);
253				color =+ textureCubeLod(texCube, dummy_v3_coord, i);
254			}
255		""
256	end
257
258	case compatibility_shadow_builtins
259		version 420
260		vertex ""
261			#version 420 compatibility
262			${VERTEX_DECLARATIONS}
263			void main()
264			{
265				${VERTEX_OUTPUT}
266			}
267		""
268		fragment ""
269			#version 420 compatibility
270			uniform sampler1DShadow tex1dshadow;
271			uniform sampler2DShadow tex2dshadow;
272
273			uniform float i;
274			uniform vec3 dummy_v3_coord;
275			uniform vec4 dummy_v4_coord;
276			out vec4 color;
277			void main()
278			{
279				color = shadow1D(tex1dshadow, dummy_v3_coord, i);
280				color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i);
281				color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i);
282				color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i);
283
284				color =+ shadow2D(tex2dshadow, dummy_v3_coord, i);
285				color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i);
286				color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i);
287				color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i);
288			}
289		""
290	end
291
292end
293