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 implicitly-sized array of uint)
0:7              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:9          indirect index ( temp float)
0:9            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            'byteAddrTemp' ( temp int)
0:9          Convert uint to float ( temp float)
0:9            indirect index (layout( row_major std430) buffer uint)
0:9              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:9                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:10          indirect index ( temp float)
0:10            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            'byteAddrTemp' ( temp int)
0:10          direct index ( temp float)
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 float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:10          indirect index ( temp float)
0:10            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            'byteAddrTemp' ( temp int)
0:11          direct index ( temp float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            'byteAddrTemp' ( temp int)
0:12          direct index ( temp float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of uint)
0:14                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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) 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 implicitly-sized array of uint @data})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'pos' (layout( location=0) 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 implicitly-sized array of uint)
0:7              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:9          indirect index ( temp float)
0:9            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:9              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:9              Constant:
0:9                0 (const uint)
0:9            'byteAddrTemp' ( temp int)
0:9          Convert uint to float ( temp float)
0:9            indirect index (layout( row_major std430) buffer uint)
0:9              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:9                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:10          indirect index ( temp float)
0:10            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10              Constant:
0:10                0 (const uint)
0:10            'byteAddrTemp' ( temp int)
0:10          direct index ( temp float)
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 float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:10          indirect index ( temp float)
0:10            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:10                    Constant:
0:10                      0 (const uint)
0:10                  'byteAddrTemp' ( temp int)
0:10                indirect index ( temp float)
0:10                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:10                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11              Constant:
0:11                0 (const uint)
0:11            'byteAddrTemp' ( temp int)
0:11          direct index ( temp float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11          indirect index ( temp float)
0:11            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:11                    Constant:
0:11                      0 (const uint)
0:11                  'byteAddrTemp' ( temp int)
0:11                indirect index ( temp float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:11                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:11                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12              Constant:
0:12                0 (const uint)
0:12            'byteAddrTemp' ( temp int)
0:12          direct index ( temp float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12          indirect index ( temp float)
0:12            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12              'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:12                    Constant:
0:12                      0 (const uint)
0:12                  'byteAddrTemp' ( temp int)
0:12                indirect index ( temp float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 float)
0:12                  @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:12                    'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of uint)
0:14                'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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) 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 implicitly-sized array of uint @data})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'pos' (layout( location=0) in uint)

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

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