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

@ -217,21 +217,21 @@ local_size = (1, 1, 1)
MemberDecorate 19(sb_t) 0 Offset 0
MemberDecorate 19(sb_t) 1 Offset 16
Decorate 20 ArrayStride 32
MemberDecorate 21(csb) 0 Offset 0
Decorate 21(csb) BufferBlock
Decorate 23(csb) DescriptorSet 0
MemberDecorate 21(csb) 0 Offset 0
Decorate 23(csb) Binding 1
MemberDecorate 26(csb@count) 0 Offset 0
Decorate 23(csb) DescriptorSet 0
Decorate 26(csb@count) BufferBlock
Decorate 28(csb@count) DescriptorSet 0
MemberDecorate 26(csb@count) 0 Offset 0
Decorate 28(csb@count) Binding 2
Decorate 58(outtx) DescriptorSet 0
Decorate 28(csb@count) DescriptorSet 0
Decorate 58(outtx) Binding 0
Decorate 58(outtx) DescriptorSet 0
Decorate 63 ArrayStride 16
MemberDecorate 64(rwsb) 0 Offset 0
Decorate 64(rwsb) BufferBlock
Decorate 66(rwsb) DescriptorSet 0
MemberDecorate 64(rwsb) 0 Offset 0
Decorate 66(rwsb) Binding 3
Decorate 66(rwsb) DescriptorSet 0
Decorate 80(nThreadId) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2