• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.buffer.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:30  Function Definition: foo( ( temp float)
60:30    Function Parameters:
70:?     Sequence
80:31      Branch: Return with expression
90:31        Constant:
100:31          1.000000
110:43  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
120:43    Function Parameters:
130:43      'input' ( in 4-component vector of float)
140:?     Sequence
150:45      move second child to first child ( temp 4-component vector of float)
160:45        a: direct index for structure ( temp 4-component vector of float)
170:45          'ret' ( temp structure{ temp 4-component vector of float a})
180:45          Constant:
190:45            0 (const int)
200:45        add ( temp 4-component vector of float)
210:45          v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
220:45            'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
230:45            Constant:
240:45              0 (const uint)
250:45          vector-scale ( temp 4-component vector of float)
260:45            add ( temp 4-component vector of float)
270:45              add ( temp 4-component vector of float)
280:45                add ( temp 4-component vector of float)
290:45                  add ( temp 4-component vector of float)
300:45                    'input' ( in 4-component vector of float)
310:45                    v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
320:45                      'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
330:45                      Constant:
340:45                        0 (const uint)
350:45                  v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
360:45                    'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
370:45                    Constant:
380:45                      0 (const uint)
390:45                v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
400: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})
410:45                  Constant:
420:45                    0 (const uint)
430:45              v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
440: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})
450:45                Constant:
460:45                  0 (const uint)
470:45            Function Call: foo( ( temp float)
480:46      Branch: Return with expression
490:46        'ret' ( temp structure{ temp 4-component vector of float a})
500:43  Function Definition: PixelShaderFunction( ( temp void)
510:43    Function Parameters:
520:?     Sequence
530:43      move second child to first child ( temp 4-component vector of float)
540:?         'input' ( temp 4-component vector of float)
550:?         'input' ( in 4-component vector of float FragCoord)
560:43      Sequence
570:43        move second child to first child ( temp 4-component vector of float)
580:?           '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
590:43          a: direct index for structure ( temp 4-component vector of float)
600:43            Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
610:?               'input' ( temp 4-component vector of float)
620:43            Constant:
630:43              0 (const int)
640:?   Linker Objects
650:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
660:?     'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
670:?     '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})
680:?     '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})
690:?     'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
700:?     '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
710:?     'input' ( in 4-component vector of float FragCoord)
72
73
74Linked fragment stage:
75
76
77Shader version: 500
78gl_FragCoord origin is upper left
790:? Sequence
800:30  Function Definition: foo( ( temp float)
810:30    Function Parameters:
820:?     Sequence
830:31      Branch: Return with expression
840:31        Constant:
850:31          1.000000
860:43  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
870:43    Function Parameters:
880:43      'input' ( in 4-component vector of float)
890:?     Sequence
900:45      move second child to first child ( temp 4-component vector of float)
910:45        a: direct index for structure ( temp 4-component vector of float)
920:45          'ret' ( temp structure{ temp 4-component vector of float a})
930:45          Constant:
940:45            0 (const int)
950:45        add ( temp 4-component vector of float)
960:45          v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
970:45            'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
980:45            Constant:
990:45              0 (const uint)
1000:45          vector-scale ( temp 4-component vector of float)
1010:45            add ( temp 4-component vector of float)
1020:45              add ( temp 4-component vector of float)
1030:45                add ( temp 4-component vector of float)
1040:45                  add ( temp 4-component vector of float)
1050:45                    'input' ( in 4-component vector of float)
1060:45                    v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
1070:45                      'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
1080:45                      Constant:
1090:45                        0 (const uint)
1100:45                  v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
1110:45                    'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
1120:45                    Constant:
1130:45                      0 (const uint)
1140:45                v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float)
1150: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})
1160:45                  Constant:
1170:45                    0 (const uint)
1180:45              v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
1190: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})
1200:45                Constant:
1210:45                  0 (const uint)
1220:45            Function Call: foo( ( temp float)
1230:46      Branch: Return with expression
1240:46        'ret' ( temp structure{ temp 4-component vector of float a})
1250:43  Function Definition: PixelShaderFunction( ( temp void)
1260:43    Function Parameters:
1270:?     Sequence
1280:43      move second child to first child ( temp 4-component vector of float)
1290:?         'input' ( temp 4-component vector of float)
1300:?         'input' ( in 4-component vector of float FragCoord)
1310:43      Sequence
1320:43        move second child to first child ( temp 4-component vector of float)
1330:?           '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
1340:43          a: direct index for structure ( temp 4-component vector of float)
1350:43            Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a})
1360:?               'input' ( temp 4-component vector of float)
1370:43            Constant:
1380:43              0 (const int)
1390:?   Linker Objects
1400:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1})
1410:?     'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2})
1420:?     '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})
1430:?     '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})
1440:?     'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24})
1450:?     '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
1460:?     'input' ( in 4-component vector of float FragCoord)
147
148Validation failed
149// Module Version 10000
150// Generated by (magic number): 80007
151// Id's are bound by 73
152
153                              Capability Shader
154               1:             ExtInstImport  "GLSL.std.450"
155                              MemoryModel Logical GLSL450
156                              EntryPoint Fragment 4  "PixelShaderFunction" 65 68
157                              ExecutionMode 4 OriginUpperLeft
158                              Source HLSL 500
159                              Name 4  "PixelShaderFunction"
160                              Name 8  "foo("
161                              Name 12  "id"
162                              MemberName 12(id) 0  "a"
163                              Name 15  "@PixelShaderFunction(vf4;"
164                              Name 14  "input"
165                              Name 21  "ret"
166                              Name 24  "cbufName2"
167                              MemberName 24(cbufName2) 0  "v24"
168                              Name 26  ""
169                              Name 31  "buf1"
170                              MemberName 31(buf1) 0  "v1"
171                              Name 33  ""
172                              Name 37  "buf2"
173                              MemberName 37(buf2) 0  "v2"
174                              Name 39  ""
175                              Name 43  "cbufName"
176                              MemberName 43(cbufName) 0  "v3"
177                              MemberName 43(cbufName) 1  "i3"
178                              Name 45  ""
179                              Name 50  "tbufName"
180                              MemberName 50(tbufName) 0  "v4"
181                              MemberName 50(tbufName) 1  "i4"
182                              MemberName 50(tbufName) 2  "f1"
183                              MemberName 50(tbufName) 3  "f3"
184                              MemberName 50(tbufName) 4  "f4"
185                              MemberName 50(tbufName) 5  "f5"
186                              MemberName 50(tbufName) 6  "f6"
187                              MemberName 50(tbufName) 7  "f7"
188                              MemberName 50(tbufName) 8  "m1"
189                              MemberName 50(tbufName) 9  "m2"
190                              MemberName 50(tbufName) 10  "m3"
191                              MemberName 50(tbufName) 11  "m4"
192                              Name 52  ""
193                              Name 63  "input"
194                              Name 65  "input"
195                              Name 68  "@entryPointOutput.a"
196                              Name 69  "param"
197                              MemberDecorate 24(cbufName2) 0 Offset 0
198                              Decorate 24(cbufName2) Block
199                              Decorate 26 DescriptorSet 0
200                              Decorate 26 Binding 0
201                              MemberDecorate 31(buf1) 0 Offset 0
202                              Decorate 31(buf1) Block
203                              Decorate 33 DescriptorSet 0
204                              Decorate 33 Binding 0
205                              MemberDecorate 37(buf2) 0 NonWritable
206                              MemberDecorate 37(buf2) 0 Offset 0
207                              Decorate 37(buf2) BufferBlock
208                              Decorate 39 DescriptorSet 0
209                              Decorate 39 Binding 0
210                              MemberDecorate 43(cbufName) 0 Offset 0
211                              MemberDecorate 43(cbufName) 1 Offset 20
212                              Decorate 43(cbufName) Block
213                              Decorate 45 DescriptorSet 0
214                              Decorate 45 Binding 0
215                              MemberDecorate 50(tbufName) 0 NonWritable
216                              MemberDecorate 50(tbufName) 0 Offset 16
217                              MemberDecorate 50(tbufName) 1 NonWritable
218                              MemberDecorate 50(tbufName) 1 Offset 48
219                              MemberDecorate 50(tbufName) 2 NonWritable
220                              MemberDecorate 50(tbufName) 2 Offset 60
221                              MemberDecorate 50(tbufName) 3 NonWritable
222                              MemberDecorate 50(tbufName) 3 Offset 64
223                              MemberDecorate 50(tbufName) 4 NonWritable
224                              MemberDecorate 50(tbufName) 4 Offset 68
225                              MemberDecorate 50(tbufName) 5 NonWritable
226                              MemberDecorate 50(tbufName) 5 Offset 72
227                              MemberDecorate 50(tbufName) 6 NonWritable
228                              MemberDecorate 50(tbufName) 6 Offset 76
229                              MemberDecorate 50(tbufName) 7 NonWritable
230                              MemberDecorate 50(tbufName) 7 Offset 128
231                              MemberDecorate 50(tbufName) 8 RowMajor
232                              MemberDecorate 50(tbufName) 8 NonWritable
233                              MemberDecorate 50(tbufName) 8 Offset 112
234                              MemberDecorate 50(tbufName) 8 MatrixStride 16
235                              MemberDecorate 50(tbufName) 9 ColMajor
236                              MemberDecorate 50(tbufName) 9 NonWritable
237                              MemberDecorate 50(tbufName) 9 Offset 176
238                              MemberDecorate 50(tbufName) 9 MatrixStride 16
239                              MemberDecorate 50(tbufName) 10 RowMajor
240                              MemberDecorate 50(tbufName) 10 NonWritable
241                              MemberDecorate 50(tbufName) 10 Offset 240
242                              MemberDecorate 50(tbufName) 10 MatrixStride 16
243                              MemberDecorate 50(tbufName) 11 RowMajor
244                              MemberDecorate 50(tbufName) 11 NonWritable
245                              MemberDecorate 50(tbufName) 11 Offset 304
246                              MemberDecorate 50(tbufName) 11 MatrixStride 16
247                              Decorate 50(tbufName) BufferBlock
248                              Decorate 52 DescriptorSet 0
249                              Decorate 52 Binding 8
250                              Decorate 65(input) BuiltIn FragCoord
251                              Decorate 68(@entryPointOutput.a) Location 0
252               2:             TypeVoid
253               3:             TypeFunction 2
254               6:             TypeFloat 32
255               7:             TypeFunction 6(float)
256              10:             TypeVector 6(float) 4
257              11:             TypePointer Function 10(fvec4)
258          12(id):             TypeStruct 10(fvec4)
259              13:             TypeFunction 12(id) 11(ptr)
260              17:    6(float) Constant 1065353216
261              20:             TypePointer Function 12(id)
262              22:             TypeInt 32 1
263              23:     22(int) Constant 0
264   24(cbufName2):             TypeStruct 10(fvec4)
265              25:             TypePointer Uniform 24(cbufName2)
266              26:     25(ptr) Variable Uniform
267              27:             TypePointer Uniform 10(fvec4)
268        31(buf1):             TypeStruct 10(fvec4)
269              32:             TypePointer Uniform 31(buf1)
270              33:     32(ptr) Variable Uniform
271        37(buf2):             TypeStruct 10(fvec4)
272              38:             TypePointer Uniform 37(buf2)
273              39:     38(ptr) Variable Uniform
274    43(cbufName):             TypeStruct 10(fvec4) 22(int)
275              44:             TypePointer Uniform 43(cbufName)
276              45:     44(ptr) Variable Uniform
277              49:             TypeMatrix 10(fvec4) 3
278    50(tbufName):             TypeStruct 10(fvec4) 22(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 49 49 49 49
279              51:             TypePointer Uniform 50(tbufName)
280              52:     51(ptr) Variable Uniform
281              64:             TypePointer Input 10(fvec4)
282       65(input):     64(ptr) Variable Input
283              67:             TypePointer Output 10(fvec4)
28468(@entryPointOutput.a):     67(ptr) Variable Output
2854(PixelShaderFunction):           2 Function None 3
286               5:             Label
287       63(input):     11(ptr) Variable Function
288       69(param):     11(ptr) Variable Function
289              66:   10(fvec4) Load 65(input)
290                              Store 63(input) 66
291              70:   10(fvec4) Load 63(input)
292                              Store 69(param) 70
293              71:      12(id) FunctionCall 15(@PixelShaderFunction(vf4;) 69(param)
294              72:   10(fvec4) CompositeExtract 71 0
295                              Store 68(@entryPointOutput.a) 72
296                              Return
297                              FunctionEnd
298         8(foo():    6(float) Function None 7
299               9:             Label
300                              ReturnValue 17
301                              FunctionEnd
30215(@PixelShaderFunction(vf4;):      12(id) Function None 13
303       14(input):     11(ptr) FunctionParameter
304              16:             Label
305         21(ret):     20(ptr) Variable Function
306              28:     27(ptr) AccessChain 26 23
307              29:   10(fvec4) Load 28
308              30:   10(fvec4) Load 14(input)
309              34:     27(ptr) AccessChain 33 23
310              35:   10(fvec4) Load 34
311              36:   10(fvec4) FAdd 30 35
312              40:     27(ptr) AccessChain 39 23
313              41:   10(fvec4) Load 40
314              42:   10(fvec4) FAdd 36 41
315              46:     27(ptr) AccessChain 45 23
316              47:   10(fvec4) Load 46
317              48:   10(fvec4) FAdd 42 47
318              53:     27(ptr) AccessChain 52 23
319              54:   10(fvec4) Load 53
320              55:   10(fvec4) FAdd 48 54
321              56:    6(float) FunctionCall 8(foo()
322              57:   10(fvec4) VectorTimesScalar 55 56
323              58:   10(fvec4) FAdd 29 57
324              59:     11(ptr) AccessChain 21(ret) 23
325                              Store 59 58
326              60:      12(id) Load 21(ret)
327                              ReturnValue 60
328                              FunctionEnd
329