ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shader_subroutine / execution / two-subroutines.shader_test
blobb506cf170aa75cd5c0f2e5ad4a66d858f3f4807a
1 # shader subroutine test using two
2 # shader subroutines with two functions
3 # in each.
5 [require]
6 GLSL >= 1.50
7 GL_ARB_shader_subroutine
9 [vertex shader passthrough]
11 [fragment shader]
12 #version 150
13 #extension GL_ARB_shader_subroutine: enable
15 out vec4 color;
17 subroutine float getchan1();
18 subroutine uniform getchan1 GetChan1;
20 subroutine float getchan2();
21 subroutine uniform getchan2 GetChan2;
23 subroutine(getchan1)
24 float chan1_full()
26         return 1.0;
29 subroutine(getchan1)
30 float chan1_empty()
32         return 0.0;
35 subroutine(getchan2)
36 float chan2_full()
38         return 1.0;
41 subroutine(getchan2)
42 float chan2_empty()
44         return 0.0;
47 void main()
49         color = vec4(GetChan1(), GetChan2(), 0.0, 1.0);
53 [test]
54 clear color 0.0 0.0 1.0 0.0
55 clear
56 subuniform GL_FRAGMENT_SHADER GetChan1 chan1_full
57 subuniform GL_FRAGMENT_SHADER GetChan2 chan2_empty
58 draw rect -1 -1 2 2
59 probe all rgba 1.0 0.0 0.0 1.0
60 subuniform GL_FRAGMENT_SHADER GetChan1 chan1_empty
61 subuniform GL_FRAGMENT_SHADER GetChan2 chan2_full
62 draw rect -1 -1 2 2
63 probe all rgba 0.0 1.0 0.0 1.0