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

@ -156,21 +156,21 @@ Validation failed
MemberName 46(cbuff) 0 "c1"
Name 48 ""
Name 64 "@entryPointOutput"
Decorate 12(cb3) Block
MemberDecorate 12(cb3) 0 Offset 0
MemberDecorate 12(cb3) 1 Offset 4
Decorate 12(cb3) Block
Decorate 18(cb3) DescriptorSet 0
Decorate 18(cb3) Binding 1
MemberDecorate 31(cb1) 0 Offset 0
Decorate 18(cb3) DescriptorSet 0
Decorate 31(cb1) Block
Decorate 33(cb1) DescriptorSet 0
MemberDecorate 31(cb1) 0 Offset 0
Decorate 33(cb1) Binding 12
Decorate 40(cb2) DescriptorSet 0
Decorate 33(cb1) DescriptorSet 0
Decorate 40(cb2) Binding 0
MemberDecorate 46(cbuff) 0 Offset 0
Decorate 40(cb2) DescriptorSet 0
Decorate 46(cbuff) Block
Decorate 48 DescriptorSet 0
MemberDecorate 46(cbuff) 0 Offset 0
Decorate 48 Binding 2
Decorate 48 DescriptorSet 0
Decorate 64(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2