hlsl.texture.struct.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:38  Function Definition: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38    Function Parameters: 
0:38      't1' ( in texture2D)
0:?     Sequence
0:38      Branch: Return with expression
0:38        Sequence
0:38          move second child to first child ( temp 4-component vector of float)
0:38            '@sampleResultShadow' ( temp 4-component vector of float)
0:?             texture ( temp 4-component vector of float)
0:38              Construct combined texture-sampler ( temp sampler2D)
0:38                't1' ( in texture2D)
0:38                'g_sSamp' ( uniform sampler)
0:?               Constant:
0:?                 0.600000
0:?                 0.610000
0:38          move second child to first child ( temp float)
0:38            c0: direct index for structure ( temp float)
0:38              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38              Constant:
0:38                0 (const uint)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                0 (const uint)
0:38          move second child to first child ( temp float)
0:38            direct index ( temp float)
0:38              c1: direct index for structure ( temp 2-component vector of float)
0:38                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38                Constant:
0:38                  1 (const uint)
0:38              Constant:
0:38                0 (const int)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                1 (const uint)
0:38          move second child to first child ( temp float)
0:38            direct index ( temp float)
0:38              c1: direct index for structure ( temp 2-component vector of float)
0:38                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38                Constant:
0:38                  1 (const uint)
0:38              Constant:
0:38                1 (const int)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                2 (const uint)
0:38          move second child to first child ( temp float)
0:38            c2: direct index for structure ( temp float)
0:38              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38              Constant:
0:38                2 (const uint)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                3 (const uint)
0:38          '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:39  Function Definition: fn1(t2-tx-struct1-1; ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39    Function Parameters: 
0:39      't2' ( in texture2D)
0:?     Sequence
0:39      Branch: Return with expression
0:39        Sequence
0:39          move second child to first child ( temp 4-component vector of float)
0:39            '@sampleResultShadow' ( temp 4-component vector of float)
0:?             texture ( temp 4-component vector of float)
0:39              Construct combined texture-sampler ( temp sampler2D)
0:39                't2' ( in texture2D)
0:39                'g_sSamp' ( uniform sampler)
0:?               Constant:
0:?                 0.600000
0:?                 0.610000
0:39          move second child to first child ( temp float)
0:39            c0: direct index for structure ( temp float)
0:39              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39              Constant:
0:39                0 (const uint)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                0 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                0 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                1 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                1 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                2 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                2 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                3 (const uint)
0:39          '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:42  Function Definition: @main( ( temp 4-component vector of float)
0:42    Function Parameters: 
0:?     Sequence
0:43      Sequence
0:43        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43          's1' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43          Sequence
0:43            move second child to first child ( temp 4-component vector of float)
0:43              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:43                Construct combined texture-sampler ( temp sampler2D)
0:43                  'g_tTex2s1' ( uniform texture2D)
0:43                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.100000
0:?                   0.110000
0:43            move second child to first child ( temp float)
0:43              c0: direct index for structure ( temp float)
0:43                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                Constant:
0:43                  0 (const uint)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  0 (const uint)
0:43            move second child to first child ( temp float)
0:43              direct index ( temp float)
0:43                c1: direct index for structure ( temp 2-component vector of float)
0:43                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                  Constant:
0:43                    1 (const uint)
0:43                Constant:
0:43                  0 (const int)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  1 (const uint)
0:43            move second child to first child ( temp float)
0:43              direct index ( temp float)
0:43                c1: direct index for structure ( temp 2-component vector of float)
0:43                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                  Constant:
0:43                    1 (const uint)
0:43                Constant:
0:43                  1 (const int)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  2 (const uint)
0:43            move second child to first child ( temp float)
0:43              c2: direct index for structure ( temp float)
0:43                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                Constant:
0:43                  2 (const uint)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  3 (const uint)
0:43            '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:44      Sequence
0:44        move second child to first child ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44          's2' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44          Sequence
0:44            move second child to first child ( temp 4-component vector of float)
0:44              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:44                Construct combined texture-sampler ( temp sampler2D)
0:44                  'g_tTex2s2' ( uniform texture2D)
0:44                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.200000
0:?                   0.210000
0:44            move second child to first child ( temp float)
0:44              c0: direct index for structure ( temp float)
0:44                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                Constant:
0:44                  0 (const uint)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  0 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  0 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  1 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  1 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  2 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  2 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  3 (const uint)
0:44            '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:45      Sequence
0:45        move second child to first child ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45          's3' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45          Sequence
0:45            move second child to first child ( temp 4-component vector of float)
0:45              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:45                Construct combined texture-sampler ( temp sampler2D)
0:45                  'g_tTex2s3' ( uniform texture2D)
0:45                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.300000
0:?                   0.310000
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c0: direct index for structure ( temp 2-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    0 (const uint)
0:45                Constant:
0:45                  0 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  0 (const uint)
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c0: direct index for structure ( temp 2-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    0 (const uint)
0:45                Constant:
0:45                  1 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  1 (const uint)
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c1: direct index for structure ( temp 1-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    1 (const uint)
0:45                Constant:
0:45                  0 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  2 (const uint)
0:45            '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:46      Sequence
0:46        move second child to first child ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46          's4' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46          Sequence
0:46            move second child to first child ( temp 4-component vector of int)
0:46              '@sampleResultShadow' ( temp 4-component vector of int)
0:?               texture ( temp 4-component vector of int)
0:46                Construct combined texture-sampler ( temp isampler2D)
0:46                  'g_tTex2s4' ( uniform itexture2D)
0:46                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.400000
0:?                   0.410000
0:46            move second child to first child ( temp int)
0:46              c0: direct index for structure ( temp int)
0:46                '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                Constant:
0:46                  0 (const uint)
0:46              direct index ( temp int)
0:46                '@sampleResultShadow' ( temp 4-component vector of int)
0:46                Constant:
0:46                  0 (const uint)
0:46            move second child to first child ( temp float)
0:46              direct index ( temp float)
0:46                c1: direct index for structure ( temp 2-component vector of int)
0:46                  '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                  Constant:
0:46                    1 (const uint)
0:46                Constant:
0:46                  0 (const int)
0:46              Convert int to float ( temp float)
0:46                direct index ( temp int)
0:46                  '@sampleResultShadow' ( temp 4-component vector of int)
0:46                  Constant:
0:46                    1 (const uint)
0:46            move second child to first child ( temp float)
0:46              direct index ( temp float)
0:46                c1: direct index for structure ( temp 2-component vector of int)
0:46                  '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                  Constant:
0:46                    1 (const uint)
0:46                Constant:
0:46                  1 (const int)
0:46              Convert int to float ( temp float)
0:46                direct index ( temp int)
0:46                  '@sampleResultShadow' ( temp 4-component vector of int)
0:46                  Constant:
0:46                    2 (const uint)
0:46            move second child to first child ( temp int)
0:46              c2: direct index for structure ( temp int)
0:46                '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                Constant:
0:46                  2 (const uint)
0:46              direct index ( temp int)
0:46                '@sampleResultShadow' ( temp 4-component vector of int)
0:46                Constant:
0:46                  3 (const uint)
0:46            '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:47      Sequence
0:47        move second child to first child ( temp structure{ temp uint c0,  temp uint c1})
0:47          's5' ( temp structure{ temp uint c0,  temp uint c1})
0:47          Sequence
0:47            move second child to first child ( temp 4-component vector of uint)
0:47              '@sampleResultShadow' ( temp 4-component vector of uint)
0:?               texture ( temp 4-component vector of uint)
0:47                Construct combined texture-sampler ( temp usampler2D)
0:47                  'g_tTex2s5' ( uniform utexture2D)
0:47                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.500000
0:?                   0.510000
0:47            move second child to first child ( temp uint)
0:47              c0: direct index for structure ( temp uint)
0:47                '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:47                Constant:
0:47                  0 (const uint)
0:47              direct index ( temp uint)
0:47                '@sampleResultShadow' ( temp 4-component vector of uint)
0:47                Constant:
0:47                  0 (const uint)
0:47            move second child to first child ( temp uint)
0:47              c1: direct index for structure ( temp uint)
0:47                '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:47                Constant:
0:47                  1 (const uint)
0:47              direct index ( temp uint)
0:47                '@sampleResultShadow' ( temp 4-component vector of uint)
0:47                Constant:
0:47                  1 (const uint)
0:47            '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:49      Sequence
0:49        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49          'r0' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49          Function Call: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49            'g_tTex2s1' ( uniform texture2D)
0:50      Sequence
0:50        move second child to first child ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50          'r1' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50          Function Call: fn1(t2-tx-struct1-1; ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50            'g_tTex2s2' ( uniform texture2D)
0:51      Sequence
0:51        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51          'r2' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51          Function Call: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51            'g_tTex2s1a' ( uniform texture2D)
0:53      Branch: Return with expression
0:53        Constant:
0:53          0.000000
0:53          0.000000
0:53          0.000000
0:53          0.000000
0:42  Function Definition: main( ( temp void)
0:42    Function Parameters: 
0:?     Sequence
0:42      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:42        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'g_sSamp' ( uniform sampler)
0:?     'g_tTex2s1' ( uniform texture2D)
0:?     'g_tTex2s2' ( uniform texture2D)
0:?     'g_tTex2s3' ( uniform texture2D)
0:?     'g_tTex2s4' ( uniform itexture2D)
0:?     'g_tTex2s5' ( uniform utexture2D)
0:?     'g_tTex2s1a' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:38  Function Definition: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38    Function Parameters: 
0:38      't1' ( in texture2D)
0:?     Sequence
0:38      Branch: Return with expression
0:38        Sequence
0:38          move second child to first child ( temp 4-component vector of float)
0:38            '@sampleResultShadow' ( temp 4-component vector of float)
0:?             texture ( temp 4-component vector of float)
0:38              Construct combined texture-sampler ( temp sampler2D)
0:38                't1' ( in texture2D)
0:38                'g_sSamp' ( uniform sampler)
0:?               Constant:
0:?                 0.600000
0:?                 0.610000
0:38          move second child to first child ( temp float)
0:38            c0: direct index for structure ( temp float)
0:38              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38              Constant:
0:38                0 (const uint)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                0 (const uint)
0:38          move second child to first child ( temp float)
0:38            direct index ( temp float)
0:38              c1: direct index for structure ( temp 2-component vector of float)
0:38                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38                Constant:
0:38                  1 (const uint)
0:38              Constant:
0:38                0 (const int)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                1 (const uint)
0:38          move second child to first child ( temp float)
0:38            direct index ( temp float)
0:38              c1: direct index for structure ( temp 2-component vector of float)
0:38                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38                Constant:
0:38                  1 (const uint)
0:38              Constant:
0:38                1 (const int)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                2 (const uint)
0:38          move second child to first child ( temp float)
0:38            c2: direct index for structure ( temp float)
0:38              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:38              Constant:
0:38                2 (const uint)
0:38            direct index ( temp float)
0:38              '@sampleResultShadow' ( temp 4-component vector of float)
0:38              Constant:
0:38                3 (const uint)
0:38          '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:39  Function Definition: fn1(t2-tx-struct1-1; ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39    Function Parameters: 
0:39      't2' ( in texture2D)
0:?     Sequence
0:39      Branch: Return with expression
0:39        Sequence
0:39          move second child to first child ( temp 4-component vector of float)
0:39            '@sampleResultShadow' ( temp 4-component vector of float)
0:?             texture ( temp 4-component vector of float)
0:39              Construct combined texture-sampler ( temp sampler2D)
0:39                't2' ( in texture2D)
0:39                'g_sSamp' ( uniform sampler)
0:?               Constant:
0:?                 0.600000
0:?                 0.610000
0:39          move second child to first child ( temp float)
0:39            c0: direct index for structure ( temp float)
0:39              '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39              Constant:
0:39                0 (const uint)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                0 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                0 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                1 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                1 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                2 (const uint)
0:39          move second child to first child ( temp float)
0:39            direct index ( temp float)
0:39              c1: direct index for structure ( temp 3-component vector of float)
0:39                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:39                Constant:
0:39                  1 (const uint)
0:39              Constant:
0:39                2 (const int)
0:39            direct index ( temp float)
0:39              '@sampleResultShadow' ( temp 4-component vector of float)
0:39              Constant:
0:39                3 (const uint)
0:39          '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:42  Function Definition: @main( ( temp 4-component vector of float)
0:42    Function Parameters: 
0:?     Sequence
0:43      Sequence
0:43        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43          's1' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43          Sequence
0:43            move second child to first child ( temp 4-component vector of float)
0:43              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:43                Construct combined texture-sampler ( temp sampler2D)
0:43                  'g_tTex2s1' ( uniform texture2D)
0:43                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.100000
0:?                   0.110000
0:43            move second child to first child ( temp float)
0:43              c0: direct index for structure ( temp float)
0:43                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                Constant:
0:43                  0 (const uint)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  0 (const uint)
0:43            move second child to first child ( temp float)
0:43              direct index ( temp float)
0:43                c1: direct index for structure ( temp 2-component vector of float)
0:43                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                  Constant:
0:43                    1 (const uint)
0:43                Constant:
0:43                  0 (const int)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  1 (const uint)
0:43            move second child to first child ( temp float)
0:43              direct index ( temp float)
0:43                c1: direct index for structure ( temp 2-component vector of float)
0:43                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                  Constant:
0:43                    1 (const uint)
0:43                Constant:
0:43                  1 (const int)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  2 (const uint)
0:43            move second child to first child ( temp float)
0:43              c2: direct index for structure ( temp float)
0:43                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:43                Constant:
0:43                  2 (const uint)
0:43              direct index ( temp float)
0:43                '@sampleResultShadow' ( temp 4-component vector of float)
0:43                Constant:
0:43                  3 (const uint)
0:43            '@sampleStructTemp' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:44      Sequence
0:44        move second child to first child ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44          's2' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44          Sequence
0:44            move second child to first child ( temp 4-component vector of float)
0:44              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:44                Construct combined texture-sampler ( temp sampler2D)
0:44                  'g_tTex2s2' ( uniform texture2D)
0:44                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.200000
0:?                   0.210000
0:44            move second child to first child ( temp float)
0:44              c0: direct index for structure ( temp float)
0:44                '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                Constant:
0:44                  0 (const uint)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  0 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  0 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  1 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  1 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  2 (const uint)
0:44            move second child to first child ( temp float)
0:44              direct index ( temp float)
0:44                c1: direct index for structure ( temp 3-component vector of float)
0:44                  '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:44                  Constant:
0:44                    1 (const uint)
0:44                Constant:
0:44                  2 (const int)
0:44              direct index ( temp float)
0:44                '@sampleResultShadow' ( temp 4-component vector of float)
0:44                Constant:
0:44                  3 (const uint)
0:44            '@sampleStructTemp' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:45      Sequence
0:45        move second child to first child ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45          's3' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45          Sequence
0:45            move second child to first child ( temp 4-component vector of float)
0:45              '@sampleResultShadow' ( temp 4-component vector of float)
0:?               texture ( temp 4-component vector of float)
0:45                Construct combined texture-sampler ( temp sampler2D)
0:45                  'g_tTex2s3' ( uniform texture2D)
0:45                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.300000
0:?                   0.310000
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c0: direct index for structure ( temp 2-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    0 (const uint)
0:45                Constant:
0:45                  0 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  0 (const uint)
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c0: direct index for structure ( temp 2-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    0 (const uint)
0:45                Constant:
0:45                  1 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  1 (const uint)
0:45            move second child to first child ( temp float)
0:45              direct index ( temp float)
0:45                c1: direct index for structure ( temp 1-component vector of float)
0:45                  '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:45                  Constant:
0:45                    1 (const uint)
0:45                Constant:
0:45                  0 (const int)
0:45              direct index ( temp float)
0:45                '@sampleResultShadow' ( temp 4-component vector of float)
0:45                Constant:
0:45                  2 (const uint)
0:45            '@sampleStructTemp' ( temp structure{ temp 2-component vector of float c0,  temp 1-component vector of float c1})
0:46      Sequence
0:46        move second child to first child ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46          's4' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46          Sequence
0:46            move second child to first child ( temp 4-component vector of int)
0:46              '@sampleResultShadow' ( temp 4-component vector of int)
0:?               texture ( temp 4-component vector of int)
0:46                Construct combined texture-sampler ( temp isampler2D)
0:46                  'g_tTex2s4' ( uniform itexture2D)
0:46                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.400000
0:?                   0.410000
0:46            move second child to first child ( temp int)
0:46              c0: direct index for structure ( temp int)
0:46                '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                Constant:
0:46                  0 (const uint)
0:46              direct index ( temp int)
0:46                '@sampleResultShadow' ( temp 4-component vector of int)
0:46                Constant:
0:46                  0 (const uint)
0:46            move second child to first child ( temp float)
0:46              direct index ( temp float)
0:46                c1: direct index for structure ( temp 2-component vector of int)
0:46                  '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                  Constant:
0:46                    1 (const uint)
0:46                Constant:
0:46                  0 (const int)
0:46              Convert int to float ( temp float)
0:46                direct index ( temp int)
0:46                  '@sampleResultShadow' ( temp 4-component vector of int)
0:46                  Constant:
0:46                    1 (const uint)
0:46            move second child to first child ( temp float)
0:46              direct index ( temp float)
0:46                c1: direct index for structure ( temp 2-component vector of int)
0:46                  '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                  Constant:
0:46                    1 (const uint)
0:46                Constant:
0:46                  1 (const int)
0:46              Convert int to float ( temp float)
0:46                direct index ( temp int)
0:46                  '@sampleResultShadow' ( temp 4-component vector of int)
0:46                  Constant:
0:46                    2 (const uint)
0:46            move second child to first child ( temp int)
0:46              c2: direct index for structure ( temp int)
0:46                '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:46                Constant:
0:46                  2 (const uint)
0:46              direct index ( temp int)
0:46                '@sampleResultShadow' ( temp 4-component vector of int)
0:46                Constant:
0:46                  3 (const uint)
0:46            '@sampleStructTemp' ( temp structure{ temp int c0,  temp 2-component vector of int c1,  temp int c2})
0:47      Sequence
0:47        move second child to first child ( temp structure{ temp uint c0,  temp uint c1})
0:47          's5' ( temp structure{ temp uint c0,  temp uint c1})
0:47          Sequence
0:47            move second child to first child ( temp 4-component vector of uint)
0:47              '@sampleResultShadow' ( temp 4-component vector of uint)
0:?               texture ( temp 4-component vector of uint)
0:47                Construct combined texture-sampler ( temp usampler2D)
0:47                  'g_tTex2s5' ( uniform utexture2D)
0:47                  'g_sSamp' ( uniform sampler)
0:?                 Constant:
0:?                   0.500000
0:?                   0.510000
0:47            move second child to first child ( temp uint)
0:47              c0: direct index for structure ( temp uint)
0:47                '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:47                Constant:
0:47                  0 (const uint)
0:47              direct index ( temp uint)
0:47                '@sampleResultShadow' ( temp 4-component vector of uint)
0:47                Constant:
0:47                  0 (const uint)
0:47            move second child to first child ( temp uint)
0:47              c1: direct index for structure ( temp uint)
0:47                '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:47                Constant:
0:47                  1 (const uint)
0:47              direct index ( temp uint)
0:47                '@sampleResultShadow' ( temp 4-component vector of uint)
0:47                Constant:
0:47                  1 (const uint)
0:47            '@sampleStructTemp' ( temp structure{ temp uint c0,  temp uint c1})
0:49      Sequence
0:49        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49          'r0' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49          Function Call: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:49            'g_tTex2s1' ( uniform texture2D)
0:50      Sequence
0:50        move second child to first child ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50          'r1' ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50          Function Call: fn1(t2-tx-struct1-1; ( temp structure{ temp float c0,  temp 3-component vector of float c1})
0:50            'g_tTex2s2' ( uniform texture2D)
0:51      Sequence
0:51        move second child to first child ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51          'r2' ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51          Function Call: fn1(t2-tx-struct0-1; ( temp structure{ temp float c0,  temp 2-component vector of float c1,  temp float c2})
0:51            'g_tTex2s1a' ( uniform texture2D)
0:53      Branch: Return with expression
0:53        Constant:
0:53          0.000000
0:53          0.000000
0:53          0.000000
0:53          0.000000
0:42  Function Definition: main( ( temp void)
0:42    Function Parameters: 
0:?     Sequence
0:42      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:42        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'g_sSamp' ( uniform sampler)
0:?     'g_tTex2s1' ( uniform texture2D)
0:?     'g_tTex2s2' ( uniform texture2D)
0:?     'g_tTex2s3' ( uniform texture2D)
0:?     'g_tTex2s4' ( uniform itexture2D)
0:?     'g_tTex2s5' ( uniform utexture2D)
0:?     'g_tTex2s1a' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

Validation failed
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 240

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 238
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 10  "s1_t"
                              MemberName 10(s1_t) 0  "c0"
                              MemberName 10(s1_t) 1  "c1"
                              MemberName 10(s1_t) 2  "c2"
                              Name 13  "fn1(t2-tx-struct0-1;"
                              Name 12  "t1"
                              Name 16  "s2_t"
                              MemberName 16(s2_t) 0  "c0"
                              MemberName 16(s2_t) 1  "c1"
                              Name 19  "fn1(t2-tx-struct1-1;"
                              Name 18  "t2"
                              Name 23  "@main("
                              Name 26  "@sampleResultShadow"
                              Name 30  "g_sSamp"
                              Name 39  "@sampleStructTemp"
                              Name 65  "@sampleResultShadow"
                              Name 71  "@sampleStructTemp"
                              Name 87  "s1"
                              Name 88  "@sampleResultShadow"
                              Name 90  "g_tTex2s1"
                              Name 98  "@sampleStructTemp"
                              Name 112  "s2"
                              Name 113  "@sampleResultShadow"
                              Name 114  "g_tTex2s2"
                              Name 122  "@sampleStructTemp"
                              Name 136  "s3_t"
                              MemberName 136(s3_t) 0  "c0"
                              MemberName 136(s3_t) 1  "c1"
                              Name 138  "s3"
                              Name 139  "@sampleResultShadow"
                              Name 140  "g_tTex2s3"
                              Name 148  "@sampleStructTemp"
                              Name 160  "s4_t"
                              MemberName 160(s4_t) 0  "c0"
                              MemberName 160(s4_t) 1  "c1"
                              MemberName 160(s4_t) 2  "c2"
                              Name 162  "s4"
                              Name 165  "@sampleResultShadow"
                              Name 168  "g_tTex2s4"
                              Name 177  "@sampleStructTemp"
                              Name 194  "s5_t"
                              MemberName 194(s5_t) 0  "c0"
                              MemberName 194(s5_t) 1  "c1"
                              Name 196  "s5"
                              Name 199  "@sampleResultShadow"
                              Name 202  "g_tTex2s5"
                              Name 211  "@sampleStructTemp"
                              Name 220  "r0"
                              Name 221  "param"
                              Name 224  "r1"
                              Name 225  "param"
                              Name 228  "r2"
                              Name 229  "g_tTex2s1a"
                              Name 230  "param"
                              Name 238  "@entryPointOutput"
                              Decorate 30(g_sSamp) DescriptorSet 0
                              Decorate 30(g_sSamp) Binding 0
                              Decorate 90(g_tTex2s1) DescriptorSet 0
                              Decorate 90(g_tTex2s1) Binding 0
                              Decorate 114(g_tTex2s2) DescriptorSet 0
                              Decorate 114(g_tTex2s2) Binding 0
                              Decorate 140(g_tTex2s3) DescriptorSet 0
                              Decorate 140(g_tTex2s3) Binding 0
                              Decorate 168(g_tTex2s4) DescriptorSet 0
                              Decorate 168(g_tTex2s4) Binding 0
                              Decorate 202(g_tTex2s5) DescriptorSet 0
                              Decorate 202(g_tTex2s5) Binding 0
                              Decorate 229(g_tTex2s1a) DescriptorSet 0
                              Decorate 229(g_tTex2s1a) Binding 0
                              Decorate 238(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeImage 6(float) 2D sampled format:Unknown
               8:             TypePointer Function 7
               9:             TypeVector 6(float) 2
        10(s1_t):             TypeStruct 6(float) 9(fvec2) 6(float)
              11:             TypeFunction 10(s1_t) 8(ptr)
              15:             TypeVector 6(float) 3
        16(s2_t):             TypeStruct 6(float) 15(fvec3)
              17:             TypeFunction 16(s2_t) 8(ptr)
              21:             TypeVector 6(float) 4
              22:             TypeFunction 21(fvec4)
              25:             TypePointer Function 21(fvec4)
              28:             TypeSampler
              29:             TypePointer UniformConstant 28
     30(g_sSamp):     29(ptr) Variable UniformConstant
              32:             TypeSampledImage 7
              34:    6(float) Constant 1058642330
              35:    6(float) Constant 1058810102
              36:    9(fvec2) ConstantComposite 34 35
              38:             TypePointer Function 10(s1_t)
              40:             TypeInt 32 1
              41:     40(int) Constant 0
              42:             TypeInt 32 0
              43:     42(int) Constant 0
              44:             TypePointer Function 6(float)
              48:     40(int) Constant 1
              49:     42(int) Constant 1
              53:     42(int) Constant 2
              57:     40(int) Constant 2
              58:     42(int) Constant 3
              70:             TypePointer Function 16(s2_t)
              89:             TypePointer UniformConstant 7
   90(g_tTex2s1):     89(ptr) Variable UniformConstant
              94:    6(float) Constant 1036831949
              95:    6(float) Constant 1038174126
              96:    9(fvec2) ConstantComposite 94 95
  114(g_tTex2s2):     89(ptr) Variable UniformConstant
             118:    6(float) Constant 1045220557
             119:    6(float) Constant 1045891645
             120:    9(fvec2) ConstantComposite 118 119
       136(s3_t):             TypeStruct 9(fvec2) 6(float)
             137:             TypePointer Function 136(s3_t)
  140(g_tTex2s3):     89(ptr) Variable UniformConstant
             144:    6(float) Constant 1050253722
             145:    6(float) Constant 1050589266
             146:    9(fvec2) ConstantComposite 144 145
             159:             TypeVector 40(int) 2
       160(s4_t):             TypeStruct 40(int) 159(ivec2) 40(int)
             161:             TypePointer Function 160(s4_t)
             163:             TypeVector 40(int) 4
             164:             TypePointer Function 163(ivec4)
             166:             TypeImage 40(int) 2D sampled format:Unknown
             167:             TypePointer UniformConstant 166
  168(g_tTex2s4):    167(ptr) Variable UniformConstant
             171:             TypeSampledImage 166
             173:    6(float) Constant 1053609165
             174:    6(float) Constant 1053944709
             175:    9(fvec2) ConstantComposite 173 174
             178:             TypePointer Function 40(int)
       194(s5_t):             TypeStruct 42(int) 42(int)
             195:             TypePointer Function 194(s5_t)
             197:             TypeVector 42(int) 4
             198:             TypePointer Function 197(ivec4)
             200:             TypeImage 42(int) 2D sampled format:Unknown
             201:             TypePointer UniformConstant 200
  202(g_tTex2s5):    201(ptr) Variable UniformConstant
             205:             TypeSampledImage 200
             207:    6(float) Constant 1056964608
             208:    6(float) Constant 1057132380
             209:    9(fvec2) ConstantComposite 207 208
             212:             TypePointer Function 42(int)
 229(g_tTex2s1a):     89(ptr) Variable UniformConstant
             233:    6(float) Constant 0
             234:   21(fvec4) ConstantComposite 233 233 233 233
             237:             TypePointer Output 21(fvec4)
238(@entryPointOutput):    237(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
             239:   21(fvec4) FunctionCall 23(@main()
                              Store 238(@entryPointOutput) 239
                              Return
                              FunctionEnd
13(fn1(t2-tx-struct0-1;):    10(s1_t) Function None 11
          12(t1):      8(ptr) FunctionParameter
              14:             Label
26(@sampleResultShadow):     25(ptr) Variable Function
39(@sampleStructTemp):     38(ptr) Variable Function
              27:           7 Load 12(t1)
              31:          28 Load 30(g_sSamp)
              33:          32 SampledImage 27 31
              37:   21(fvec4) ImageSampleImplicitLod 33 36
                              Store 26(@sampleResultShadow) 37
              45:     44(ptr) AccessChain 26(@sampleResultShadow) 43
              46:    6(float) Load 45
              47:     44(ptr) AccessChain 39(@sampleStructTemp) 41
                              Store 47 46
              50:     44(ptr) AccessChain 26(@sampleResultShadow) 49
              51:    6(float) Load 50
              52:     44(ptr) AccessChain 39(@sampleStructTemp) 48 43
                              Store 52 51
              54:     44(ptr) AccessChain 26(@sampleResultShadow) 53
              55:    6(float) Load 54
              56:     44(ptr) AccessChain 39(@sampleStructTemp) 48 49
                              Store 56 55
              59:     44(ptr) AccessChain 26(@sampleResultShadow) 58
              60:    6(float) Load 59
              61:     44(ptr) AccessChain 39(@sampleStructTemp) 57
                              Store 61 60
              62:    10(s1_t) Load 39(@sampleStructTemp)
                              ReturnValue 62
                              FunctionEnd
19(fn1(t2-tx-struct1-1;):    16(s2_t) Function None 17
          18(t2):      8(ptr) FunctionParameter
              20:             Label
65(@sampleResultShadow):     25(ptr) Variable Function
71(@sampleStructTemp):     70(ptr) Variable Function
              66:           7 Load 18(t2)
              67:          28 Load 30(g_sSamp)
              68:          32 SampledImage 66 67
              69:   21(fvec4) ImageSampleImplicitLod 68 36
                              Store 65(@sampleResultShadow) 69
              72:     44(ptr) AccessChain 65(@sampleResultShadow) 43
              73:    6(float) Load 72
              74:     44(ptr) AccessChain 71(@sampleStructTemp) 41
                              Store 74 73
              75:     44(ptr) AccessChain 65(@sampleResultShadow) 49
              76:    6(float) Load 75
              77:     44(ptr) AccessChain 71(@sampleStructTemp) 48 43
                              Store 77 76
              78:     44(ptr) AccessChain 65(@sampleResultShadow) 53
              79:    6(float) Load 78
              80:     44(ptr) AccessChain 71(@sampleStructTemp) 48 49
                              Store 80 79
              81:     44(ptr) AccessChain 65(@sampleResultShadow) 58
              82:    6(float) Load 81
              83:     44(ptr) AccessChain 71(@sampleStructTemp) 48 53
                              Store 83 82
              84:    16(s2_t) Load 71(@sampleStructTemp)
                              ReturnValue 84
                              FunctionEnd
      23(@main():   21(fvec4) Function None 22
              24:             Label
          87(s1):     38(ptr) Variable Function
88(@sampleResultShadow):     25(ptr) Variable Function
98(@sampleStructTemp):     38(ptr) Variable Function
         112(s2):     70(ptr) Variable Function
113(@sampleResultShadow):     25(ptr) Variable Function
122(@sampleStructTemp):     70(ptr) Variable Function
         138(s3):    137(ptr) Variable Function
139(@sampleResultShadow):     25(ptr) Variable Function
148(@sampleStructTemp):    137(ptr) Variable Function
         162(s4):    161(ptr) Variable Function
165(@sampleResultShadow):    164(ptr) Variable Function
177(@sampleStructTemp):    161(ptr) Variable Function
         196(s5):    195(ptr) Variable Function
199(@sampleResultShadow):    198(ptr) Variable Function
211(@sampleStructTemp):    195(ptr) Variable Function
         220(r0):     38(ptr) Variable Function
      221(param):      8(ptr) Variable Function
         224(r1):     70(ptr) Variable Function
      225(param):      8(ptr) Variable Function
         228(r2):     38(ptr) Variable Function
      230(param):      8(ptr) Variable Function
              91:           7 Load 90(g_tTex2s1)
              92:          28 Load 30(g_sSamp)
              93:          32 SampledImage 91 92
              97:   21(fvec4) ImageSampleImplicitLod 93 96
                              Store 88(@sampleResultShadow) 97
              99:     44(ptr) AccessChain 88(@sampleResultShadow) 43
             100:    6(float) Load 99
             101:     44(ptr) AccessChain 98(@sampleStructTemp) 41
                              Store 101 100
             102:     44(ptr) AccessChain 88(@sampleResultShadow) 49
             103:    6(float) Load 102
             104:     44(ptr) AccessChain 98(@sampleStructTemp) 48 43
                              Store 104 103
             105:     44(ptr) AccessChain 88(@sampleResultShadow) 53
             106:    6(float) Load 105
             107:     44(ptr) AccessChain 98(@sampleStructTemp) 48 49
                              Store 107 106
             108:     44(ptr) AccessChain 88(@sampleResultShadow) 58
             109:    6(float) Load 108
             110:     44(ptr) AccessChain 98(@sampleStructTemp) 57
                              Store 110 109
             111:    10(s1_t) Load 98(@sampleStructTemp)
                              Store 87(s1) 111
             115:           7 Load 114(g_tTex2s2)
             116:          28 Load 30(g_sSamp)
             117:          32 SampledImage 115 116
             121:   21(fvec4) ImageSampleImplicitLod 117 120
                              Store 113(@sampleResultShadow) 121
             123:     44(ptr) AccessChain 113(@sampleResultShadow) 43
             124:    6(float) Load 123
             125:     44(ptr) AccessChain 122(@sampleStructTemp) 41
                              Store 125 124
             126:     44(ptr) AccessChain 113(@sampleResultShadow) 49
             127:    6(float) Load 126
             128:     44(ptr) AccessChain 122(@sampleStructTemp) 48 43
                              Store 128 127
             129:     44(ptr) AccessChain 113(@sampleResultShadow) 53
             130:    6(float) Load 129
             131:     44(ptr) AccessChain 122(@sampleStructTemp) 48 49
                              Store 131 130
             132:     44(ptr) AccessChain 113(@sampleResultShadow) 58
             133:    6(float) Load 132
             134:     44(ptr) AccessChain 122(@sampleStructTemp) 48 53
                              Store 134 133
             135:    16(s2_t) Load 122(@sampleStructTemp)
                              Store 112(s2) 135
             141:           7 Load 140(g_tTex2s3)
             142:          28 Load 30(g_sSamp)
             143:          32 SampledImage 141 142
             147:   21(fvec4) ImageSampleImplicitLod 143 146
                              Store 139(@sampleResultShadow) 147
             149:     44(ptr) AccessChain 139(@sampleResultShadow) 43
             150:    6(float) Load 149
             151:     44(ptr) AccessChain 148(@sampleStructTemp) 41 43
                              Store 151 150
             152:     44(ptr) AccessChain 139(@sampleResultShadow) 49
             153:    6(float) Load 152
             154:     44(ptr) AccessChain 148(@sampleStructTemp) 41 49
                              Store 154 153
             155:     44(ptr) AccessChain 139(@sampleResultShadow) 53
             156:    6(float) Load 155
             157:     44(ptr) AccessChain 148(@sampleStructTemp) 48
                              Store 157 156
             158:   136(s3_t) Load 148(@sampleStructTemp)
                              Store 138(s3) 158
             169:         166 Load 168(g_tTex2s4)
             170:          28 Load 30(g_sSamp)
             172:         171 SampledImage 169 170
             176:  163(ivec4) ImageSampleImplicitLod 172 175
                              Store 165(@sampleResultShadow) 176
             179:    178(ptr) AccessChain 165(@sampleResultShadow) 43
             180:     40(int) Load 179
             181:    178(ptr) AccessChain 177(@sampleStructTemp) 41
                              Store 181 180
             182:    178(ptr) AccessChain 165(@sampleResultShadow) 49
             183:     40(int) Load 182
             184:    6(float) ConvertSToF 183
             185:    178(ptr) AccessChain 177(@sampleStructTemp) 48 43
                              Store 185 184
             186:    178(ptr) AccessChain 165(@sampleResultShadow) 53
             187:     40(int) Load 186
             188:    6(float) ConvertSToF 187
             189:    178(ptr) AccessChain 177(@sampleStructTemp) 48 49
                              Store 189 188
             190:    178(ptr) AccessChain 165(@sampleResultShadow) 58
             191:     40(int) Load 190
             192:    178(ptr) AccessChain 177(@sampleStructTemp) 57
                              Store 192 191
             193:   160(s4_t) Load 177(@sampleStructTemp)
                              Store 162(s4) 193
             203:         200 Load 202(g_tTex2s5)
             204:          28 Load 30(g_sSamp)
             206:         205 SampledImage 203 204
             210:  197(ivec4) ImageSampleImplicitLod 206 209
                              Store 199(@sampleResultShadow) 210
             213:    212(ptr) AccessChain 199(@sampleResultShadow) 43
             214:     42(int) Load 213
             215:    212(ptr) AccessChain 211(@sampleStructTemp) 41
                              Store 215 214
             216:    212(ptr) AccessChain 199(@sampleResultShadow) 49
             217:     42(int) Load 216
             218:    212(ptr) AccessChain 211(@sampleStructTemp) 48
                              Store 218 217
             219:   194(s5_t) Load 211(@sampleStructTemp)
                              Store 196(s5) 219
             222:           7 Load 90(g_tTex2s1)
                              Store 221(param) 222
             223:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 221(param)
                              Store 220(r0) 223
             226:           7 Load 114(g_tTex2s2)
                              Store 225(param) 226
             227:    16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 225(param)
                              Store 224(r1) 227
             231:           7 Load 229(g_tTex2s1a)
                              Store 230(param) 231
             232:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 230(param)
                              Store 228(r2) 232
                              ReturnValue 234
                              FunctionEnd
