hlsl.precedence.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'a1' (layout(location=0 ) in 4-component vector of float)
0:7      'a2' (layout(location=1 ) in 4-component vector of float)
0:7      'a3' (layout(location=2 ) in 4-component vector of float)
0:7      'a4' (layout(location=3 ) in 4-component vector of float)
0:?     Sequence
0:8      Sequence
0:8        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8          add (temp 4-component vector of float)
0:8            add (temp 4-component vector of float)
0:8              add (temp 4-component vector of float)
0:8                'a1' (layout(location=0 ) in 4-component vector of float)
0:8                component-wise multiply (temp 4-component vector of float)
0:8                  'a2' (layout(location=1 ) in 4-component vector of float)
0:8                  'a3' (layout(location=2 ) in 4-component vector of float)
0:8              'a4' (layout(location=3 ) in 4-component vector of float)
0:?             Construct vec4 (temp 4-component vector of float)
0:8              component-wise multiply (temp 3-component vector of float)
0:8                vector swizzle (temp 3-component vector of float)
0:8                  'a1' (layout(location=0 ) in 4-component vector of float)
0:8                  Sequence
0:8                    Constant:
0:8                      0 (const int)
0:8                    Constant:
0:8                      1 (const int)
0:8                    Constant:
0:8                      2 (const int)
0:8                vector swizzle (temp 3-component vector of float)
0:8                  'a2' (layout(location=1 ) in 4-component vector of float)
0:8                  Sequence
0:8                    Constant:
0:8                      0 (const int)
0:8                    Constant:
0:8                      1 (const int)
0:8                    Constant:
0:8                      2 (const int)
0:8              direct index (temp float)
0:8                'a3' (layout(location=2 ) in 4-component vector of float)
0:8                Constant:
0:8                  3 (const int)
0:8        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     'a1' (layout(location=0 ) in 4-component vector of float)
0:?     'a2' (layout(location=1 ) in 4-component vector of float)
0:?     'a3' (layout(location=2 ) in 4-component vector of float)
0:?     'a4' (layout(location=3 ) in 4-component vector of float)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'a1' (layout(location=0 ) in 4-component vector of float)
0:7      'a2' (layout(location=1 ) in 4-component vector of float)
0:7      'a3' (layout(location=2 ) in 4-component vector of float)
0:7      'a4' (layout(location=3 ) in 4-component vector of float)
0:?     Sequence
0:8      Sequence
0:8        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8          add (temp 4-component vector of float)
0:8            add (temp 4-component vector of float)
0:8              add (temp 4-component vector of float)
0:8                'a1' (layout(location=0 ) in 4-component vector of float)
0:8                component-wise multiply (temp 4-component vector of float)
0:8                  'a2' (layout(location=1 ) in 4-component vector of float)
0:8                  'a3' (layout(location=2 ) in 4-component vector of float)
0:8              'a4' (layout(location=3 ) in 4-component vector of float)
0:?             Construct vec4 (temp 4-component vector of float)
0:8              component-wise multiply (temp 3-component vector of float)
0:8                vector swizzle (temp 3-component vector of float)
0:8                  'a1' (layout(location=0 ) in 4-component vector of float)
0:8                  Sequence
0:8                    Constant:
0:8                      0 (const int)
0:8                    Constant:
0:8                      1 (const int)
0:8                    Constant:
0:8                      2 (const int)
0:8                vector swizzle (temp 3-component vector of float)
0:8                  'a2' (layout(location=1 ) in 4-component vector of float)
0:8                  Sequence
0:8                    Constant:
0:8                      0 (const int)
0:8                    Constant:
0:8                      1 (const int)
0:8                    Constant:
0:8                      2 (const int)
0:8              direct index (temp float)
0:8                'a3' (layout(location=2 ) in 4-component vector of float)
0:8                Constant:
0:8                  3 (const int)
0:8        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     'a1' (layout(location=0 ) in 4-component vector of float)
0:?     'a2' (layout(location=1 ) in 4-component vector of float)
0:?     'a3' (layout(location=2 ) in 4-component vector of float)
0:?     'a4' (layout(location=3 ) in 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 9 11 13 15 19
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "PixelShaderFunction"
                              Name 9  "@entryPointOutput"
                              Name 11  "a1"
                              Name 13  "a2"
                              Name 15  "a3"
                              Name 19  "a4"
                              Decorate 9(@entryPointOutput) Location 0
                              Decorate 11(a1) Location 0
                              Decorate 13(a2) Location 1
                              Decorate 15(a3) Location 2
                              Decorate 19(a4) Location 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
9(@entryPointOutput):      8(ptr) Variable Output
              10:             TypePointer Input 7(fvec4)
          11(a1):     10(ptr) Variable Input
          13(a2):     10(ptr) Variable Input
          15(a3):     10(ptr) Variable Input
          19(a4):     10(ptr) Variable Input
              22:             TypeVector 6(float) 3
              28:             TypeInt 32 0
              29:     28(int) Constant 3
              30:             TypePointer Input 6(float)
4(PixelShaderFunction):           2 Function None 3
               5:             Label
              12:    7(fvec4) Load 11(a1)
              14:    7(fvec4) Load 13(a2)
              16:    7(fvec4) Load 15(a3)
              17:    7(fvec4) FMul 14 16
              18:    7(fvec4) FAdd 12 17
              20:    7(fvec4) Load 19(a4)
              21:    7(fvec4) FAdd 18 20
              23:    7(fvec4) Load 11(a1)
              24:   22(fvec3) VectorShuffle 23 23 0 1 2
              25:    7(fvec4) Load 13(a2)
              26:   22(fvec3) VectorShuffle 25 25 0 1 2
              27:   22(fvec3) FMul 24 26
              31:     30(ptr) AccessChain 15(a3) 29
              32:    6(float) Load 31
              33:    6(float) CompositeExtract 27 0
              34:    6(float) CompositeExtract 27 1
              35:    6(float) CompositeExtract 27 2
              36:    7(fvec4) CompositeConstruct 33 34 35 32
              37:    7(fvec4) FAdd 21 36
                              Store 9(@entryPointOutput) 37
                              Return
                              FunctionEnd
