aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/hlsl.buffer.frag.out
blob: f95b8398c9dcd7e6198bde83b678f3f945fa690b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
hlsl.buffer.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:30  Function Definition: foo( ( temp float)
0:30    Function Parameters: 
0:?     Sequence
0:31      Branch: Return with expression
0:31        Constant:
0:31          1.000000
0:43  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
0:43    Function Parameters: 
0:43      'input' ( in 4-component vector of float)
0:?     Sequence
0:45      move second child to first child ( temp 4-component vector of float)
0:45        a: direct index for structure ( temp 4-component vector of float)
0:45          'ret' ( temp structure{ temp 4-component vector of float a})
0:45          Constant:
0:45            0 (const int)
0:45        add ( temp 4-component vector of float)
0:45          v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:45            'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
0:45            Constant:
0:45              0 (const uint)
0:45          vector-scale ( temp 4-component vector of float)
0:45            add ( temp 4-component vector of float)
0:45              add ( temp 4-component vector of float)
0:45                add ( temp 4-component vector of float)
0:45                  add ( temp 4-component vector of float)
0:45                    'input' ( in 4-component vector of float)
0:45                    v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:45                      'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
0:45                      Constant:
0:45                        0 (const uint)
0:45                  v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:45                    'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
0:45                    Constant:
0:45                      0 (const uint)
0:45                v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
0:45                  'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
0:45                  Constant:
0:45                    0 (const uint)
0:45              v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:45                'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
0:45                Constant:
0:45                  0 (const uint)
0:45            Function Call: foo( ( temp float)
0:46      Branch: Return with expression
0:46        'ret' ( temp structure{ temp 4-component vector of float a})
0:43  Function Definition: PixelShaderFunction( ( temp void)
0:43    Function Parameters: 
0:?     Sequence
0:43      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' ( in 4-component vector of float FragCoord)
0:43      Sequence
0:43        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
0:43          a: direct index for structure ( temp 4-component vector of float)
0:43            Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
0:?               'input' ( temp 4-component vector of float)
0:43            Constant:
0:43              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
0:?     'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
0:?     'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
0:?     'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
0:?     'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
0:?     '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
0:?     'input' ( in 4-component vector of float FragCoord)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:30  Function Definition: foo( ( temp float)
0:30    Function Parameters: 
0:?     Sequence
0:31      Branch: Return with expression
0:31        Constant:
0:31          1.000000
0:43  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
0:43    Function Parameters: 
0:43      'input' ( in 4-component vector of float)
0:?     Sequence
0:45      move second child to first child ( temp 4-component vector of float)
0:45        a: direct index for structure ( temp 4-component vector of float)
0:45          'ret' ( temp structure{ temp 4-component vector of float a})
0:45          Constant:
0:45            0 (const int)
0:45        add ( temp 4-component vector of float)
0:45          v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:45            'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
0:45            Constant:
0:45              0 (const uint)
0:45          vector-scale ( temp 4-component vector of float)
0:45            add ( temp 4-component vector of float)
0:45              add ( temp 4-component vector of float)
0:45                add ( temp 4-component vector of float)
0:45                  add ( temp 4-component vector of float)
0:45                    'input' ( in 4-component vector of float)
0:45                    v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
0:45                      'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
0:45                      Constant:
0:45                        0 (const uint)
0:45                  v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:45                    'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
0:45                    Constant:
0:45                      0 (const uint)
0:45                v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
0:45                  'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
0:45                  Constant:
0:45                    0 (const uint)
0:45              v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:45                'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
0:45                Constant:
0:45                  0 (const uint)
0:45            Function Call: foo( ( temp float)
0:46      Branch: Return with expression
0:46        'ret' ( temp structure{ temp 4-component vector of float a})
0:43  Function Definition: PixelShaderFunction( ( temp void)
0:43    Function Parameters: 
0:?     Sequence
0:43      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' ( in 4-component vector of float FragCoord)
0:43      Sequence
0:43        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
0:43          a: direct index for structure ( temp 4-component vector of float)
0:43            Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
0:?               'input' ( temp 4-component vector of float)
0:43            Constant:
0:43              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
0:?     'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
0:?     'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3})
0:?     'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4})
0:?     'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
0:?     '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
0:?     'input' ( in 4-component vector of float FragCoord)

Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 73

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 65 68
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 8  "foo("
                              Name 12  "id"
                              MemberName 12(id) 0  "a"
                              Name 15  "@PixelShaderFunction(vf4;"
                              Name 14  "input"
                              Name 21  "ret"
                              Name 24  "cbufName2"
                              MemberName 24(cbufName2) 0  "v24"
                              Name 26  ""
                              Name 31  "buf1"
                              MemberName 31(buf1) 0  "v1"
                              Name 33  ""
                              Name 37  "buf2"
                              MemberName 37(buf2) 0  "v2"
                              Name 39  ""
                              Name 43  "cbufName"
                              MemberName 43(cbufName) 0  "v3"
                              MemberName 43(cbufName) 1  "i3"
                              Name 45  ""
                              Name 50  "tbufName"
                              MemberName 50(tbufName) 0  "v4"
                              MemberName 50(tbufName) 1  "i4"
                              MemberName 50(tbufName) 2  "f1"
                              MemberName 50(tbufName) 3  "f3"
                              MemberName 50(tbufName) 4  "f4"
                              MemberName 50(tbufName) 5  "f5"
                              MemberName 50(tbufName) 6  "f6"
                              MemberName 50(tbufName) 7  "f7"
                              MemberName 50(tbufName) 8  "m1"
                              MemberName 50(tbufName) 9  "m2"
                              MemberName 50(tbufName) 10  "m3"
                              MemberName 50(tbufName) 11  "m4"
                              Name 52  ""
                              Name 63  "input"
                              Name 65  "input"
                              Name 68  "@entryPointOutput.a"
                              Name 69  "param"
                              MemberDecorate 24(cbufName2) 0 Offset 0
                              Decorate 24(cbufName2) Block
                              Decorate 26 DescriptorSet 0
                              Decorate 26 Binding 3
                              MemberDecorate 31(buf1) 0 Offset 0
                              Decorate 31(buf1) Block
                              Decorate 33 DescriptorSet 0
                              Decorate 33 Binding 0
                              MemberDecorate 37(buf2) 0 NonWritable
                              MemberDecorate 37(buf2) 0 Offset 0
                              Decorate 37(buf2) BufferBlock
                              Decorate 39 DescriptorSet 0
                              Decorate 39 Binding 1
                              MemberDecorate 43(cbufName) 0 Offset 0
                              MemberDecorate 43(cbufName) 1 Offset 20
                              Decorate 43(cbufName) Block
                              Decorate 45 DescriptorSet 0
                              Decorate 45 Binding 2
                              MemberDecorate 50(tbufName) 0 NonWritable
                              MemberDecorate 50(tbufName) 0 Offset 16
                              MemberDecorate 50(tbufName) 1 NonWritable
                              MemberDecorate 50(tbufName) 1 Offset 48
                              MemberDecorate 50(tbufName) 2 NonWritable
                              MemberDecorate 50(tbufName) 2 Offset 60
                              MemberDecorate 50(tbufName) 3 NonWritable
                              MemberDecorate 50(tbufName) 3 Offset 64
                              MemberDecorate 50(tbufName) 4 NonWritable
                              MemberDecorate 50(tbufName) 4 Offset 68
                              MemberDecorate 50(tbufName) 5 NonWritable
                              MemberDecorate 50(tbufName) 5 Offset 72
                              MemberDecorate 50(tbufName) 6 NonWritable
                              MemberDecorate 50(tbufName) 6 Offset 76
                              MemberDecorate 50(tbufName) 7 NonWritable
                              MemberDecorate 50(tbufName) 7 Offset 128
                              MemberDecorate 50(tbufName) 8 RowMajor
                              MemberDecorate 50(tbufName) 8 NonWritable
                              MemberDecorate 50(tbufName) 8 Offset 112
                              MemberDecorate 50(tbufName) 8 MatrixStride 16
                              MemberDecorate 50(tbufName) 9 ColMajor
                              MemberDecorate 50(tbufName) 9 NonWritable
                              MemberDecorate 50(tbufName) 9 Offset 176
                              MemberDecorate 50(tbufName) 9 MatrixStride 16
                              MemberDecorate 50(tbufName) 10 RowMajor
                              MemberDecorate 50(tbufName) 10 NonWritable
                              MemberDecorate 50(tbufName) 10 Offset 240
                              MemberDecorate 50(tbufName) 10 MatrixStride 16
                              MemberDecorate 50(tbufName) 11 RowMajor
                              MemberDecorate 50(tbufName) 11 NonWritable
                              MemberDecorate 50(tbufName) 11 Offset 304
                              MemberDecorate 50(tbufName) 11 MatrixStride 16
                              Decorate 50(tbufName) BufferBlock
                              Decorate 52 DescriptorSet 0
                              Decorate 52 Binding 8
                              Decorate 65(input) BuiltIn FragCoord
                              Decorate 68(@entryPointOutput.a) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeFunction 6(float)
              10:             TypeVector 6(float) 4
              11:             TypePointer Function 10(fvec4)
          12(id):             TypeStruct 10(fvec4)
              13:             TypeFunction 12(id) 11(ptr)
              17:    6(float) Constant 1065353216
              20:             TypePointer Function 12(id)
              22:             TypeInt 32 1
              23:     22(int) Constant 0
   24(cbufName2):             TypeStruct 10(fvec4)
              25:             TypePointer Uniform 24(cbufName2)
              26:     25(ptr) Variable Uniform
              27:             TypePointer Uniform 10(fvec4)
        31(buf1):             TypeStruct 10(fvec4)
              32:             TypePointer Uniform 31(buf1)
              33:     32(ptr) Variable Uniform
        37(buf2):             TypeStruct 10(fvec4)
              38:             TypePointer Uniform 37(buf2)
              39:     38(ptr) Variable Uniform
    43(cbufName):             TypeStruct 10(fvec4) 22(int)
              44:             TypePointer Uniform 43(cbufName)
              45:     44(ptr) Variable Uniform
              49:             TypeMatrix 10(fvec4) 3
    50(tbufName):             TypeStruct 10(fvec4) 22(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 49 49 49 49
              51:             TypePointer Uniform 50(tbufName)
              52:     51(ptr) Variable Uniform
              64:             TypePointer Input 10(fvec4)
       65(input):     64(ptr) Variable Input
              67:             TypePointer Output 10(fvec4)
68(@entryPointOutput.a):     67(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       63(input):     11(ptr) Variable Function
       69(param):     11(ptr) Variable Function
              66:   10(fvec4) Load 65(input)
                              Store 63(input) 66
              70:   10(fvec4) Load 63(input)
                              Store 69(param) 70
              71:      12(id) FunctionCall 15(@PixelShaderFunction(vf4;) 69(param)
              72:   10(fvec4) CompositeExtract 71 0
                              Store 68(@entryPointOutput.a) 72
                              Return
                              FunctionEnd
         8(foo():    6(float) Function None 7
               9:             Label
                              ReturnValue 17
                              FunctionEnd
15(@PixelShaderFunction(vf4;):      12(id) Function None 13
       14(input):     11(ptr) FunctionParameter
              16:             Label
         21(ret):     20(ptr) Variable Function
              28:     27(ptr) AccessChain 26 23
              29:   10(fvec4) Load 28
              30:   10(fvec4) Load 14(input)
              34:     27(ptr) AccessChain 33 23
              35:   10(fvec4) Load 34
              36:   10(fvec4) FAdd 30 35
              40:     27(ptr) AccessChain 39 23
              41:   10(fvec4) Load 40
              42:   10(fvec4) FAdd 36 41
              46:     27(ptr) AccessChain 45 23
              47:   10(fvec4) Load 46
              48:   10(fvec4) FAdd 42 47
              53:     27(ptr) AccessChain 52 23
              54:   10(fvec4) Load 53
              55:   10(fvec4) FAdd 48 54
              56:    6(float) FunctionCall 8(foo()
              57:   10(fvec4) VectorTimesScalar 55 56
              58:   10(fvec4) FAdd 29 57
              59:     11(ptr) AccessChain 21(ret) 23
                              Store 59 58
              60:      12(id) Load 21(ret)
                              ReturnValue 60
                              FunctionEnd