hlsl.structbuffer.byte.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) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7              Constant:
0:7                0 (const uint)
0:12      Branch: Return with expression
0:11        add ( temp 4-component vector of float)
0:10          add ( temp 4-component vector of float)
0:9            add ( temp 4-component vector of float)
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 unsized 1-element array of uint)
0:9                    'sbuf' (layout( row_major std430) readonly 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:?               Construct vec4 ( temp 4-component vector of float)
0:?                 Convert uint to float ( temp 2-component vector of 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                        add ( temp uint)
0:10                          'pos' ( in uint)
0:10                          Constant:
0:10                            4 (const 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) readonly 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) readonly 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.000000
0:10                Constant:
0:10                  0.000000
0:?             Construct vec4 ( temp 4-component vector of float)
0:?               Convert uint to float ( temp 3-component vector of 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                      add ( temp uint)
0:11                        'pos' ( in uint)
0:11                        Constant:
0:11                          8 (const 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) readonly 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) readonly 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) readonly 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.000000
0:?           Convert uint to float ( temp 4-component vector of 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                  add ( temp uint)
0:12                    'pos' ( in uint)
0:12                    Constant:
0:12                      12 (const 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) readonly 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) readonly 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) readonly 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) readonly 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: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) readonly 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) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:7              Constant:
0:7                0 (const uint)
0:12      Branch: Return with expression
0:11        add ( temp 4-component vector of float)
0:10          add ( temp 4-component vector of float)
0:9            add ( temp 4-component vector of float)
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 unsized 1-element array of uint)
0:9                    'sbuf' (layout( row_major std430) readonly 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:?               Construct vec4 ( temp 4-component vector of float)
0:?                 Convert uint to float ( temp 2-component vector of 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                        add ( temp uint)
0:10                          'pos' ( in uint)
0:10                          Constant:
0:10                            4 (const 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) readonly 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) readonly 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.000000
0:10                Constant:
0:10                  0.000000
0:?             Construct vec4 ( temp 4-component vector of float)
0:?               Convert uint to float ( temp 3-component vector of 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                      add ( temp uint)
0:11                        'pos' ( in uint)
0:11                        Constant:
0:11                          8 (const 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) readonly 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) readonly 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) readonly 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.000000
0:?           Convert uint to float ( temp 4-component vector of 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                  add ( temp uint)
0:12                    'pos' ( in uint)
0:12                    Constant:
0:12                      12 (const 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) readonly 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) readonly 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) readonly 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) readonly 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: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) readonly 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 114

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 107 110
                              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 30  "byteAddrTemp"
                              Name 53  "byteAddrTemp"
                              Name 78  "byteAddrTemp"
                              Name 105  "pos"
                              Name 107  "pos"
                              Name 110  "@entryPointOutput"
                              Name 111  "param"
                              Decorate 15 ArrayStride 4
                              MemberDecorate 16(sbuf) 0 NonWritable
                              MemberDecorate 16(sbuf) 0 Offset 0
                              Decorate 16(sbuf) BufferBlock
                              Decorate 18(sbuf) DescriptorSet 0
                              Decorate 107(pos) Flat
                              Decorate 107(pos) Location 0
                              Decorate 110(@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:     20(int) Constant 0
              23:     20(int) Constant 2
              25:             TypePointer Uniform 6(int)
              29:             TypePointer Function 20(int)
              32:      6(int) Constant 4
              39:     20(int) Constant 1
              43:             TypeVector 6(int) 2
              45:             TypeVector 8(float) 2
              47:    8(float) Constant 0
              55:      6(int) Constant 8
              69:             TypeVector 6(int) 3
              71:             TypeVector 8(float) 3
              80:      6(int) Constant 12
              95:     20(int) Constant 3
              99:             TypeVector 6(int) 4
             106:             TypePointer Input 6(int)
        107(pos):    106(ptr) Variable Input
             109:             TypePointer Output 9(fvec4)
110(@entryPointOutput):    109(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
        105(pos):      7(ptr) Variable Function
      111(param):      7(ptr) Variable Function
             108:      6(int) Load 107(pos)
                              Store 105(pos) 108
             112:      6(int) Load 105(pos)
                              Store 111(param) 112
             113:    9(fvec4) FunctionCall 12(@main(u1;) 111(param)
                              Store 110(@entryPointOutput) 113
                              Return
                              FunctionEnd
   12(@main(u1;):    9(fvec4) Function None 10
         11(pos):      7(ptr) FunctionParameter
              13:             Label
        14(size):      7(ptr) Variable Function
30(byteAddrTemp):     29(ptr) Variable Function
53(byteAddrTemp):     29(ptr) Variable Function
78(byteAddrTemp):     29(ptr) Variable Function
              19:      6(int) ArrayLength 18(sbuf) 0
                              Store 14(size) 19
              22:      6(int) Load 11(pos)
              24:     20(int) ShiftRightLogical 22 23
              26:     25(ptr) AccessChain 18(sbuf) 21 24
              27:      6(int) Load 26
              28:    8(float) ConvertUToF 27
              31:      6(int) Load 11(pos)
              33:      6(int) IAdd 31 32
              34:     20(int) ShiftRightLogical 33 23
                              Store 30(byteAddrTemp) 34
              35:     20(int) Load 30(byteAddrTemp)
              36:     25(ptr) AccessChain 18(sbuf) 21 35
              37:      6(int) Load 36
              38:     20(int) Load 30(byteAddrTemp)
              40:     20(int) IAdd 38 39
              41:     25(ptr) AccessChain 18(sbuf) 21 40
              42:      6(int) Load 41
              44:   43(ivec2) CompositeConstruct 37 42
              46:   45(fvec2) ConvertUToF 44
              48:    8(float) CompositeExtract 46 0
              49:    8(float) CompositeExtract 46 1
              50:    9(fvec4) CompositeConstruct 48 49 47 47
              51:    9(fvec4) CompositeConstruct 28 28 28 28
              52:    9(fvec4) FAdd 51 50
              54:      6(int) Load 11(pos)
              56:      6(int) IAdd 54 55
              57:     20(int) ShiftRightLogical 56 23
                              Store 53(byteAddrTemp) 57
              58:     20(int) Load 53(byteAddrTemp)
              59:     25(ptr) AccessChain 18(sbuf) 21 58
              60:      6(int) Load 59
              61:     20(int) Load 53(byteAddrTemp)
              62:     20(int) IAdd 61 39
              63:     25(ptr) AccessChain 18(sbuf) 21 62
              64:      6(int) Load 63
              65:     20(int) Load 53(byteAddrTemp)
              66:     20(int) IAdd 65 23
              67:     25(ptr) AccessChain 18(sbuf) 21 66
              68:      6(int) Load 67
              70:   69(ivec3) CompositeConstruct 60 64 68
              72:   71(fvec3) ConvertUToF 70
              73:    8(float) CompositeExtract 72 0
              74:    8(float) CompositeExtract 72 1
              75:    8(float) CompositeExtract 72 2
              76:    9(fvec4) CompositeConstruct 73 74 75 47
              77:    9(fvec4) FAdd 52 76
              79:      6(int) Load 11(pos)
              81:      6(int) IAdd 79 80
              82:     20(int) ShiftRightLogical 81 23
                              Store 78(byteAddrTemp) 82
              83:     20(int) Load 78(byteAddrTemp)
              84:     25(ptr) AccessChain 18(sbuf) 21 83
              85:      6(int) Load 84
              86:     20(int) Load 78(byteAddrTemp)
              87:     20(int) IAdd 86 39
              88:     25(ptr) AccessChain 18(sbuf) 21 87
              89:      6(int) Load 88
              90:     20(int) Load 78(byteAddrTemp)
              91:     20(int) IAdd 90 23
              92:     25(ptr) AccessChain 18(sbuf) 21 91
              93:      6(int) Load 92
              94:     20(int) Load 78(byteAddrTemp)
              96:     20(int) IAdd 94 95
              97:     25(ptr) AccessChain 18(sbuf) 21 96
              98:      6(int) Load 97
             100:   99(ivec4) CompositeConstruct 85 89 93 98
             101:    9(fvec4) ConvertUToF 100
             102:    9(fvec4) FAdd 77 101
                              ReturnValue 102
                              FunctionEnd
