hlsl.intrinsics.f1632.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: PixelShaderFunctionS(u1; ( temp float)
0:2    Function Parameters: 
0:2      'inF0' ( in uint)
0:?     Sequence
0:3      Branch: Return with expression
0:3        direct index ( temp float)
0:3          unpackHalf2x16 ( temp 2-component vector of float)
0:3            'inF0' ( in uint)
0:3          Constant:
0:3            0 (const int)
0:7  Function Definition: PixelShaderFunction1(vu1; ( temp 1-component vector of float)
0:7    Function Parameters: 
0:7      'inF0' ( in 1-component vector of uint)
0:?     Sequence
0:8      Branch: Return with expression
0:8        Construct float ( temp 1-component vector of float)
0:8          direct index ( temp float)
0:8            unpackHalf2x16 ( temp 2-component vector of float)
0:8              Construct uint ( in uint)
0:8                'inF0' ( in 1-component vector of uint)
0:8            Constant:
0:8              0 (const int)
0:12  Function Definition: PixelShaderFunction2(vu2; ( temp 2-component vector of float)
0:12    Function Parameters: 
0:12      'inF0' ( in 2-component vector of uint)
0:?     Sequence
0:13      Branch: Return with expression
0:13        Construct vec2 ( temp 2-component vector of float)
0:13          direct index ( temp float)
0:13            unpackHalf2x16 ( temp 2-component vector of float)
0:13              direct index ( temp uint)
0:13                'inF0' ( in 2-component vector of uint)
0:13                Constant:
0:13                  0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( temp float)
0:13            unpackHalf2x16 ( temp 2-component vector of float)
0:13              direct index ( temp uint)
0:13                'inF0' ( in 2-component vector of uint)
0:13                Constant:
0:13                  1 (const int)
0:13            Constant:
0:13              0 (const int)
0:17  Function Definition: PixelShaderFunction3(vu3; ( temp 3-component vector of float)
0:17    Function Parameters: 
0:17      'inF0' ( in 3-component vector of uint)
0:?     Sequence
0:18      Branch: Return with expression
0:18        Construct vec3 ( temp 3-component vector of float)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  0 (const int)
0:18            Constant:
0:18              0 (const int)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  1 (const int)
0:18            Constant:
0:18              0 (const int)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  2 (const int)
0:18            Constant:
0:18              0 (const int)
0:22  Function Definition: PixelShaderFunction(vu4; ( temp 4-component vector of float)
0:22    Function Parameters: 
0:22      'inF0' ( in 4-component vector of uint)
0:?     Sequence
0:23      Branch: Return with expression
0:23        Construct vec4 ( temp 4-component vector of float)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  0 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  1 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  2 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  3 (const int)
0:23            Constant:
0:23              0 (const int)
0:27  Function Definition: @main( ( temp 4-component vector of float)
0:27    Function Parameters: 
0:?     Sequence
0:28      Branch: Return with expression
0:28        Constant:
0:28          0.000000
0:28          0.000000
0:28          0.000000
0:28          0.000000
0:27  Function Definition: main( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:27        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: PixelShaderFunctionS(u1; ( temp float)
0:2    Function Parameters: 
0:2      'inF0' ( in uint)
0:?     Sequence
0:3      Branch: Return with expression
0:3        direct index ( temp float)
0:3          unpackHalf2x16 ( temp 2-component vector of float)
0:3            'inF0' ( in uint)
0:3          Constant:
0:3            0 (const int)
0:7  Function Definition: PixelShaderFunction1(vu1; ( temp 1-component vector of float)
0:7    Function Parameters: 
0:7      'inF0' ( in 1-component vector of uint)
0:?     Sequence
0:8      Branch: Return with expression
0:8        Construct float ( temp 1-component vector of float)
0:8          direct index ( temp float)
0:8            unpackHalf2x16 ( temp 2-component vector of float)
0:8              Construct uint ( in uint)
0:8                'inF0' ( in 1-component vector of uint)
0:8            Constant:
0:8              0 (const int)
0:12  Function Definition: PixelShaderFunction2(vu2; ( temp 2-component vector of float)
0:12    Function Parameters: 
0:12      'inF0' ( in 2-component vector of uint)
0:?     Sequence
0:13      Branch: Return with expression
0:13        Construct vec2 ( temp 2-component vector of float)
0:13          direct index ( temp float)
0:13            unpackHalf2x16 ( temp 2-component vector of float)
0:13              direct index ( temp uint)
0:13                'inF0' ( in 2-component vector of uint)
0:13                Constant:
0:13                  0 (const int)
0:13            Constant:
0:13              0 (const int)
0:13          direct index ( temp float)
0:13            unpackHalf2x16 ( temp 2-component vector of float)
0:13              direct index ( temp uint)
0:13                'inF0' ( in 2-component vector of uint)
0:13                Constant:
0:13                  1 (const int)
0:13            Constant:
0:13              0 (const int)
0:17  Function Definition: PixelShaderFunction3(vu3; ( temp 3-component vector of float)
0:17    Function Parameters: 
0:17      'inF0' ( in 3-component vector of uint)
0:?     Sequence
0:18      Branch: Return with expression
0:18        Construct vec3 ( temp 3-component vector of float)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  0 (const int)
0:18            Constant:
0:18              0 (const int)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  1 (const int)
0:18            Constant:
0:18              0 (const int)
0:18          direct index ( temp float)
0:18            unpackHalf2x16 ( temp 2-component vector of float)
0:18              direct index ( temp uint)
0:18                'inF0' ( in 3-component vector of uint)
0:18                Constant:
0:18                  2 (const int)
0:18            Constant:
0:18              0 (const int)
0:22  Function Definition: PixelShaderFunction(vu4; ( temp 4-component vector of float)
0:22    Function Parameters: 
0:22      'inF0' ( in 4-component vector of uint)
0:?     Sequence
0:23      Branch: Return with expression
0:23        Construct vec4 ( temp 4-component vector of float)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  0 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  1 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  2 (const int)
0:23            Constant:
0:23              0 (const int)
0:23          direct index ( temp float)
0:23            unpackHalf2x16 ( temp 2-component vector of float)
0:23              direct index ( temp uint)
0:23                'inF0' ( in 4-component vector of uint)
0:23                Constant:
0:23                  3 (const int)
0:23            Constant:
0:23              0 (const int)
0:27  Function Definition: @main( ( temp 4-component vector of float)
0:27    Function Parameters: 
0:?     Sequence
0:28      Branch: Return with expression
0:28        Constant:
0:28          0.000000
0:28          0.000000
0:28          0.000000
0:28          0.000000
0:27  Function Definition: main( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:27        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 106

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 104
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "PixelShaderFunctionS(u1;"
                              Name 10  "inF0"
                              Name 14  "PixelShaderFunction1(vu1;"
                              Name 13  "inF0"
                              Name 21  "PixelShaderFunction2(vu2;"
                              Name 20  "inF0"
                              Name 28  "PixelShaderFunction3(vu3;"
                              Name 27  "inF0"
                              Name 35  "PixelShaderFunction(vu4;"
                              Name 34  "inF0"
                              Name 38  "@main("
                              Name 104  "@entryPointOutput"
                              Decorate 104(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               8:             TypeFloat 32
               9:             TypeFunction 8(float) 7(ptr)
              16:             TypeVector 6(int) 2
              17:             TypePointer Function 16(ivec2)
              18:             TypeVector 8(float) 2
              19:             TypeFunction 18(fvec2) 17(ptr)
              23:             TypeVector 6(int) 3
              24:             TypePointer Function 23(ivec3)
              25:             TypeVector 8(float) 3
              26:             TypeFunction 25(fvec3) 24(ptr)
              30:             TypeVector 6(int) 4
              31:             TypePointer Function 30(ivec4)
              32:             TypeVector 8(float) 4
              33:             TypeFunction 32(fvec4) 31(ptr)
              37:             TypeFunction 32(fvec4)
              42:      6(int) Constant 0
              55:      6(int) Constant 1
              71:      6(int) Constant 2
              91:      6(int) Constant 3
              99:    8(float) Constant 0
             100:   32(fvec4) ConstantComposite 99 99 99 99
             103:             TypePointer Output 32(fvec4)
104(@entryPointOutput):    103(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
             105:   32(fvec4) FunctionCall 38(@main()
                              Store 104(@entryPointOutput) 105
                              Return
                              FunctionEnd
11(PixelShaderFunctionS(u1;):    8(float) Function None 9
        10(inF0):      7(ptr) FunctionParameter
              12:             Label
              40:      6(int) Load 10(inF0)
              41:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 40
              43:    8(float) CompositeExtract 41 0
                              ReturnValue 43
                              FunctionEnd
14(PixelShaderFunction1(vu1;):    8(float) Function None 9
        13(inF0):      7(ptr) FunctionParameter
              15:             Label
              46:      6(int) Load 13(inF0)
              47:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 46
              48:    8(float) CompositeExtract 47 0
                              ReturnValue 48
                              FunctionEnd
21(PixelShaderFunction2(vu2;):   18(fvec2) Function None 19
        20(inF0):     17(ptr) FunctionParameter
              22:             Label
              51:      7(ptr) AccessChain 20(inF0) 42
              52:      6(int) Load 51
              53:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 52
              54:    8(float) CompositeExtract 53 0
              56:      7(ptr) AccessChain 20(inF0) 55
              57:      6(int) Load 56
              58:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 57
              59:    8(float) CompositeExtract 58 0
              60:   18(fvec2) CompositeConstruct 54 59
                              ReturnValue 60
                              FunctionEnd
28(PixelShaderFunction3(vu3;):   25(fvec3) Function None 26
        27(inF0):     24(ptr) FunctionParameter
              29:             Label
              63:      7(ptr) AccessChain 27(inF0) 42
              64:      6(int) Load 63
              65:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 64
              66:    8(float) CompositeExtract 65 0
              67:      7(ptr) AccessChain 27(inF0) 55
              68:      6(int) Load 67
              69:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 68
              70:    8(float) CompositeExtract 69 0
              72:      7(ptr) AccessChain 27(inF0) 71
              73:      6(int) Load 72
              74:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 73
              75:    8(float) CompositeExtract 74 0
              76:   25(fvec3) CompositeConstruct 66 70 75
                              ReturnValue 76
                              FunctionEnd
35(PixelShaderFunction(vu4;):   32(fvec4) Function None 33
        34(inF0):     31(ptr) FunctionParameter
              36:             Label
              79:      7(ptr) AccessChain 34(inF0) 42
              80:      6(int) Load 79
              81:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 80
              82:    8(float) CompositeExtract 81 0
              83:      7(ptr) AccessChain 34(inF0) 55
              84:      6(int) Load 83
              85:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 84
              86:    8(float) CompositeExtract 85 0
              87:      7(ptr) AccessChain 34(inF0) 71
              88:      6(int) Load 87
              89:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 88
              90:    8(float) CompositeExtract 89 0
              92:      7(ptr) AccessChain 34(inF0) 91
              93:      6(int) Load 92
              94:   18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 93
              95:    8(float) CompositeExtract 94 0
              96:   32(fvec4) CompositeConstruct 82 86 90 95
                              ReturnValue 96
                              FunctionEnd
      38(@main():   32(fvec4) Function None 37
              39:             Label
                              ReturnValue 100
                              FunctionEnd
