Home | History | Annotate | Download | only in baseResults
      1 spv.memoryScopeSemantics.comp
      2 // Module Version 10300
      3 // Generated by (magic number): 80007
      4 // Id's are bound by 143
      5 
      6                               Capability Shader
      7                               Capability Int64
      8                               Capability Int64Atomics
      9                               Capability CapabilityVulkanMemoryModelKHR
     10                               Capability CapabilityVulkanMemoryModelDeviceScopeKHR
     11                               Extension  "SPV_KHR_vulkan_memory_model"
     12                1:             ExtInstImport  "GLSL.std.450"
     13                               MemoryModel Logical VulkanKHR
     14                               EntryPoint GLCompute 4  "main"
     15                               ExecutionMode 4 LocalSize 1 1 1
     16                               Source GLSL 450
     17                               SourceExtension  "GL_ARB_gpu_shader_int64"
     18                               SourceExtension  "GL_KHR_memory_scope_semantics"
     19                               Name 4  "main"
     20                               Name 8  "origi"
     21                               Name 10  "atomi"
     22                               Name 21  "origu"
     23                               Name 23  "atomu"
     24                               Name 24  "value"
     25                               Name 36  "imagei"
     26                               Name 45  "imageu"
     27                               Name 65  "BufferU"
     28                               MemberName 65(BufferU) 0  "x"
     29                               Name 67  "bufferu"
     30                               Name 72  "y"
     31                               Name 77  "BufferI"
     32                               MemberName 77(BufferI) 0  "x"
     33                               Name 79  "bufferi"
     34                               Name 83  "A"
     35                               MemberName 83(A) 0  "x"
     36                               Name 84  "BufferJ"
     37                               MemberName 84(BufferJ) 0  "a"
     38                               Name 87  "bufferj"
     39                               Name 98  "BufferK"
     40                               MemberName 98(BufferK) 0  "x"
     41                               Name 100  "bufferk"
     42                               Name 110  "imagej"
     43                               Name 122  "samp"
     44                               Name 133  "atomu64"
     45                               Name 138  "atomi64"
     46                               Decorate 36(imagei) DescriptorSet 0
     47                               Decorate 36(imagei) Binding 1
     48                               Decorate 45(imageu) DescriptorSet 0
     49                               Decorate 45(imageu) Binding 0
     50                               MemberDecorate 65(BufferU) 0 Offset 0
     51                               Decorate 65(BufferU) Block
     52                               Decorate 67(bufferu) DescriptorSet 0
     53                               Decorate 67(bufferu) Binding 2
     54                               MemberDecorate 77(BufferI) 0 Offset 0
     55                               Decorate 77(BufferI) Block
     56                               Decorate 79(bufferi) DescriptorSet 0
     57                               Decorate 79(bufferi) Binding 3
     58                               Decorate 82 ArrayStride 4
     59                               MemberDecorate 83(A) 0 Offset 0
     60                               MemberDecorate 84(BufferJ) 0 Offset 0
     61                               Decorate 84(BufferJ) Block
     62                               Decorate 87(bufferj) DescriptorSet 0
     63                               Decorate 87(bufferj) Binding 4
     64                               MemberDecorate 98(BufferK) 0 Offset 0
     65                               Decorate 98(BufferK) Block
     66                               Decorate 100(bufferk) DescriptorSet 0
     67                               Decorate 100(bufferk) Binding 7
     68                               Decorate 110(imagej) DescriptorSet 0
     69                               Decorate 110(imagej) Binding 5
     70                               Decorate 122(samp) DescriptorSet 0
     71                               Decorate 122(samp) Binding 6
     72                2:             TypeVoid
     73                3:             TypeFunction 2
     74                6:             TypeInt 32 1
     75                7:             TypePointer Function 6(int)
     76                9:             TypePointer Workgroup 6(int)
     77        10(atomi):      9(ptr) Variable Workgroup
     78               11:      6(int) Constant 3
     79               12:      6(int) Constant 1
     80               13:      6(int) Constant 320
     81               14:      6(int) Constant 4
     82               15:             TypeInt 32 0
     83               16:     15(int) Constant 5
     84               17:     15(int) Constant 0
     85               18:     15(int) Constant 324
     86               20:             TypePointer Function 15(int)
     87               22:             TypePointer Workgroup 15(int)
     88        23(atomu):     22(ptr) Variable Workgroup
     89        24(value):     22(ptr) Variable Workgroup
     90               26:     15(int) Constant 2
     91               28:      6(int) Constant 64
     92               29:      6(int) Constant 2
     93               30:     15(int) Constant 66
     94               33:     15(int) Constant 68
     95               34:             TypeImage 6(int) 2D nonsampled format:R32i
     96               35:             TypePointer UniformConstant 34
     97       36(imagei):     35(ptr) Variable UniformConstant
     98               37:             TypeVector 6(int) 2
     99               38:      6(int) Constant 0
    100               39:   37(ivec2) ConstantComposite 38 38
    101               40:             TypePointer Image 6(int)
    102               43:             TypeImage 15(int) 2D nonsampled format:R32ui
    103               44:             TypePointer UniformConstant 43
    104       45(imageu):     44(ptr) Variable UniformConstant
    105               46:     15(int) Constant 3
    106               47:             TypePointer Image 15(int)
    107               50:     15(int) Constant 4
    108               52:     15(int) Constant 7
    109               57:      6(int) Constant 7
    110               61:     15(int) Constant 10
    111               63:     15(int) Constant 322
    112      65(BufferU):             TypeStruct 15(int)
    113               66:             TypePointer StorageBuffer 65(BufferU)
    114      67(bufferu):     66(ptr) Variable StorageBuffer
    115               68:             TypePointer StorageBuffer 15(int)
    116               70:     15(int) Constant 1
    117      77(BufferI):             TypeStruct 15(int)
    118               78:             TypePointer StorageBuffer 77(BufferI)
    119      79(bufferi):     78(ptr) Variable StorageBuffer
    120               82:             TypeArray 15(int) 26
    121            83(A):             TypeStruct 82
    122      84(BufferJ):             TypeStruct 83(A)
    123               85:             TypeArray 84(BufferJ) 26
    124               86:             TypePointer StorageBuffer 85
    125      87(bufferj):     86(ptr) Variable StorageBuffer
    126               94:             TypePointer StorageBuffer 83(A)
    127      98(BufferK):             TypeStruct 15(int)
    128               99:             TypePointer Uniform 98(BufferK)
    129     100(bufferk):     99(ptr) Variable Uniform
    130              101:             TypePointer Uniform 15(int)
    131              106:             TypeVector 6(int) 4
    132              108:             TypeArray 34 26
    133              109:             TypePointer UniformConstant 108
    134      110(imagej):    109(ptr) Variable UniformConstant
    135              116:  106(ivec4) ConstantComposite 38 38 38 38
    136              117:             TypeFloat 32
    137              118:             TypeImage 117(float) 2D sampled format:Unknown
    138              119:             TypeSampledImage 118
    139              120:             TypeArray 119 26
    140              121:             TypePointer UniformConstant 120
    141        122(samp):    121(ptr) Variable UniformConstant
    142              123:             TypePointer UniformConstant 119
    143              126:             TypeVector 117(float) 2
    144              127:  117(float) Constant 0
    145              128:  126(fvec2) ConstantComposite 127 127
    146              129:             TypeVector 117(float) 4
    147              131:             TypeInt 64 0
    148              132:             TypePointer Workgroup 131(int64_t)
    149     133(atomu64):    132(ptr) Variable Workgroup
    150              134:131(int64_t) Constant 7 0
    151              136:             TypeInt 64 1
    152              137:             TypePointer Workgroup 136(int64_t)
    153     138(atomi64):    137(ptr) Variable Workgroup
    154              139:136(int64_t) Constant 10 0
    155          4(main):           2 Function None 3
    156                5:             Label
    157         8(origi):      7(ptr) Variable Function
    158        21(origu):     20(ptr) Variable Function
    159            72(y):     20(ptr) Variable Function
    160               19:      6(int) AtomicIAdd 10(atomi) 12 18 11
    161                               Store 8(origi) 19
    162               25:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
    163               27:     15(int) AtomicAnd 23(atomu) 16 17 25
    164                               Store 21(origu) 27
    165               31:      6(int) AtomicLoad 10(atomi) 12 30
    166                               Store 8(origi) 31
    167               32:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
    168                               AtomicStore 23(atomu) 12 33 32
    169               41:     40(ptr) ImageTexelPointer 36(imagei) 39 17
    170               42:      6(int) AtomicLoad 41 12 30
    171                               Store 8(origi) 42
    172               48:     47(ptr) ImageTexelPointer 45(imageu) 39 17
    173               49:     15(int) AtomicIAdd 48 12 30 46
    174                               Store 21(origu) 49
    175               51:     47(ptr) ImageTexelPointer 45(imageu) 39 17
    176                               AtomicStore 51 12 33 50
    177               53:     15(int) AtomicOr 23(atomu) 12 17 52
    178                               Store 21(origu) 53
    179               54:     15(int) AtomicXor 23(atomu) 12 17 52
    180                               Store 21(origu) 54
    181               55:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
    182               56:     15(int) AtomicUMin 23(atomu) 12 17 55
    183                               Store 21(origu) 56
    184               58:      6(int) AtomicSMax 10(atomi) 12 17 57
    185                               Store 8(origi) 58
    186               59:      6(int) Load 8(origi)
    187               60:      6(int) AtomicExchange 10(atomi) 12 17 59
    188                               Store 8(origi) 60
    189               62:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
    190               64:     15(int) AtomicCompareExchange 23(atomu) 12 63 63 62 61
    191                               Store 21(origu) 64
    192               69:     68(ptr) AccessChain 67(bufferu) 38
    193               71:     15(int) AtomicIAdd 69 12 18 70
    194                               MemoryBarrier 26 18
    195                               ControlBarrier 26 26 63
    196                               ControlBarrier 26 26 17
    197               73:     68(ptr) AccessChain 67(bufferu) 38
    198               74:     15(int) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26
    199                               Store 72(y) 74
    200               75:     15(int) Load 72(y)
    201               76:     68(ptr) AccessChain 67(bufferu) 38
    202                               Store 76 75 MakePointerAvailableKHR NonPrivatePointerKHR 26
    203               80:     68(ptr) AccessChain 79(bufferi) 38
    204               81:     15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16
    205                               Store 72(y) 81
    206               88:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
    207               89:     15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
    208                               Store 72(y) 89
    209               90:     15(int) Load 72(y)
    210               91:     68(ptr) AccessChain 79(bufferi) 38
    211                               Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16
    212               92:     15(int) Load 72(y)
    213               93:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
    214                               Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
    215               95:     94(ptr) AccessChain 87(bufferj) 12 38
    216               96:       83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
    217               97:     94(ptr) AccessChain 87(bufferj) 38 38
    218                               Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
    219              102:    101(ptr) AccessChain 100(bufferk) 38
    220              103:     15(int) Load 102 NonPrivatePointerKHR 
    221              104:     68(ptr) AccessChain 79(bufferi) 38
    222                               Store 104 103 MakePointerAvailableKHR NonPrivatePointerKHR 16
    223              105:          34 Load 36(imagei)
    224              107:  106(ivec4) ImageRead 105 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
    225              111:     35(ptr) AccessChain 110(imagej) 38
    226              112:          34 Load 111
    227              113:  106(ivec4) ImageRead 112 39 NonPrivateTexelKHR 
    228              114:     35(ptr) AccessChain 110(imagej) 12
    229              115:          34 Load 114
    230                               ImageWrite 115 39 116 NonPrivateTexelKHR 
    231              124:    123(ptr) AccessChain 122(samp) 38
    232              125:         119 Load 124
    233              130:  129(fvec4) ImageSampleExplicitLod 125 128 Lod NonPrivateTexelKHR 127
    234              135:131(int64_t) AtomicUMax 133(atomu64) 12 17 134
    235                               Store 133(atomu64) 135 MakePointerAvailableKHR NonPrivatePointerKHR 26
    236              140:131(int64_t) Load 133(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
    237              141:136(int64_t) Bitcast 140
    238              142:136(int64_t) AtomicCompareExchange 138(atomi64) 12 63 63 141 139
    239                               Return
    240                               FunctionEnd
    241