ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shader_subroutine / execution / array-subroutines.shader_test
blob98d0d98f38218083a4fe35172c365fa5f2b58cb5
1 # test calling subroutine uniforms in an array
2 # with a constant value works.
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();
17 subroutine uniform getchan1 GetChan1[2];
19 subroutine(getchan1)
20 float chan_full()
22         return 1.0;
25 subroutine(getchan1)
26 float chan_empty()
28         return 0.0;
31 void main()
33         color = vec4(GetChan1[0](), GetChan1[1](), 0.0, 1.0);
37 [test]
38 clear color 0.0 0.0 1.0 0.0
39 clear
40 subuniform GL_FRAGMENT_SHADER GetChan1[0] chan_full
41 subuniform GL_FRAGMENT_SHADER GetChan1[1] chan_empty
42 draw rect -1 -1 2 2
43 probe all rgba 1.0 0.0 0.0 1.0
44 subuniform GL_FRAGMENT_SHADER GetChan1[0] chan_empty
45 subuniform GL_FRAGMENT_SHADER GetChan1[1] chan_full
46 draw rect -1 -1 2 2
47 probe all rgba 0.0 1.0 0.0 1.0