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
354 lines
18 KiB
Plaintext
354 lines
18 KiB
Plaintext
spv.16bitstorage-uint.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 182
|
|
|
|
Capability Shader
|
|
Capability StorageUniformBufferBlock16
|
|
Capability StorageUniform16
|
|
Extension "SPV_KHR_16bit_storage"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_shader_16bit_storage"
|
|
Name 4 "main"
|
|
Name 12 "S"
|
|
MemberName 12(S) 0 "x"
|
|
MemberName 12(S) 1 "y"
|
|
MemberName 12(S) 2 "z"
|
|
Name 17 "B2"
|
|
MemberName 17(B2) 0 "o"
|
|
MemberName 17(B2) 1 "p"
|
|
MemberName 17(B2) 2 "q"
|
|
MemberName 17(B2) 3 "r"
|
|
MemberName 17(B2) 4 "u"
|
|
MemberName 17(B2) 5 "v"
|
|
MemberName 17(B2) 6 "x"
|
|
MemberName 17(B2) 7 "w"
|
|
Name 19 "b2"
|
|
Name 23 "S"
|
|
MemberName 23(S) 0 "x"
|
|
MemberName 23(S) 1 "y"
|
|
MemberName 23(S) 2 "z"
|
|
Name 25 "B1"
|
|
MemberName 25(B1) 0 "a"
|
|
MemberName 25(B1) 1 "b"
|
|
MemberName 25(B1) 2 "c"
|
|
MemberName 25(B1) 3 "d"
|
|
MemberName 25(B1) 4 "g"
|
|
MemberName 25(B1) 5 "h"
|
|
MemberName 25(B1) 6 "j"
|
|
Name 27 "b1"
|
|
Name 45 "S"
|
|
MemberName 45(S) 0 "x"
|
|
MemberName 45(S) 1 "y"
|
|
MemberName 45(S) 2 "z"
|
|
Name 49 "B5"
|
|
MemberName 49(B5) 0 "o"
|
|
MemberName 49(B5) 1 "p"
|
|
MemberName 49(B5) 2 "q"
|
|
MemberName 49(B5) 3 "r"
|
|
MemberName 49(B5) 4 "u"
|
|
MemberName 49(B5) 5 "v"
|
|
MemberName 49(B5) 6 "x"
|
|
MemberName 49(B5) 7 "w"
|
|
Name 51 "b5"
|
|
Name 69 "x0"
|
|
Name 75 "x1"
|
|
Name 89 "S2"
|
|
MemberName 89(S2) 0 "x"
|
|
MemberName 89(S2) 1 "y"
|
|
MemberName 89(S2) 2 "z"
|
|
Name 90 "S3"
|
|
MemberName 90(S3) 0 "x"
|
|
Name 91 "B4"
|
|
MemberName 91(B4) 0 "x"
|
|
MemberName 91(B4) 1 "y"
|
|
Name 93 "b4"
|
|
Name 94 "S2"
|
|
MemberName 94(S2) 0 "x"
|
|
MemberName 94(S2) 1 "y"
|
|
MemberName 94(S2) 2 "z"
|
|
Name 95 "B3"
|
|
MemberName 95(B3) 0 "x"
|
|
Name 97 "b3"
|
|
Name 114 "v3"
|
|
Name 136 "u3"
|
|
Decorate 11 ArrayStride 2
|
|
MemberDecorate 12(S) 0 Offset 0
|
|
MemberDecorate 12(S) 1 Offset 4
|
|
MemberDecorate 12(S) 2 Offset 8
|
|
Decorate 13 ArrayStride 16
|
|
Decorate 15 ArrayStride 4
|
|
Decorate 16 ArrayStride 2
|
|
Decorate 17(B2) BufferBlock
|
|
MemberDecorate 17(B2) 0 Offset 0
|
|
MemberDecorate 17(B2) 1 Offset 4
|
|
MemberDecorate 17(B2) 2 Offset 8
|
|
MemberDecorate 17(B2) 3 Offset 14
|
|
MemberDecorate 17(B2) 4 Offset 24
|
|
MemberDecorate 17(B2) 5 Offset 40
|
|
MemberDecorate 17(B2) 6 Offset 72
|
|
MemberDecorate 17(B2) 7 Offset 472
|
|
Decorate 19(b2) Binding 1
|
|
Decorate 19(b2) DescriptorSet 0
|
|
Decorate 22 ArrayStride 16
|
|
MemberDecorate 23(S) 0 Offset 0
|
|
MemberDecorate 23(S) 1 Offset 4
|
|
MemberDecorate 23(S) 2 Offset 8
|
|
Decorate 24 ArrayStride 16
|
|
Decorate 25(B1) Block
|
|
MemberDecorate 25(B1) 0 Offset 0
|
|
MemberDecorate 25(B1) 1 Offset 4
|
|
MemberDecorate 25(B1) 2 Offset 8
|
|
MemberDecorate 25(B1) 3 Offset 16
|
|
MemberDecorate 25(B1) 4 Offset 48
|
|
MemberDecorate 25(B1) 5 Offset 64
|
|
MemberDecorate 25(B1) 6 Offset 96
|
|
Decorate 27(b1) Binding 0
|
|
Decorate 27(b1) DescriptorSet 0
|
|
Decorate 44 ArrayStride 16
|
|
MemberDecorate 45(S) 0 Offset 0
|
|
MemberDecorate 45(S) 1 Offset 4
|
|
MemberDecorate 45(S) 2 Offset 8
|
|
Decorate 46 ArrayStride 16
|
|
Decorate 47 ArrayStride 16
|
|
Decorate 48 ArrayStride 16
|
|
Decorate 49(B5) Block
|
|
MemberDecorate 49(B5) 0 Offset 0
|
|
MemberDecorate 49(B5) 1 Offset 4
|
|
MemberDecorate 49(B5) 2 Offset 8
|
|
MemberDecorate 49(B5) 3 Offset 16
|
|
MemberDecorate 49(B5) 4 Offset 48
|
|
MemberDecorate 49(B5) 5 Offset 64
|
|
MemberDecorate 49(B5) 6 Offset 96
|
|
MemberDecorate 49(B5) 7 Offset 1696
|
|
Decorate 51(b5) Binding 2
|
|
Decorate 51(b5) DescriptorSet 0
|
|
MemberDecorate 89(S2) 0 ColMajor
|
|
MemberDecorate 89(S2) 0 MatrixStride 16
|
|
MemberDecorate 89(S2) 0 Offset 0
|
|
MemberDecorate 89(S2) 1 Offset 64
|
|
MemberDecorate 89(S2) 2 Offset 68
|
|
MemberDecorate 90(S3) 0 Offset 0
|
|
Decorate 91(B4) BufferBlock
|
|
MemberDecorate 91(B4) 0 Offset 0
|
|
MemberDecorate 91(B4) 1 Offset 80
|
|
Decorate 93(b4) Binding 4
|
|
Decorate 93(b4) DescriptorSet 0
|
|
MemberDecorate 94(S2) 0 RowMajor
|
|
MemberDecorate 94(S2) 0 MatrixStride 16
|
|
MemberDecorate 94(S2) 0 Offset 0
|
|
MemberDecorate 94(S2) 1 Offset 64
|
|
MemberDecorate 94(S2) 2 Offset 68
|
|
Decorate 95(B3) BufferBlock
|
|
MemberDecorate 95(B3) 0 Offset 0
|
|
Decorate 97(b3) Binding 3
|
|
Decorate 97(b3) DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 16 0
|
|
7: TypeVector 6(int16_t) 2
|
|
8: TypeVector 6(int16_t) 3
|
|
9: TypeInt 32 0
|
|
10: 9(int) Constant 2
|
|
11: TypeArray 6(int16_t) 10
|
|
12(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
|
|
13: TypeArray 12(S) 10
|
|
14: 9(int) Constant 100
|
|
15: TypeArray 7(i16vec2) 14
|
|
16: TypeRuntimeArray 6(int16_t)
|
|
17(B2): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 11 12(S) 13 15 16
|
|
18: TypePointer Uniform 17(B2)
|
|
19(b2): 18(ptr) Variable Uniform
|
|
20: TypeInt 32 1
|
|
21: 20(int) Constant 0
|
|
22: TypeArray 6(int16_t) 10
|
|
23(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
|
|
24: TypeArray 23(S) 10
|
|
25(B1): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 22 23(S) 24 9(int)
|
|
26: TypePointer Uniform 25(B1)
|
|
27(b1): 26(ptr) Variable Uniform
|
|
28: TypePointer Uniform 6(int16_t)
|
|
32: 20(int) Constant 1
|
|
33: 20(int) Constant 2
|
|
34: TypePointer Uniform 8(i16vec3)
|
|
37: TypeVector 9(int) 3
|
|
39: TypeVector 9(int) 2
|
|
42: TypePointer Uniform 7(i16vec2)
|
|
44: TypeArray 6(int16_t) 10
|
|
45(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
|
|
46: TypeArray 45(S) 10
|
|
47: TypeArray 7(i16vec2) 14
|
|
48: TypeArray 6(int16_t) 14
|
|
49(B5): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 44 45(S) 46 47 48
|
|
50: TypePointer Uniform 49(B5)
|
|
51(b5): 50(ptr) Variable Uniform
|
|
58: 20(int) Constant 3
|
|
68: TypePointer Function 9(int)
|
|
73: TypeVector 9(int) 4
|
|
74: TypePointer Function 73(ivec4)
|
|
82: 9(int) Constant 1
|
|
86: TypeFloat 32
|
|
87: TypeVector 86(float) 4
|
|
88: TypeMatrix 87(fvec4) 4
|
|
89(S2): TypeStruct 88 6(int16_t) 9(int)
|
|
90(S3): TypeStruct 89(S2)
|
|
91(B4): TypeStruct 89(S2) 90(S3)
|
|
92: TypePointer Uniform 91(B4)
|
|
93(b4): 92(ptr) Variable Uniform
|
|
94(S2): TypeStruct 88 6(int16_t) 9(int)
|
|
95(B3): TypeStruct 94(S2)
|
|
96: TypePointer Uniform 95(B3)
|
|
97(b3): 96(ptr) Variable Uniform
|
|
98: TypePointer Uniform 88
|
|
105: 9(int) Constant 0
|
|
109: 20(int) Constant 5
|
|
113: TypePointer Function 37(ivec3)
|
|
115: 20(int) Constant 7
|
|
116: 20(int) Constant 6
|
|
117: TypePointer Uniform 9(int)
|
|
167: 39(ivec2) ConstantComposite 82 10
|
|
170: 9(int) Constant 3
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
69(x0): 68(ptr) Variable Function
|
|
75(x1): 74(ptr) Variable Function
|
|
114(v3): 113(ptr) Variable Function
|
|
136(u3): 113(ptr) Variable Function
|
|
29: 28(ptr) AccessChain 27(b1) 21
|
|
30: 6(int16_t) Load 29
|
|
31: 28(ptr) AccessChain 19(b2) 21
|
|
Store 31 30
|
|
35: 34(ptr) AccessChain 19(b2) 33
|
|
36: 8(i16vec3) Load 35
|
|
38: 37(ivec3) UConvert 36
|
|
40: 39(ivec2) VectorShuffle 38 38 0 1
|
|
41: 7(i16vec2) UConvert 40
|
|
43: 42(ptr) AccessChain 19(b2) 32
|
|
Store 43 41
|
|
52: 34(ptr) AccessChain 51(b5) 33
|
|
53: 8(i16vec3) Load 52
|
|
54: 37(ivec3) UConvert 53
|
|
55: 39(ivec2) VectorShuffle 54 54 0 1
|
|
56: 7(i16vec2) UConvert 55
|
|
57: 42(ptr) AccessChain 19(b2) 32
|
|
Store 57 56
|
|
59: 28(ptr) AccessChain 19(b2) 58 21
|
|
60: 6(int16_t) Load 59
|
|
61: 28(ptr) AccessChain 19(b2) 58 21
|
|
Store 61 60
|
|
62: 28(ptr) AccessChain 51(b5) 58 32
|
|
63: 6(int16_t) Load 62
|
|
64: 28(ptr) AccessChain 19(b2) 58 32
|
|
Store 64 63
|
|
65: 42(ptr) AccessChain 19(b2) 32
|
|
66: 7(i16vec2) Load 65
|
|
67: 42(ptr) AccessChain 19(b2) 32
|
|
Store 67 66
|
|
70: 28(ptr) AccessChain 27(b1) 21
|
|
71: 6(int16_t) Load 70
|
|
72: 9(int) UConvert 71
|
|
Store 69(x0) 72
|
|
76: 28(ptr) AccessChain 27(b1) 21
|
|
77: 6(int16_t) Load 76
|
|
78: 9(int) UConvert 77
|
|
79: 42(ptr) AccessChain 19(b2) 32
|
|
80: 7(i16vec2) Load 79
|
|
81: 39(ivec2) UConvert 80
|
|
83: 9(int) CompositeExtract 81 0
|
|
84: 9(int) CompositeExtract 81 1
|
|
85: 73(ivec4) CompositeConstruct 78 83 84 82
|
|
Store 75(x1) 85
|
|
99: 98(ptr) AccessChain 97(b3) 21 21
|
|
100: 88 Load 99
|
|
101: 98(ptr) AccessChain 93(b4) 21 21
|
|
Store 101 100
|
|
102: 42(ptr) AccessChain 19(b2) 32
|
|
103: 7(i16vec2) Load 102
|
|
104: 39(ivec2) UConvert 103
|
|
106: 9(int) CompositeExtract 104 0
|
|
107: 6(int16_t) UConvert 106
|
|
108: 28(ptr) AccessChain 19(b2) 21
|
|
Store 108 107
|
|
110: 42(ptr) AccessChain 19(b2) 109 32 32
|
|
111: 7(i16vec2) Load 110
|
|
112: 42(ptr) AccessChain 19(b2) 32
|
|
Store 112 111
|
|
118: 117(ptr) AccessChain 27(b1) 116
|
|
119: 9(int) Load 118
|
|
120: 28(ptr) AccessChain 19(b2) 115 119
|
|
121: 6(int16_t) Load 120
|
|
122: 9(int) UConvert 121
|
|
123: 117(ptr) AccessChain 27(b1) 116
|
|
124: 9(int) Load 123
|
|
125: 9(int) IAdd 124 82
|
|
126: 28(ptr) AccessChain 19(b2) 115 125
|
|
127: 6(int16_t) Load 126
|
|
128: 9(int) UConvert 127
|
|
129: 117(ptr) AccessChain 27(b1) 116
|
|
130: 9(int) Load 129
|
|
131: 9(int) IAdd 130 10
|
|
132: 28(ptr) AccessChain 19(b2) 115 131
|
|
133: 6(int16_t) Load 132
|
|
134: 9(int) UConvert 133
|
|
135: 37(ivec3) CompositeConstruct 122 128 134
|
|
Store 114(v3) 135
|
|
137: 117(ptr) AccessChain 27(b1) 116
|
|
138: 9(int) Load 137
|
|
139: 28(ptr) AccessChain 51(b5) 115 138
|
|
140: 6(int16_t) Load 139
|
|
141: 9(int) UConvert 140
|
|
142: 117(ptr) AccessChain 27(b1) 116
|
|
143: 9(int) Load 142
|
|
144: 9(int) IAdd 143 82
|
|
145: 28(ptr) AccessChain 51(b5) 115 144
|
|
146: 6(int16_t) Load 145
|
|
147: 9(int) UConvert 146
|
|
148: 117(ptr) AccessChain 27(b1) 116
|
|
149: 9(int) Load 148
|
|
150: 9(int) IAdd 149 10
|
|
151: 28(ptr) AccessChain 51(b5) 115 150
|
|
152: 6(int16_t) Load 151
|
|
153: 9(int) UConvert 152
|
|
154: 37(ivec3) CompositeConstruct 141 147 153
|
|
Store 136(u3) 154
|
|
155: 42(ptr) AccessChain 19(b2) 116 21
|
|
156: 7(i16vec2) Load 155
|
|
157: 42(ptr) AccessChain 19(b2) 116 21
|
|
Store 157 156
|
|
158: 42(ptr) AccessChain 51(b5) 116 32
|
|
159: 7(i16vec2) Load 158
|
|
160: 42(ptr) AccessChain 19(b2) 116 32
|
|
Store 160 159
|
|
161: 28(ptr) AccessChain 27(b1) 21
|
|
162: 6(int16_t) Load 161
|
|
163: 28(ptr) AccessChain 19(b2) 32 105
|
|
Store 163 162
|
|
164: 28(ptr) AccessChain 19(b2) 32 105
|
|
165: 6(int16_t) Load 164
|
|
166: 28(ptr) AccessChain 19(b2) 21
|
|
Store 166 165
|
|
168: 7(i16vec2) UConvert 167
|
|
169: 42(ptr) AccessChain 19(b2) 32
|
|
Store 169 168
|
|
171: 6(int16_t) UConvert 170
|
|
172: 28(ptr) AccessChain 19(b2) 21
|
|
Store 172 171
|
|
173: 28(ptr) AccessChain 27(b1) 21
|
|
174: 6(int16_t) Load 173
|
|
175: 28(ptr) AccessChain 19(b2) 21
|
|
Store 175 174
|
|
176: 42(ptr) AccessChain 27(b1) 32
|
|
177: 7(i16vec2) Load 176
|
|
178: 42(ptr) AccessChain 19(b2) 32
|
|
Store 178 177
|
|
179: 34(ptr) AccessChain 27(b1) 33
|
|
180: 8(i16vec3) Load 179
|
|
181: 34(ptr) AccessChain 19(b2) 33
|
|
Store 181 180
|
|
Return
|
|
FunctionEnd
|