Home | History | Annotate | Download | only in baseResults
      1 spv.atomicInt64.comp
      2 // Module Version 10000
      3 // Generated by (magic number): 80007
      4 // Id's are bound by 149
      5 
      6                               Capability Shader
      7                               Capability Int64
      8                               Capability Int64Atomics
      9                1:             ExtInstImport  "GLSL.std.450"
     10                               MemoryModel Logical GLSL450
     11                               EntryPoint GLCompute 4  "main"
     12                               ExecutionMode 4 LocalSize 16 16 1
     13                               Source GLSL 450
     14                               SourceExtension  "GL_ARB_gpu_shader_int64"
     15                               SourceExtension  "GL_NV_shader_atomic_int64"
     16                               Name 4  "main"
     17                               Name 8  "i64"
     18                               Name 12  "u64"
     19                               Name 14  "Buffer"
     20                               MemberName 14(Buffer) 0  "i64"
     21                               MemberName 14(Buffer) 1  "u64"
     22                               Name 16  "buf"
     23                               Name 84  "Struct"
     24                               MemberName 84(Struct) 0  "i64"
     25                               MemberName 84(Struct) 1  "u64"
     26                               Name 86  "s"
     27                               MemberDecorate 14(Buffer) 0 Offset 0
     28                               MemberDecorate 14(Buffer) 1 Offset 8
     29                               Decorate 14(Buffer) BufferBlock
     30                               Decorate 16(buf) DescriptorSet 0
     31                               Decorate 16(buf) Binding 0
     32                               Decorate 148 BuiltIn WorkgroupSize
     33                2:             TypeVoid
     34                3:             TypeFunction 2
     35                6:             TypeInt 64 1
     36                7:             TypePointer Function 6(int64_t)
     37                9:  6(int64_t) Constant 0 0
     38               10:             TypeInt 64 0
     39               11:             TypePointer Function 10(int64_t)
     40               13: 10(int64_t) Constant 0 0
     41       14(Buffer):             TypeStruct 6(int64_t) 10(int64_t)
     42               15:             TypePointer Uniform 14(Buffer)
     43          16(buf):     15(ptr) Variable Uniform
     44               17:             TypeInt 32 1
     45               18:     17(int) Constant 0
     46               19:             TypePointer Uniform 6(int64_t)
     47               21:  6(int64_t) Constant 4294967272 4294967295
     48               22:             TypeInt 32 0
     49               23:     22(int) Constant 1
     50               24:     22(int) Constant 0
     51               28:     17(int) Constant 1
     52               29:             TypePointer Uniform 10(int64_t)
     53               31: 10(int64_t) Constant 15 240
     54       84(Struct):             TypeStruct 6(int64_t) 10(int64_t)
     55               85:             TypePointer Workgroup 84(Struct)
     56            86(s):     85(ptr) Variable Workgroup
     57               87:             TypePointer Workgroup 6(int64_t)
     58               92:             TypePointer Workgroup 10(int64_t)
     59              146:             TypeVector 22(int) 3
     60              147:     22(int) Constant 16
     61              148:  146(ivec3) ConstantComposite 147 147 23
     62          4(main):           2 Function None 3
     63                5:             Label
     64           8(i64):      7(ptr) Variable Function
     65          12(u64):     11(ptr) Variable Function
     66                               Store 8(i64) 9
     67                               Store 12(u64) 13
     68               20:     19(ptr) AccessChain 16(buf) 18
     69               25:  6(int64_t) AtomicSMin 20 23 24 21
     70               26:  6(int64_t) Load 8(i64)
     71               27:  6(int64_t) IAdd 26 25
     72                               Store 8(i64) 27
     73               30:     29(ptr) AccessChain 16(buf) 28
     74               32: 10(int64_t) AtomicUMin 30 23 24 31
     75               33: 10(int64_t) Load 12(u64)
     76               34: 10(int64_t) IAdd 33 32
     77                               Store 12(u64) 34
     78               35:     19(ptr) AccessChain 16(buf) 18
     79               36:  6(int64_t) AtomicSMax 35 23 24 21
     80               37:  6(int64_t) Load 8(i64)
     81               38:  6(int64_t) IAdd 37 36
     82                               Store 8(i64) 38
     83               39:     29(ptr) AccessChain 16(buf) 28
     84               40: 10(int64_t) AtomicUMax 39 23 24 31
     85               41: 10(int64_t) Load 12(u64)
     86               42: 10(int64_t) IAdd 41 40
     87                               Store 12(u64) 42
     88               43:     19(ptr) AccessChain 16(buf) 18
     89               44:  6(int64_t) AtomicAnd 43 23 24 21
     90               45:  6(int64_t) Load 8(i64)
     91               46:  6(int64_t) IAdd 45 44
     92                               Store 8(i64) 46
     93               47:     29(ptr) AccessChain 16(buf) 28
     94               48: 10(int64_t) AtomicAnd 47 23 24 31
     95               49: 10(int64_t) Load 12(u64)
     96               50: 10(int64_t) IAdd 49 48
     97                               Store 12(u64) 50
     98               51:     19(ptr) AccessChain 16(buf) 18
     99               52:  6(int64_t) AtomicOr 51 23 24 21
    100               53:  6(int64_t) Load 8(i64)
    101               54:  6(int64_t) IAdd 53 52
    102                               Store 8(i64) 54
    103               55:     29(ptr) AccessChain 16(buf) 28
    104               56: 10(int64_t) AtomicOr 55 23 24 31
    105               57: 10(int64_t) Load 12(u64)
    106               58: 10(int64_t) IAdd 57 56
    107                               Store 12(u64) 58
    108               59:     19(ptr) AccessChain 16(buf) 18
    109               60:  6(int64_t) AtomicXor 59 23 24 21
    110               61:  6(int64_t) Load 8(i64)
    111               62:  6(int64_t) IAdd 61 60
    112                               Store 8(i64) 62
    113               63:     29(ptr) AccessChain 16(buf) 28
    114               64: 10(int64_t) AtomicXor 63 23 24 31
    115               65: 10(int64_t) Load 12(u64)
    116               66: 10(int64_t) IAdd 65 64
    117                               Store 12(u64) 66
    118               67:     19(ptr) AccessChain 16(buf) 18
    119               68:  6(int64_t) AtomicIAdd 67 23 24 21
    120               69:  6(int64_t) Load 8(i64)
    121               70:  6(int64_t) IAdd 69 68
    122                               Store 8(i64) 70
    123               71:     19(ptr) AccessChain 16(buf) 18
    124               72:  6(int64_t) AtomicExchange 71 23 24 21
    125               73:  6(int64_t) Load 8(i64)
    126               74:  6(int64_t) IAdd 73 72
    127                               Store 8(i64) 74
    128               75:     19(ptr) AccessChain 16(buf) 18
    129               76:  6(int64_t) Load 8(i64)
    130               77:  6(int64_t) AtomicCompareExchange 75 23 24 24 76 21
    131               78:  6(int64_t) Load 8(i64)
    132               79:  6(int64_t) IAdd 78 77
    133                               Store 8(i64) 79
    134               80:  6(int64_t) Load 8(i64)
    135               81:     19(ptr) AccessChain 16(buf) 18
    136                               Store 81 80
    137               82: 10(int64_t) Load 12(u64)
    138               83:     29(ptr) AccessChain 16(buf) 28
    139                               Store 83 82
    140                               Store 8(i64) 9
    141                               Store 12(u64) 13
    142               88:     87(ptr) AccessChain 86(s) 18
    143               89:  6(int64_t) AtomicSMin 88 23 24 21
    144               90:  6(int64_t) Load 8(i64)
    145               91:  6(int64_t) IAdd 90 89
    146                               Store 8(i64) 91
    147               93:     92(ptr) AccessChain 86(s) 28
    148               94: 10(int64_t) AtomicUMin 93 23 24 31
    149               95: 10(int64_t) Load 12(u64)
    150               96: 10(int64_t) IAdd 95 94
    151                               Store 12(u64) 96
    152               97:     87(ptr) AccessChain 86(s) 18
    153               98:  6(int64_t) AtomicSMax 97 23 24 21
    154               99:  6(int64_t) Load 8(i64)
    155              100:  6(int64_t) IAdd 99 98
    156                               Store 8(i64) 100
    157              101:     92(ptr) AccessChain 86(s) 28
    158              102: 10(int64_t) AtomicUMax 101 23 24 31
    159              103: 10(int64_t) Load 12(u64)
    160              104: 10(int64_t) IAdd 103 102
    161                               Store 12(u64) 104
    162              105:     87(ptr) AccessChain 86(s) 18
    163              106:  6(int64_t) AtomicAnd 105 23 24 21
    164              107:  6(int64_t) Load 8(i64)
    165              108:  6(int64_t) IAdd 107 106
    166                               Store 8(i64) 108
    167              109:     92(ptr) AccessChain 86(s) 28
    168              110: 10(int64_t) AtomicAnd 109 23 24 31
    169              111: 10(int64_t) Load 12(u64)
    170              112: 10(int64_t) IAdd 111 110
    171                               Store 12(u64) 112
    172              113:     87(ptr) AccessChain 86(s) 18
    173              114:  6(int64_t) AtomicOr 113 23 24 21
    174              115:  6(int64_t) Load 8(i64)
    175              116:  6(int64_t) IAdd 115 114
    176                               Store 8(i64) 116
    177              117:     92(ptr) AccessChain 86(s) 28
    178              118: 10(int64_t) AtomicOr 117 23 24 31
    179              119: 10(int64_t) Load 12(u64)
    180              120: 10(int64_t) IAdd 119 118
    181                               Store 12(u64) 120
    182              121:     87(ptr) AccessChain 86(s) 18
    183              122:  6(int64_t) AtomicXor 121 23 24 21
    184              123:  6(int64_t) Load 8(i64)
    185              124:  6(int64_t) IAdd 123 122
    186                               Store 8(i64) 124
    187              125:     92(ptr) AccessChain 86(s) 28
    188              126: 10(int64_t) AtomicXor 125 23 24 31
    189              127: 10(int64_t) Load 12(u64)
    190              128: 10(int64_t) IAdd 127 126
    191                               Store 12(u64) 128
    192              129:     87(ptr) AccessChain 86(s) 18
    193              130:  6(int64_t) AtomicIAdd 129 23 24 21
    194              131:  6(int64_t) Load 8(i64)
    195              132:  6(int64_t) IAdd 131 130
    196                               Store 8(i64) 132
    197              133:     87(ptr) AccessChain 86(s) 18
    198              134:  6(int64_t) AtomicExchange 133 23 24 21
    199              135:  6(int64_t) Load 8(i64)
    200              136:  6(int64_t) IAdd 135 134
    201                               Store 8(i64) 136
    202              137:     87(ptr) AccessChain 86(s) 18
    203              138:  6(int64_t) Load 8(i64)
    204              139:  6(int64_t) AtomicCompareExchange 137 23 24 24 138 21
    205              140:  6(int64_t) Load 8(i64)
    206              141:  6(int64_t) IAdd 140 139
    207                               Store 8(i64) 141
    208              142:  6(int64_t) Load 8(i64)
    209              143:     87(ptr) AccessChain 86(s) 18
    210                               Store 143 142
    211              144: 10(int64_t) Load 12(u64)
    212              145:     92(ptr) AccessChain 86(s) 28
    213                               Store 145 144
    214                               Return
    215                               FunctionEnd
    216