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

@ -84,88 +84,88 @@ spv.layoutNested.vert
Name 65 "soutinv"
Decorate 13 ArrayStride 32
MemberDecorate 14(S) 0 Offset 0
MemberDecorate 14(S) 1 ColMajor
MemberDecorate 14(S) 1 RelaxedPrecision
MemberDecorate 14(S) 1 Offset 16
MemberDecorate 14(S) 1 ColMajor
MemberDecorate 14(S) 1 MatrixStride 16
MemberDecorate 14(S) 1 Offset 16
MemberDecorate 14(S) 2 RelaxedPrecision
MemberDecorate 14(S) 2 Offset 144
Decorate 16 ArrayStride 160
Decorate 18 ArrayStride 480
Decorate 19(Block140) Block
MemberDecorate 19(Block140) 0 RelaxedPrecision
MemberDecorate 19(Block140) 0 Offset 0
MemberDecorate 19(Block140) 1 Offset 16
MemberDecorate 19(Block140) 2 RelaxedPrecision
MemberDecorate 19(Block140) 2 Offset 976
Decorate 19(Block140) Block
Decorate 21(inst140) DescriptorSet 0
Decorate 21(inst140) Binding 0
Decorate 21(inst140) DescriptorSet 0
Decorate 22 ArrayStride 16
MemberDecorate 23(S) 0 Offset 0
MemberDecorate 23(S) 1 ColMajor
MemberDecorate 23(S) 1 RelaxedPrecision
MemberDecorate 23(S) 1 Offset 16
MemberDecorate 23(S) 1 ColMajor
MemberDecorate 23(S) 1 MatrixStride 8
MemberDecorate 23(S) 1 Offset 16
MemberDecorate 23(S) 2 RelaxedPrecision
MemberDecorate 23(S) 2 Offset 80
Decorate 24 ArrayStride 96
Decorate 25 ArrayStride 288
Decorate 26(Block430) BufferBlock
MemberDecorate 26(Block430) 0 RelaxedPrecision
MemberDecorate 26(Block430) 0 Offset 0
MemberDecorate 26(Block430) 1 Offset 16
MemberDecorate 26(Block430) 2 RelaxedPrecision
MemberDecorate 26(Block430) 2 Offset 592
Decorate 26(Block430) BufferBlock
Decorate 28(inst430) DescriptorSet 0
Decorate 28(inst430) Binding 1
Decorate 28(inst430) DescriptorSet 0
MemberDecorate 29(S) 1 RelaxedPrecision
MemberDecorate 29(S) 2 RelaxedPrecision
MemberDecorate 35(T) 0 RowMajor
MemberDecorate 35(T) 0 Offset 0
MemberDecorate 35(T) 0 MatrixStride 16
MemberDecorate 35(T) 0 Offset 0
MemberDecorate 35(T) 1 Offset 32
MemberDecorate 36(Nestor) 0 Offset 0
MemberDecorate 37(Bt1) 0 Offset 0
Decorate 37(Bt1) Block
Decorate 39(Btn1) DescriptorSet 1
MemberDecorate 37(Bt1) 0 Offset 0
Decorate 39(Btn1) Binding 0
Decorate 39(Btn1) DescriptorSet 1
MemberDecorate 40(T) 0 ColMajor
MemberDecorate 40(T) 0 Offset 0
MemberDecorate 40(T) 0 MatrixStride 16
MemberDecorate 40(T) 0 Offset 0
MemberDecorate 40(T) 1 Offset 32
MemberDecorate 41(Nestor) 0 Offset 0
MemberDecorate 42(Bt2) 0 Offset 0
Decorate 42(Bt2) Block
Decorate 44(Btn2) DescriptorSet 1
MemberDecorate 42(Bt2) 0 Offset 0
Decorate 44(Btn2) Binding 0
Decorate 44(Btn2) DescriptorSet 1
Decorate 45(Bt3) Block
MemberDecorate 45(Bt3) 0 Offset 0
MemberDecorate 45(Bt3) 1 Offset 48
Decorate 45(Bt3) Block
Decorate 47(Btn3) DescriptorSet 1
Decorate 47(Btn3) Binding 0
Decorate 47(Btn3) DescriptorSet 1
MemberDecorate 48(T) 0 RowMajor
MemberDecorate 48(T) 0 Offset 0
MemberDecorate 48(T) 0 MatrixStride 8
MemberDecorate 48(T) 0 Offset 0
MemberDecorate 48(T) 1 Offset 16
MemberDecorate 49(Nestor) 0 Offset 0
MemberDecorate 50(bBt1) 0 Offset 0
Decorate 50(bBt1) BufferBlock
Decorate 52(bBtn1) DescriptorSet 1
MemberDecorate 50(bBt1) 0 Offset 0
Decorate 52(bBtn1) Binding 0
Decorate 52(bBtn1) DescriptorSet 1
MemberDecorate 53(T) 0 ColMajor
MemberDecorate 53(T) 0 Offset 0
MemberDecorate 53(T) 0 MatrixStride 8
MemberDecorate 53(T) 0 Offset 0
MemberDecorate 53(T) 1 Offset 16
MemberDecorate 54(Nestor) 0 Offset 0
MemberDecorate 55(bBt2) 0 Offset 0
Decorate 55(bBt2) BufferBlock
Decorate 57(bBtn2) DescriptorSet 1
MemberDecorate 55(bBt2) 0 Offset 0
Decorate 57(bBtn2) Binding 0
Decorate 57(bBtn2) DescriptorSet 1
Decorate 58(bBt3) BufferBlock
MemberDecorate 58(bBt3) 0 Offset 0
MemberDecorate 58(bBt3) 1 Offset 24
Decorate 58(bBt3) BufferBlock
Decorate 60(bBtn3) DescriptorSet 1
Decorate 60(bBtn3) Binding 0
Decorate 60(bBtn3) DescriptorSet 1
Decorate 62(sout) Flat
Decorate 62(sout) Location 0
MemberDecorate 63(S) 0 Invariant
@ -173,8 +173,8 @@ spv.layoutNested.vert
MemberDecorate 63(S) 1 Invariant
MemberDecorate 63(S) 2 RelaxedPrecision
MemberDecorate 63(S) 2 Invariant
Decorate 65(soutinv) Location 10
Decorate 65(soutinv) Invariant
Decorate 65(soutinv) Location 10
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1