hlsl.load.2dms.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:32      textureFetch ( temp 4-component vector of float)
0:32        'g_tTex2dmsf4' ( uniform texture2DMS)
0:32        c2: direct index for structure ( uniform 2-component vector of int)
0:32          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:32          Constant:
0:32            1 (const uint)
0:32        Constant:
0:32          3 (const int)
0:33      textureFetch ( temp 4-component vector of int)
0:33        'g_tTex2dmsi4' ( uniform itexture2DMS)
0:33        c2: direct index for structure ( uniform 2-component vector of int)
0:33          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:33          Constant:
0:33            1 (const uint)
0:33        Constant:
0:33          3 (const int)
0:34      textureFetch ( temp 4-component vector of uint)
0:34        'g_tTex2dmsu4' ( uniform utexture2DMS)
0:34        c2: direct index for structure ( uniform 2-component vector of int)
0:34          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:34          Constant:
0:34            1 (const uint)
0:34        Constant:
0:34          3 (const int)
0:37      textureFetchOffset ( temp 4-component vector of float)
0:37        'g_tTex2dmsf4' ( uniform texture2DMS)
0:37        c2: direct index for structure ( uniform 2-component vector of int)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:37          Constant:
0:37            1 (const uint)
0:37        Constant:
0:37          3 (const int)
0:37        o2: direct index for structure ( uniform 2-component vector of int)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:37          Constant:
0:37            5 (const uint)
0:38      textureFetchOffset ( temp 4-component vector of int)
0:38        'g_tTex2dmsi4' ( uniform itexture2DMS)
0:38        c2: direct index for structure ( uniform 2-component vector of int)
0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:38          Constant:
0:38            1 (const uint)
0:38        Constant:
0:38          3 (const int)
0:38        o2: direct index for structure ( uniform 2-component vector of int)
0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:38          Constant:
0:38            5 (const uint)
0:39      textureFetchOffset ( temp 4-component vector of uint)
0:39        'g_tTex2dmsu4' ( uniform utexture2DMS)
0:39        c2: direct index for structure ( uniform 2-component vector of int)
0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:39          Constant:
0:39            1 (const uint)
0:39        Constant:
0:39          3 (const int)
0:39        o2: direct index for structure ( uniform 2-component vector of int)
0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:39          Constant:
0:39            5 (const uint)
0:42      textureFetch ( temp 4-component vector of float)
0:42        'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:42        c3: direct index for structure ( uniform 3-component vector of int)
0:42          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:42          Constant:
0:42            2 (const uint)
0:42        Constant:
0:42          3 (const int)
0:43      textureFetch ( temp 4-component vector of int)
0:43        'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:43        c3: direct index for structure ( uniform 3-component vector of int)
0:43          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:43          Constant:
0:43            2 (const uint)
0:43        Constant:
0:43          3 (const int)
0:44      textureFetch ( temp 4-component vector of uint)
0:44        'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:44        c3: direct index for structure ( uniform 3-component vector of int)
0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:44          Constant:
0:44            2 (const uint)
0:44        Constant:
0:44          3 (const int)
0:47      textureFetchOffset ( temp 4-component vector of float)
0:47        'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:47        c3: direct index for structure ( uniform 3-component vector of int)
0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47          Constant:
0:47            2 (const uint)
0:47        Constant:
0:47          3 (const int)
0:47        o2: direct index for structure ( uniform 2-component vector of int)
0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47          Constant:
0:47            5 (const uint)
0:48      textureFetchOffset ( temp 4-component vector of int)
0:48        'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:48        c3: direct index for structure ( uniform 3-component vector of int)
0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48          Constant:
0:48            2 (const uint)
0:48        Constant:
0:48          3 (const int)
0:48        o2: direct index for structure ( uniform 2-component vector of int)
0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48          Constant:
0:48            5 (const uint)
0:49      textureFetchOffset ( temp 4-component vector of uint)
0:49        'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:49        c3: direct index for structure ( uniform 3-component vector of int)
0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:49          Constant:
0:49            2 (const uint)
0:49        Constant:
0:49          3 (const int)
0:49        o2: direct index for structure ( uniform 2-component vector of int)
0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:49          Constant:
0:49            5 (const uint)
0:51      move second child to first child ( temp 4-component vector of float)
0:51        Color: direct index for structure ( temp 4-component vector of float)
0:51          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:51          Constant:
0:51            0 (const int)
0:51        Constant:
0:51          1.000000
0:51          1.000000
0:51          1.000000
0:51          1.000000
0:52      move second child to first child ( temp float)
0:52        Depth: direct index for structure ( temp float)
0:52          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:52          Constant:
0:52            1 (const int)
0:52        Constant:
0:52          1.000000
0:54      Branch: Return with expression
0:54        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28        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:28          Color: direct index for structure ( temp 4-component vector of float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              0 (const int)
0:28        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:28          Depth: direct index for structure ( temp float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex2dmsf4' ( uniform texture2DMS)
0:?     'g_tTex2dmsi4' ( uniform itexture2DMS)
0:?     'g_tTex2dmsu4' ( uniform utexture2DMS)
0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:?     'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:?     'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:32      textureFetch ( temp 4-component vector of float)
0:32        'g_tTex2dmsf4' ( uniform texture2DMS)
0:32        c2: direct index for structure ( uniform 2-component vector of int)
0:32          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:32          Constant:
0:32            1 (const uint)
0:32        Constant:
0:32          3 (const int)
0:33      textureFetch ( temp 4-component vector of int)
0:33        'g_tTex2dmsi4' ( uniform itexture2DMS)
0:33        c2: direct index for structure ( uniform 2-component vector of int)
0:33          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:33          Constant:
0:33            1 (const uint)
0:33        Constant:
0:33          3 (const int)
0:34      textureFetch ( temp 4-component vector of uint)
0:34        'g_tTex2dmsu4' ( uniform utexture2DMS)
0:34        c2: direct index for structure ( uniform 2-component vector of int)
0:34          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:34          Constant:
0:34            1 (const uint)
0:34        Constant:
0:34          3 (const int)
0:37      textureFetchOffset ( temp 4-component vector of float)
0:37        'g_tTex2dmsf4' ( uniform texture2DMS)
0:37        c2: direct index for structure ( uniform 2-component vector of int)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:37          Constant:
0:37            1 (const uint)
0:37        Constant:
0:37          3 (const int)
0:37        o2: direct index for structure ( uniform 2-component vector of int)
0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:37          Constant:
0:37            5 (const uint)
0:38      textureFetchOffset ( temp 4-component vector of int)
0:38        'g_tTex2dmsi4' ( uniform itexture2DMS)
0:38        c2: direct index for structure ( uniform 2-component vector of int)
0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:38          Constant:
0:38            1 (const uint)
0:38        Constant:
0:38          3 (const int)
0:38        o2: direct index for structure ( uniform 2-component vector of int)
0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:38          Constant:
0:38            5 (const uint)
0:39      textureFetchOffset ( temp 4-component vector of uint)
0:39        'g_tTex2dmsu4' ( uniform utexture2DMS)
0:39        c2: direct index for structure ( uniform 2-component vector of int)
0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:39          Constant:
0:39            1 (const uint)
0:39        Constant:
0:39          3 (const int)
0:39        o2: direct index for structure ( uniform 2-component vector of int)
0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:39          Constant:
0:39            5 (const uint)
0:42      textureFetch ( temp 4-component vector of float)
0:42        'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:42        c3: direct index for structure ( uniform 3-component vector of int)
0:42          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:42          Constant:
0:42            2 (const uint)
0:42        Constant:
0:42          3 (const int)
0:43      textureFetch ( temp 4-component vector of int)
0:43        'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:43        c3: direct index for structure ( uniform 3-component vector of int)
0:43          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:43          Constant:
0:43            2 (const uint)
0:43        Constant:
0:43          3 (const int)
0:44      textureFetch ( temp 4-component vector of uint)
0:44        'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:44        c3: direct index for structure ( uniform 3-component vector of int)
0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:44          Constant:
0:44            2 (const uint)
0:44        Constant:
0:44          3 (const int)
0:47      textureFetchOffset ( temp 4-component vector of float)
0:47        'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:47        c3: direct index for structure ( uniform 3-component vector of int)
0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47          Constant:
0:47            2 (const uint)
0:47        Constant:
0:47          3 (const int)
0:47        o2: direct index for structure ( uniform 2-component vector of int)
0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47          Constant:
0:47            5 (const uint)
0:48      textureFetchOffset ( temp 4-component vector of int)
0:48        'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:48        c3: direct index for structure ( uniform 3-component vector of int)
0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48          Constant:
0:48            2 (const uint)
0:48        Constant:
0:48          3 (const int)
0:48        o2: direct index for structure ( uniform 2-component vector of int)
0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48          Constant:
0:48            5 (const uint)
0:49      textureFetchOffset ( temp 4-component vector of uint)
0:49        'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:49        c3: direct index for structure ( uniform 3-component vector of int)
0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:49          Constant:
0:49            2 (const uint)
0:49        Constant:
0:49          3 (const int)
0:49        o2: direct index for structure ( uniform 2-component vector of int)
0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:49          Constant:
0:49            5 (const uint)
0:51      move second child to first child ( temp 4-component vector of float)
0:51        Color: direct index for structure ( temp 4-component vector of float)
0:51          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:51          Constant:
0:51            0 (const int)
0:51        Constant:
0:51          1.000000
0:51          1.000000
0:51          1.000000
0:51          1.000000
0:52      move second child to first child ( temp float)
0:52        Depth: direct index for structure ( temp float)
0:52          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:52          Constant:
0:52            1 (const int)
0:52        Constant:
0:52          1.000000
0:54      Branch: Return with expression
0:54        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28        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:28          Color: direct index for structure ( temp 4-component vector of float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              0 (const int)
0:28        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:28          Depth: direct index for structure ( temp float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex2dmsf4' ( uniform texture2DMS)
0:?     'g_tTex2dmsi4' ( uniform itexture2DMS)
0:?     'g_tTex2dmsu4' ( uniform utexture2DMS)
0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:?     'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
0:?     'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
                              Capability ImageGatherExtended
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 120 124
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              MemberName 8(PS_OUTPUT) 1  "Depth"
                              Name 10  "@main("
                              Name 14  "g_tTex2dmsf4"
                              Name 20  "$Global"
                              MemberName 20($Global) 0  "c1"
                              MemberName 20($Global) 1  "c2"
                              MemberName 20($Global) 2  "c3"
                              MemberName 20($Global) 3  "c4"
                              MemberName 20($Global) 4  "o1"
                              MemberName 20($Global) 5  "o2"
                              MemberName 20($Global) 6  "o3"
                              MemberName 20($Global) 7  "o4"
                              Name 22  ""
                              Name 31  "g_tTex2dmsi4"
                              Name 39  "g_tTex2dmsu4"
                              Name 66  "g_tTex2dmsf4a"
                              Name 75  "g_tTex2dmsi4a"
                              Name 82  "g_tTex2dmsu4a"
                              Name 106  "psout"
                              Name 117  "flattenTemp"
                              Name 120  "@entryPointOutput.Color"
                              Name 124  "@entryPointOutput.Depth"
                              Name 129  "g_sSamp"
                              Decorate 14(g_tTex2dmsf4) DescriptorSet 0
                              MemberDecorate 20($Global) 0 Offset 0
                              MemberDecorate 20($Global) 1 Offset 8
                              MemberDecorate 20($Global) 2 Offset 16
                              MemberDecorate 20($Global) 3 Offset 32
                              MemberDecorate 20($Global) 4 Offset 48
                              MemberDecorate 20($Global) 5 Offset 56
                              MemberDecorate 20($Global) 6 Offset 64
                              MemberDecorate 20($Global) 7 Offset 80
                              Decorate 20($Global) Block
                              Decorate 22 DescriptorSet 0
                              Decorate 31(g_tTex2dmsi4) DescriptorSet 0
                              Decorate 39(g_tTex2dmsu4) DescriptorSet 0
                              Decorate 66(g_tTex2dmsf4a) DescriptorSet 0
                              Decorate 75(g_tTex2dmsi4a) DescriptorSet 0
                              Decorate 82(g_tTex2dmsu4a) DescriptorSet 0
                              Decorate 120(@entryPointOutput.Color) Location 0
                              Decorate 124(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 129(g_sSamp) DescriptorSet 0
                              Decorate 129(g_sSamp) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypeImage 6(float) 2D multi-sampled sampled format:Unknown
              13:             TypePointer UniformConstant 12
14(g_tTex2dmsf4):     13(ptr) Variable UniformConstant
              16:             TypeInt 32 1
              17:             TypeVector 16(int) 2
              18:             TypeVector 16(int) 3
              19:             TypeVector 16(int) 4
     20($Global):             TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
              21:             TypePointer Uniform 20($Global)
              22:     21(ptr) Variable Uniform
              23:     16(int) Constant 1
              24:             TypePointer Uniform 17(ivec2)
              27:     16(int) Constant 3
              29:             TypeImage 16(int) 2D multi-sampled sampled format:Unknown
              30:             TypePointer UniformConstant 29
31(g_tTex2dmsi4):     30(ptr) Variable UniformConstant
              36:             TypeInt 32 0
              37:             TypeImage 36(int) 2D multi-sampled sampled format:Unknown
              38:             TypePointer UniformConstant 37
39(g_tTex2dmsu4):     38(ptr) Variable UniformConstant
              43:             TypeVector 36(int) 4
              48:     16(int) Constant 5
              64:             TypeImage 6(float) 2D array multi-sampled sampled format:Unknown
              65:             TypePointer UniformConstant 64
66(g_tTex2dmsf4a):     65(ptr) Variable UniformConstant
              68:     16(int) Constant 2
              69:             TypePointer Uniform 18(ivec3)
              73:             TypeImage 16(int) 2D array multi-sampled sampled format:Unknown
              74:             TypePointer UniformConstant 73
75(g_tTex2dmsi4a):     74(ptr) Variable UniformConstant
              80:             TypeImage 36(int) 2D array multi-sampled sampled format:Unknown
              81:             TypePointer UniformConstant 80
82(g_tTex2dmsu4a):     81(ptr) Variable UniformConstant
             105:             TypePointer Function 8(PS_OUTPUT)
             107:     16(int) Constant 0
             108:    6(float) Constant 1065353216
             109:    7(fvec4) ConstantComposite 108 108 108 108
             110:             TypePointer Function 7(fvec4)
             112:             TypePointer Function 6(float)
             119:             TypePointer Output 7(fvec4)
120(@entryPointOutput.Color):    119(ptr) Variable Output
             123:             TypePointer Output 6(float)
124(@entryPointOutput.Depth):    123(ptr) Variable Output
             127:             TypeSampler
             128:             TypePointer UniformConstant 127
    129(g_sSamp):    128(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
117(flattenTemp):    105(ptr) Variable Function
             118:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 117(flattenTemp) 118
             121:    110(ptr) AccessChain 117(flattenTemp) 107
             122:    7(fvec4) Load 121
                              Store 120(@entryPointOutput.Color) 122
             125:    112(ptr) AccessChain 117(flattenTemp) 23
             126:    6(float) Load 125
                              Store 124(@entryPointOutput.Depth) 126
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
      106(psout):    105(ptr) Variable Function
              15:          12 Load 14(g_tTex2dmsf4)
              25:     24(ptr) AccessChain 22 23
              26:   17(ivec2) Load 25
              28:    7(fvec4) ImageFetch 15 26 Sample 27
              32:          29 Load 31(g_tTex2dmsi4)
              33:     24(ptr) AccessChain 22 23
              34:   17(ivec2) Load 33
              35:   19(ivec4) ImageFetch 32 34 Sample 27
              40:          37 Load 39(g_tTex2dmsu4)
              41:     24(ptr) AccessChain 22 23
              42:   17(ivec2) Load 41
              44:   43(ivec4) ImageFetch 40 42 Sample 27
              45:          12 Load 14(g_tTex2dmsf4)
              46:     24(ptr) AccessChain 22 23
              47:   17(ivec2) Load 46
              49:     24(ptr) AccessChain 22 48
              50:   17(ivec2) Load 49
              51:    7(fvec4) ImageFetch 45 47 Offset Sample 50 27
              52:          29 Load 31(g_tTex2dmsi4)
              53:     24(ptr) AccessChain 22 23
              54:   17(ivec2) Load 53
              55:     24(ptr) AccessChain 22 48
              56:   17(ivec2) Load 55
              57:   19(ivec4) ImageFetch 52 54 Offset Sample 56 27
              58:          37 Load 39(g_tTex2dmsu4)
              59:     24(ptr) AccessChain 22 23
              60:   17(ivec2) Load 59
              61:     24(ptr) AccessChain 22 48
              62:   17(ivec2) Load 61
              63:   43(ivec4) ImageFetch 58 60 Offset Sample 62 27
              67:          64 Load 66(g_tTex2dmsf4a)
              70:     69(ptr) AccessChain 22 68
              71:   18(ivec3) Load 70
              72:    7(fvec4) ImageFetch 67 71 Sample 27
              76:          73 Load 75(g_tTex2dmsi4a)
              77:     69(ptr) AccessChain 22 68
              78:   18(ivec3) Load 77
              79:   19(ivec4) ImageFetch 76 78 Sample 27
              83:          80 Load 82(g_tTex2dmsu4a)
              84:     69(ptr) AccessChain 22 68
              85:   18(ivec3) Load 84
              86:   43(ivec4) ImageFetch 83 85 Sample 27
              87:          64 Load 66(g_tTex2dmsf4a)
              88:     69(ptr) AccessChain 22 68
              89:   18(ivec3) Load 88
              90:     24(ptr) AccessChain 22 48
              91:   17(ivec2) Load 90
              92:    7(fvec4) ImageFetch 87 89 Offset Sample 91 27
              93:          73 Load 75(g_tTex2dmsi4a)
              94:     69(ptr) AccessChain 22 68
              95:   18(ivec3) Load 94
              96:     24(ptr) AccessChain 22 48
              97:   17(ivec2) Load 96
              98:   19(ivec4) ImageFetch 93 95 Offset Sample 97 27
              99:          80 Load 82(g_tTex2dmsu4a)
             100:     69(ptr) AccessChain 22 68
             101:   18(ivec3) Load 100
             102:     24(ptr) AccessChain 22 48
             103:   17(ivec2) Load 102
             104:   43(ivec4) ImageFetch 99 101 Offset Sample 103 27
             111:    110(ptr) AccessChain 106(psout) 107
                              Store 111 109
             113:    112(ptr) AccessChain 106(psout) 23
                              Store 113 108
             114:8(PS_OUTPUT) Load 106(psout)
                              ReturnValue 114
                              FunctionEnd
