hlsl.coverage.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:15  Function Definition: @main(struct-PS_INPUT1; ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15    Function Parameters: 
0:15      'i' ( in structure{})
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:17        vColor: direct index for structure ( temp 4-component vector of float)
0:17          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:17          Constant:
0:17            0 (const int)
0:17        Constant:
0:17          1.000000
0:17          0.000000
0:17          0.000000
0:17          1.000000
0:18      move second child to first child ( temp uint)
0:18        nCoverageMask: direct index for structure ( temp uint)
0:18          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:18          Constant:
0:18            1 (const int)
0:18        Constant:
0:18          0 (const uint)
0:19      Branch: Return with expression
0:19        'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15  Function Definition: main( ( temp void)
0:15    Function Parameters: 
0:?     Sequence
0:15      Sequence
0:15        move second child to first child ( temp structure{})
0:?           'i' ( temp structure{})
0:?           'i' ( in structure{})
0:15      Sequence
0:15        move second child to first child ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15          'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15          Function Call: @main(struct-PS_INPUT1; ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:?             'i' ( temp structure{})
0:15        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)
0:15          vColor: direct index for structure ( temp 4-component vector of float)
0:15            'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15            Constant:
0:15              0 (const int)
0:15        move second child to first child ( temp uint)
0:15          direct index ( out uint SampleMaskIn)
0:?             '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
0:15            Constant:
0:15              0 (const int)
0:15          nCoverageMask: direct index for structure ( temp uint)
0:15            'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15            Constant:
0:15              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
0:?     '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:15  Function Definition: @main(struct-PS_INPUT1; ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15    Function Parameters: 
0:15      'i' ( in structure{})
0:?     Sequence
0:17      move second child to first child ( temp 4-component vector of float)
0:17        vColor: direct index for structure ( temp 4-component vector of float)
0:17          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:17          Constant:
0:17            0 (const int)
0:17        Constant:
0:17          1.000000
0:17          0.000000
0:17          0.000000
0:17          1.000000
0:18      move second child to first child ( temp uint)
0:18        nCoverageMask: direct index for structure ( temp uint)
0:18          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:18          Constant:
0:18            1 (const int)
0:18        Constant:
0:18          0 (const uint)
0:19      Branch: Return with expression
0:19        'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15  Function Definition: main( ( temp void)
0:15    Function Parameters: 
0:?     Sequence
0:15      Sequence
0:15        move second child to first child ( temp structure{})
0:?           'i' ( temp structure{})
0:?           'i' ( in structure{})
0:15      Sequence
0:15        move second child to first child ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15          'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15          Function Call: @main(struct-PS_INPUT1; ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:?             'i' ( temp structure{})
0:15        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)
0:15          vColor: direct index for structure ( temp 4-component vector of float)
0:15            'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15            Constant:
0:15              0 (const int)
0:15        move second child to first child ( temp uint)
0:15          direct index ( out uint SampleMaskIn)
0:?             '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
0:15            Constant:
0:15              0 (const int)
0:15          nCoverageMask: direct index for structure ( temp uint)
0:15            'flattenTemp' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
0:15            Constant:
0:15              1 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
0:?     '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)

Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 52

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 41 47
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 6  "PS_INPUT"
                              Name 11  "PS_OUTPUT"
                              MemberName 11(PS_OUTPUT) 0  "vColor"
                              MemberName 11(PS_OUTPUT) 1  "nCoverageMask"
                              Name 14  "@main(struct-PS_INPUT1;"
                              Name 13  "i"
                              Name 17  "o"
                              Name 32  "i"
                              Name 34  "i"
                              Name 36  "flattenTemp"
                              Name 37  "param"
                              Name 41  "@entryPointOutput.vColor"
                              Name 47  "@entryPointOutput.nCoverageMask"
                              Decorate 41(@entryPointOutput.vColor) Location 0
                              Decorate 47(@entryPointOutput.nCoverageMask) BuiltIn SampleMask
               2:             TypeVoid
               3:             TypeFunction 2
     6(PS_INPUT):             TypeStruct
               7:             TypePointer Function 6(PS_INPUT)
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
              10:             TypeInt 32 0
   11(PS_OUTPUT):             TypeStruct 9(fvec4) 10(int)
              12:             TypeFunction 11(PS_OUTPUT) 7(ptr)
              16:             TypePointer Function 11(PS_OUTPUT)
              18:             TypeInt 32 1
              19:     18(int) Constant 0
              20:    8(float) Constant 1065353216
              21:    8(float) Constant 0
              22:    9(fvec4) ConstantComposite 20 21 21 20
              23:             TypePointer Function 9(fvec4)
              25:     18(int) Constant 1
              26:     10(int) Constant 0
              27:             TypePointer Function 10(int)
              33:             TypePointer Input 6(PS_INPUT)
           34(i):     33(ptr) Variable Input
              40:             TypePointer Output 9(fvec4)
41(@entryPointOutput.vColor):     40(ptr) Variable Output
              44:     10(int) Constant 1
              45:             TypeArray 10(int) 44
              46:             TypePointer Output 45
47(@entryPointOutput.nCoverageMask):     46(ptr) Variable Output
              50:             TypePointer Output 10(int)
         4(main):           2 Function None 3
               5:             Label
           32(i):      7(ptr) Variable Function
 36(flattenTemp):     16(ptr) Variable Function
       37(param):      7(ptr) Variable Function
              35: 6(PS_INPUT) Load 34(i)
                              Store 32(i) 35
              38: 6(PS_INPUT) Load 32(i)
                              Store 37(param) 38
              39:11(PS_OUTPUT) FunctionCall 14(@main(struct-PS_INPUT1;) 37(param)
                              Store 36(flattenTemp) 39
              42:     23(ptr) AccessChain 36(flattenTemp) 19
              43:    9(fvec4) Load 42
                              Store 41(@entryPointOutput.vColor) 43
              48:     27(ptr) AccessChain 36(flattenTemp) 25
              49:     10(int) Load 48
              51:     50(ptr) AccessChain 47(@entryPointOutput.nCoverageMask) 19
                              Store 51 49
                              Return
                              FunctionEnd
14(@main(struct-PS_INPUT1;):11(PS_OUTPUT) Function None 12
           13(i):      7(ptr) FunctionParameter
              15:             Label
           17(o):     16(ptr) Variable Function
              24:     23(ptr) AccessChain 17(o) 19
                              Store 24 22
              28:     27(ptr) AccessChain 17(o) 25
                              Store 28 26
              29:11(PS_OUTPUT) Load 17(o)
                              ReturnValue 29
                              FunctionEnd
