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:?         Constant:
0:?           1.000000
0:?           0.000000
0:?           0.000000
0:?           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:?         Constant:
0:?           1.000000
0:?           0.000000
0:?           0.000000
0:?           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): 8000a
// 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
