spv.depthOut.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 15

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 10 14
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 DepthReplacing
                              ExecutionMode 4 DepthGreater
                              Source GLSL 450
                              Name 4  "main"
                              Name 8  "gl_FragDepth"
                              Name 10  "Depth"
                              Name 14  "Color"
                              Decorate 8(gl_FragDepth) BuiltIn FragDepth
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Output 6(float)
 8(gl_FragDepth):      7(ptr) Variable Output
               9:             TypePointer Input 6(float)
       10(Depth):      9(ptr) Variable Input
              12:             TypeVector 6(float) 4
              13:             TypePointer Input 12(fvec4)
       14(Color):     13(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              11:    6(float) Load 10(Depth)
                              Store 8(gl_FragDepth) 11
                              Return
                              FunctionEnd
