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