File: relaxed-qualifier-ordering.vert

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 (53 lines) | stat: -rw-r--r-- 1,509 bytes parent folder | download | duplicates (5)
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
50
51
52
53
/* [config]
 * expect_result: pass
 * glsl_version: 1.30
 * require_extensions: GL_ARB_shading_language_420pack
 * [end config]
 *
 * From the GL_ARB_shading_language_420pack spec:
 *
 *     "When multiple qualifiers are present in a declaration, they may appear in
 *      any order, but they must all appear before the type. The layout qualifier
 *      is the only qualifier that can appear more than once. Further, a
 *      declaration can have at most one storage qualifier, at most one auxiliary
 *      storage qualifier, and at most one interpolation qualifier. Multiple
 *      memory qualifiers can be used. Any violation of these rules will cause a
 *      compile-time error."
 *
 * Test that interpolation, auxiliary, and storage qualifiers may be ordered
 * arbitrarily.
 */
#version 130
#extension GL_ARB_shading_language_420pack: enable

// storage interpolation
out flat float s_i;

// interpolation storage
flat out float i_s;

// storage auxiliary
out centroid float s_a;

// auxiliary storage
centroid out float a_s;

// Cannot test auxiliary interpolation without a storage qualifier.

// auxiliary interpolation storage
centroid flat out float a_i_s;

// auxiliary storage interpolation
centroid out flat float a_s_i;

// interpolation auxiliary storage
flat centroid out float i_a_s;

// interpolation storage auxiliary
flat out centroid float i_s_a;

// storage interpolation auxiliary
out flat centroid float s_i_a;

// storage auxiliary interpolation
out centroid flat float s_a_i;