hlsl.precise.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:6  Function Definition: MyFunction(f1;vf3; ( temp void)
0:6    Function Parameters: 
0:6      'myfloat' ( noContraction in float)
0:6      'myfloat3' ( noContraction out 3-component vector of float)
0:9  Function Definition: @main( ( temp structure{ noContraction temp 4-component vector of float color})
0:9    Function Parameters: 
0:?     Sequence
0:11      move second child to first child ( noContraction temp 4-component vector of float)
0:11        color: direct index for structure ( noContraction temp 4-component vector of float)
0:11          'ps_output' ( temp structure{ noContraction temp 4-component vector of float color})
0:11          Constant:
0:11            0 (const int)
0:11        Constant:
0:11          1.000000
0:11          1.000000
0:11          1.000000
0:11          1.000000
0:12      Branch: Return with expression
0:12        'ps_output' ( temp structure{ noContraction temp 4-component vector of float color})
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      Sequence
0:9        move second child to first child ( noContraction temp 4-component vector of float)
0:?           '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)
0:9          color: direct index for structure ( noContraction temp 4-component vector of float)
0:9            Function Call: @main( ( temp structure{ noContraction temp 4-component vector of float color})
0:9            Constant:
0:9              0 (const int)
0:?   Linker Objects
0:?     'precisefloat' ( noContraction global float)
0:?     '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:6  Function Definition: MyFunction(f1;vf3; ( temp void)
0:6    Function Parameters: 
0:6      'myfloat' ( noContraction in float)
0:6      'myfloat3' ( noContraction out 3-component vector of float)
0:9  Function Definition: @main( ( temp structure{ noContraction temp 4-component vector of float color})
0:9    Function Parameters: 
0:?     Sequence
0:11      move second child to first child ( noContraction temp 4-component vector of float)
0:11        color: direct index for structure ( noContraction temp 4-component vector of float)
0:11          'ps_output' ( temp structure{ noContraction temp 4-component vector of float color})
0:11          Constant:
0:11            0 (const int)
0:11        Constant:
0:11          1.000000
0:11          1.000000
0:11          1.000000
0:11          1.000000
0:12      Branch: Return with expression
0:12        'ps_output' ( temp structure{ noContraction temp 4-component vector of float color})
0:9  Function Definition: main( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      Sequence
0:9        move second child to first child ( noContraction temp 4-component vector of float)
0:?           '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)
0:9          color: direct index for structure ( noContraction temp 4-component vector of float)
0:9            Function Call: @main( ( temp structure{ noContraction temp 4-component vector of float color})
0:9            Constant:
0:9              0 (const int)
0:?   Linker Objects
0:?     'precisefloat' ( noContraction global float)
0:?     '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 32
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 13  "MyFunction(f1;vf3;"
                              Name 11  "myfloat"
                              Name 12  "myfloat3"
                              Name 16  "PS_OUTPUT"
                              MemberName 16(PS_OUTPUT) 0  "color"
                              Name 18  "@main("
                              Name 21  "ps_output"
                              Name 32  "@entryPointOutput.color"
                              Name 36  "precisefloat"
                              Decorate 32(@entryPointOutput.color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
               8:             TypeVector 6(float) 3
               9:             TypePointer Function 8(fvec3)
              10:             TypeFunction 2 7(ptr) 9(ptr)
              15:             TypeVector 6(float) 4
   16(PS_OUTPUT):             TypeStruct 15(fvec4)
              17:             TypeFunction 16(PS_OUTPUT)
              20:             TypePointer Function 16(PS_OUTPUT)
              22:             TypeInt 32 1
              23:     22(int) Constant 0
              24:    6(float) Constant 1065353216
              25:   15(fvec4) ConstantComposite 24 24 24 24
              26:             TypePointer Function 15(fvec4)
              31:             TypePointer Output 15(fvec4)
32(@entryPointOutput.color):     31(ptr) Variable Output
              35:             TypePointer Private 6(float)
36(precisefloat):     35(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
              33:16(PS_OUTPUT) FunctionCall 18(@main()
              34:   15(fvec4) CompositeExtract 33 0
                              Store 32(@entryPointOutput.color) 34
                              Return
                              FunctionEnd
13(MyFunction(f1;vf3;):           2 Function None 10
     11(myfloat):      7(ptr) FunctionParameter
    12(myfloat3):      9(ptr) FunctionParameter
              14:             Label
                              Return
                              FunctionEnd
      18(@main():16(PS_OUTPUT) Function None 17
              19:             Label
   21(ps_output):     20(ptr) Variable Function
              27:     26(ptr) AccessChain 21(ps_output) 23
                              Store 27 25
              28:16(PS_OUTPUT) Load 21(ps_output)
                              ReturnValue 28
                              FunctionEnd
