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): 80008
// 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 DepthReplacing
                              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
