hlsl.entry-in.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:8    Function Parameters: 
0:8      'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?     Sequence
0:9      Branch: Return with expression
0:9        add ( temp float)
0:9          direct index ( temp float)
0:9            v: direct index for structure ( temp 2-component vector of float)
0:9              'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:9              Constant:
0:9                0 (const int)
0:9            Constant:
0:9              1 (const int)
0:9          direct index ( temp float)
0:9            fragCoord: direct index for structure ( temp 4-component vector of float)
0:9              'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:9              Constant:
0:9                1 (const int)
0:9            Constant:
0:9              0 (const int)
0:13  Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float)
0:13    Function Parameters: 
0:13      'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?     Sequence
0:15      move second child to first child ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:15        'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:15        'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:16      Sequence
0:16        move second child to first child ( temp float)
0:16          'ret1' ( temp float)
0:16          Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:16            'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:17      Sequence
0:17        move second child to first child ( temp float)
0:17          'ret2' ( temp float)
0:17          Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:17            'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:19      Branch: Return with expression
0:19        vector-scale ( temp 4-component vector of float)
0:19          vector-scale ( temp 4-component vector of float)
0:19            fragCoord: direct index for structure ( temp 4-component vector of float)
0:19              'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:19              Constant:
0:19                1 (const int)
0:19            'ret1' ( temp float)
0:19          'ret2' ( temp float)
0:13  Function Definition: PixelShaderFunction( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      Sequence
0:13        move second child to first child ( temp 2-component vector of float)
0:13          v: direct index for structure ( temp 2-component vector of float)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              0 (const int)
0:13          v: direct index for structure ( temp 2-component vector of float)
0:13            'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp 4-component vector of float)
0:13          fragCoord: direct index for structure ( temp 4-component vector of float)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              1 (const int)
0:?           'i_fragCoord' ( in 4-component vector of float FragCoord)
0:13        move second child to first child ( temp 2-component vector of int)
0:13          i2: direct index for structure ( temp 2-component vector of int)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              2 (const int)
0:13          i2: direct index for structure ( temp 2-component vector of int)
0:13            'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:13            Constant:
0:13              1 (const int)
0:13      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:13        Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float)
0:?           'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:?     'i_fragCoord' ( in 4-component vector of float FragCoord)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:8    Function Parameters: 
0:8      'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?     Sequence
0:9      Branch: Return with expression
0:9        add ( temp float)
0:9          direct index ( temp float)
0:9            v: direct index for structure ( temp 2-component vector of float)
0:9              'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:9              Constant:
0:9                0 (const int)
0:9            Constant:
0:9              1 (const int)
0:9          direct index ( temp float)
0:9            fragCoord: direct index for structure ( temp 4-component vector of float)
0:9              'p' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:9              Constant:
0:9                1 (const int)
0:9            Constant:
0:9              0 (const int)
0:13  Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float)
0:13    Function Parameters: 
0:13      'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?     Sequence
0:15      move second child to first child ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:15        'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:15        'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:16      Sequence
0:16        move second child to first child ( temp float)
0:16          'ret1' ( temp float)
0:16          Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:16            'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:17      Sequence
0:17        move second child to first child ( temp float)
0:17          'ret2' ( temp float)
0:17          Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float)
0:17            'i' ( in structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:19      Branch: Return with expression
0:19        vector-scale ( temp 4-component vector of float)
0:19          vector-scale ( temp 4-component vector of float)
0:19            fragCoord: direct index for structure ( temp 4-component vector of float)
0:19              'local' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:19              Constant:
0:19                1 (const int)
0:19            'ret1' ( temp float)
0:19          'ret2' ( temp float)
0:13  Function Definition: PixelShaderFunction( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      Sequence
0:13        move second child to first child ( temp 2-component vector of float)
0:13          v: direct index for structure ( temp 2-component vector of float)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              0 (const int)
0:13          v: direct index for structure ( temp 2-component vector of float)
0:13            'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp 4-component vector of float)
0:13          fragCoord: direct index for structure ( temp 4-component vector of float)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              1 (const int)
0:?           'i_fragCoord' ( in 4-component vector of float FragCoord)
0:13        move second child to first child ( temp 2-component vector of int)
0:13          i2: direct index for structure ( temp 2-component vector of int)
0:?             'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:13            Constant:
0:13              2 (const int)
0:13          i2: direct index for structure ( temp 2-component vector of int)
0:13            'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:13            Constant:
0:13              1 (const int)
0:13      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:13        Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float)
0:?           'i' ( temp structure{ temp 2-component vector of float v,  temp 4-component vector of float fragCoord,  temp 2-component vector of int i2})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'i' (layout( location=0) in structure{ temp 2-component vector of float v,  temp 2-component vector of int i2})
0:?     'i_fragCoord' ( in 4-component vector of float FragCoord)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 56 63 73
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "InParam"
                              MemberName 11(InParam) 0  "v"
                              MemberName 11(InParam) 1  "fragCoord"
                              MemberName 11(InParam) 2  "i2"
                              Name 15  "fun(struct-InParam-vf2-vf4-vi21;"
                              Name 14  "p"
                              Name 19  "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;"
                              Name 18  "i"
                              Name 34  "local"
                              Name 36  "ret1"
                              Name 37  "param"
                              Name 40  "ret2"
                              Name 41  "param"
                              Name 53  "i"
                              Name 54  "InParam"
                              MemberName 54(InParam) 0  "v"
                              MemberName 54(InParam) 1  "i2"
                              Name 56  "i"
                              Name 63  "i_fragCoord"
                              Name 73  "@entryPointOutput"
                              Name 74  "param"
                              Decorate 56(i) Location 0
                              Decorate 63(i_fragCoord) BuiltIn FragCoord
                              Decorate 73(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypeVector 6(float) 4
               9:             TypeInt 32 1
              10:             TypeVector 9(int) 2
     11(InParam):             TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
              12:             TypePointer Function 11(InParam)
              13:             TypeFunction 6(float) 12(ptr)
              17:             TypeFunction 8(fvec4) 12(ptr)
              21:      9(int) Constant 0
              22:             TypeInt 32 0
              23:     22(int) Constant 1
              24:             TypePointer Function 6(float)
              27:      9(int) Constant 1
              28:     22(int) Constant 0
              44:             TypePointer Function 8(fvec4)
     54(InParam):             TypeStruct 7(fvec2) 10(ivec2)
              55:             TypePointer Input 54(InParam)
           56(i):     55(ptr) Variable Input
              57:             TypePointer Input 7(fvec2)
              60:             TypePointer Function 7(fvec2)
              62:             TypePointer Input 8(fvec4)
 63(i_fragCoord):     62(ptr) Variable Input
              66:      9(int) Constant 2
              67:             TypePointer Input 10(ivec2)
              70:             TypePointer Function 10(ivec2)
              72:             TypePointer Output 8(fvec4)
73(@entryPointOutput):     72(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
           53(i):     12(ptr) Variable Function
       74(param):     12(ptr) Variable Function
              58:     57(ptr) AccessChain 56(i) 21
              59:    7(fvec2) Load 58
              61:     60(ptr) AccessChain 53(i) 21
                              Store 61 59
              64:    8(fvec4) Load 63(i_fragCoord)
              65:     44(ptr) AccessChain 53(i) 27
                              Store 65 64
              68:     67(ptr) AccessChain 56(i) 27
              69:   10(ivec2) Load 68
              71:     70(ptr) AccessChain 53(i) 66
                              Store 71 69
              75: 11(InParam) Load 53(i)
                              Store 74(param) 75
              76:    8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 74(param)
                              Store 73(@entryPointOutput) 76
                              Return
                              FunctionEnd
15(fun(struct-InParam-vf2-vf4-vi21;):    6(float) Function None 13
           14(p):     12(ptr) FunctionParameter
              16:             Label
              25:     24(ptr) AccessChain 14(p) 21 23
              26:    6(float) Load 25
              29:     24(ptr) AccessChain 14(p) 27 28
              30:    6(float) Load 29
              31:    6(float) FAdd 26 30
                              ReturnValue 31
                              FunctionEnd
19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;):    8(fvec4) Function None 17
           18(i):     12(ptr) FunctionParameter
              20:             Label
       34(local):     12(ptr) Variable Function
        36(ret1):     24(ptr) Variable Function
       37(param):     12(ptr) Variable Function
        40(ret2):     24(ptr) Variable Function
       41(param):     12(ptr) Variable Function
              35: 11(InParam) Load 18(i)
                              Store 34(local) 35
              38: 11(InParam) Load 34(local)
                              Store 37(param) 38
              39:    6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 37(param)
                              Store 36(ret1) 39
              42: 11(InParam) Load 18(i)
                              Store 41(param) 42
              43:    6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 41(param)
                              Store 40(ret2) 43
              45:     44(ptr) AccessChain 34(local) 27
              46:    8(fvec4) Load 45
              47:    6(float) Load 36(ret1)
              48:    8(fvec4) VectorTimesScalar 46 47
              49:    6(float) Load 40(ret2)
              50:    8(fvec4) VectorTimesScalar 48 49
                              ReturnValue 50
                              FunctionEnd
