framework: move atexit call closer to init
[piglit.git] / generated_tests / templates / gen_interpolation_tests / template.shader_test.mako
blobaa830b453e33675a4beb9b08a83269648403e682
1 %if args.builtin_variable:
2 # Test proper interpolation of ${args.vs_variable}
3 %else:
4 # Test proper interpolation of a non-built-in variable
5 %endif
6 %if args.interpolation_qualifier:
7 # When qualified with ${args.interpolation_qualifier}
8 %else:
9 # When no interpolation qualifier present
10 %endif
11 # And ShadeModel is ${args.shade_model}
12 %if args.clipping == 'fixed':
13 # And clipping via fixed planes
14 %elif args.clipping == 'vertex':
15 # And clipping via gl_ClipVertex
16 %elif args.clipping == 'distance':
17 # And clipping via gl_ClipDistance
18 %endif
20 [require]
21 GLSL >= ${args.glsl_version}
23 [vertex shader]
24 ${args.vs_input} vec4 vertex;
25 ${args.vs_input} vec4 input_data;
26 % if args.interpolation_qualifier or not args.builtin_variable:
27 ${args.interpolation_qualifier} ${args.vs_output} vec4 ${args.vs_variable};
28 % endif
30 void main()
32     gl_Position = gl_ModelViewProjectionMatrix * vertex;
33     ${args.vs_variable} = input_data;
34   %if args.clipping == 'distance':
35     gl_ClipDistance[0] = -1.75 - vertex.z;
36   %elif args.clipping == 'vertex':
37     gl_ClipVertex = vertex;
38   %endif
41 [fragment shader]
42 % if args.interpolation_qualifier or not args.builtin_variable:
43 ${args.interpolation_qualifier} ${args.fs_input} vec4 ${args.fs_variable};
44 % endif
46 void main()
48     gl_FragColor = ${args.fs_variable};
51 [vertex data]
52 % for v in args.vertex_data():
53 ${v}
54 % endfor
56 [test]
57 frustum -${args.frustum_near} ${args.frustum_near} -${args.frustum_near} ${args.frustum_near} ${args.frustum_near} ${args.frustum_far}
58 clear color 0.0 0.0 0.0 0.0
59 clear
60 enable GL_VERTEX_PROGRAM_TWO_SIDE
61 shade model ${args.shade_model}
63 % if args.clipping == 'distance':
64 enable GL_CLIP_PLANE0
65 % elif args.clipping == 'vertex':
66 enable GL_CLIP_PLANE0
67 clip plane 0 0.0 0.0 -1.0 -1.75
68 % endif
70 draw arrays GL_TRIANGLES 0 3
72 % for x, y, r, g, b, a in args.probe_data():
73 relative probe rgba (${x}, ${y}) (${r}, ${g}, ${b}, ${a})
74 % endfor