Home | History | Annotate | Download | only in baseResults
      1 hlsl.structbuffer.incdec.frag
      2 Shader version: 500
      3 gl_FragCoord origin is upper left
      4 0:? Sequence
      5 0:7  Function Definition: @main(u1; ( temp 4-component vector of float)
      6 0:7    Function Parameters: 
      7 0:7      'pos' ( in uint)
      8 0:?     Sequence
      9 0:8      Sequence
     10 0:8        move second child to first child ( temp 4-component vector of uint)
     11 0:8          'result' ( temp 4-component vector of uint)
     12 0:8          Constant:
     13 0:8            0 (const uint)
     14 0:8            0 (const uint)
     15 0:8            0 (const uint)
     16 0:8            0 (const uint)
     17 0:10      direct index (layout( row_major std430) buffer 4-component vector of uint)
     18 0:10        @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
     19 0:10          'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     20 0:10          Constant:
     21 0:10            0 (const uint)
     22 0:10        Constant:
     23 0:10          7 (const int)
     24 0:11      direct index (layout( row_major std430) buffer 4-component vector of uint)
     25 0:11        @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
     26 0:11          'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     27 0:11          Constant:
     28 0:11            0 (const uint)
     29 0:11        Constant:
     30 0:11          7 (const int)
     31 0:13      move second child to first child ( temp 4-component vector of uint)
     32 0:13        direct index (layout( row_major std430) buffer 4-component vector of uint)
     33 0:13          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
     34 0:13            'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     35 0:13            Constant:
     36 0:13              0 (const uint)
     37 0:13          Constant:
     38 0:13            5 (const int)
     39 0:13        Constant:
     40 0:13          2 (const uint)
     41 0:13          2 (const uint)
     42 0:13          2 (const uint)
     43 0:13          2 (const uint)
     44 0:15      Sequence
     45 0:15        move second child to first child ( temp uint)
     46 0:15          'c1' ( temp uint)
     47 0:15          AtomicAdd ( temp uint)
     48 0:15            @count: direct index for structure ( temp uint)
     49 0:15              'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
     50 0:15              Constant:
     51 0:15                0 (const int)
     52 0:15            Constant:
     53 0:15              1 (const uint)
     54 0:16      Sequence
     55 0:16        move second child to first child ( temp uint)
     56 0:16          'c2' ( temp uint)
     57 0:16          add ( temp uint)
     58 0:16            AtomicAdd ( temp uint)
     59 0:16              @count: direct index for structure ( temp uint)
     60 0:16                'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
     61 0:16                Constant:
     62 0:16                  0 (const int)
     63 0:16              Constant:
     64 0:16                4294967295 (const uint)
     65 0:16            Constant:
     66 0:16              -1 (const int)
     67 0:18      Branch: Return with expression
     68 0:?         Construct vec4 ( temp 4-component vector of float)
     69 0:18          Convert uint to float ( temp float)
     70 0:18            direct index ( temp uint)
     71 0:18              'result' ( temp 4-component vector of uint)
     72 0:18              Constant:
     73 0:18                0 (const int)
     74 0:18          Convert uint to float ( temp float)
     75 0:18            direct index ( temp uint)
     76 0:18              'result' ( temp 4-component vector of uint)
     77 0:18              Constant:
     78 0:18                1 (const int)
     79 0:18          Convert uint to float ( temp float)
     80 0:18            'c1' ( temp uint)
     81 0:18          Convert uint to float ( temp float)
     82 0:18            'c2' ( temp uint)
     83 0:7  Function Definition: main( ( temp void)
     84 0:7    Function Parameters: 
     85 0:?     Sequence
     86 0:7      move second child to first child ( temp uint)
     87 0:?         'pos' ( temp uint)
     88 0:?         'pos' (layout( location=0) flat in uint)
     89 0:7      move second child to first child ( temp 4-component vector of float)
     90 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
     91 0:7        Function Call: @main(u1; ( temp 4-component vector of float)
     92 0:?           'pos' ( temp uint)
     93 0:?   Linker Objects
     94 0:?     'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     95 0:?     'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
     96 0:?     'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     97 0:?     'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
     98 0:?     'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
     99 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    100 0:?     'pos' (layout( location=0) flat in uint)
    101 
    102 
    103 Linked fragment stage:
    104 
    105 
    106 Shader version: 500
    107 gl_FragCoord origin is upper left
    108 0:? Sequence
    109 0:7  Function Definition: @main(u1; ( temp 4-component vector of float)
    110 0:7    Function Parameters: 
    111 0:7      'pos' ( in uint)
    112 0:?     Sequence
    113 0:8      Sequence
    114 0:8        move second child to first child ( temp 4-component vector of uint)
    115 0:8          'result' ( temp 4-component vector of uint)
    116 0:8          Constant:
    117 0:8            0 (const uint)
    118 0:8            0 (const uint)
    119 0:8            0 (const uint)
    120 0:8            0 (const uint)
    121 0:10      direct index (layout( row_major std430) buffer 4-component vector of uint)
    122 0:10        @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
    123 0:10          'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    124 0:10          Constant:
    125 0:10            0 (const uint)
    126 0:10        Constant:
    127 0:10          7 (const int)
    128 0:11      direct index (layout( row_major std430) buffer 4-component vector of uint)
    129 0:11        @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
    130 0:11          'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    131 0:11          Constant:
    132 0:11            0 (const uint)
    133 0:11        Constant:
    134 0:11          7 (const int)
    135 0:13      move second child to first child ( temp 4-component vector of uint)
    136 0:13        direct index (layout( row_major std430) buffer 4-component vector of uint)
    137 0:13          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
    138 0:13            'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    139 0:13            Constant:
    140 0:13              0 (const uint)
    141 0:13          Constant:
    142 0:13            5 (const int)
    143 0:13        Constant:
    144 0:13          2 (const uint)
    145 0:13          2 (const uint)
    146 0:13          2 (const uint)
    147 0:13          2 (const uint)
    148 0:15      Sequence
    149 0:15        move second child to first child ( temp uint)
    150 0:15          'c1' ( temp uint)
    151 0:15          AtomicAdd ( temp uint)
    152 0:15            @count: direct index for structure ( temp uint)
    153 0:15              'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
    154 0:15              Constant:
    155 0:15                0 (const int)
    156 0:15            Constant:
    157 0:15              1 (const uint)
    158 0:16      Sequence
    159 0:16        move second child to first child ( temp uint)
    160 0:16          'c2' ( temp uint)
    161 0:16          add ( temp uint)
    162 0:16            AtomicAdd ( temp uint)
    163 0:16              @count: direct index for structure ( temp uint)
    164 0:16                'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
    165 0:16                Constant:
    166 0:16                  0 (const int)
    167 0:16              Constant:
    168 0:16                4294967295 (const uint)
    169 0:16            Constant:
    170 0:16              -1 (const int)
    171 0:18      Branch: Return with expression
    172 0:?         Construct vec4 ( temp 4-component vector of float)
    173 0:18          Convert uint to float ( temp float)
    174 0:18            direct index ( temp uint)
    175 0:18              'result' ( temp 4-component vector of uint)
    176 0:18              Constant:
    177 0:18                0 (const int)
    178 0:18          Convert uint to float ( temp float)
    179 0:18            direct index ( temp uint)
    180 0:18              'result' ( temp 4-component vector of uint)
    181 0:18              Constant:
    182 0:18                1 (const int)
    183 0:18          Convert uint to float ( temp float)
    184 0:18            'c1' ( temp uint)
    185 0:18          Convert uint to float ( temp float)
    186 0:18            'c2' ( temp uint)
    187 0:7  Function Definition: main( ( temp void)
    188 0:7    Function Parameters: 
    189 0:?     Sequence
    190 0:7      move second child to first child ( temp uint)
    191 0:?         'pos' ( temp uint)
    192 0:?         'pos' (layout( location=0) flat in uint)
    193 0:7      move second child to first child ( temp 4-component vector of float)
    194 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    195 0:7        Function Call: @main(u1; ( temp 4-component vector of float)
    196 0:?           'pos' ( temp uint)
    197 0:?   Linker Objects
    198 0:?     'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    199 0:?     'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
    200 0:?     'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    201 0:?     'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
    202 0:?     'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
    203 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    204 0:?     'pos' (layout( location=0) flat in uint)
    205 
    206 // Module Version 10000
    207 // Generated by (magic number): 80007
    208 // Id's are bound by 70
    209 
    210                               Capability Shader
    211                1:             ExtInstImport  "GLSL.std.450"
    212                               MemoryModel Logical GLSL450
    213                               EntryPoint Fragment 4  "main" 63 66
    214                               ExecutionMode 4 OriginUpperLeft
    215                               Source HLSL 500
    216                               Name 4  "main"
    217                               Name 12  "@main(u1;"
    218                               Name 11  "pos"
    219                               Name 16  "result"
    220                               Name 20  "sbuf_rw_i"
    221                               MemberName 20(sbuf_rw_i) 0  "@data"
    222                               Name 22  "sbuf_rw_i"
    223                               Name 26  "sbuf_rw_d"
    224                               Name 27  "sbuf_rw_nocounter"
    225                               Name 33  "c1"
    226                               Name 34  "sbuf_rw_i@count"
    227                               MemberName 34(sbuf_rw_i@count) 0  "@count"
    228                               Name 36  "sbuf_rw_i@count"
    229                               Name 41  "c2"
    230                               Name 42  "sbuf_rw_d@count"
    231                               Name 61  "pos"
    232                               Name 63  "pos"
    233                               Name 66  "@entryPointOutput"
    234                               Name 67  "param"
    235                               Decorate 19 ArrayStride 16
    236                               MemberDecorate 20(sbuf_rw_i) 0 Offset 0
    237                               Decorate 20(sbuf_rw_i) BufferBlock
    238                               Decorate 22(sbuf_rw_i) DescriptorSet 0
    239                               Decorate 22(sbuf_rw_i) Binding 0
    240                               Decorate 26(sbuf_rw_d) DescriptorSet 0
    241                               Decorate 26(sbuf_rw_d) Binding 0
    242                               Decorate 27(sbuf_rw_nocounter) DescriptorSet 0
    243                               Decorate 27(sbuf_rw_nocounter) Binding 0
    244                               MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0
    245                               Decorate 34(sbuf_rw_i@count) BufferBlock
    246                               Decorate 36(sbuf_rw_i@count) DescriptorSet 0
    247                               Decorate 36(sbuf_rw_i@count) Binding 0
    248                               Decorate 42(sbuf_rw_d@count) DescriptorSet 0
    249                               Decorate 42(sbuf_rw_d@count) Binding 0
    250                               Decorate 63(pos) Flat
    251                               Decorate 63(pos) Location 0
    252                               Decorate 66(@entryPointOutput) Location 0
    253                2:             TypeVoid
    254                3:             TypeFunction 2
    255                6:             TypeInt 32 0
    256                7:             TypePointer Function 6(int)
    257                8:             TypeFloat 32
    258                9:             TypeVector 8(float) 4
    259               10:             TypeFunction 9(fvec4) 7(ptr)
    260               14:             TypeVector 6(int) 4
    261               15:             TypePointer Function 14(ivec4)
    262               17:      6(int) Constant 0
    263               18:   14(ivec4) ConstantComposite 17 17 17 17
    264               19:             TypeRuntimeArray 14(ivec4)
    265    20(sbuf_rw_i):             TypeStruct 19
    266               21:             TypePointer Uniform 20(sbuf_rw_i)
    267    22(sbuf_rw_i):     21(ptr) Variable Uniform
    268               23:             TypeInt 32 1
    269               24:     23(int) Constant 0
    270               25:     23(int) Constant 7
    271    26(sbuf_rw_d):     21(ptr) Variable Uniform
    272 27(sbuf_rw_nocounter):     21(ptr) Variable Uniform
    273               28:     23(int) Constant 5
    274               29:      6(int) Constant 2
    275               30:   14(ivec4) ConstantComposite 29 29 29 29
    276               31:             TypePointer Uniform 14(ivec4)
    277 34(sbuf_rw_i@count):             TypeStruct 6(int)
    278               35:             TypePointer Uniform 34(sbuf_rw_i@count)
    279 36(sbuf_rw_i@count):     35(ptr) Variable Uniform
    280               37:             TypePointer Uniform 6(int)
    281               39:      6(int) Constant 1
    282 42(sbuf_rw_d@count):     35(ptr) Variable Uniform
    283               44:      6(int) Constant 4294967295
    284               46:     23(int) Constant 4294967295
    285               62:             TypePointer Input 6(int)
    286          63(pos):     62(ptr) Variable Input
    287               65:             TypePointer Output 9(fvec4)
    288 66(@entryPointOutput):     65(ptr) Variable Output
    289          4(main):           2 Function None 3
    290                5:             Label
    291          61(pos):      7(ptr) Variable Function
    292        67(param):      7(ptr) Variable Function
    293               64:      6(int) Load 63(pos)
    294                               Store 61(pos) 64
    295               68:      6(int) Load 61(pos)
    296                               Store 67(param) 68
    297               69:    9(fvec4) FunctionCall 12(@main(u1;) 67(param)
    298                               Store 66(@entryPointOutput) 69
    299                               Return
    300                               FunctionEnd
    301    12(@main(u1;):    9(fvec4) Function None 10
    302          11(pos):      7(ptr) FunctionParameter
    303               13:             Label
    304       16(result):     15(ptr) Variable Function
    305           33(c1):      7(ptr) Variable Function
    306           41(c2):      7(ptr) Variable Function
    307                               Store 16(result) 18
    308               32:     31(ptr) AccessChain 27(sbuf_rw_nocounter) 24 28
    309                               Store 32 30
    310               38:     37(ptr) AccessChain 36(sbuf_rw_i@count) 24
    311               40:      6(int) AtomicIAdd 38 39 17 39
    312                               Store 33(c1) 40
    313               43:     37(ptr) AccessChain 42(sbuf_rw_d@count) 24
    314               45:      6(int) AtomicIAdd 43 39 17 44
    315               47:      6(int) IAdd 45 46
    316                               Store 41(c2) 47
    317               48:      7(ptr) AccessChain 16(result) 17
    318               49:      6(int) Load 48
    319               50:    8(float) ConvertUToF 49
    320               51:      7(ptr) AccessChain 16(result) 39
    321               52:      6(int) Load 51
    322               53:    8(float) ConvertUToF 52
    323               54:      6(int) Load 33(c1)
    324               55:    8(float) ConvertUToF 54
    325               56:      6(int) Load 41(c2)
    326               57:    8(float) ConvertUToF 56
    327               58:    9(fvec4) CompositeConstruct 50 53 55 57
    328                               ReturnValue 58
    329                               FunctionEnd
    330