Don't emit duplicate decorations. (#3635)

It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
This commit is contained in:
Steven Perron 2024-06-28 19:16:59 -04:00 committed by GitHub
parent 7c40de7aa2
commit 33c7e30860
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
575 changed files with 3482 additions and 3414 deletions

View file

@ -48,35 +48,35 @@ spv.1.4.OpCopyLogicalBool.comp
Decorate 15 ArrayStride 8
MemberDecorate 16(MyStruct) 0 Offset 0
MemberDecorate 16(MyStruct) 1 Offset 16
MemberDecorate 17(SSBO0) 0 Offset 0
Decorate 17(SSBO0) Block
Decorate 19(inBuf) DescriptorSet 0
MemberDecorate 17(SSBO0) 0 Offset 0
Decorate 19(inBuf) Binding 0
MemberDecorate 35(SSBO1) 0 Offset 0
Decorate 19(inBuf) DescriptorSet 0
Decorate 35(SSBO1) Block
Decorate 37(outBuf) DescriptorSet 0
MemberDecorate 35(SSBO1) 0 Offset 0
Decorate 37(outBuf) Binding 1
Decorate 37(outBuf) DescriptorSet 0
Decorate 49 ArrayStride 16
MemberDecorate 50(MyStruct) 0 Offset 0
MemberDecorate 50(MyStruct) 1 Offset 32
MemberDecorate 51(UBO) 0 Offset 0
Decorate 51(UBO) Block
Decorate 53(uBuf) DescriptorSet 0
MemberDecorate 51(UBO) 0 Offset 0
Decorate 53(uBuf) Binding 2
Decorate 53(uBuf) DescriptorSet 0
Decorate 75 ArrayStride 48
MemberDecorate 76(Nested) 0 Offset 0
MemberDecorate 76(Nested) 1 Offset 16
MemberDecorate 77(UBON) 0 Offset 0
Decorate 77(UBON) Block
Decorate 79(uBufN) DescriptorSet 0
MemberDecorate 77(UBON) 0 Offset 0
Decorate 79(uBufN) Binding 2
Decorate 79(uBufN) DescriptorSet 0
Decorate 105 ArrayStride 24
MemberDecorate 106(Nested) 0 Offset 0
MemberDecorate 106(Nested) 1 Offset 8
MemberDecorate 107(SSBO1N) 0 Offset 0
Decorate 107(SSBO1N) Block
Decorate 109(outBufN) DescriptorSet 0
MemberDecorate 107(SSBO1N) 0 Offset 0
Decorate 109(outBufN) Binding 1
Decorate 109(outBufN) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32