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