spv.shadingRate.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 21

                              Capability Shader
                              Capability ShadingRateNV
                              Extension  "SPV_NV_shading_rate"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 13 17 19
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_NV_shading_rate_image"
                              Name 4  "main"
                              Name 9  "FragmentSize"
                              Name 13  "gl_FragmentSizeNV"
                              Name 17  "InvocationsPerPixel"
                              Name 19  "gl_InvocationsPerPixelNV"
                              Decorate 9(FragmentSize) Location 0
                              Decorate 13(gl_FragmentSizeNV) Flat
                              Decorate 13(gl_FragmentSizeNV) BuiltIn FragmentSizeNV
                              Decorate 17(InvocationsPerPixel) Location 2
                              Decorate 19(gl_InvocationsPerPixelNV) Flat
                              Decorate 19(gl_InvocationsPerPixelNV) BuiltIn InvocationsPerPixelNV
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypePointer Output 7(fvec2)
 9(FragmentSize):      8(ptr) Variable Output
              10:             TypeInt 32 1
              11:             TypeVector 10(int) 2
              12:             TypePointer Input 11(ivec2)
13(gl_FragmentSizeNV):     12(ptr) Variable Input
              16:             TypePointer Output 10(int)
17(InvocationsPerPixel):     16(ptr) Variable Output
              18:             TypePointer Input 10(int)
19(gl_InvocationsPerPixelNV):     18(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              14:   11(ivec2) Load 13(gl_FragmentSizeNV)
              15:    7(fvec2) ConvertSToF 14
                              Store 9(FragmentSize) 15
              20:     10(int) Load 19(gl_InvocationsPerPixelNV)
                              Store 17(InvocationsPerPixel) 20
                              Return
                              FunctionEnd
