hlsl.getsampleposition.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
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
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
                              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
