mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
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
146 lines
7.5 KiB
Plaintext
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
|