hlsl.inoutquals.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:8  Function Definition: MyFunc(f1;f1;f1;f1; ( temp void)
0:8    Function Parameters: 
0:8      'x' ( in float)
0:8      'y' ( out float)
0:8      'z' ( inout float)
0:8      'w' ( inout float)
0:?     Sequence
0:9      move second child to first child ( temp float)
0:9        'y' ( out float)
0:9        'x' ( in float)
0:10      move second child to first child ( temp float)
0:10        'z' ( inout float)
0:10        'y' ( out float)
0:11      move second child to first child ( temp float)
0:11        'x' ( in float)
0:11        Constant:
0:11          -1.000000
0:12      multiply second child into first child ( temp float)
0:12        'w' ( inout float)
0:12        Constant:
0:12          1.000000
0:16  Function Definition: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16    Function Parameters: 
0:16      'inpos' ( in 4-component vector of float)
0:16      'sampleMask' ( out int)
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp float)
0:19          'x' ( temp float)
0:19          Constant:
0:19            7.000000
0:19        move second child to first child ( temp float)
0:19          'z' ( temp float)
0:19          Constant:
0:19            3.000000
0:20      Function Call: MyFunc(f1;f1;f1;f1; ( temp void)
0:20        'x' ( temp float)
0:20        'y' ( temp float)
0:20        'z' ( temp float)
0:20        direct index ( temp float)
0:20          'inpos' ( in 4-component vector of float)
0:20          Constant:
0:20            3 (const int)
0:22      move second child to first child ( temp 4-component vector of float)
0:22        Color: direct index for structure ( temp 4-component vector of float)
0:22          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:22          Constant:
0:22            0 (const int)
0:?         Construct vec4 ( temp 4-component vector of float)
0:22          'x' ( temp float)
0:22          'y' ( temp float)
0:22          'z' ( temp float)
0:22          Constant:
0:22            1.000000
0:23      move second child to first child ( temp float)
0:23        Depth: direct index for structure ( temp float)
0:23          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:23          Constant:
0:23            1 (const int)
0:23        direct index ( temp float)
0:23          'inpos' ( in 4-component vector of float)
0:23          Constant:
0:23            3 (const int)
0:25      Branch: Return with expression
0:25        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         'inpos' ( temp 4-component vector of float)
0:?         'inpos' ( noperspective in 4-component vector of float FragCoord)
0:16      Sequence
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16          Function Call: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:?             'inpos' ( temp 4-component vector of float)
0:?             'sampleMask' ( temp int)
0:16        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:16          Color: direct index for structure ( temp 4-component vector of float)
0:16            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:16          Depth: direct index for structure ( temp float)
0:16            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16            Constant:
0:16              1 (const int)
0:16      move second child to first child ( temp int)
0:16        direct index ( out int SampleMaskIn)
0:?           'sampleMask' ( out 1-element array of int SampleMaskIn)
0:16          Constant:
0:16            0 (const int)
0:?         'sampleMask' ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:?     'inpos' ( noperspective in 4-component vector of float FragCoord)
0:?     'sampleMask' ( out 1-element array of int SampleMaskIn)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:8  Function Definition: MyFunc(f1;f1;f1;f1; ( temp void)
0:8    Function Parameters: 
0:8      'x' ( in float)
0:8      'y' ( out float)
0:8      'z' ( inout float)
0:8      'w' ( inout float)
0:?     Sequence
0:9      move second child to first child ( temp float)
0:9        'y' ( out float)
0:9        'x' ( in float)
0:10      move second child to first child ( temp float)
0:10        'z' ( inout float)
0:10        'y' ( out float)
0:11      move second child to first child ( temp float)
0:11        'x' ( in float)
0:11        Constant:
0:11          -1.000000
0:12      multiply second child into first child ( temp float)
0:12        'w' ( inout float)
0:12        Constant:
0:12          1.000000
0:16  Function Definition: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16    Function Parameters: 
0:16      'inpos' ( in 4-component vector of float)
0:16      'sampleMask' ( out int)
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp float)
0:19          'x' ( temp float)
0:19          Constant:
0:19            7.000000
0:19        move second child to first child ( temp float)
0:19          'z' ( temp float)
0:19          Constant:
0:19            3.000000
0:20      Function Call: MyFunc(f1;f1;f1;f1; ( temp void)
0:20        'x' ( temp float)
0:20        'y' ( temp float)
0:20        'z' ( temp float)
0:20        direct index ( temp float)
0:20          'inpos' ( in 4-component vector of float)
0:20          Constant:
0:20            3 (const int)
0:22      move second child to first child ( temp 4-component vector of float)
0:22        Color: direct index for structure ( temp 4-component vector of float)
0:22          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:22          Constant:
0:22            0 (const int)
0:?         Construct vec4 ( temp 4-component vector of float)
0:22          'x' ( temp float)
0:22          'y' ( temp float)
0:22          'z' ( temp float)
0:22          Constant:
0:22            1.000000
0:23      move second child to first child ( temp float)
0:23        Depth: direct index for structure ( temp float)
0:23          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:23          Constant:
0:23            1 (const int)
0:23        direct index ( temp float)
0:23          'inpos' ( in 4-component vector of float)
0:23          Constant:
0:23            3 (const int)
0:25      Branch: Return with expression
0:25        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         'inpos' ( temp 4-component vector of float)
0:?         'inpos' ( noperspective in 4-component vector of float FragCoord)
0:16      Sequence
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16          Function Call: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:?             'inpos' ( temp 4-component vector of float)
0:?             'sampleMask' ( temp int)
0:16        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:16          Color: direct index for structure ( temp 4-component vector of float)
0:16            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16            Constant:
0:16              0 (const int)
0:16        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:16          Depth: direct index for structure ( temp float)
0:16            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:16            Constant:
0:16              1 (const int)
0:16      move second child to first child ( temp int)
0:16        direct index ( out int SampleMaskIn)
0:?           'sampleMask' ( out 1-element array of int SampleMaskIn)
0:16          Constant:
0:16            0 (const int)
0:?         'sampleMask' ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:?     'inpos' ( noperspective in 4-component vector of float FragCoord)
0:?     'sampleMask' ( out 1-element array of int SampleMaskIn)

// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 92

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 68 78 82 88
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 DepthReplacing
                              Source HLSL 500
                              Name 4  "main"
                              Name 13  "MyFunc(f1;f1;f1;f1;"
                              Name 9  "x"
                              Name 10  "y"
                              Name 11  "z"
                              Name 12  "w"
                              Name 19  "PS_OUTPUT"
                              MemberName 19(PS_OUTPUT) 0  "Color"
                              MemberName 19(PS_OUTPUT) 1  "Depth"
                              Name 23  "@main(vf4;i1;"
                              Name 21  "inpos"
                              Name 22  "sampleMask"
                              Name 31  "x"
                              Name 33  "z"
                              Name 35  "y"
                              Name 36  "param"
                              Name 38  "param"
                              Name 39  "param"
                              Name 41  "param"
                              Name 52  "psout"
                              Name 66  "inpos"
                              Name 68  "inpos"
                              Name 70  "flattenTemp"
                              Name 71  "sampleMask"
                              Name 72  "param"
                              Name 74  "param"
                              Name 78  "@entryPointOutput.Color"
                              Name 82  "@entryPointOutput.Depth"
                              Name 88  "sampleMask"
                              Decorate 68(inpos) NoPerspective
                              Decorate 68(inpos) BuiltIn FragCoord
                              Decorate 78(@entryPointOutput.Color) Location 0
                              Decorate 82(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 88(sampleMask) BuiltIn SampleMask
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
               8:             TypeFunction 2 7(ptr) 7(ptr) 7(ptr) 7(ptr)
              15:             TypeVector 6(float) 4
              16:             TypePointer Function 15(fvec4)
              17:             TypeInt 32 1
              18:             TypePointer Function 17(int)
   19(PS_OUTPUT):             TypeStruct 15(fvec4) 6(float)
              20:             TypeFunction 19(PS_OUTPUT) 16(ptr) 18(ptr)
              27:    6(float) Constant 3212836864
              28:    6(float) Constant 1065353216
              32:    6(float) Constant 1088421888
              34:    6(float) Constant 1077936128
              42:             TypeInt 32 0
              43:     42(int) Constant 3
              51:             TypePointer Function 19(PS_OUTPUT)
              53:     17(int) Constant 0
              59:     17(int) Constant 1
              67:             TypePointer Input 15(fvec4)
       68(inpos):     67(ptr) Variable Input
              77:             TypePointer Output 15(fvec4)
78(@entryPointOutput.Color):     77(ptr) Variable Output
              81:             TypePointer Output 6(float)
82(@entryPointOutput.Depth):     81(ptr) Variable Output
              85:     42(int) Constant 1
              86:             TypeArray 17(int) 85
              87:             TypePointer Output 86
  88(sampleMask):     87(ptr) Variable Output
              90:             TypePointer Output 17(int)
         4(main):           2 Function None 3
               5:             Label
       66(inpos):     16(ptr) Variable Function
 70(flattenTemp):     51(ptr) Variable Function
  71(sampleMask):     18(ptr) Variable Function
       72(param):     16(ptr) Variable Function
       74(param):     18(ptr) Variable Function
              69:   15(fvec4) Load 68(inpos)
                              Store 66(inpos) 69
              73:   15(fvec4) Load 66(inpos)
                              Store 72(param) 73
              75:19(PS_OUTPUT) FunctionCall 23(@main(vf4;i1;) 72(param) 74(param)
              76:     17(int) Load 74(param)
                              Store 71(sampleMask) 76
                              Store 70(flattenTemp) 75
              79:     16(ptr) AccessChain 70(flattenTemp) 53
              80:   15(fvec4) Load 79
                              Store 78(@entryPointOutput.Color) 80
              83:      7(ptr) AccessChain 70(flattenTemp) 59
              84:    6(float) Load 83
                              Store 82(@entryPointOutput.Depth) 84
              89:     17(int) Load 71(sampleMask)
              91:     90(ptr) AccessChain 88(sampleMask) 53
                              Store 91 89
                              Return
                              FunctionEnd
13(MyFunc(f1;f1;f1;f1;):           2 Function None 8
            9(x):      7(ptr) FunctionParameter
           10(y):      7(ptr) FunctionParameter
           11(z):      7(ptr) FunctionParameter
           12(w):      7(ptr) FunctionParameter
              14:             Label
              25:    6(float) Load 9(x)
                              Store 10(y) 25
              26:    6(float) Load 10(y)
                              Store 11(z) 26
                              Store 9(x) 27
              29:    6(float) Load 12(w)
              30:    6(float) FMul 29 28
                              Store 12(w) 30
                              Return
                              FunctionEnd
23(@main(vf4;i1;):19(PS_OUTPUT) Function None 20
       21(inpos):     16(ptr) FunctionParameter
  22(sampleMask):     18(ptr) FunctionParameter
              24:             Label
           31(x):      7(ptr) Variable Function
           33(z):      7(ptr) Variable Function
           35(y):      7(ptr) Variable Function
       36(param):      7(ptr) Variable Function
       38(param):      7(ptr) Variable Function
       39(param):      7(ptr) Variable Function
       41(param):      7(ptr) Variable Function
       52(psout):     51(ptr) Variable Function
                              Store 31(x) 32
                              Store 33(z) 34
              37:    6(float) Load 31(x)
                              Store 36(param) 37
              40:    6(float) Load 33(z)
                              Store 39(param) 40
              44:      7(ptr) AccessChain 21(inpos) 43
              45:    6(float) Load 44
                              Store 41(param) 45
              46:           2 FunctionCall 13(MyFunc(f1;f1;f1;f1;) 36(param) 38(param) 39(param) 41(param)
              47:    6(float) Load 38(param)
                              Store 35(y) 47
              48:    6(float) Load 39(param)
                              Store 33(z) 48
              49:    6(float) Load 41(param)
              50:      7(ptr) AccessChain 21(inpos) 43
                              Store 50 49
              54:    6(float) Load 31(x)
              55:    6(float) Load 35(y)
              56:    6(float) Load 33(z)
              57:   15(fvec4) CompositeConstruct 54 55 56 28
              58:     16(ptr) AccessChain 52(psout) 53
                              Store 58 57
              60:      7(ptr) AccessChain 21(inpos) 43
              61:    6(float) Load 60
              62:      7(ptr) AccessChain 52(psout) 59
                              Store 62 61
              63:19(PS_OUTPUT) Load 52(psout)
                              ReturnValue 63
                              FunctionEnd
