hlsl.getsampleposition.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:13  Function Definition: @main(i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13    Function Parameters: 
0:13      'sample' ( in int)
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp 2-component vector of float)
0:16          'r00' ( temp 2-component vector of float)
0:16          Sequence
0:16            move second child to first child ( temp uint)
0:16              '@sampleCount' ( temp uint)
0:16              imageQuerySamples ( temp uint)
0:16                'g_tTex2dmsf4' ( uniform texture2DMS)
0:16            Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16              Condition
0:16              Compare Equal ( temp bool)
0:16                '@sampleCount' ( temp uint)
0:16                Constant:
0:16                  2 (const int)
0:16              true case
0:16              indirect index ( temp 2-component vector of float)
0:?                 Constant:
0:?                   0.250000
0:?                   0.250000
0:?                   -0.250000
0:?                   -0.250000
0:16                'sample' ( in int)
0:16              false case
0:16              Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                Condition
0:16                Compare Equal ( temp bool)
0:16                  '@sampleCount' ( temp uint)
0:16                  Constant:
0:16                    4 (const int)
0:16                true case
0:16                indirect index ( temp 2-component vector of float)
0:?                   Constant:
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.375000
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.125000
0:?                     0.125000
0:?                     0.375000
0:16                  'sample' ( in int)
0:16                false case
0:16                Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                  Condition
0:16                  Compare Equal ( temp bool)
0:16                    '@sampleCount' ( temp uint)
0:16                    Constant:
0:16                      8 (const int)
0:16                  true case
0:16                  indirect index ( temp 2-component vector of float)
0:?                     Constant:
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.312500
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.312500
0:?                       -0.312500
0:?                       0.312500
0:?                       -0.437500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.437500
0:?                       0.437500
0:?                       -0.437500
0:16                    'sample' ( in int)
0:16                  false case
0:16                  Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                    Condition
0:16                    Compare Equal ( temp bool)
0:16                      '@sampleCount' ( temp uint)
0:16                      Constant:
0:16                        16 (const int)
0:16                    true case
0:16                    indirect index ( temp 2-component vector of float)
0:?                       Constant:
0:?                         0.062500
0:?                         0.062500
0:?                         -0.062500
0:?                         -0.187500
0:?                         -0.187500
0:?                         0.125000
0:?                         0.250000
0:?                         -0.062500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.125000
0:?                         0.312500
0:?                         0.312500
0:?                         0.187500
0:?                         0.187500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.375000
0:?                         0.000000
0:?                         -0.437500
0:?                         -0.250000
0:?                         -0.375000
0:?                         -0.375000
0:?                         0.250000
0:?                         -0.500000
0:?                         0.000000
0:?                         0.437500
0:?                         -0.250000
0:?                         0.375000
0:?                         0.437500
0:?                         -0.437500
0:?                         -0.500000
0:16                      'sample' ( in int)
0:16                    false case
0:?                     Constant:
0:?                       0.000000
0:?                       0.000000
0:17      Sequence
0:17        move second child to first child ( temp 2-component vector of float)
0:17          'r01' ( temp 2-component vector of float)
0:17          Sequence
0:17            move second child to first child ( temp uint)
0:17              '@sampleCount' ( temp uint)
0:17              imageQuerySamples ( temp uint)
0:17                'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:17            Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17              Condition
0:17              Compare Equal ( temp bool)
0:17                '@sampleCount' ( temp uint)
0:17                Constant:
0:17                  2 (const int)
0:17              true case
0:17              indirect index ( temp 2-component vector of float)
0:?                 Constant:
0:?                   0.250000
0:?                   0.250000
0:?                   -0.250000
0:?                   -0.250000
0:17                'sample' ( in int)
0:17              false case
0:17              Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                Condition
0:17                Compare Equal ( temp bool)
0:17                  '@sampleCount' ( temp uint)
0:17                  Constant:
0:17                    4 (const int)
0:17                true case
0:17                indirect index ( temp 2-component vector of float)
0:?                   Constant:
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.375000
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.125000
0:?                     0.125000
0:?                     0.375000
0:17                  'sample' ( in int)
0:17                false case
0:17                Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                  Condition
0:17                  Compare Equal ( temp bool)
0:17                    '@sampleCount' ( temp uint)
0:17                    Constant:
0:17                      8 (const int)
0:17                  true case
0:17                  indirect index ( temp 2-component vector of float)
0:?                     Constant:
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.312500
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.312500
0:?                       -0.312500
0:?                       0.312500
0:?                       -0.437500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.437500
0:?                       0.437500
0:?                       -0.437500
0:17                    'sample' ( in int)
0:17                  false case
0:17                  Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                    Condition
0:17                    Compare Equal ( temp bool)
0:17                      '@sampleCount' ( temp uint)
0:17                      Constant:
0:17                        16 (const int)
0:17                    true case
0:17                    indirect index ( temp 2-component vector of float)
0:?                       Constant:
0:?                         0.062500
0:?                         0.062500
0:?                         -0.062500
0:?                         -0.187500
0:?                         -0.187500
0:?                         0.125000
0:?                         0.250000
0:?                         -0.062500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.125000
0:?                         0.312500
0:?                         0.312500
0:?                         0.187500
0:?                         0.187500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.375000
0:?                         0.000000
0:?                         -0.437500
0:?                         -0.250000
0:?                         -0.375000
0:?                         -0.375000
0:?                         0.250000
0:?                         -0.500000
0:?                         0.000000
0:?                         0.437500
0:?                         -0.250000
0:?                         0.375000
0:?                         0.437500
0:?                         -0.437500
0:?                         -0.500000
0:17                      'sample' ( in int)
0:17                    false case
0:?                     Constant:
0:?                       0.000000
0:?                       0.000000
0:19      move second child to first child ( temp 4-component vector of float)
0:19        Color: direct index for structure ( temp 4-component vector of float)
0:19          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:19          Constant:
0:19            0 (const int)
0:19        Constant:
0:19          1.000000
0:19          1.000000
0:19          1.000000
0:19          1.000000
0:20      move second child to first child ( temp float)
0:20        Depth: direct index for structure ( temp float)
0:20          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:20          Constant:
0:20            1 (const int)
0:20        Constant:
0:20          1.000000
0:22      Branch: Return with expression
0:22        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp int)
0:?         'sample' ( temp int)
0:?         'sample' (layout( location=0) flat in int)
0:13      Sequence
0:13        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13          Function Call: @main(i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:?             'sample' ( temp int)
0:13        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:13          Color: direct index for structure ( temp 4-component vector of float)
0:13            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:13          Depth: direct index for structure ( temp float)
0:13            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13            Constant:
0:13              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex2dmsf4' ( uniform texture2DMS)
0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:?     'sample' (layout( location=0) flat in int)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:13  Function Definition: @main(i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13    Function Parameters: 
0:13      'sample' ( in int)
0:?     Sequence
0:16      Sequence
0:16        move second child to first child ( temp 2-component vector of float)
0:16          'r00' ( temp 2-component vector of float)
0:16          Sequence
0:16            move second child to first child ( temp uint)
0:16              '@sampleCount' ( temp uint)
0:16              imageQuerySamples ( temp uint)
0:16                'g_tTex2dmsf4' ( uniform texture2DMS)
0:16            Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16              Condition
0:16              Compare Equal ( temp bool)
0:16                '@sampleCount' ( temp uint)
0:16                Constant:
0:16                  2 (const int)
0:16              true case
0:16              indirect index ( temp 2-component vector of float)
0:?                 Constant:
0:?                   0.250000
0:?                   0.250000
0:?                   -0.250000
0:?                   -0.250000
0:16                'sample' ( in int)
0:16              false case
0:16              Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                Condition
0:16                Compare Equal ( temp bool)
0:16                  '@sampleCount' ( temp uint)
0:16                  Constant:
0:16                    4 (const int)
0:16                true case
0:16                indirect index ( temp 2-component vector of float)
0:?                   Constant:
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.375000
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.125000
0:?                     0.125000
0:?                     0.375000
0:16                  'sample' ( in int)
0:16                false case
0:16                Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                  Condition
0:16                  Compare Equal ( temp bool)
0:16                    '@sampleCount' ( temp uint)
0:16                    Constant:
0:16                      8 (const int)
0:16                  true case
0:16                  indirect index ( temp 2-component vector of float)
0:?                     Constant:
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.312500
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.312500
0:?                       -0.312500
0:?                       0.312500
0:?                       -0.437500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.437500
0:?                       0.437500
0:?                       -0.437500
0:16                    'sample' ( in int)
0:16                  false case
0:16                  Test condition and select ( temp 2-component vector of float): no shortcircuit
0:16                    Condition
0:16                    Compare Equal ( temp bool)
0:16                      '@sampleCount' ( temp uint)
0:16                      Constant:
0:16                        16 (const int)
0:16                    true case
0:16                    indirect index ( temp 2-component vector of float)
0:?                       Constant:
0:?                         0.062500
0:?                         0.062500
0:?                         -0.062500
0:?                         -0.187500
0:?                         -0.187500
0:?                         0.125000
0:?                         0.250000
0:?                         -0.062500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.125000
0:?                         0.312500
0:?                         0.312500
0:?                         0.187500
0:?                         0.187500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.375000
0:?                         0.000000
0:?                         -0.437500
0:?                         -0.250000
0:?                         -0.375000
0:?                         -0.375000
0:?                         0.250000
0:?                         -0.500000
0:?                         0.000000
0:?                         0.437500
0:?                         -0.250000
0:?                         0.375000
0:?                         0.437500
0:?                         -0.437500
0:?                         -0.500000
0:16                      'sample' ( in int)
0:16                    false case
0:?                     Constant:
0:?                       0.000000
0:?                       0.000000
0:17      Sequence
0:17        move second child to first child ( temp 2-component vector of float)
0:17          'r01' ( temp 2-component vector of float)
0:17          Sequence
0:17            move second child to first child ( temp uint)
0:17              '@sampleCount' ( temp uint)
0:17              imageQuerySamples ( temp uint)
0:17                'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:17            Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17              Condition
0:17              Compare Equal ( temp bool)
0:17                '@sampleCount' ( temp uint)
0:17                Constant:
0:17                  2 (const int)
0:17              true case
0:17              indirect index ( temp 2-component vector of float)
0:?                 Constant:
0:?                   0.250000
0:?                   0.250000
0:?                   -0.250000
0:?                   -0.250000
0:17                'sample' ( in int)
0:17              false case
0:17              Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                Condition
0:17                Compare Equal ( temp bool)
0:17                  '@sampleCount' ( temp uint)
0:17                  Constant:
0:17                    4 (const int)
0:17                true case
0:17                indirect index ( temp 2-component vector of float)
0:?                   Constant:
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.375000
0:?                     -0.125000
0:?                     -0.375000
0:?                     0.125000
0:?                     0.125000
0:?                     0.375000
0:17                  'sample' ( in int)
0:17                false case
0:17                Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                  Condition
0:17                  Compare Equal ( temp bool)
0:17                    '@sampleCount' ( temp uint)
0:17                    Constant:
0:17                      8 (const int)
0:17                  true case
0:17                  indirect index ( temp 2-component vector of float)
0:?                     Constant:
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.312500
0:?                       0.062500
0:?                       -0.187500
0:?                       -0.312500
0:?                       -0.312500
0:?                       0.312500
0:?                       -0.437500
0:?                       -0.062500
0:?                       0.187500
0:?                       0.437500
0:?                       0.437500
0:?                       -0.437500
0:17                    'sample' ( in int)
0:17                  false case
0:17                  Test condition and select ( temp 2-component vector of float): no shortcircuit
0:17                    Condition
0:17                    Compare Equal ( temp bool)
0:17                      '@sampleCount' ( temp uint)
0:17                      Constant:
0:17                        16 (const int)
0:17                    true case
0:17                    indirect index ( temp 2-component vector of float)
0:?                       Constant:
0:?                         0.062500
0:?                         0.062500
0:?                         -0.062500
0:?                         -0.187500
0:?                         -0.187500
0:?                         0.125000
0:?                         0.250000
0:?                         -0.062500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.125000
0:?                         0.312500
0:?                         0.312500
0:?                         0.187500
0:?                         0.187500
0:?                         -0.312500
0:?                         -0.125000
0:?                         0.375000
0:?                         0.000000
0:?                         -0.437500
0:?                         -0.250000
0:?                         -0.375000
0:?                         -0.375000
0:?                         0.250000
0:?                         -0.500000
0:?                         0.000000
0:?                         0.437500
0:?                         -0.250000
0:?                         0.375000
0:?                         0.437500
0:?                         -0.437500
0:?                         -0.500000
0:17                      'sample' ( in int)
0:17                    false case
0:?                     Constant:
0:?                       0.000000
0:?                       0.000000
0:19      move second child to first child ( temp 4-component vector of float)
0:19        Color: direct index for structure ( temp 4-component vector of float)
0:19          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:19          Constant:
0:19            0 (const int)
0:19        Constant:
0:19          1.000000
0:19          1.000000
0:19          1.000000
0:19          1.000000
0:20      move second child to first child ( temp float)
0:20        Depth: direct index for structure ( temp float)
0:20          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:20          Constant:
0:20            1 (const int)
0:20        Constant:
0:20          1.000000
0:22      Branch: Return with expression
0:22        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13  Function Definition: main( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp int)
0:?         'sample' ( temp int)
0:?         'sample' (layout( location=0) flat in int)
0:13      Sequence
0:13        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13          Function Call: @main(i1; ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:?             'sample' ( temp int)
0:13        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:13          Color: direct index for structure ( temp 4-component vector of float)
0:13            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13            Constant:
0:13              0 (const int)
0:13        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:13          Depth: direct index for structure ( temp float)
0:13            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:13            Constant:
0:13              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex2dmsf4' ( uniform texture2DMS)
0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:?     'sample' (layout( location=0) flat in int)

// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 198

                              Capability Shader
                              Capability ImageQuery
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 181 188 192
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 DepthReplacing
                              Source HLSL 500
                              Name 4  "main"
                              Name 10  "PS_OUTPUT"
                              MemberName 10(PS_OUTPUT) 0  "Color"
                              MemberName 10(PS_OUTPUT) 1  "Depth"
                              Name 13  "@main(i1;"
                              Name 12  "sample"
                              Name 17  "r00"
                              Name 20  "@sampleCount"
                              Name 23  "g_tTex2dmsf4"
                              Name 39  "indexable"
                              Name 58  "indexable"
                              Name 85  "indexable"
                              Name 114  "indexable"
                              Name 127  "r01"
                              Name 128  "@sampleCount"
                              Name 131  "g_tTex2dmsf4a"
                              Name 137  "indexable"
                              Name 143  "indexable"
                              Name 149  "indexable"
                              Name 155  "indexable"
                              Name 167  "psout"
                              Name 179  "sample"
                              Name 181  "sample"
                              Name 183  "flattenTemp"
                              Name 184  "param"
                              Name 188  "@entryPointOutput.Color"
                              Name 192  "@entryPointOutput.Depth"
                              Name 197  "g_sSamp"
                              Decorate 23(g_tTex2dmsf4) DescriptorSet 0
                              Decorate 131(g_tTex2dmsf4a) DescriptorSet 0
                              Decorate 181(sample) Flat
                              Decorate 181(sample) Location 0
                              Decorate 188(@entryPointOutput.Color) Location 0
                              Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 197(g_sSamp) DescriptorSet 0
                              Decorate 197(g_sSamp) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
   10(PS_OUTPUT):             TypeStruct 9(fvec4) 8(float)
              11:             TypeFunction 10(PS_OUTPUT) 7(ptr)
              15:             TypeVector 8(float) 2
              16:             TypePointer Function 15(fvec2)
              18:             TypeInt 32 0
              19:             TypePointer Function 18(int)
              21:             TypeImage 8(float) 2D multi-sampled sampled format:Unknown
              22:             TypePointer UniformConstant 21
23(g_tTex2dmsf4):     22(ptr) Variable UniformConstant
              27:      6(int) Constant 2
              28:             TypeBool
              30:     18(int) Constant 2
              31:             TypeArray 15(fvec2) 30
              32:    8(float) Constant 1048576000
              33:   15(fvec2) ConstantComposite 32 32
              34:    8(float) Constant 3196059648
              35:   15(fvec2) ConstantComposite 34 34
              36:          31 ConstantComposite 33 35
              38:             TypePointer Function 31
              43:      6(int) Constant 4
              45:     18(int) Constant 4
              46:             TypeArray 15(fvec2) 45
              47:    8(float) Constant 3187671040
              48:    8(float) Constant 3200253952
              49:   15(fvec2) ConstantComposite 47 48
              50:    8(float) Constant 1052770304
              51:   15(fvec2) ConstantComposite 50 47
              52:    8(float) Constant 1040187392
              53:   15(fvec2) ConstantComposite 48 52
              54:   15(fvec2) ConstantComposite 52 50
              55:          46 ConstantComposite 49 51 53 54
              57:             TypePointer Function 46
              62:      6(int) Constant 8
              64:     18(int) Constant 8
              65:             TypeArray 15(fvec2) 64
              66:    8(float) Constant 1031798784
              67:    8(float) Constant 3191865344
              68:   15(fvec2) ConstantComposite 66 67
              69:    8(float) Constant 3179282432
              70:    8(float) Constant 1044381696
              71:   15(fvec2) ConstantComposite 69 70
              72:    8(float) Constant 1050673152
              73:   15(fvec2) ConstantComposite 72 66
              74:    8(float) Constant 3198156800
              75:   15(fvec2) ConstantComposite 67 74
              76:   15(fvec2) ConstantComposite 74 72
              77:    8(float) Constant 3202351104
              78:   15(fvec2) ConstantComposite 77 69
              79:    8(float) Constant 1054867456
              80:   15(fvec2) ConstantComposite 70 79
              81:   15(fvec2) ConstantComposite 79 77
              82:          65 ConstantComposite 68 71 73 75 76 78 80 81
              84:             TypePointer Function 65
              89:      6(int) Constant 16
              91:     18(int) Constant 16
              92:             TypeArray 15(fvec2) 91
              93:   15(fvec2) ConstantComposite 66 66
              94:   15(fvec2) ConstantComposite 69 67
              95:   15(fvec2) ConstantComposite 67 52
              96:   15(fvec2) ConstantComposite 32 69
              97:   15(fvec2) ConstantComposite 74 47
              98:   15(fvec2) ConstantComposite 52 72
              99:   15(fvec2) ConstantComposite 72 70
             100:   15(fvec2) ConstantComposite 70 74
             101:   15(fvec2) ConstantComposite 47 50
             102:    8(float) Constant 0
             103:   15(fvec2) ConstantComposite 102 77
             104:   15(fvec2) ConstantComposite 34 48
             105:   15(fvec2) ConstantComposite 48 32
             106:    8(float) Constant 3204448256
             107:   15(fvec2) ConstantComposite 106 102
             108:   15(fvec2) ConstantComposite 79 34
             109:   15(fvec2) ConstantComposite 50 79
             110:   15(fvec2) ConstantComposite 77 106
             111:          92 ConstantComposite 93 94 95 96 97 98 99 100 101 103 104 105 107 108 109 110
             113:             TypePointer Function 92
             117:   15(fvec2) ConstantComposite 102 102
             118:             TypeVector 28(bool) 2
             129:             TypeImage 8(float) 2D array multi-sampled sampled format:Unknown
             130:             TypePointer UniformConstant 129
131(g_tTex2dmsf4a):    130(ptr) Variable UniformConstant
             166:             TypePointer Function 10(PS_OUTPUT)
             168:      6(int) Constant 0
             169:    8(float) Constant 1065353216
             170:    9(fvec4) ConstantComposite 169 169 169 169
             171:             TypePointer Function 9(fvec4)
             173:      6(int) Constant 1
             174:             TypePointer Function 8(float)
             180:             TypePointer Input 6(int)
     181(sample):    180(ptr) Variable Input
             187:             TypePointer Output 9(fvec4)
188(@entryPointOutput.Color):    187(ptr) Variable Output
             191:             TypePointer Output 8(float)
192(@entryPointOutput.Depth):    191(ptr) Variable Output
             195:             TypeSampler
             196:             TypePointer UniformConstant 195
    197(g_sSamp):    196(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
     179(sample):      7(ptr) Variable Function
183(flattenTemp):    166(ptr) Variable Function
      184(param):      7(ptr) Variable Function
             182:      6(int) Load 181(sample)
                              Store 179(sample) 182
             185:      6(int) Load 179(sample)
                              Store 184(param) 185
             186:10(PS_OUTPUT) FunctionCall 13(@main(i1;) 184(param)
                              Store 183(flattenTemp) 186
             189:    171(ptr) AccessChain 183(flattenTemp) 168
             190:    9(fvec4) Load 189
                              Store 188(@entryPointOutput.Color) 190
             193:    174(ptr) AccessChain 183(flattenTemp) 173
             194:    8(float) Load 193
                              Store 192(@entryPointOutput.Depth) 194
                              Return
                              FunctionEnd
   13(@main(i1;):10(PS_OUTPUT) Function None 11
      12(sample):      7(ptr) FunctionParameter
              14:             Label
         17(r00):     16(ptr) Variable Function
20(@sampleCount):     19(ptr) Variable Function
   39(indexable):     38(ptr) Variable Function
   58(indexable):     57(ptr) Variable Function
   85(indexable):     84(ptr) Variable Function
  114(indexable):    113(ptr) Variable Function
        127(r01):     16(ptr) Variable Function
128(@sampleCount):     19(ptr) Variable Function
  137(indexable):     38(ptr) Variable Function
  143(indexable):     57(ptr) Variable Function
  149(indexable):     84(ptr) Variable Function
  155(indexable):    113(ptr) Variable Function
      167(psout):    166(ptr) Variable Function
              24:          21 Load 23(g_tTex2dmsf4)
              25:     18(int) ImageQuerySamples 24
                              Store 20(@sampleCount) 25
              26:     18(int) Load 20(@sampleCount)
              29:    28(bool) IEqual 26 27
              37:      6(int) Load 12(sample)
                              Store 39(indexable) 36
              40:     16(ptr) AccessChain 39(indexable) 37
              41:   15(fvec2) Load 40
              42:     18(int) Load 20(@sampleCount)
              44:    28(bool) IEqual 42 43
              56:      6(int) Load 12(sample)
                              Store 58(indexable) 55
              59:     16(ptr) AccessChain 58(indexable) 56
              60:   15(fvec2) Load 59
              61:     18(int) Load 20(@sampleCount)
              63:    28(bool) IEqual 61 62
              83:      6(int) Load 12(sample)
                              Store 85(indexable) 82
              86:     16(ptr) AccessChain 85(indexable) 83
              87:   15(fvec2) Load 86
              88:     18(int) Load 20(@sampleCount)
              90:    28(bool) IEqual 88 89
             112:      6(int) Load 12(sample)
                              Store 114(indexable) 111
             115:     16(ptr) AccessChain 114(indexable) 112
             116:   15(fvec2) Load 115
             119:  118(bvec2) CompositeConstruct 90 90
             120:   15(fvec2) Select 119 116 117
             121:  118(bvec2) CompositeConstruct 63 63
             122:   15(fvec2) Select 121 87 120
             123:  118(bvec2) CompositeConstruct 44 44
             124:   15(fvec2) Select 123 60 122
             125:  118(bvec2) CompositeConstruct 29 29
             126:   15(fvec2) Select 125 41 124
                              Store 17(r00) 126
             132:         129 Load 131(g_tTex2dmsf4a)
             133:     18(int) ImageQuerySamples 132
                              Store 128(@sampleCount) 133
             134:     18(int) Load 128(@sampleCount)
             135:    28(bool) IEqual 134 27
             136:      6(int) Load 12(sample)
                              Store 137(indexable) 36
             138:     16(ptr) AccessChain 137(indexable) 136
             139:   15(fvec2) Load 138
             140:     18(int) Load 128(@sampleCount)
             141:    28(bool) IEqual 140 43
             142:      6(int) Load 12(sample)
                              Store 143(indexable) 55
             144:     16(ptr) AccessChain 143(indexable) 142
             145:   15(fvec2) Load 144
             146:     18(int) Load 128(@sampleCount)
             147:    28(bool) IEqual 146 62
             148:      6(int) Load 12(sample)
                              Store 149(indexable) 82
             150:     16(ptr) AccessChain 149(indexable) 148
             151:   15(fvec2) Load 150
             152:     18(int) Load 128(@sampleCount)
             153:    28(bool) IEqual 152 89
             154:      6(int) Load 12(sample)
                              Store 155(indexable) 111
             156:     16(ptr) AccessChain 155(indexable) 154
             157:   15(fvec2) Load 156
             158:  118(bvec2) CompositeConstruct 153 153
             159:   15(fvec2) Select 158 157 117
             160:  118(bvec2) CompositeConstruct 147 147
             161:   15(fvec2) Select 160 151 159
             162:  118(bvec2) CompositeConstruct 141 141
             163:   15(fvec2) Select 162 145 161
             164:  118(bvec2) CompositeConstruct 135 135
             165:   15(fvec2) Select 164 139 163
                              Store 127(r01) 165
             172:    171(ptr) AccessChain 167(psout) 168
                              Store 172 170
             175:    174(ptr) AccessChain 167(psout) 173
                              Store 175 169
             176:10(PS_OUTPUT) Load 167(psout)
                              ReturnValue 176
                              FunctionEnd
