File: template.shader_test.mako

package info (click to toggle)
piglit 0~git20150829-59d7066-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 39,280 kB
  • sloc: ansic: 191,513; xml: 43,580; cpp: 29,351; python: 18,307; lisp: 8,347; sh: 507; makefile: 17; pascal: 5
file content (74 lines) | stat: -rw-r--r-- 1,889 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
%if args.builtin_variable:
# Test proper interpolation of ${args.vs_variable}
%else:
# Test proper interpolation of a non-built-in variable
%endif
%if args.interpolation_qualifier:
# When qualified with ${args.interpolation_qualifier}
%else:
# When no interpolation qualifier present
%endif
# And ShadeModel is ${args.shade_model}
%if args.clipping == 'fixed':
# And clipping via fixed planes
%elif args.clipping == 'vertex':
# And clipping via gl_ClipVertex
%elif args.clipping == 'distance':
# And clipping via gl_ClipDistance
%endif

[require]
GLSL >= ${args.glsl_version}

[vertex shader]
${args.vs_input} vec4 vertex;
${args.vs_input} vec4 input_data;
% if args.interpolation_qualifier or not args.builtin_variable:
${args.interpolation_qualifier} ${args.vs_output} vec4 ${args.vs_variable};
% endif

void main()
{
    gl_Position = gl_ModelViewProjectionMatrix * vertex;
    ${args.vs_variable} = input_data;
  %if args.clipping == 'distance':
    gl_ClipDistance[0] = -1.75 - vertex.z;
  %elif args.clipping == 'vertex':
    gl_ClipVertex = vertex;
  %endif
}

[fragment shader]
% if args.interpolation_qualifier or not args.builtin_variable:
${args.interpolation_qualifier} ${args.fs_input} vec4 ${args.fs_variable};
% endif

void main()
{
    gl_FragColor = ${args.fs_variable};
}

[vertex data]
% for v in args.vertex_data():
${v}
% endfor

[test]
frustum -${args.frustum_near} ${args.frustum_near} -${args.frustum_near} ${args.frustum_near} ${args.frustum_near} ${args.frustum_far}
clear color 0.0 0.0 0.0 0.0
clear
enable GL_VERTEX_PROGRAM_TWO_SIDE
shade model ${args.shade_model}

% if args.clipping == 'distance':
enable GL_CLIP_PLANE0
% elif args.clipping == 'vertex':
enable GL_CLIP_PLANE0
clip plane 0 0.0 0.0 -1.0 -1.75
% endif

draw arrays GL_TRIANGLES 0 3

% for x, y, r, g, b, a in args.probe_data():
relative probe rgba (${x}, ${y}) (${r}, ${g}, ${b}, ${a})
% endfor