ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shader_subroutine / execution / two-subroutines-uniform.shader_test
blob9068e954b24a6949d5ae732a382dc88f97821532
1 # two subroutine test adding a uniform in
2 # this makes sure normal uniforms and
3 # subroutine uniforms don't interfere.
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 uniform float myin;
16 out vec4 color;
18 subroutine float getchan1();
19 subroutine uniform getchan1 GetChan1;
21 subroutine float getchan2();
22 subroutine uniform getchan2 GetChan2;
24 subroutine(getchan1)
25 float chan1_full()
27         return 1.0;
30 subroutine(getchan1)
31 float chan1_empty()
33         return 0.0;
36 subroutine(getchan2)
37 float chan2_full()
39         return 1.0;
42 subroutine(getchan2)
43 float chan2_empty()
45         return 0.0;
48 void main()
50         color = vec4(GetChan1(), GetChan2(), myin, 1.0);
54 [test]
55 clear color 0.0 0.0 1.0 0.0
56 clear
57 subuniform GL_FRAGMENT_SHADER GetChan1 chan1_full
58 subuniform GL_FRAGMENT_SHADER GetChan2 chan2_empty
59 uniform float myin 1.0
60 draw rect -1 -1 2 2
61 probe all rgba 1.0 0.0 1.0 1.0
62 subuniform GL_FRAGMENT_SHADER GetChan1 chan1_empty
63 subuniform GL_FRAGMENT_SHADER GetChan2 chan2_full
64 uniform float myin 1.0
65 draw rect -1 -1 2 2
66 probe all rgba 0.0 1.0 1.0 1.0