hlsl.structbuffer.rwbyte.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: @main(u1; ( temp 4-component vector of float)
0:5    Function Parameters: 
0:5      'pos' ( in uint)
0:?     Sequence
0:7      Sequence
0:7        move second child to first child ( temp uint)
0:7          'size' ( temp uint)
0:7          array length ( temp uint)
0:7            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:7              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7              Constant:
0:7                0 (const uint)
0:?       Sequence
0:9        move second child to first child ( temp int)
0:9          'byteAddrTemp' ( temp int)
0:9          right-shift ( temp int)
0:9            'pos' ( in uint)
0:9            Constant:
0:9              2 (const int)
0:9        move second child to first child ( temp uint)
0:9          indirect index (layout( row_major std430) buffer uint)
0:9            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            'byteAddrTemp' ( temp int)
0:9          indirect index (layout( row_major std430) buffer uint)
0:9            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            right-shift ( temp int)
0:9              'pos' ( in uint)
0:9              Constant:
0:9                2 (const int)
0:?       Sequence
0:10        move second child to first child ( temp int)
0:10          'byteAddrTemp' ( temp int)
0:10          right-shift ( temp int)
0:10            'pos' ( in uint)
0:10            Constant:
0:10              2 (const int)
0:10        move second child to first child ( temp uint)
0:10          indirect index (layout( row_major std430) buffer uint)
0:10            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            'byteAddrTemp' ( temp int)
0:10          direct index ( temp uint)
0:?             Sequence
0:10              move second child to first child ( temp int)
0:10                'byteAddrTemp' ( temp int)
0:10                right-shift ( temp int)
0:10                  'pos' ( in uint)
0:10                  Constant:
0:10                    2 (const int)
0:?               Construct vec2 ( temp 2-component vector of uint)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  add ( temp int)
0:10                    'byteAddrTemp' ( temp int)
0:10                    Constant:
0:10                      1 (const int)
0:10            Constant:
0:10              0 (const int)
0:10        move second child to first child ( temp uint)
0:10          indirect index (layout( row_major std430) buffer uint)
0:10            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            add ( temp int)
0:10              'byteAddrTemp' ( temp int)
0:10              Constant:
0:10                1 (const int)
0:10          direct index ( temp uint)
0:?             Sequence
0:10              move second child to first child ( temp int)
0:10                'byteAddrTemp' ( temp int)
0:10                right-shift ( temp int)
0:10                  'pos' ( in uint)
0:10                  Constant:
0:10                    2 (const int)
0:?               Construct vec2 ( temp 2-component vector of uint)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  add ( temp int)
0:10                    'byteAddrTemp' ( temp int)
0:10                    Constant:
0:10                      1 (const int)
0:10            Constant:
0:10              1 (const int)
0:?       Sequence
0:11        move second child to first child ( temp int)
0:11          'byteAddrTemp' ( temp int)
0:11          right-shift ( temp int)
0:11            'pos' ( in uint)
0:11            Constant:
0:11              2 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            'byteAddrTemp' ( temp int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              0 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            add ( temp int)
0:11              'byteAddrTemp' ( temp int)
0:11              Constant:
0:11                1 (const int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              1 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            add ( temp int)
0:11              'byteAddrTemp' ( temp int)
0:11              Constant:
0:11                2 (const int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              2 (const int)
0:?       Sequence
0:12        move second child to first child ( temp int)
0:12          'byteAddrTemp' ( temp int)
0:12          right-shift ( temp int)
0:12            'pos' ( in uint)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            'byteAddrTemp' ( temp int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                1 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                2 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                3 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              3 (const int)
0:14      Branch: Return with expression
0:14        Construct vec4 ( temp 4-component vector of float)
0:14          Convert uint to float ( temp float)
0:14            indirect index (layout( row_major std430) buffer uint)
0:14              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:14                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:14                Constant:
0:14                  0 (const uint)
0:14              right-shift ( temp int)
0:14                'pos' ( in uint)
0:14                Constant:
0:14                  2 (const int)
0:5  Function Definition: main( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      move second child to first child ( temp uint)
0:?         'pos' ( temp uint)
0:?         'pos' (layout( location=0) flat in uint)
0:5      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5        Function Call: @main(u1; ( temp 4-component vector of float)
0:?           'pos' ( temp uint)
0:?   Linker Objects
0:?     'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'pos' (layout( location=0) flat in uint)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: @main(u1; ( temp 4-component vector of float)
0:5    Function Parameters: 
0:5      'pos' ( in uint)
0:?     Sequence
0:7      Sequence
0:7        move second child to first child ( temp uint)
0:7          'size' ( temp uint)
0:7          array length ( temp uint)
0:7            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:7              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7              Constant:
0:7                0 (const uint)
0:?       Sequence
0:9        move second child to first child ( temp int)
0:9          'byteAddrTemp' ( temp int)
0:9          right-shift ( temp int)
0:9            'pos' ( in uint)
0:9            Constant:
0:9              2 (const int)
0:9        move second child to first child ( temp uint)
0:9          indirect index (layout( row_major std430) buffer uint)
0:9            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            'byteAddrTemp' ( temp int)
0:9          indirect index (layout( row_major std430) buffer uint)
0:9            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            right-shift ( temp int)
0:9              'pos' ( in uint)
0:9              Constant:
0:9                2 (const int)
0:?       Sequence
0:10        move second child to first child ( temp int)
0:10          'byteAddrTemp' ( temp int)
0:10          right-shift ( temp int)
0:10            'pos' ( in uint)
0:10            Constant:
0:10              2 (const int)
0:10        move second child to first child ( temp uint)
0:10          indirect index (layout( row_major std430) buffer uint)
0:10            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            'byteAddrTemp' ( temp int)
0:10          direct index ( temp uint)
0:?             Sequence
0:10              move second child to first child ( temp int)
0:10                'byteAddrTemp' ( temp int)
0:10                right-shift ( temp int)
0:10                  'pos' ( in uint)
0:10                  Constant:
0:10                    2 (const int)
0:?               Construct vec2 ( temp 2-component vector of uint)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  add ( temp int)
0:10                    'byteAddrTemp' ( temp int)
0:10                    Constant:
0:10                      1 (const int)
0:10            Constant:
0:10              0 (const int)
0:10        move second child to first child ( temp uint)
0:10          indirect index (layout( row_major std430) buffer uint)
0:10            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            add ( temp int)
0:10              'byteAddrTemp' ( temp int)
0:10              Constant:
0:10                1 (const int)
0:10          direct index ( temp uint)
0:?             Sequence
0:10              move second child to first child ( temp int)
0:10                'byteAddrTemp' ( temp int)
0:10                right-shift ( temp int)
0:10                  'pos' ( in uint)
0:10                  Constant:
0:10                    2 (const int)
0:?               Construct vec2 ( temp 2-component vector of uint)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp uint)
0:10                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  add ( temp int)
0:10                    'byteAddrTemp' ( temp int)
0:10                    Constant:
0:10                      1 (const int)
0:10            Constant:
0:10              1 (const int)
0:?       Sequence
0:11        move second child to first child ( temp int)
0:11          'byteAddrTemp' ( temp int)
0:11          right-shift ( temp int)
0:11            'pos' ( in uint)
0:11            Constant:
0:11              2 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            'byteAddrTemp' ( temp int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              0 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            add ( temp int)
0:11              'byteAddrTemp' ( temp int)
0:11              Constant:
0:11                1 (const int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              1 (const int)
0:11        move second child to first child ( temp uint)
0:11          indirect index (layout( row_major std430) buffer uint)
0:11            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            add ( temp int)
0:11              'byteAddrTemp' ( temp int)
0:11              Constant:
0:11                2 (const int)
0:11          direct index ( temp uint)
0:?             Sequence
0:11              move second child to first child ( temp int)
0:11                'byteAddrTemp' ( temp int)
0:11                right-shift ( temp int)
0:11                  'pos' ( in uint)
0:11                  Constant:
0:11                    2 (const int)
0:?               Construct vec3 ( temp 3-component vector of uint)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      1 (const int)
0:11                indirect index ( temp uint)
0:11                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  add ( temp int)
0:11                    'byteAddrTemp' ( temp int)
0:11                    Constant:
0:11                      2 (const int)
0:11            Constant:
0:11              2 (const int)
0:?       Sequence
0:12        move second child to first child ( temp int)
0:12          'byteAddrTemp' ( temp int)
0:12          right-shift ( temp int)
0:12            'pos' ( in uint)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            'byteAddrTemp' ( temp int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              0 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                1 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              1 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                2 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              2 (const int)
0:12        move second child to first child ( temp uint)
0:12          indirect index (layout( row_major std430) buffer uint)
0:12            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            add ( temp int)
0:12              'byteAddrTemp' ( temp int)
0:12              Constant:
0:12                3 (const int)
0:12          direct index ( temp uint)
0:?             Sequence
0:12              move second child to first child ( temp int)
0:12                'byteAddrTemp' ( temp int)
0:12                right-shift ( temp int)
0:12                  'pos' ( in uint)
0:12                  Constant:
0:12                    2 (const int)
0:?               Construct vec4 ( temp 4-component vector of uint)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      1 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      2 (const int)
0:12                indirect index ( temp uint)
0:12                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  add ( temp int)
0:12                    'byteAddrTemp' ( temp int)
0:12                    Constant:
0:12                      3 (const int)
0:12            Constant:
0:12              3 (const int)
0:14      Branch: Return with expression
0:14        Construct vec4 ( temp 4-component vector of float)
0:14          Convert uint to float ( temp float)
0:14            indirect index (layout( row_major std430) buffer uint)
0:14              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:14                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:14                Constant:
0:14                  0 (const uint)
0:14              right-shift ( temp int)
0:14                'pos' ( in uint)
0:14                Constant:
0:14                  2 (const int)
0:5  Function Definition: main( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      move second child to first child ( temp uint)
0:?         'pos' ( temp uint)
0:?         'pos' (layout( location=0) flat in uint)
0:5      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5        Function Call: @main(u1; ( temp 4-component vector of float)
0:?           'pos' ( temp uint)
0:?   Linker Objects
0:?     'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'pos' (layout( location=0) flat in uint)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 232 235
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 12  "@main(u1;"
                              Name 11  "pos"
                              Name 14  "size"
                              Name 16  "sbuf"
                              MemberName 16(sbuf) 0  "@data"
                              Name 18  "sbuf"
                              Name 22  "byteAddrTemp"
                              Name 34  "byteAddrTemp"
                              Name 38  "byteAddrTemp"
                              Name 69  "byteAddrTemp"
                              Name 73  "byteAddrTemp"
                              Name 128  "byteAddrTemp"
                              Name 132  "byteAddrTemp"
                              Name 230  "pos"
                              Name 232  "pos"
                              Name 235  "@entryPointOutput"
                              Name 236  "param"
                              Decorate 15 ArrayStride 4
                              MemberDecorate 16(sbuf) 0 Offset 0
                              Decorate 16(sbuf) BufferBlock
                              Decorate 18(sbuf) DescriptorSet 0
                              Decorate 18(sbuf) Binding 0
                              Decorate 232(pos) Flat
                              Decorate 232(pos) Location 0
                              Decorate 235(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
              10:             TypeFunction 9(fvec4) 7(ptr)
              15:             TypeRuntimeArray 6(int)
        16(sbuf):             TypeStruct 15
              17:             TypePointer Uniform 16(sbuf)
        18(sbuf):     17(ptr) Variable Uniform
              20:             TypeInt 32 1
              21:             TypePointer Function 20(int)
              24:     20(int) Constant 2
              26:     20(int) Constant 0
              30:             TypePointer Uniform 6(int)
              45:     20(int) Constant 1
              49:             TypeVector 6(int) 2
              51:      6(int) Constant 0
              66:      6(int) Constant 1
              87:             TypeVector 6(int) 3
             125:      6(int) Constant 2
             147:     20(int) Constant 3
             151:             TypeVector 6(int) 4
             219:      6(int) Constant 3
             231:             TypePointer Input 6(int)
        232(pos):    231(ptr) Variable Input
             234:             TypePointer Output 9(fvec4)
235(@entryPointOutput):    234(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
        230(pos):      7(ptr) Variable Function
      236(param):      7(ptr) Variable Function
             233:      6(int) Load 232(pos)
                              Store 230(pos) 233
             237:      6(int) Load 230(pos)
                              Store 236(param) 237
             238:    9(fvec4) FunctionCall 12(@main(u1;) 236(param)
                              Store 235(@entryPointOutput) 238
                              Return
                              FunctionEnd
   12(@main(u1;):    9(fvec4) Function None 10
         11(pos):      7(ptr) FunctionParameter
              13:             Label
        14(size):      7(ptr) Variable Function
22(byteAddrTemp):     21(ptr) Variable Function
34(byteAddrTemp):     21(ptr) Variable Function
38(byteAddrTemp):     21(ptr) Variable Function
69(byteAddrTemp):     21(ptr) Variable Function
73(byteAddrTemp):     21(ptr) Variable Function
128(byteAddrTemp):     21(ptr) Variable Function
132(byteAddrTemp):     21(ptr) Variable Function
              19:      6(int) ArrayLength 18(sbuf) 0
                              Store 14(size) 19
              23:      6(int) Load 11(pos)
              25:     20(int) ShiftRightLogical 23 24
                              Store 22(byteAddrTemp) 25
              27:     20(int) Load 22(byteAddrTemp)
              28:      6(int) Load 11(pos)
              29:     20(int) ShiftRightLogical 28 24
              31:     30(ptr) AccessChain 18(sbuf) 26 29
              32:      6(int) Load 31
              33:     30(ptr) AccessChain 18(sbuf) 26 27
                              Store 33 32
              35:      6(int) Load 11(pos)
              36:     20(int) ShiftRightLogical 35 24
                              Store 34(byteAddrTemp) 36
              37:     20(int) Load 34(byteAddrTemp)
              39:      6(int) Load 11(pos)
              40:     20(int) ShiftRightLogical 39 24
                              Store 38(byteAddrTemp) 40
              41:     20(int) Load 38(byteAddrTemp)
              42:     30(ptr) AccessChain 18(sbuf) 26 41
              43:      6(int) Load 42
              44:     20(int) Load 38(byteAddrTemp)
              46:     20(int) IAdd 44 45
              47:     30(ptr) AccessChain 18(sbuf) 26 46
              48:      6(int) Load 47
              50:   49(ivec2) CompositeConstruct 43 48
              52:      6(int) CompositeExtract 50 0
              53:     30(ptr) AccessChain 18(sbuf) 26 37
                              Store 53 52
              54:     20(int) Load 34(byteAddrTemp)
              55:     20(int) IAdd 54 45
              56:      6(int) Load 11(pos)
              57:     20(int) ShiftRightLogical 56 24
                              Store 38(byteAddrTemp) 57
              58:     20(int) Load 38(byteAddrTemp)
              59:     30(ptr) AccessChain 18(sbuf) 26 58
              60:      6(int) Load 59
              61:     20(int) Load 38(byteAddrTemp)
              62:     20(int) IAdd 61 45
              63:     30(ptr) AccessChain 18(sbuf) 26 62
              64:      6(int) Load 63
              65:   49(ivec2) CompositeConstruct 60 64
              67:      6(int) CompositeExtract 65 1
              68:     30(ptr) AccessChain 18(sbuf) 26 55
                              Store 68 67
              70:      6(int) Load 11(pos)
              71:     20(int) ShiftRightLogical 70 24
                              Store 69(byteAddrTemp) 71
              72:     20(int) Load 69(byteAddrTemp)
              74:      6(int) Load 11(pos)
              75:     20(int) ShiftRightLogical 74 24
                              Store 73(byteAddrTemp) 75
              76:     20(int) Load 73(byteAddrTemp)
              77:     30(ptr) AccessChain 18(sbuf) 26 76
              78:      6(int) Load 77
              79:     20(int) Load 73(byteAddrTemp)
              80:     20(int) IAdd 79 45
              81:     30(ptr) AccessChain 18(sbuf) 26 80
              82:      6(int) Load 81
              83:     20(int) Load 73(byteAddrTemp)
              84:     20(int) IAdd 83 24
              85:     30(ptr) AccessChain 18(sbuf) 26 84
              86:      6(int) Load 85
              88:   87(ivec3) CompositeConstruct 78 82 86
              89:      6(int) CompositeExtract 88 0
              90:     30(ptr) AccessChain 18(sbuf) 26 72
                              Store 90 89
              91:     20(int) Load 69(byteAddrTemp)
              92:     20(int) IAdd 91 45
              93:      6(int) Load 11(pos)
              94:     20(int) ShiftRightLogical 93 24
                              Store 73(byteAddrTemp) 94
              95:     20(int) Load 73(byteAddrTemp)
              96:     30(ptr) AccessChain 18(sbuf) 26 95
              97:      6(int) Load 96
              98:     20(int) Load 73(byteAddrTemp)
              99:     20(int) IAdd 98 45
             100:     30(ptr) AccessChain 18(sbuf) 26 99
             101:      6(int) Load 100
             102:     20(int) Load 73(byteAddrTemp)
             103:     20(int) IAdd 102 24
             104:     30(ptr) AccessChain 18(sbuf) 26 103
             105:      6(int) Load 104
             106:   87(ivec3) CompositeConstruct 97 101 105
             107:      6(int) CompositeExtract 106 1
             108:     30(ptr) AccessChain 18(sbuf) 26 92
                              Store 108 107
             109:     20(int) Load 69(byteAddrTemp)
             110:     20(int) IAdd 109 24
             111:      6(int) Load 11(pos)
             112:     20(int) ShiftRightLogical 111 24
                              Store 73(byteAddrTemp) 112
             113:     20(int) Load 73(byteAddrTemp)
             114:     30(ptr) AccessChain 18(sbuf) 26 113
             115:      6(int) Load 114
             116:     20(int) Load 73(byteAddrTemp)
             117:     20(int) IAdd 116 45
             118:     30(ptr) AccessChain 18(sbuf) 26 117
             119:      6(int) Load 118
             120:     20(int) Load 73(byteAddrTemp)
             121:     20(int) IAdd 120 24
             122:     30(ptr) AccessChain 18(sbuf) 26 121
             123:      6(int) Load 122
             124:   87(ivec3) CompositeConstruct 115 119 123
             126:      6(int) CompositeExtract 124 2
             127:     30(ptr) AccessChain 18(sbuf) 26 110
                              Store 127 126
             129:      6(int) Load 11(pos)
             130:     20(int) ShiftRightLogical 129 24
                              Store 128(byteAddrTemp) 130
             131:     20(int) Load 128(byteAddrTemp)
             133:      6(int) Load 11(pos)
             134:     20(int) ShiftRightLogical 133 24
                              Store 132(byteAddrTemp) 134
             135:     20(int) Load 132(byteAddrTemp)
             136:     30(ptr) AccessChain 18(sbuf) 26 135
             137:      6(int) Load 136
             138:     20(int) Load 132(byteAddrTemp)
             139:     20(int) IAdd 138 45
             140:     30(ptr) AccessChain 18(sbuf) 26 139
             141:      6(int) Load 140
             142:     20(int) Load 132(byteAddrTemp)
             143:     20(int) IAdd 142 24
             144:     30(ptr) AccessChain 18(sbuf) 26 143
             145:      6(int) Load 144
             146:     20(int) Load 132(byteAddrTemp)
             148:     20(int) IAdd 146 147
             149:     30(ptr) AccessChain 18(sbuf) 26 148
             150:      6(int) Load 149
             152:  151(ivec4) CompositeConstruct 137 141 145 150
             153:      6(int) CompositeExtract 152 0
             154:     30(ptr) AccessChain 18(sbuf) 26 131
                              Store 154 153
             155:     20(int) Load 128(byteAddrTemp)
             156:     20(int) IAdd 155 45
             157:      6(int) Load 11(pos)
             158:     20(int) ShiftRightLogical 157 24
                              Store 132(byteAddrTemp) 158
             159:     20(int) Load 132(byteAddrTemp)
             160:     30(ptr) AccessChain 18(sbuf) 26 159
             161:      6(int) Load 160
             162:     20(int) Load 132(byteAddrTemp)
             163:     20(int) IAdd 162 45
             164:     30(ptr) AccessChain 18(sbuf) 26 163
             165:      6(int) Load 164
             166:     20(int) Load 132(byteAddrTemp)
             167:     20(int) IAdd 166 24
             168:     30(ptr) AccessChain 18(sbuf) 26 167
             169:      6(int) Load 168
             170:     20(int) Load 132(byteAddrTemp)
             171:     20(int) IAdd 170 147
             172:     30(ptr) AccessChain 18(sbuf) 26 171
             173:      6(int) Load 172
             174:  151(ivec4) CompositeConstruct 161 165 169 173
             175:      6(int) CompositeExtract 174 1
             176:     30(ptr) AccessChain 18(sbuf) 26 156
                              Store 176 175
             177:     20(int) Load 128(byteAddrTemp)
             178:     20(int) IAdd 177 24
             179:      6(int) Load 11(pos)
             180:     20(int) ShiftRightLogical 179 24
                              Store 132(byteAddrTemp) 180
             181:     20(int) Load 132(byteAddrTemp)
             182:     30(ptr) AccessChain 18(sbuf) 26 181
             183:      6(int) Load 182
             184:     20(int) Load 132(byteAddrTemp)
             185:     20(int) IAdd 184 45
             186:     30(ptr) AccessChain 18(sbuf) 26 185
             187:      6(int) Load 186
             188:     20(int) Load 132(byteAddrTemp)
             189:     20(int) IAdd 188 24
             190:     30(ptr) AccessChain 18(sbuf) 26 189
             191:      6(int) Load 190
             192:     20(int) Load 132(byteAddrTemp)
             193:     20(int) IAdd 192 147
             194:     30(ptr) AccessChain 18(sbuf) 26 193
             195:      6(int) Load 194
             196:  151(ivec4) CompositeConstruct 183 187 191 195
             197:      6(int) CompositeExtract 196 2
             198:     30(ptr) AccessChain 18(sbuf) 26 178
                              Store 198 197
             199:     20(int) Load 128(byteAddrTemp)
             200:     20(int) IAdd 199 147
             201:      6(int) Load 11(pos)
             202:     20(int) ShiftRightLogical 201 24
                              Store 132(byteAddrTemp) 202
             203:     20(int) Load 132(byteAddrTemp)
             204:     30(ptr) AccessChain 18(sbuf) 26 203
             205:      6(int) Load 204
             206:     20(int) Load 132(byteAddrTemp)
             207:     20(int) IAdd 206 45
             208:     30(ptr) AccessChain 18(sbuf) 26 207
             209:      6(int) Load 208
             210:     20(int) Load 132(byteAddrTemp)
             211:     20(int) IAdd 210 24
             212:     30(ptr) AccessChain 18(sbuf) 26 211
             213:      6(int) Load 212
             214:     20(int) Load 132(byteAddrTemp)
             215:     20(int) IAdd 214 147
             216:     30(ptr) AccessChain 18(sbuf) 26 215
             217:      6(int) Load 216
             218:  151(ivec4) CompositeConstruct 205 209 213 217
             220:      6(int) CompositeExtract 218 3
             221:     30(ptr) AccessChain 18(sbuf) 26 200
                              Store 221 220
             222:      6(int) Load 11(pos)
             223:     20(int) ShiftRightLogical 222 24
             224:     30(ptr) AccessChain 18(sbuf) 26 223
             225:      6(int) Load 224
             226:    8(float) ConvertUToF 225
             227:    9(fvec4) CompositeConstruct 226 226 226 226
                              ReturnValue 227
                              FunctionEnd