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

@ -122,23 +122,23 @@ Validation failed
Name 48 "pcBuf"
MemberName 48(pcBuf) 0 "a"
Name 50 ""
Decorate 16(attach) DescriptorSet 0
Decorate 16(attach) Binding 0
Decorate 16(attach) DescriptorSet 0
Decorate 16(attach) InputAttachmentIndex 4
Decorate 33(input) Location 8
Decorate 36(@entryPointOutput) Location 7
MemberDecorate 41(S) 0 Offset 0
Decorate 42 ArrayStride 8
Decorate 43(buffer1) BufferBlock
MemberDecorate 43(buffer1) 0 NonWritable
MemberDecorate 43(buffer1) 0 Offset 0
Decorate 43(buffer1) BufferBlock
Decorate 45(buffer1) DescriptorSet 0
Decorate 45(buffer1) Binding 1
Decorate 46(buffer3) DescriptorSet 2
Decorate 45(buffer1) DescriptorSet 0
Decorate 46(buffer3) Binding 3
Decorate 46(buffer3) DescriptorSet 2
Decorate 47(ci) SpecId 13
MemberDecorate 48(pcBuf) 0 Offset 0
Decorate 48(pcBuf) Block
MemberDecorate 48(pcBuf) 0 Offset 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32