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' (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' (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) 1 RelaxedPrecision
                              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
