1hlsl.isfinite.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:7  Function Definition: test1(f1; ( temp bool)
60:7    Function Parameters:
70:7      'v' ( in float)
80:?     Sequence
90:8      Branch: Return with expression
100:8        logical-and ( temp bool)
110:8          Negate conditional ( temp bool)
120:8            isnan ( temp bool)
130:8              'v' ( in float)
140:8          Sequence
150:8            move second child to first child ( temp float)
160:8              '@finitetmp' ( temp float)
170:8              'v' ( in float)
180:8            logical-and ( temp bool)
190:8              Negate conditional ( temp bool)
200:8                isnan ( temp bool)
210:8                  '@finitetmp' ( temp float)
220:8              Negate conditional ( temp bool)
230:8                isinf ( temp bool)
240:8                  '@finitetmp' ( temp float)
250:12  Function Definition: @main( ( temp 4-component vector of float)
260:12    Function Parameters:
270:?     Sequence
280:13      Sequence
290:13        move second child to first child ( temp float)
300:13          '@finitetmp' ( temp float)
310:13          f: direct index for structure ( uniform float)
320:13            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
330:13            Constant:
340:13              0 (const uint)
350:13        logical-and ( temp bool)
360:13          Negate conditional ( temp bool)
370:13            isnan ( temp bool)
380:13              '@finitetmp' ( temp float)
390:13          Negate conditional ( temp bool)
400:13            isinf ( temp bool)
410:13              '@finitetmp' ( temp float)
420:14      Sequence
430:14        move second child to first child ( temp 2-component vector of float)
440:14          '@finitetmp' ( temp 2-component vector of float)
450:14          f2: direct index for structure ( uniform 2-component vector of float)
460:14            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
470:14            Constant:
480:14              1 (const uint)
490:14        logical-and ( temp 2-component vector of bool)
500:14          Negate conditional ( temp 2-component vector of bool)
510:14            isnan ( temp 2-component vector of bool)
520:14              '@finitetmp' ( temp 2-component vector of float)
530:14          Negate conditional ( temp 2-component vector of bool)
540:14            isinf ( temp 2-component vector of bool)
550:14              '@finitetmp' ( temp 2-component vector of float)
560:15      Sequence
570:15        move second child to first child ( temp 3-component vector of float)
580:15          '@finitetmp' ( temp 3-component vector of float)
590:15          f3: direct index for structure ( uniform 3-component vector of float)
600:15            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
610:15            Constant:
620:15              2 (const uint)
630:15        logical-and ( temp 3-component vector of bool)
640:15          Negate conditional ( temp 3-component vector of bool)
650:15            isnan ( temp 3-component vector of bool)
660:15              '@finitetmp' ( temp 3-component vector of float)
670:15          Negate conditional ( temp 3-component vector of bool)
680:15            isinf ( temp 3-component vector of bool)
690:15              '@finitetmp' ( temp 3-component vector of float)
700:17      Branch: Return with expression
710:17        Constant:
720:17          0.000000
730:17          0.000000
740:17          0.000000
750:17          0.000000
760:12  Function Definition: main( ( temp void)
770:12    Function Parameters:
780:?     Sequence
790:12      move second child to first child ( temp 4-component vector of float)
800:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
810:12        Function Call: @main( ( temp 4-component vector of float)
820:?   Linker Objects
830:?     'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
840:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
85
86
87Linked fragment stage:
88
89
90Shader version: 500
91gl_FragCoord origin is upper left
920:? Sequence
930:7  Function Definition: test1(f1; ( temp bool)
940:7    Function Parameters:
950:7      'v' ( in float)
960:?     Sequence
970:8      Branch: Return with expression
980:8        logical-and ( temp bool)
990:8          Negate conditional ( temp bool)
1000:8            isnan ( temp bool)
1010:8              'v' ( in float)
1020:8          Sequence
1030:8            move second child to first child ( temp float)
1040:8              '@finitetmp' ( temp float)
1050:8              'v' ( in float)
1060:8            logical-and ( temp bool)
1070:8              Negate conditional ( temp bool)
1080:8                isnan ( temp bool)
1090:8                  '@finitetmp' ( temp float)
1100:8              Negate conditional ( temp bool)
1110:8                isinf ( temp bool)
1120:8                  '@finitetmp' ( temp float)
1130:12  Function Definition: @main( ( temp 4-component vector of float)
1140:12    Function Parameters:
1150:?     Sequence
1160:13      Sequence
1170:13        move second child to first child ( temp float)
1180:13          '@finitetmp' ( temp float)
1190:13          f: direct index for structure ( uniform float)
1200:13            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
1210:13            Constant:
1220:13              0 (const uint)
1230:13        logical-and ( temp bool)
1240:13          Negate conditional ( temp bool)
1250:13            isnan ( temp bool)
1260:13              '@finitetmp' ( temp float)
1270:13          Negate conditional ( temp bool)
1280:13            isinf ( temp bool)
1290:13              '@finitetmp' ( temp float)
1300:14      Sequence
1310:14        move second child to first child ( temp 2-component vector of float)
1320:14          '@finitetmp' ( temp 2-component vector of float)
1330:14          f2: direct index for structure ( uniform 2-component vector of float)
1340:14            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
1350:14            Constant:
1360:14              1 (const uint)
1370:14        logical-and ( temp 2-component vector of bool)
1380:14          Negate conditional ( temp 2-component vector of bool)
1390:14            isnan ( temp 2-component vector of bool)
1400:14              '@finitetmp' ( temp 2-component vector of float)
1410:14          Negate conditional ( temp 2-component vector of bool)
1420:14            isinf ( temp 2-component vector of bool)
1430:14              '@finitetmp' ( temp 2-component vector of float)
1440:15      Sequence
1450:15        move second child to first child ( temp 3-component vector of float)
1460:15          '@finitetmp' ( temp 3-component vector of float)
1470:15          f3: direct index for structure ( uniform 3-component vector of float)
1480:15            'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
1490:15            Constant:
1500:15              2 (const uint)
1510:15        logical-and ( temp 3-component vector of bool)
1520:15          Negate conditional ( temp 3-component vector of bool)
1530:15            isnan ( temp 3-component vector of bool)
1540:15              '@finitetmp' ( temp 3-component vector of float)
1550:15          Negate conditional ( temp 3-component vector of bool)
1560:15            isinf ( temp 3-component vector of bool)
1570:15              '@finitetmp' ( temp 3-component vector of float)
1580:17      Branch: Return with expression
1590:17        Constant:
1600:17          0.000000
1610:17          0.000000
1620:17          0.000000
1630:17          0.000000
1640:12  Function Definition: main( ( temp void)
1650:12    Function Parameters:
1660:?     Sequence
1670:12      move second child to first child ( temp 4-component vector of float)
1680:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1690:12        Function Call: @main( ( temp 4-component vector of float)
1700:?   Linker Objects
1710:?     'anon@0' (layout( row_major std140) uniform block{ uniform float f,  uniform 2-component vector of float f2,  uniform 3-component vector of float f3})
1720:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
173
174// Module Version 10000
175// Generated by (magic number): 80007
176// Id's are bound by 85
177
178                              Capability Shader
179               1:             ExtInstImport  "GLSL.std.450"
180                              MemoryModel Logical GLSL450
181                              EntryPoint Fragment 4  "main" 83
182                              ExecutionMode 4 OriginUpperLeft
183                              Source HLSL 500
184                              Name 4  "main"
185                              Name 11  "test1(f1;"
186                              Name 10  "v"
187                              Name 15  "@main("
188                              Name 20  "@finitetmp"
189                              Name 32  "@finitetmp"
190                              Name 35  "$Global"
191                              MemberName 35($Global) 0  "f"
192                              MemberName 35($Global) 1  "f2"
193                              MemberName 35($Global) 2  "f3"
194                              Name 37  ""
195                              Name 51  "@finitetmp"
196                              Name 65  "@finitetmp"
197                              Name 83  "@entryPointOutput"
198                              MemberDecorate 35($Global) 0 Offset 0
199                              MemberDecorate 35($Global) 1 Offset 8
200                              MemberDecorate 35($Global) 2 Offset 16
201                              Decorate 35($Global) Block
202                              Decorate 37 DescriptorSet 0
203                              Decorate 83(@entryPointOutput) Location 0
204               2:             TypeVoid
205               3:             TypeFunction 2
206               6:             TypeFloat 32
207               7:             TypePointer Function 6(float)
208               8:             TypeBool
209               9:             TypeFunction 8(bool) 7(ptr)
210              13:             TypeVector 6(float) 4
211              14:             TypeFunction 13(fvec4)
212              33:             TypeVector 6(float) 2
213              34:             TypeVector 6(float) 3
214     35($Global):             TypeStruct 6(float) 33(fvec2) 34(fvec3)
215              36:             TypePointer Uniform 35($Global)
216              37:     36(ptr) Variable Uniform
217              38:             TypeInt 32 1
218              39:     38(int) Constant 0
219              40:             TypePointer Uniform 6(float)
220              50:             TypePointer Function 33(fvec2)
221              52:     38(int) Constant 1
222              53:             TypePointer Uniform 33(fvec2)
223              57:             TypeVector 8(bool) 2
224              64:             TypePointer Function 34(fvec3)
225              66:     38(int) Constant 2
226              67:             TypePointer Uniform 34(fvec3)
227              71:             TypeVector 8(bool) 3
228              78:    6(float) Constant 0
229              79:   13(fvec4) ConstantComposite 78 78 78 78
230              82:             TypePointer Output 13(fvec4)
23183(@entryPointOutput):     82(ptr) Variable Output
232         4(main):           2 Function None 3
233               5:             Label
234              84:   13(fvec4) FunctionCall 15(@main()
235                              Store 83(@entryPointOutput) 84
236                              Return
237                              FunctionEnd
238   11(test1(f1;):     8(bool) Function None 9
239           10(v):      7(ptr) FunctionParameter
240              12:             Label
241  20(@finitetmp):      7(ptr) Variable Function
242              17:    6(float) Load 10(v)
243              18:     8(bool) IsNan 17
244              19:     8(bool) LogicalNot 18
245              21:    6(float) Load 10(v)
246                              Store 20(@finitetmp) 21
247              22:    6(float) Load 20(@finitetmp)
248              23:     8(bool) IsNan 22
249              24:     8(bool) LogicalNot 23
250              25:    6(float) Load 20(@finitetmp)
251              26:     8(bool) IsInf 25
252              27:     8(bool) LogicalNot 26
253              28:     8(bool) LogicalAnd 24 27
254              29:     8(bool) LogicalAnd 19 28
255                              ReturnValue 29
256                              FunctionEnd
257      15(@main():   13(fvec4) Function None 14
258              16:             Label
259  32(@finitetmp):      7(ptr) Variable Function
260  51(@finitetmp):     50(ptr) Variable Function
261  65(@finitetmp):     64(ptr) Variable Function
262              41:     40(ptr) AccessChain 37 39
263              42:    6(float) Load 41
264                              Store 32(@finitetmp) 42
265              43:    6(float) Load 32(@finitetmp)
266              44:     8(bool) IsNan 43
267              45:     8(bool) LogicalNot 44
268              46:    6(float) Load 32(@finitetmp)
269              47:     8(bool) IsInf 46
270              48:     8(bool) LogicalNot 47
271              49:     8(bool) LogicalAnd 45 48
272              54:     53(ptr) AccessChain 37 52
273              55:   33(fvec2) Load 54
274                              Store 51(@finitetmp) 55
275              56:   33(fvec2) Load 51(@finitetmp)
276              58:   57(bvec2) IsNan 56
277              59:   57(bvec2) LogicalNot 58
278              60:   33(fvec2) Load 51(@finitetmp)
279              61:   57(bvec2) IsInf 60
280              62:   57(bvec2) LogicalNot 61
281              63:   57(bvec2) LogicalAnd 59 62
282              68:     67(ptr) AccessChain 37 66
283              69:   34(fvec3) Load 68
284                              Store 65(@finitetmp) 69
285              70:   34(fvec3) Load 65(@finitetmp)
286              72:   71(bvec3) IsNan 70
287              73:   71(bvec3) LogicalNot 72
288              74:   34(fvec3) Load 65(@finitetmp)
289              75:   71(bvec3) IsInf 74
290              76:   71(bvec3) LogicalNot 75
291              77:   71(bvec3) LogicalAnd 73 76
292                              ReturnValue 79
293                              FunctionEnd
294