[require] GLSL >= 1.40 GL_ARB_fragment_layer_viewport GL_AMD_vertex_shader_viewport_index [vertex shader] #version 140 #extension GL_AMD_vertex_shader_viewport_index: enable in vec4 piglit_vertex; uniform int viewport; void main() { gl_Position = piglit_vertex; gl_ViewportIndex = viewport; } [fragment shader] #version 140 #extension GL_ARB_fragment_layer_viewport: require uniform int viewport; void main() { if (gl_ViewportIndex == viewport) gl_FragColor = vec4(0,1,0,0); else gl_FragColor = vec4(1,0,0,0); } [test] clear color 0.0 0.0 0.0 0.0 clear uniform int viewport 0 draw rect -1 -1 1 1 uniform int viewport 1 draw rect 0 -1 1 1 uniform int viewport 14 draw rect -1 0 1 1 uniform int viewport 15 draw rect 0 0 1 1 probe all rgb 0.0 1.0 0.0