Fix a parser error of GL_KHR_memory_scope_semantics

When 2DMS or 2DMSArray is used, IMAGE_PARAMS will take an additional
paramter to represent sample number. The semantics check should get the
correct semantics values, taking this case into account.
This commit is contained in:
Rex Xu
2020-02-06 16:51:10 +08:00
parent b82ed734e7
commit b4bab3ce01
3 changed files with 24 additions and 9 deletions

View File

@@ -1,11 +1,12 @@
spv.memoryScopeSemantics.comp
// Module Version 10300
// Generated by (magic number): 80008
// Id's are bound by 163
// Id's are bound by 167
Capability Shader
Capability Int64
Capability Int64Atomics
Capability StorageImageMultisample
Capability VulkanMemoryModelKHR
Capability VulkanMemoryModelDeviceScopeKHR
Extension "SPV_KHR_vulkan_memory_model"
@@ -49,6 +50,7 @@ spv.memoryScopeSemantics.comp
Name 151 "BufferM"
MemberName 151(BufferM) 0 "x"
Name 153 "bufferm"
Name 165 "imageMS"
Decorate 36(imagei) DescriptorSet 0
Decorate 36(imagei) Binding 1
Decorate 46(imageu) DescriptorSet 0
@@ -83,6 +85,8 @@ spv.memoryScopeSemantics.comp
Decorate 151(BufferM) Block
Decorate 153(bufferm) DescriptorSet 0
Decorate 153(bufferm) Binding 9
Decorate 165(imageMS) DescriptorSet 0
Decorate 165(imageMS) Binding 10
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -174,6 +178,9 @@ spv.memoryScopeSemantics.comp
152: TypePointer StorageBuffer 151(BufferM)
153(bufferm): 152(ptr) Variable StorageBuffer
161: 6(int) Constant 32768
163: TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
164: TypePointer UniformConstant 163
165(imageMS): 164(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(origi): 7(ptr) Variable Function
@@ -271,5 +278,7 @@ spv.memoryScopeSemantics.comp
159: 15(int) AtomicIAdd 158 12 17 51
160: 69(ptr) AccessChain 68(bufferu) 38
162: 15(int) AtomicIAdd 160 12 42 16
166: 40(ptr) ImageTexelPointer 165(imageMS) 39 12
AtomicStore 166 12 33 14
Return
FunctionEnd