spv.earlyAndlateFragmentTests.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 16

                              Capability Shader
                              Extension  "SPV_AMD_shader_early_and_late_fragment_tests"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 11
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 EarlyAndLateFragmentTestsAMD
                              ExecutionMode 4 DepthReplacing
                              ExecutionMode 4 DepthLess
                              Source GLSL 450
                              SourceExtension  "GL_ARB_fragment_shader_interlock"
                              SourceExtension  "GL_ARB_shader_stencil_export"
                              SourceExtension  "GL_EXT_fragment_shading_rate"
                              Name 4  "main"
                              Name 8  "gl_FragDepth"
                              Name 11  "instanceIndex"
                              Decorate 8(gl_FragDepth) BuiltIn FragDepth
                              Decorate 11(instanceIndex) Flat
                              Decorate 11(instanceIndex) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Output 6(float)
 8(gl_FragDepth):      7(ptr) Variable Output
               9:             TypeInt 32 1
              10:             TypePointer Input 9(int)
11(instanceIndex):     10(ptr) Variable Input
              14:    6(float) Constant 1117913088
         4(main):           2 Function None 3
               5:             Label
              12:      9(int) Load 11(instanceIndex)
              13:    6(float) ConvertSToF 12
              15:    6(float) FDiv 13 14
                              Store 8(gl_FragDepth) 15
                              Return
                              FunctionEnd
