hlsl.mintypes.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:9  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:9    Function Parameters: 
0:?     Sequence
0:40      add ( temp mediump 2-component vector of float)
0:40        'mf16_2' ( temp mediump 2-component vector of float)
0:40        'mf16' ( temp mediump float)
0:41      add ( temp mediump 2-component vector of float)
0:41        'mf10_2' ( temp mediump 2-component vector of float)
0:41        'mf10' ( temp mediump float)
0:42      add ( temp mediump 2-component vector of int)
0:42        'mi16_2' ( temp mediump 2-component vector of int)
0:42        'mi16' ( temp mediump int)
0:43      add ( temp mediump 2-component vector of int)
0:43        'mi12_2' ( temp mediump 2-component vector of int)
0:43        'mi12' ( temp mediump int)
0:44      add ( temp mediump 2-component vector of uint)
0:44        'mu16_2' ( temp mediump 2-component vector of uint)
0:44        'mu16' ( temp mediump uint)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        Color: direct index for structure ( temp 4-component vector of float)
0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:48      Branch: Return with expression
0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      Sequence
0:9        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:9          Color: direct index for structure ( temp 4-component vector of float)
0:9            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:9            Constant:
0:9              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a,  uniform mediump float b1b})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:9  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:9    Function Parameters: 
0:?     Sequence
0:40      add ( temp mediump 2-component vector of float)
0:40        'mf16_2' ( temp mediump 2-component vector of float)
0:40        'mf16' ( temp mediump float)
0:41      add ( temp mediump 2-component vector of float)
0:41        'mf10_2' ( temp mediump 2-component vector of float)
0:41        'mf10' ( temp mediump float)
0:42      add ( temp mediump 2-component vector of int)
0:42        'mi16_2' ( temp mediump 2-component vector of int)
0:42        'mi16' ( temp mediump int)
0:43      add ( temp mediump 2-component vector of int)
0:43        'mi12_2' ( temp mediump 2-component vector of int)
0:43        'mi12' ( temp mediump int)
0:44      add ( temp mediump 2-component vector of uint)
0:44        'mu16_2' ( temp mediump 2-component vector of uint)
0:44        'mu16' ( temp mediump uint)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        Color: direct index for structure ( temp 4-component vector of float)
0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:47          0.000000
0:48      Branch: Return with expression
0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      Sequence
0:9        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:9          Color: direct index for structure ( temp 4-component vector of float)
0:9            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:9            Constant:
0:9              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a,  uniform mediump float b1b})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 64
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              Name 10  "@main("
                              Name 14  "mf16_2"
                              Name 17  "mf16"
                              Name 21  "mf10_2"
                              Name 23  "mf10"
                              Name 30  "mi16_2"
                              Name 33  "mi16"
                              Name 37  "mi12_2"
                              Name 39  "mi12"
                              Name 46  "mu16_2"
                              Name 49  "mu16"
                              Name 54  "psout"
                              Name 64  "@entryPointOutput.Color"
                              Name 67  "$Global"
                              MemberName 67($Global) 0  "b1a"
                              MemberName 67($Global) 1  "b1b"
                              Name 69  ""
                              Decorate 14(mf16_2) RelaxedPrecision
                              Decorate 15 RelaxedPrecision
                              Decorate 17(mf16) RelaxedPrecision
                              Decorate 18 RelaxedPrecision
                              Decorate 19 RelaxedPrecision
                              Decorate 20 RelaxedPrecision
                              Decorate 21(mf10_2) RelaxedPrecision
                              Decorate 22 RelaxedPrecision
                              Decorate 23(mf10) RelaxedPrecision
                              Decorate 24 RelaxedPrecision
                              Decorate 25 RelaxedPrecision
                              Decorate 26 RelaxedPrecision
                              Decorate 30(mi16_2) RelaxedPrecision
                              Decorate 31 RelaxedPrecision
                              Decorate 33(mi16) RelaxedPrecision
                              Decorate 34 RelaxedPrecision
                              Decorate 35 RelaxedPrecision
                              Decorate 36 RelaxedPrecision
                              Decorate 37(mi12_2) RelaxedPrecision
                              Decorate 38 RelaxedPrecision
                              Decorate 39(mi12) RelaxedPrecision
                              Decorate 40 RelaxedPrecision
                              Decorate 41 RelaxedPrecision
                              Decorate 42 RelaxedPrecision
                              Decorate 46(mu16_2) RelaxedPrecision
                              Decorate 47 RelaxedPrecision
                              Decorate 49(mu16) RelaxedPrecision
                              Decorate 50 RelaxedPrecision
                              Decorate 51 RelaxedPrecision
                              Decorate 52 RelaxedPrecision
                              Decorate 64(@entryPointOutput.Color) Location 0
                              MemberDecorate 67($Global) 0 RelaxedPrecision
                              MemberDecorate 67($Global) 0 Offset 0
                              MemberDecorate 67($Global) 1 RelaxedPrecision
                              MemberDecorate 67($Global) 1 Offset 4
                              Decorate 67($Global) Block
                              Decorate 69 DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypeVector 6(float) 2
              13:             TypePointer Function 12(fvec2)
              16:             TypePointer Function 6(float)
              27:             TypeInt 32 1
              28:             TypeVector 27(int) 2
              29:             TypePointer Function 28(ivec2)
              32:             TypePointer Function 27(int)
              43:             TypeInt 32 0
              44:             TypeVector 43(int) 2
              45:             TypePointer Function 44(ivec2)
              48:             TypePointer Function 43(int)
              53:             TypePointer Function 8(PS_OUTPUT)
              55:     27(int) Constant 0
              56:    6(float) Constant 0
              57:    7(fvec4) ConstantComposite 56 56 56 56
              58:             TypePointer Function 7(fvec4)
              63:             TypePointer Output 7(fvec4)
64(@entryPointOutput.Color):     63(ptr) Variable Output
     67($Global):             TypeStruct 6(float) 6(float)
              68:             TypePointer Uniform 67($Global)
              69:     68(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
              65:8(PS_OUTPUT) FunctionCall 10(@main()
              66:    7(fvec4) CompositeExtract 65 0
                              Store 64(@entryPointOutput.Color) 66
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
      14(mf16_2):     13(ptr) Variable Function
        17(mf16):     16(ptr) Variable Function
      21(mf10_2):     13(ptr) Variable Function
        23(mf10):     16(ptr) Variable Function
      30(mi16_2):     29(ptr) Variable Function
        33(mi16):     32(ptr) Variable Function
      37(mi12_2):     29(ptr) Variable Function
        39(mi12):     32(ptr) Variable Function
      46(mu16_2):     45(ptr) Variable Function
        49(mu16):     48(ptr) Variable Function
       54(psout):     53(ptr) Variable Function
              15:   12(fvec2) Load 14(mf16_2)
              18:    6(float) Load 17(mf16)
              19:   12(fvec2) CompositeConstruct 18 18
              20:   12(fvec2) FAdd 15 19
              22:   12(fvec2) Load 21(mf10_2)
              24:    6(float) Load 23(mf10)
              25:   12(fvec2) CompositeConstruct 24 24
              26:   12(fvec2) FAdd 22 25
              31:   28(ivec2) Load 30(mi16_2)
              34:     27(int) Load 33(mi16)
              35:   28(ivec2) CompositeConstruct 34 34
              36:   28(ivec2) IAdd 31 35
              38:   28(ivec2) Load 37(mi12_2)
              40:     27(int) Load 39(mi12)
              41:   28(ivec2) CompositeConstruct 40 40
              42:   28(ivec2) IAdd 38 41
              47:   44(ivec2) Load 46(mu16_2)
              50:     43(int) Load 49(mu16)
              51:   44(ivec2) CompositeConstruct 50 50
              52:   44(ivec2) IAdd 47 51
              59:     58(ptr) AccessChain 54(psout) 55
                              Store 59 57
              60:8(PS_OUTPUT) Load 54(psout)
                              ReturnValue 60
                              FunctionEnd
