hlsl.depthLess.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2  Function Definition: @PixelShaderFunction( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          0.200000
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' ( out float FragDepth)
0:2        Function Call: @PixelShaderFunction( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out float FragDepth)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2  Function Definition: @PixelShaderFunction( ( temp float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          0.200000
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp float)
0:?         '@entryPointOutput' ( out float FragDepth)
0:2        Function Call: @PixelShaderFunction( ( temp float)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out float FragDepth)

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

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