hlsl.mintypes.frag
Shader version: 450
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      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color})
0:48              Constant:
0:48                0 (const int)
0:48        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})


Linked fragment stage:


Shader version: 450
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      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color})
0:48              Constant:
0:48                0 (const int)
0:48        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})

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

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