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

@ -54,25 +54,25 @@ Validation failed
MemberName 27($Global) 4 "dmat23"
MemberName 27($Global) 5 "int44"
Name 29 ""
Decorate 27($Global) Block
MemberDecorate 27($Global) 0 Offset 0
MemberDecorate 27($Global) 1 RowMajor
MemberDecorate 27($Global) 1 Offset 16
MemberDecorate 27($Global) 1 MatrixStride 16
MemberDecorate 27($Global) 1 Offset 16
MemberDecorate 27($Global) 2 RowMajor
MemberDecorate 27($Global) 2 Offset 32
MemberDecorate 27($Global) 2 MatrixStride 16
MemberDecorate 27($Global) 2 Offset 32
MemberDecorate 27($Global) 3 RowMajor
MemberDecorate 27($Global) 3 Offset 48
MemberDecorate 27($Global) 3 MatrixStride 16
MemberDecorate 27($Global) 3 Offset 48
MemberDecorate 27($Global) 4 RowMajor
MemberDecorate 27($Global) 4 Offset 80
MemberDecorate 27($Global) 4 MatrixStride 16
MemberDecorate 27($Global) 4 Offset 80
MemberDecorate 27($Global) 5 RowMajor
MemberDecorate 27($Global) 5 Offset 128
MemberDecorate 27($Global) 5 MatrixStride 16
Decorate 27($Global) Block
Decorate 29 DescriptorSet 0
MemberDecorate 27($Global) 5 Offset 128
Decorate 29 Binding 0
Decorate 29 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32