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
|
[require]
GLSL >= 1.50
GL_ARB_gpu_shader5
[vertex shader]
#version 150
in vec4 piglit_vertex;
out vec2 texcoords;
void main()
{
gl_Position = piglit_vertex;
texcoords = (piglit_vertex.xy + 1.0) / 2.0;
}
[fragment shader]
#version 150
#extension GL_ARB_gpu_shader5: enable
in vec2 texcoords;
/* The idea is that the tex array doesn't come first (and so 'other' must get
* some sort of usage), and we also want to ensure that the index is actually
* respected.
*/
uniform sampler2DArray other;
uniform sampler2DArray tex[3];
uniform int n;
uniform float zero = 0.0;
void main()
{
gl_FragColor = texture(tex[n], vec3(texcoords, 1.0)) +
texture(other, vec3(texcoords, 1.0)) * zero;
}
[test]
uniform int other 2
uniform int tex[0] 3
uniform int tex[1] 1
uniform int tex[2] 4
uniform int n 1
texture rgbw 2DArray 1 (8, 8, 4)
texture junk 2DArray 2 (8, 8, 4)
texture junk 2DArray 3 (8, 8, 4)
texture junk 2DArray 4 (8, 8, 4)
draw rect -1 -1 2 2
probe all rgb 0.0 1.0 0.0
|