glslang/Test/baseResults/spv.150.geom.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

146 lines
7.5 KiB
Plaintext

spv.150.geom
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 71
Capability Geometry
Capability GeometryPointSize
Capability GeometryStreams
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 10 18 29 33 47 49 51 70
ExecutionMode 4 InputTrianglesAdjacency
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 30
Source GLSL 150
Name 4 "main"
Name 8 "fromVertex"
MemberName 8(fromVertex) 0 "color"
Name 10 ""
Name 13 "fromVertex"
MemberName 13(fromVertex) 0 "color"
Name 18 "fromV"
Name 27 "gl_PerVertex"
MemberName 27(gl_PerVertex) 0 "gl_Position"
MemberName 27(gl_PerVertex) 1 "gl_PointSize"
MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
Name 29 ""
Name 30 "gl_PerVertex"
MemberName 30(gl_PerVertex) 0 "gl_Position"
MemberName 30(gl_PerVertex) 1 "gl_PointSize"
MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
Name 33 "gl_in"
Name 47 "gl_PrimitiveID"
Name 49 "gl_PrimitiveIDIn"
Name 51 "gl_Layer"
Name 68 "toFragment"
MemberName 68(toFragment) 0 "color"
Name 70 "toF"
Decorate 8(fromVertex) Block
Decorate 10 Stream 3
Decorate 10 Location 1
Decorate 13(fromVertex) Block
Decorate 18(fromV) Location 0
Decorate 27(gl_PerVertex) Block
MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 29 Stream 0
Decorate 30(gl_PerVertex) Block
MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 47(gl_PrimitiveID) Stream 0
Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
Decorate 51(gl_Layer) BuiltIn Layer
Decorate 51(gl_Layer) Stream 0
Decorate 68(toFragment) Block
Decorate 70(toF) Stream 3
Decorate 70(toF) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8(fromVertex): TypeStruct 7(fvec3)
9: TypePointer Output 8(fromVertex)
10: 9(ptr) Variable Output
11: TypeInt 32 1
12: 11(int) Constant 0
13(fromVertex): TypeStruct 7(fvec3)
14: TypeInt 32 0
15: 14(int) Constant 6
16: TypeArray 13(fromVertex) 15
17: TypePointer Input 16
18(fromV): 17(ptr) Variable Input
19: TypePointer Input 7(fvec3)
22: TypePointer Output 7(fvec3)
24: TypeVector 6(float) 4
25: 14(int) Constant 1
26: TypeArray 6(float) 25
27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
28: TypePointer Output 27(gl_PerVertex)
29: 28(ptr) Variable Output
30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
31: TypeArray 30(gl_PerVertex) 15
32: TypePointer Input 31
33(gl_in): 32(ptr) Variable Input
34: TypePointer Input 24(fvec4)
37: TypePointer Output 24(fvec4)
39: 11(int) Constant 1
40: 11(int) Constant 3
41: TypePointer Input 6(float)
44: TypePointer Output 6(float)
46: TypePointer Output 11(int)
47(gl_PrimitiveID): 46(ptr) Variable Output
48: TypePointer Input 11(int)
49(gl_PrimitiveIDIn): 48(ptr) Variable Input
51(gl_Layer): 46(ptr) Variable Output
52: 11(int) Constant 2
53: 6(float) Constant 1073741824
68(toFragment): TypeStruct 7(fvec3)
69: TypePointer Output 68(toFragment)
70(toF): 69(ptr) Variable Output
4(main): 2 Function None 3
5: Label
20: 19(ptr) AccessChain 18(fromV) 12 12
21: 7(fvec3) Load 20
23: 22(ptr) AccessChain 10 12
Store 23 21
35: 34(ptr) AccessChain 33(gl_in) 12 12
36: 24(fvec4) Load 35
38: 37(ptr) AccessChain 29 12
Store 38 36
42: 41(ptr) AccessChain 33(gl_in) 40 39
43: 6(float) Load 42
45: 44(ptr) AccessChain 29 39
Store 45 43
50: 11(int) Load 49(gl_PrimitiveIDIn)
Store 47(gl_PrimitiveID) 50
Store 51(gl_Layer) 52
EmitVertex
54: 19(ptr) AccessChain 18(fromV) 12 12
55: 7(fvec3) Load 54
56: 7(fvec3) VectorTimesScalar 55 53
57: 22(ptr) AccessChain 10 12
Store 57 56
58: 34(ptr) AccessChain 33(gl_in) 12 12
59: 24(fvec4) Load 58
60: 24(fvec4) VectorTimesScalar 59 53
61: 37(ptr) AccessChain 29 12
Store 61 60
62: 41(ptr) AccessChain 33(gl_in) 40 39
63: 6(float) Load 62
64: 6(float) FMul 53 63
65: 44(ptr) AccessChain 29 39
Store 65 64
66: 11(int) Load 49(gl_PrimitiveIDIn)
67: 11(int) IAdd 66 39
Store 47(gl_PrimitiveID) 67
Store 51(gl_Layer) 40
EmitVertex
EndPrimitive
Return
FunctionEnd