hlsl.precedence.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7    Function Parameters: 
0:7      'a1' (in 4-component vector of float)
0:7      'a2' (in 4-component vector of float)
0:7      'a3' (in 4-component vector of float)
0:7      'a4' (in 4-component vector of float)
0:?     Sequence
0:8      Branch: Return with expression
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' (in 4-component vector of float)
0:8              component-wise multiply (temp 4-component vector of float)
0:8                'a2' (in 4-component vector of float)
0:8                'a3' (in 4-component vector of float)
0:8            'a4' (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' (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' (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' (in 4-component vector of float)
0:8              Constant:
0:8                3 (const int)
0:?   Linker Objects


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7    Function Parameters: 
0:7      'a1' (in 4-component vector of float)
0:7      'a2' (in 4-component vector of float)
0:7      'a3' (in 4-component vector of float)
0:7      'a4' (in 4-component vector of float)
0:?     Sequence
0:8      Branch: Return with expression
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' (in 4-component vector of float)
0:8              component-wise multiply (temp 4-component vector of float)
0:8                'a2' (in 4-component vector of float)
0:8                'a3' (in 4-component vector of float)
0:8            'a4' (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' (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' (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' (in 4-component vector of float)
0:8              Constant:
0:8                3 (const int)
0:?   Linker Objects

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

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