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

                              Capability Shader
                              Capability Geometry
                              Capability MultiViewport
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 14 19
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 430
                              Name 4  "main"
                              Name 9  "color"
                              Name 14  "gl_Layer"
                              Name 19  "gl_ViewportIndex"
                              Decorate 9(color) Location 0
                              Decorate 14(gl_Layer) Flat
                              Decorate 14(gl_Layer) BuiltIn Layer
                              Decorate 19(gl_ViewportIndex) Flat
                              Decorate 19(gl_ViewportIndex) BuiltIn ViewportIndex
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
              10:    6(float) Constant 1065353216
              11:    7(fvec4) ConstantComposite 10 10 10 10
              12:             TypeInt 32 1
              13:             TypePointer Input 12(int)
    14(gl_Layer):     13(ptr) Variable Input
19(gl_ViewportIndex):     13(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
                              Store 9(color) 11
              15:     12(int) Load 14(gl_Layer)
              16:    6(float) ConvertSToF 15
              17:    7(fvec4) Load 9(color)
              18:    7(fvec4) VectorTimesScalar 17 16
                              Store 9(color) 18
              20:     12(int) Load 19(gl_ViewportIndex)
              21:    6(float) ConvertSToF 20
              22:    7(fvec4) Load 9(color)
              23:    7(fvec4) VectorTimesScalar 22 21
                              Store 9(color) 23
                              Return
                              FunctionEnd
