File: multiple-vertices-in-single-declaration-mismatch.tesc

package info (click to toggle)
piglit 0~git20200212-f4710c51b-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 106,972 kB
  • sloc: ansic: 263,763; xml: 48,941; python: 29,918; lisp: 19,789; cpp: 12,142; sh: 22; makefile: 20; pascal: 5
file content (30 lines) | stat: -rw-r--r-- 985 bytes parent folder | download | duplicates (4)
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
// [config]
// expect_result: fail
// glsl_version: 1.50
// require_extensions: GL_ARB_shading_language_420pack GL_ARB_tessellation_shader
// check_link: true
// [end config]
//
// From the ARB_shading_language_420pack spec:
//
//    "More than one layout qualifier may appear in a single declaration. If
//     the same layout-qualifier-name occurs in multiple layout qualifiers for
//     the same declaration, the last one overrides the former ones."
//
// From the ARB_tessellation_shader spec:
//
//    "All tessellation control shader layout declarations in a program must
//     specify the same output patch vertex count."

#version 150
#extension GL_ARB_shading_language_420pack: enable
#extension GL_ARB_tessellation_shader: require

layout(vertices = 3) layout(vertices = 4) out;
layout(vertices = 3) out;

void main() {
    gl_out[gl_InvocationID].gl_Position = vec4(0.0);
    gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 1.0);
    gl_TessLevelInner = float[2](1.0, 1.0);
}