2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 165
7 Capability CapabilityPhysicalStorageBufferAddressesEXT
8 Extension "SPV_EXT_physical_storage_buffer"
9 Extension "SPV_KHR_storage_buffer_storage_class"
10 1: ExtInstImport "GLSL.std.450"
11 MemoryModel PhysicalStorageBuffer64EXT GLSL450
12 EntryPoint Fragment 4 "main" 154
13 ExecutionMode 4 OriginUpperLeft
15 SourceExtension "GL_EXT_buffer_reference"
19 MemberName 15(T1) 0 "a"
20 MemberName 15(T1) 1 "b"
21 MemberName 15(T1) 2 "c"
22 MemberName 15(T1) 3 "d"
24 MemberName 18(T1) 0 "a"
25 MemberName 18(T1) 1 "b"
26 MemberName 18(T1) 2 "c"
27 MemberName 18(T1) 3 "d"
30 MemberName 30(Block) 0 "identity"
34 Name 154 "gl_FragCoord"
35 Decorate 12 ArrayStride 4
36 Decorate 14 ArrayStride 8
37 MemberDecorate 15(T1) 0 Offset 0
38 MemberDecorate 15(T1) 1 Offset 32
39 MemberDecorate 15(T1) 2 Offset 48
40 MemberDecorate 15(T1) 3 Offset 80
42 Decorate 16 ArrayStride 4
43 Decorate 17 ArrayStride 8
44 MemberDecorate 18(T1) 0 Offset 0
45 MemberDecorate 18(T1) 1 Offset 32
46 MemberDecorate 18(T1) 2 Offset 48
47 MemberDecorate 18(T1) 3 Offset 80
49 Decorate 19 ArrayStride 8
50 Decorate 21(x) DescriptorSet 3
51 Decorate 21(x) Binding 1
52 Decorate 29 ArrayStride 4
53 MemberDecorate 30(Block) 0 Offset 0
54 Decorate 30(Block) Block
55 Decorate 149(image0_0) DescriptorSet 3
56 Decorate 149(image0_0) Binding 0
57 Decorate 154(gl_FragCoord) BuiltIn FragCoord
61 7: TypePointer Function 6(int)
64 11: 10(int) Constant 2
65 12: TypeArray 6(int) 11
66 TypeForwardPointer 13 PhysicalStorageBufferEXT
68 15(T1): TypeStruct 12 6(int) 14 13
69 16: TypeArray 6(int) 11
71 18(T1): TypeStruct 16 6(int) 17 13
72 13: TypePointer PhysicalStorageBufferEXT 18(T1)
73 19: TypeArray 13(ptr) 11
74 20: TypePointer StorageBuffer 15(T1)
75 21(x): 20(ptr) Variable StorageBuffer
76 22: TypePointer StorageBuffer 6(int)
77 28: 10(int) Constant 32
78 29: TypeArray 6(int) 28
79 30(Block): TypeStruct 29
80 31: TypePointer PushConstant 30(Block)
81 32(pc): 31(ptr) Variable PushConstant
83 34: TypePointer PushConstant 6(int)
85 48: TypePointer StorageBuffer 13(ptr)
86 51: TypePointer PhysicalStorageBufferEXT 6(int)
92 104: 6(int) Constant 8
93 112: 6(int) Constant 9
94 122: 6(int) Constant 10
95 130: 6(int) Constant 11
96 134: TypeVector 10(int) 4
97 135: TypePointer Function 134(ivec4)
99 140: 10(int) Constant 0
100 141: 134(ivec4) ConstantComposite 140 140 140 140
101 142: 10(int) Constant 1
102 143: 134(ivec4) ConstantComposite 142 140 140 142
103 144: TypeVector 138(bool) 4
104 147: TypeImage 10(int) 2D nonsampled format:R32ui
105 148: TypePointer UniformConstant 147
106 149(image0_0): 148(ptr) Variable UniformConstant
108 152: TypeVector 151(float) 4
109 153: TypePointer Input 152(fvec4)
110 154(gl_FragCoord): 153(ptr) Variable Input
111 155: TypePointer Input 151(float)
112 162: TypeVector 6(int) 2
113 4(main): 2 Function None 3
115 8(accum): 7(ptr) Variable Function
116 136(color): 135(ptr) Variable Function
118 23: 22(ptr) AccessChain 21(x) 9 9
121 26: 6(int) Load 8(accum)
122 27: 6(int) BitwiseOr 26 25
124 35: 34(ptr) AccessChain 32(pc) 9 33
126 37: 22(ptr) AccessChain 21(x) 9 36
128 39: 6(int) ISub 38 33
129 40: 6(int) Load 8(accum)
130 41: 6(int) BitwiseOr 40 39
132 42: 22(ptr) AccessChain 21(x) 33
134 45: 6(int) ISub 43 44
135 46: 6(int) Load 8(accum)
136 47: 6(int) BitwiseOr 46 45
138 49: 48(ptr) AccessChain 21(x) 44 9
140 52: 51(ptr) AccessChain 50 9 9
141 53: 6(int) Load 52 Aligned 4
142 55: 6(int) ISub 53 54
143 56: 6(int) Load 8(accum)
144 57: 6(int) BitwiseOr 56 55
146 58: 48(ptr) AccessChain 21(x) 44 9
148 60: 34(ptr) AccessChain 32(pc) 9 33
150 62: 51(ptr) AccessChain 59 9 61
151 63: 6(int) Load 62 Aligned 4
152 65: 6(int) ISub 63 64
153 66: 6(int) Load 8(accum)
154 67: 6(int) BitwiseOr 66 65
156 68: 48(ptr) AccessChain 21(x) 44 9
158 70: 51(ptr) AccessChain 69 33
159 71: 6(int) Load 70 Aligned 16
160 73: 6(int) ISub 71 72
161 74: 6(int) Load 8(accum)
162 75: 6(int) BitwiseOr 74 73
164 76: 34(ptr) AccessChain 32(pc) 9 33
166 78: 48(ptr) AccessChain 21(x) 44 77
168 80: 51(ptr) AccessChain 79 9 9
169 81: 6(int) Load 80 Aligned 4
170 83: 6(int) ISub 81 82
171 84: 6(int) Load 8(accum)
172 85: 6(int) BitwiseOr 84 83
174 86: 34(ptr) AccessChain 32(pc) 9 33
176 88: 48(ptr) AccessChain 21(x) 44 87
178 90: 34(ptr) AccessChain 32(pc) 9 33
180 92: 51(ptr) AccessChain 89 9 91
181 93: 6(int) Load 92 Aligned 4
182 95: 6(int) ISub 93 94
183 96: 6(int) Load 8(accum)
184 97: 6(int) BitwiseOr 96 95
186 98: 34(ptr) AccessChain 32(pc) 9 33
188 100: 48(ptr) AccessChain 21(x) 44 99
189 101: 13(ptr) Load 100
190 102: 51(ptr) AccessChain 101 33
191 103: 6(int) Load 102 Aligned 16
192 105: 6(int) ISub 103 104
193 106: 6(int) Load 8(accum)
194 107: 6(int) BitwiseOr 106 105
196 108: 48(ptr) AccessChain 21(x) 54
197 109: 13(ptr) Load 108
198 110: 51(ptr) AccessChain 109 9 9
199 111: 6(int) Load 110 Aligned 4
200 113: 6(int) ISub 111 112
201 114: 6(int) Load 8(accum)
202 115: 6(int) BitwiseOr 114 113
204 116: 48(ptr) AccessChain 21(x) 54
205 117: 13(ptr) Load 116
206 118: 34(ptr) AccessChain 32(pc) 9 33
208 120: 51(ptr) AccessChain 117 9 119
209 121: 6(int) Load 120 Aligned 4
210 123: 6(int) ISub 121 122
211 124: 6(int) Load 8(accum)
212 125: 6(int) BitwiseOr 124 123
214 126: 48(ptr) AccessChain 21(x) 54
215 127: 13(ptr) Load 126
216 128: 51(ptr) AccessChain 127 33
217 129: 6(int) Load 128 Aligned 16
218 131: 6(int) ISub 129 130
219 132: 6(int) Load 8(accum)
220 133: 6(int) BitwiseOr 132 131
222 137: 6(int) Load 8(accum)
223 139: 138(bool) INotEqual 137 9
224 145: 144(bvec4) CompositeConstruct 139 139 139 139
225 146: 134(ivec4) Select 145 141 143
227 150: 147 Load 149(image0_0)
228 156: 155(ptr) AccessChain 154(gl_FragCoord) 140
229 157: 151(float) Load 156
230 158: 6(int) ConvertFToS 157
231 159: 155(ptr) AccessChain 154(gl_FragCoord) 142
232 160: 151(float) Load 159
233 161: 6(int) ConvertFToS 160
234 163: 162(ivec2) CompositeConstruct 158 161
235 164: 134(ivec4) Load 136(color)
236 ImageWrite 150 163 164