mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20: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
208 lines
10 KiB
Plaintext
208 lines
10 KiB
Plaintext
spv.300layoutp.vert
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 115
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 9 11 50 52 60 72 80
|
|
Source ESSL 310
|
|
Name 4 "main"
|
|
Name 9 "pos"
|
|
Name 11 "p"
|
|
Name 17 "Transform"
|
|
MemberName 17(Transform) 0 "M1"
|
|
MemberName 17(Transform) 1 "M2"
|
|
MemberName 17(Transform) 2 "N1"
|
|
MemberName 17(Transform) 3 "iuin"
|
|
Name 19 "tblock"
|
|
Name 33 "T3"
|
|
MemberName 33(T3) 0 "M3"
|
|
MemberName 33(T3) 1 "M4"
|
|
MemberName 33(T3) 2 "N2"
|
|
MemberName 33(T3) 3 "uv3a"
|
|
Name 35 ""
|
|
Name 42 "T2"
|
|
MemberName 42(T2) 0 "b"
|
|
MemberName 42(T2) 1 "t2m"
|
|
Name 44 ""
|
|
Name 50 "color"
|
|
Name 52 "c"
|
|
Name 60 "iout"
|
|
Name 66 "uiuin"
|
|
Name 72 "aiv2"
|
|
Name 78 "S"
|
|
MemberName 78(S) 0 "c"
|
|
MemberName 78(S) 1 "f"
|
|
Name 80 "s"
|
|
Decorate 9(pos) Location 0
|
|
Decorate 11(p) Location 3
|
|
Decorate 17(Transform) Block
|
|
MemberDecorate 17(Transform) 0 RowMajor
|
|
MemberDecorate 17(Transform) 0 MatrixStride 16
|
|
MemberDecorate 17(Transform) 0 Offset 0
|
|
MemberDecorate 17(Transform) 1 ColMajor
|
|
MemberDecorate 17(Transform) 1 MatrixStride 16
|
|
MemberDecorate 17(Transform) 1 Offset 64
|
|
MemberDecorate 17(Transform) 2 RowMajor
|
|
MemberDecorate 17(Transform) 2 MatrixStride 16
|
|
MemberDecorate 17(Transform) 2 Offset 128
|
|
MemberDecorate 17(Transform) 3 Offset 176
|
|
Decorate 19(tblock) Binding 0
|
|
Decorate 19(tblock) DescriptorSet 0
|
|
Decorate 32 ArrayStride 16
|
|
Decorate 33(T3) Block
|
|
MemberDecorate 33(T3) 0 ColMajor
|
|
MemberDecorate 33(T3) 0 MatrixStride 16
|
|
MemberDecorate 33(T3) 0 Offset 0
|
|
MemberDecorate 33(T3) 1 RowMajor
|
|
MemberDecorate 33(T3) 1 MatrixStride 16
|
|
MemberDecorate 33(T3) 1 Offset 64
|
|
MemberDecorate 33(T3) 2 ColMajor
|
|
MemberDecorate 33(T3) 2 MatrixStride 16
|
|
MemberDecorate 33(T3) 2 Offset 128
|
|
MemberDecorate 33(T3) 3 Offset 160
|
|
Decorate 35 Binding 2
|
|
Decorate 35 DescriptorSet 0
|
|
Decorate 42(T2) Block
|
|
MemberDecorate 42(T2) 0 Offset 0
|
|
MemberDecorate 42(T2) 1 RowMajor
|
|
MemberDecorate 42(T2) 1 MatrixStride 16
|
|
MemberDecorate 42(T2) 1 Offset 16
|
|
Decorate 44 Binding 1
|
|
Decorate 44 DescriptorSet 0
|
|
Decorate 50(color) Location 1
|
|
Decorate 52(c) Location 7
|
|
Decorate 60(iout) Flat
|
|
Decorate 60(iout) Location 2
|
|
Decorate 72(aiv2) Location 9
|
|
Decorate 80(s) Location 3
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Output 7(fvec4)
|
|
9(pos): 8(ptr) Variable Output
|
|
10: TypePointer Input 7(fvec4)
|
|
11(p): 10(ptr) Variable Input
|
|
13: TypeMatrix 7(fvec4) 4
|
|
14: TypeVector 6(float) 3
|
|
15: TypeMatrix 14(fvec3) 3
|
|
16: TypeInt 32 1
|
|
17(Transform): TypeStruct 13 13 15 16(int)
|
|
18: TypePointer Uniform 17(Transform)
|
|
19(tblock): 18(ptr) Variable Uniform
|
|
20: 16(int) Constant 0
|
|
21: TypePointer Uniform 13
|
|
24: 16(int) Constant 1
|
|
28: TypeMatrix 14(fvec3) 2
|
|
29: TypeInt 32 0
|
|
30: TypeVector 29(int) 3
|
|
31: 29(int) Constant 4
|
|
32: TypeArray 30(ivec3) 31
|
|
33(T3): TypeStruct 13 13 28 32
|
|
34: TypePointer Uniform 33(T3)
|
|
35: 34(ptr) Variable Uniform
|
|
42(T2): TypeStruct 29(int) 13
|
|
43: TypePointer Uniform 42(T2)
|
|
44: 43(ptr) Variable Uniform
|
|
49: TypePointer Output 14(fvec3)
|
|
50(color): 49(ptr) Variable Output
|
|
51: TypePointer Input 14(fvec3)
|
|
52(c): 51(ptr) Variable Input
|
|
54: 16(int) Constant 2
|
|
55: TypePointer Uniform 15
|
|
59: TypePointer Output 16(int)
|
|
60(iout): 59(ptr) Variable Output
|
|
61: 16(int) Constant 3
|
|
62: TypePointer Uniform 16(int)
|
|
65: TypePointer Private 29(int)
|
|
66(uiuin): 65(ptr) Variable Private
|
|
70: TypeVector 16(int) 2
|
|
71: TypePointer Input 70(ivec2)
|
|
72(aiv2): 71(ptr) Variable Input
|
|
73: 29(int) Constant 1
|
|
74: TypePointer Input 16(int)
|
|
78(S): TypeStruct 14(fvec3) 6(float)
|
|
79: TypePointer Output 78(S)
|
|
80(s): 79(ptr) Variable Output
|
|
83: 29(int) Constant 0
|
|
84: TypePointer Input 6(float)
|
|
87: TypePointer Output 6(float)
|
|
89: TypeBool
|
|
90: TypePointer Uniform 14(fvec3)
|
|
93: 6(float) Constant 1065353216
|
|
94: 14(fvec3) ConstantComposite 93 93 93
|
|
95: TypeVector 89(bool) 3
|
|
101: TypePointer Uniform 30(ivec3)
|
|
104: 29(int) Constant 5
|
|
105: 30(ivec3) ConstantComposite 104 104 104
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
12: 7(fvec4) Load 11(p)
|
|
22: 21(ptr) AccessChain 19(tblock) 20
|
|
23: 13 Load 22
|
|
25: 21(ptr) AccessChain 19(tblock) 24
|
|
26: 13 Load 25
|
|
27: 13 MatrixTimesMatrix 23 26
|
|
36: 21(ptr) AccessChain 35 24
|
|
37: 13 Load 36
|
|
38: 13 MatrixTimesMatrix 27 37
|
|
39: 21(ptr) AccessChain 35 20
|
|
40: 13 Load 39
|
|
41: 13 MatrixTimesMatrix 38 40
|
|
45: 21(ptr) AccessChain 44 24
|
|
46: 13 Load 45
|
|
47: 13 MatrixTimesMatrix 41 46
|
|
48: 7(fvec4) VectorTimesMatrix 12 47
|
|
Store 9(pos) 48
|
|
53: 14(fvec3) Load 52(c)
|
|
56: 55(ptr) AccessChain 19(tblock) 54
|
|
57: 15 Load 56
|
|
58: 14(fvec3) VectorTimesMatrix 53 57
|
|
Store 50(color) 58
|
|
63: 62(ptr) AccessChain 19(tblock) 61
|
|
64: 16(int) Load 63
|
|
67: 29(int) Load 66(uiuin)
|
|
68: 16(int) Bitcast 67
|
|
69: 16(int) IAdd 64 68
|
|
75: 74(ptr) AccessChain 72(aiv2) 73
|
|
76: 16(int) Load 75
|
|
77: 16(int) IAdd 69 76
|
|
Store 60(iout) 77
|
|
81: 14(fvec3) Load 52(c)
|
|
82: 49(ptr) AccessChain 80(s) 20
|
|
Store 82 81
|
|
85: 84(ptr) AccessChain 11(p) 83
|
|
86: 6(float) Load 85
|
|
88: 87(ptr) AccessChain 80(s) 24
|
|
Store 88 86
|
|
91: 90(ptr) AccessChain 35 54 24
|
|
92: 14(fvec3) Load 91
|
|
96: 95(bvec3) FUnordNotEqual 92 94
|
|
97: 89(bool) Any 96
|
|
98: 89(bool) LogicalNot 97
|
|
SelectionMerge 100 None
|
|
BranchConditional 98 99 100
|
|
99: Label
|
|
102: 101(ptr) AccessChain 35 61 54
|
|
103: 30(ivec3) Load 102
|
|
106: 95(bvec3) INotEqual 103 105
|
|
107: 89(bool) Any 106
|
|
Branch 100
|
|
100: Label
|
|
108: 89(bool) Phi 97 5 107 99
|
|
SelectionMerge 110 None
|
|
BranchConditional 108 109 110
|
|
109: Label
|
|
111: 49(ptr) AccessChain 80(s) 20
|
|
112: 14(fvec3) Load 111
|
|
113: 14(fvec3) CompositeConstruct 93 93 93
|
|
114: 14(fvec3) FAdd 112 113
|
|
Store 111 114
|
|
Branch 110
|
|
110: Label
|
|
Return
|
|
FunctionEnd
|