GL_EXT_buffer_reference
[platform/upstream/glslang.git] / Test / baseResults / spv.bufferhandle6.frag.out
1 spv.bufferhandle6.frag
2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 165
5
6                               Capability Shader
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
14                               Source GLSL 450
15                               SourceExtension  "GL_EXT_buffer_reference"
16                               Name 4  "main"
17                               Name 8  "accum"
18                               Name 15  "T1"
19                               MemberName 15(T1) 0  "a"
20                               MemberName 15(T1) 1  "b"
21                               MemberName 15(T1) 2  "c"
22                               MemberName 15(T1) 3  "d"
23                               Name 18  "T1"
24                               MemberName 18(T1) 0  "a"
25                               MemberName 18(T1) 1  "b"
26                               MemberName 18(T1) 2  "c"
27                               MemberName 18(T1) 3  "d"
28                               Name 21  "x"
29                               Name 30  "Block"
30                               MemberName 30(Block) 0  "identity"
31                               Name 32  "pc"
32                               Name 136  "color"
33                               Name 149  "image0_0"
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
41                               Decorate 15(T1) Block
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
48                               Decorate 18(T1) Block
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
58                2:             TypeVoid
59                3:             TypeFunction 2
60                6:             TypeInt 32 1
61                7:             TypePointer Function 6(int)
62                9:      6(int) Constant 0
63               10:             TypeInt 32 0
64               11:     10(int) Constant 2
65               12:             TypeArray 6(int) 11
66                               TypeForwardPointer 13 PhysicalStorageBufferEXT
67               14:             TypeArray 13 11
68           15(T1):             TypeStruct 12 6(int) 14 13
69               16:             TypeArray 6(int) 11
70               17:             TypeArray 13 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
82               33:      6(int) Constant 1
83               34:             TypePointer PushConstant 6(int)
84               44:      6(int) Constant 2
85               48:             TypePointer StorageBuffer 13(ptr)
86               51:             TypePointer PhysicalStorageBufferEXT 6(int)
87               54:      6(int) Constant 3
88               64:      6(int) Constant 4
89               72:      6(int) Constant 5
90               82:      6(int) Constant 6
91               94:      6(int) Constant 7
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)
98              138:             TypeBool
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
107              151:             TypeFloat 32
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
114                5:             Label
115         8(accum):      7(ptr) Variable Function
116       136(color):    135(ptr) Variable Function
117                               Store 8(accum) 9
118               23:     22(ptr) AccessChain 21(x) 9 9
119               24:      6(int) Load 23
120               25:      6(int) ISub 24 9
121               26:      6(int) Load 8(accum)
122               27:      6(int) BitwiseOr 26 25
123                               Store 8(accum) 27
124               35:     34(ptr) AccessChain 32(pc) 9 33
125               36:      6(int) Load 35
126               37:     22(ptr) AccessChain 21(x) 9 36
127               38:      6(int) Load 37
128               39:      6(int) ISub 38 33
129               40:      6(int) Load 8(accum)
130               41:      6(int) BitwiseOr 40 39
131                               Store 8(accum) 41
132               42:     22(ptr) AccessChain 21(x) 33
133               43:      6(int) Load 42
134               45:      6(int) ISub 43 44
135               46:      6(int) Load 8(accum)
136               47:      6(int) BitwiseOr 46 45
137                               Store 8(accum) 47
138               49:     48(ptr) AccessChain 21(x) 44 9
139               50:     13(ptr) Load 49
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
145                               Store 8(accum) 57
146               58:     48(ptr) AccessChain 21(x) 44 9
147               59:     13(ptr) Load 58
148               60:     34(ptr) AccessChain 32(pc) 9 33
149               61:      6(int) Load 60
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
155                               Store 8(accum) 67
156               68:     48(ptr) AccessChain 21(x) 44 9
157               69:     13(ptr) Load 68
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
163                               Store 8(accum) 75
164               76:     34(ptr) AccessChain 32(pc) 9 33
165               77:      6(int) Load 76
166               78:     48(ptr) AccessChain 21(x) 44 77
167               79:     13(ptr) Load 78
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
173                               Store 8(accum) 85
174               86:     34(ptr) AccessChain 32(pc) 9 33
175               87:      6(int) Load 86
176               88:     48(ptr) AccessChain 21(x) 44 87
177               89:     13(ptr) Load 88
178               90:     34(ptr) AccessChain 32(pc) 9 33
179               91:      6(int) Load 90
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
185                               Store 8(accum) 97
186               98:     34(ptr) AccessChain 32(pc) 9 33
187               99:      6(int) Load 98
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
195                               Store 8(accum) 107
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
203                               Store 8(accum) 115
204              116:     48(ptr) AccessChain 21(x) 54
205              117:     13(ptr) Load 116
206              118:     34(ptr) AccessChain 32(pc) 9 33
207              119:      6(int) Load 118
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
213                               Store 8(accum) 125
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
221                               Store 8(accum) 133
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
226                               Store 136(color) 146
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
237                               Return
238                               FunctionEnd