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

@ -67,26 +67,26 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
Name 167 "AcBlock"
MemberName 167(AcBlock) 0 "ac_numPassed"
Name 169 ""
Decorate 139(PC) Block
MemberDecorate 139(PC) 0 Offset 0
MemberDecorate 139(PC) 1 Offset 8
MemberDecorate 139(PC) 2 Offset 16
Decorate 139(PC) Block
Decorate 141(BlockB) Block
MemberDecorate 141(BlockB) 0 Offset 0
MemberDecorate 141(BlockB) 1 Offset 8
Decorate 141(BlockB) Block
MemberDecorate 142(BlockC) 0 ColMajor
MemberDecorate 142(BlockC) 0 RelaxedPrecision
MemberDecorate 142(BlockC) 0 Offset 0
MemberDecorate 142(BlockC) 0 MatrixStride 16
Decorate 142(BlockC) Block
MemberDecorate 142(BlockC) 0 RelaxedPrecision
MemberDecorate 142(BlockC) 0 ColMajor
MemberDecorate 142(BlockC) 0 MatrixStride 16
MemberDecorate 142(BlockC) 0 Offset 0
Decorate 143(BlockD) Block
MemberDecorate 143(BlockD) 0 RelaxedPrecision
MemberDecorate 143(BlockD) 0 Offset 0
Decorate 143(BlockD) Block
Decorate 160 RelaxedPrecision
MemberDecorate 167(AcBlock) 0 Offset 0
Decorate 167(AcBlock) Block
Decorate 169 DescriptorSet 0
MemberDecorate 167(AcBlock) 0 Offset 0
Decorate 169 Binding 0
Decorate 169 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32