ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shader_subroutine / execution / two-subroutines-2.shader_test
blob74c2421f44b62a3c0a810b98685b419230753d9f
1 # two subroutines using the same functions
2 # as backends for the types.
3 [require]
4 GLSL >= 1.50
5 GL_ARB_shader_subroutine
7 [vertex shader passthrough]
9 [fragment shader]
10 #version 150
11 #extension GL_ARB_shader_subroutine: enable
13 out vec4 color;
15 subroutine float getchan1();
16 subroutine uniform getchan1 GetChan1;
18 subroutine float getchan2();
19 subroutine uniform getchan2 GetChan2;
21 subroutine(getchan1, getchan2)
22 float chan_full()
24         return 1.0;
27 subroutine(getchan1, getchan2)
28 float chan_empty()
30         return 0.0;
33 void main()
35         color = vec4(GetChan1(), GetChan2(), 0.0, 1.0);
39 [test]
40 clear color 0.0 0.0 1.0 0.0
41 clear
42 subuniform GL_FRAGMENT_SHADER GetChan1 chan_full
43 subuniform GL_FRAGMENT_SHADER GetChan2 chan_empty
44 draw rect -1 -1 2 2
45 probe all rgba 1.0 0.0 0.0 1.0
46 subuniform GL_FRAGMENT_SHADER GetChan1 chan_empty
47 subuniform GL_FRAGMENT_SHADER GetChan2 chan_full
48 draw rect -1 -1 2 2
49 probe all rgba 0.0 1.0 0.0 1.0