hlsl.scalar-length.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @main( ( temp 4-component vector of float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp 4-component vector of float)
0:3          'test' ( temp 4-component vector of float)
0:3          Constant:
0:3            0.000000
0:3            1.000000
0:3            2.000000
0:3            3.000000
0:5      Branch: Return with expression
0:5        Construct vec4 ( temp 4-component vector of float)
0:5          length ( temp float)
0:5            direct index ( temp float)
0:5              'test' ( temp 4-component vector of float)
0:5              Constant:
0:5                3 (const int)
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @main( ( temp 4-component vector of float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp 4-component vector of float)
0:3          'test' ( temp 4-component vector of float)
0:3          Constant:
0:3            0.000000
0:3            1.000000
0:3            2.000000
0:3            3.000000
0:5      Branch: Return with expression
0:5        Construct vec4 ( temp 4-component vector of float)
0:5          length ( temp float)
0:5            direct index ( temp float)
0:5              'test' ( temp 4-component vector of float)
0:5              Constant:
0:5                3 (const int)
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 30

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 28
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "@main("
                              Name 12  "test"
                              Name 28  "@entryPointOutput"
                              Decorate 28(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypePointer Function 7(fvec4)
              13:    6(float) Constant 0
              14:    6(float) Constant 1065353216
              15:    6(float) Constant 1073741824
              16:    6(float) Constant 1077936128
              17:    7(fvec4) ConstantComposite 13 14 15 16
              18:             TypeInt 32 0
              19:     18(int) Constant 3
              20:             TypePointer Function 6(float)
              27:             TypePointer Output 7(fvec4)
28(@entryPointOutput):     27(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              29:    7(fvec4) FunctionCall 9(@main()
                              Store 28(@entryPointOutput) 29
                              Return
                              FunctionEnd
       9(@main():    7(fvec4) Function None 8
              10:             Label
        12(test):     11(ptr) Variable Function
                              Store 12(test) 17
              21:     20(ptr) AccessChain 12(test) 19
              22:    6(float) Load 21
              23:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 22
              24:    7(fvec4) CompositeConstruct 23 23 23 23
                              ReturnValue 24
                              FunctionEnd
