1[require] 2GLSL >= 1.50 3GL_ARB_fragment_layer_viewport 4 5# 6# If the geometry stage makes no static assignment to gl_Layer, 7# the fragment stage will read zero. 8# 9# This test covers the case where a GS is present, but does not write gl_Layer. 10# 11 12[vertex shader] 13#version 150 14in vec4 piglit_vertex; 15 16void main() 17{ 18 gl_Position = piglit_vertex; 19} 20 21[geometry shader] 22#version 150 23 24layout(triangles) in; 25layout(triangle_strip, max_vertices=3) out; 26 27void main() 28{ 29 for (int i = 0; i < 3; i++) { 30 gl_Position = gl_in[i].gl_Position; 31 EmitVertex(); 32 } 33} 34 35[fragment shader] 36#version 150 37#extension GL_ARB_fragment_layer_viewport: require 38 39void main() 40{ 41 if (gl_Layer == 0) 42 gl_FragColor = vec4(0,1,0,0); 43 else 44 gl_FragColor = vec4(1,0,0,0); 45} 46 47[test] 48clear color 0.0 0.0 0.0 0.0 49clear 50draw rect -1 -1 2 2 51probe all rgb 0.0 1.0 0.0 52