spv.memoryScopeSemantics.comp
-Validation failed
-// Module Version 10000
+// Module Version 10300
// Generated by (magic number): 80007
-// Id's are bound by 142
+// Id's are bound by 143
Capability Shader
Capability Int64
Name 98 "BufferK"
MemberName 98(BufferK) 0 "x"
Name 100 "bufferk"
- Name 109 "imagej"
- Name 121 "samp"
- Name 132 "atomu64"
- Name 137 "atomi64"
+ Name 110 "imagej"
+ Name 122 "samp"
+ Name 133 "atomu64"
+ Name 138 "atomi64"
Decorate 36(imagei) DescriptorSet 0
Decorate 36(imagei) Binding 1
Decorate 45(imageu) DescriptorSet 0
Decorate 45(imageu) Binding 0
MemberDecorate 65(BufferU) 0 Offset 0
- Decorate 65(BufferU) BufferBlock
+ Decorate 65(BufferU) Block
Decorate 67(bufferu) DescriptorSet 0
Decorate 67(bufferu) Binding 2
MemberDecorate 77(BufferI) 0 Offset 0
- Decorate 77(BufferI) BufferBlock
+ Decorate 77(BufferI) Block
Decorate 79(bufferi) DescriptorSet 0
Decorate 79(bufferi) Binding 3
Decorate 82 ArrayStride 4
MemberDecorate 83(A) 0 Offset 0
MemberDecorate 84(BufferJ) 0 Offset 0
- Decorate 84(BufferJ) BufferBlock
+ Decorate 84(BufferJ) Block
Decorate 87(bufferj) DescriptorSet 0
Decorate 87(bufferj) Binding 4
MemberDecorate 98(BufferK) 0 Offset 0
Decorate 98(BufferK) Block
Decorate 100(bufferk) DescriptorSet 0
Decorate 100(bufferk) Binding 7
- Decorate 109(imagej) DescriptorSet 0
- Decorate 109(imagej) Binding 5
- Decorate 121(samp) DescriptorSet 0
- Decorate 121(samp) Binding 6
+ Decorate 110(imagej) DescriptorSet 0
+ Decorate 110(imagej) Binding 5
+ Decorate 122(samp) DescriptorSet 0
+ Decorate 122(samp) Binding 6
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
61: 15(int) Constant 10
63: 15(int) Constant 322
65(BufferU): TypeStruct 15(int)
- 66: TypePointer Uniform 65(BufferU)
- 67(bufferu): 66(ptr) Variable Uniform
- 68: TypePointer Uniform 15(int)
+ 66: TypePointer StorageBuffer 65(BufferU)
+ 67(bufferu): 66(ptr) Variable StorageBuffer
+ 68: TypePointer StorageBuffer 15(int)
70: 15(int) Constant 1
77(BufferI): TypeStruct 15(int)
- 78: TypePointer Uniform 77(BufferI)
- 79(bufferi): 78(ptr) Variable Uniform
+ 78: TypePointer StorageBuffer 77(BufferI)
+ 79(bufferi): 78(ptr) Variable StorageBuffer
82: TypeArray 15(int) 26
83(A): TypeStruct 82
84(BufferJ): TypeStruct 83(A)
85: TypeArray 84(BufferJ) 26
- 86: TypePointer Uniform 85
- 87(bufferj): 86(ptr) Variable Uniform
- 94: TypePointer Uniform 83(A)
+ 86: TypePointer StorageBuffer 85
+ 87(bufferj): 86(ptr) Variable StorageBuffer
+ 94: TypePointer StorageBuffer 83(A)
98(BufferK): TypeStruct 15(int)
99: TypePointer Uniform 98(BufferK)
100(bufferk): 99(ptr) Variable Uniform
- 105: TypeVector 6(int) 4
- 107: TypeArray 34 26
- 108: TypePointer UniformConstant 107
- 109(imagej): 108(ptr) Variable UniformConstant
- 115: 105(ivec4) ConstantComposite 38 38 38 38
- 116: TypeFloat 32
- 117: TypeImage 116(float) 2D sampled format:Unknown
- 118: TypeSampledImage 117
- 119: TypeArray 118 26
- 120: TypePointer UniformConstant 119
- 121(samp): 120(ptr) Variable UniformConstant
- 122: TypePointer UniformConstant 118
- 125: TypeVector 116(float) 2
- 126: 116(float) Constant 0
- 127: 125(fvec2) ConstantComposite 126 126
- 128: TypeVector 116(float) 4
- 130: TypeInt 64 0
- 131: TypePointer Workgroup 130(int64_t)
- 132(atomu64): 131(ptr) Variable Workgroup
- 133:130(int64_t) Constant 7 0
- 135: TypeInt 64 1
- 136: TypePointer Workgroup 135(int64_t)
- 137(atomi64): 136(ptr) Variable Workgroup
- 138:135(int64_t) Constant 10 0
+ 101: TypePointer Uniform 15(int)
+ 106: TypeVector 6(int) 4
+ 108: TypeArray 34 26
+ 109: TypePointer UniformConstant 108
+ 110(imagej): 109(ptr) Variable UniformConstant
+ 116: 106(ivec4) ConstantComposite 38 38 38 38
+ 117: TypeFloat 32
+ 118: TypeImage 117(float) 2D sampled format:Unknown
+ 119: TypeSampledImage 118
+ 120: TypeArray 119 26
+ 121: TypePointer UniformConstant 120
+ 122(samp): 121(ptr) Variable UniformConstant
+ 123: TypePointer UniformConstant 119
+ 126: TypeVector 117(float) 2
+ 127: 117(float) Constant 0
+ 128: 126(fvec2) ConstantComposite 127 127
+ 129: TypeVector 117(float) 4
+ 131: TypeInt 64 0
+ 132: TypePointer Workgroup 131(int64_t)
+ 133(atomu64): 132(ptr) Variable Workgroup
+ 134:131(int64_t) Constant 7 0
+ 136: TypeInt 64 1
+ 137: TypePointer Workgroup 136(int64_t)
+ 138(atomi64): 137(ptr) Variable Workgroup
+ 139:136(int64_t) Constant 10 0
4(main): 2 Function None 3
5: Label
8(origi): 7(ptr) Variable Function
96: 83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
97: 94(ptr) AccessChain 87(bufferj) 38 38
Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
- 101: 68(ptr) AccessChain 100(bufferk) 38
- 102: 15(int) Load 101 NonPrivatePointerKHR
- 103: 68(ptr) AccessChain 79(bufferi) 38
- Store 103 102 MakePointerAvailableKHR NonPrivatePointerKHR 16
- 104: 34 Load 36(imagei)
- 106: 105(ivec4) ImageRead 104 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
- 110: 35(ptr) AccessChain 109(imagej) 38
- 111: 34 Load 110
- 112: 105(ivec4) ImageRead 111 39 NonPrivateTexelKHR
- 113: 35(ptr) AccessChain 109(imagej) 12
- 114: 34 Load 113
- ImageWrite 114 39 115 NonPrivateTexelKHR
- 123: 122(ptr) AccessChain 121(samp) 38
- 124: 118 Load 123
- 129: 128(fvec4) ImageSampleExplicitLod 124 127 Lod NonPrivateTexelKHR 126
- 134:130(int64_t) AtomicUMax 132(atomu64) 12 17 133
- Store 132(atomu64) 134 MakePointerAvailableKHR NonPrivatePointerKHR 26
- 139:130(int64_t) Load 132(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
- 140:135(int64_t) Bitcast 139
- 141:135(int64_t) AtomicCompareExchange 137(atomi64) 12 63 63 140 138
+ 102: 101(ptr) AccessChain 100(bufferk) 38
+ 103: 15(int) Load 102 NonPrivatePointerKHR
+ 104: 68(ptr) AccessChain 79(bufferi) 38
+ Store 104 103 MakePointerAvailableKHR NonPrivatePointerKHR 16
+ 105: 34 Load 36(imagei)
+ 107: 106(ivec4) ImageRead 105 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
+ 111: 35(ptr) AccessChain 110(imagej) 38
+ 112: 34 Load 111
+ 113: 106(ivec4) ImageRead 112 39 NonPrivateTexelKHR
+ 114: 35(ptr) AccessChain 110(imagej) 12
+ 115: 34 Load 114
+ ImageWrite 115 39 116 NonPrivateTexelKHR
+ 124: 123(ptr) AccessChain 122(samp) 38
+ 125: 119 Load 124
+ 130: 129(fvec4) ImageSampleExplicitLod 125 128 Lod NonPrivateTexelKHR 127
+ 135:131(int64_t) AtomicUMax 133(atomu64) 12 17 134
+ Store 133(atomu64) 135 MakePointerAvailableKHR NonPrivatePointerKHR 26
+ 140:131(int64_t) Load 133(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
+ 141:136(int64_t) Bitcast 140
+ 142:136(int64_t) AtomicCompareExchange 138(atomi64) 12 63 63 141 139
Return
FunctionEnd