hlsl.PointSize.vert
Shader version: 500
0:? Sequence
0:2  Function Definition: @main( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          2.300000
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' ( out float PointSize)
0:2        Function Call: @main( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out float PointSize)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:2  Function Definition: @main( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          2.300000
0:2  Function Definition: main( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' ( out float PointSize)
0:2        Function Call: @main( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out float PointSize)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 14
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "@main("
                              Name 14  "@entryPointOutput"
                              Decorate 14(@entryPointOutput) BuiltIn PointSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeFunction 6(float)
              10:    6(float) Constant 1075000115
              13:             TypePointer Output 6(float)
14(@entryPointOutput):     13(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              15:    6(float) FunctionCall 8(@main()
                              Store 14(@entryPointOutput) 15
                              Return
                              FunctionEnd
       8(@main():    6(float) Function None 7
               9:             Label
                              ReturnValue 10
                              FunctionEnd
