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

@ -190,107 +190,107 @@ Validation failed
Name 3496 "t2DMS"
Name 3498 "t2DMSArray"
Name 3499 "bias"
Decorate 124(s1D) DescriptorSet 0
Decorate 124(s1D) Binding 0
Decorate 124(s1D) DescriptorSet 0
Decorate 127(c1) Location 0
Decorate 135(s2D) DescriptorSet 0
Decorate 135(s2D) Binding 1
Decorate 135(s2D) DescriptorSet 0
Decorate 138(c2) Location 1
Decorate 146(s3D) DescriptorSet 0
Decorate 146(s3D) Binding 2
Decorate 146(s3D) DescriptorSet 0
Decorate 150(c3) Location 2
Decorate 158(sCube) DescriptorSet 0
Decorate 158(sCube) Binding 4
Decorate 167(s1DShadow) DescriptorSet 0
Decorate 158(sCube) DescriptorSet 0
Decorate 167(s1DShadow) Binding 11
Decorate 182(s2DShadow) DescriptorSet 0
Decorate 167(s1DShadow) DescriptorSet 0
Decorate 182(s2DShadow) Binding 12
Decorate 194(sCubeShadow) DescriptorSet 0
Decorate 182(s2DShadow) DescriptorSet 0
Decorate 194(sCubeShadow) Binding 14
Decorate 194(sCubeShadow) DescriptorSet 0
Decorate 197(c4) Location 3
Decorate 208(s1DArray) DescriptorSet 0
Decorate 208(s1DArray) Binding 7
Decorate 217(s2DArray) DescriptorSet 0
Decorate 208(s1DArray) DescriptorSet 0
Decorate 217(s2DArray) Binding 8
Decorate 226(sCubeArray) DescriptorSet 0
Decorate 217(s2DArray) DescriptorSet 0
Decorate 226(sCubeArray) Binding 9
Decorate 235(s1DArrayShadow) DescriptorSet 0
Decorate 226(sCubeArray) DescriptorSet 0
Decorate 235(s1DArrayShadow) Binding 15
Decorate 247(s2DArrayShadow) DescriptorSet 0
Decorate 235(s1DArrayShadow) DescriptorSet 0
Decorate 247(s2DArrayShadow) Binding 16
Decorate 259(s2DRect) DescriptorSet 0
Decorate 247(s2DArrayShadow) DescriptorSet 0
Decorate 259(s2DRect) Binding 3
Decorate 268(s2DRectShadow) DescriptorSet 0
Decorate 259(s2DRect) DescriptorSet 0
Decorate 268(s2DRectShadow) Binding 13
Decorate 280(sCubeArrayShadow) DescriptorSet 0
Decorate 268(s2DRectShadow) DescriptorSet 0
Decorate 280(sCubeArrayShadow) Binding 17
Decorate 280(sCubeArrayShadow) DescriptorSet 0
Decorate 283(compare) Location 4
Decorate 371(lod) Location 5
Decorate 773(sBuffer) DescriptorSet 0
Decorate 773(sBuffer) Binding 5
Decorate 784(s2DMS) DescriptorSet 0
Decorate 773(sBuffer) DescriptorSet 0
Decorate 784(s2DMS) Binding 6
Decorate 795(s2DMSArray) DescriptorSet 0
Decorate 784(s2DMS) DescriptorSet 0
Decorate 795(s2DMSArray) Binding 10
Decorate 795(s2DMSArray) DescriptorSet 0
Decorate 866(dPdxy1) Location 8
Decorate 873(dPdxy2) Location 9
Decorate 880(dPdxy3) Location 10
Decorate 1799(i1D) DescriptorSet 1
Decorate 1799(i1D) Binding 0
Decorate 1808(i2D) DescriptorSet 1
Decorate 1799(i1D) DescriptorSet 1
Decorate 1808(i2D) Binding 1
Decorate 1817(i3D) DescriptorSet 1
Decorate 1808(i2D) DescriptorSet 1
Decorate 1817(i3D) Binding 2
Decorate 1826(i2DRect) DescriptorSet 1
Decorate 1817(i3D) DescriptorSet 1
Decorate 1826(i2DRect) Binding 3
Decorate 1835(iCube) DescriptorSet 1
Decorate 1826(i2DRect) DescriptorSet 1
Decorate 1835(iCube) Binding 4
Decorate 1844(iBuffer) DescriptorSet 1
Decorate 1835(iCube) DescriptorSet 1
Decorate 1844(iBuffer) Binding 8
Decorate 1853(i1DArray) DescriptorSet 1
Decorate 1844(iBuffer) DescriptorSet 1
Decorate 1853(i1DArray) Binding 5
Decorate 1862(i2DArray) DescriptorSet 1
Decorate 1853(i1DArray) DescriptorSet 1
Decorate 1862(i2DArray) Binding 6
Decorate 1871(iCubeArray) DescriptorSet 1
Decorate 1862(i2DArray) DescriptorSet 1
Decorate 1871(iCubeArray) Binding 7
Decorate 1880(i2DMS) DescriptorSet 1
Decorate 1871(iCubeArray) DescriptorSet 1
Decorate 1880(i2DMS) Binding 9
Decorate 1889(i2DMSArray) DescriptorSet 1
Decorate 1880(i2DMS) DescriptorSet 1
Decorate 1889(i2DMSArray) Binding 10
Decorate 1889(i2DMSArray) DescriptorSet 1
Decorate 2603(lodClamp) Location 7
Decorate 3168(t1D) DescriptorSet 2
Decorate 3168(t1D) Binding 0
Decorate 3172(s) DescriptorSet 2
Decorate 3168(t1D) DescriptorSet 2
Decorate 3172(s) Binding 11
Decorate 3180(t2D) DescriptorSet 2
Decorate 3172(s) DescriptorSet 2
Decorate 3180(t2D) Binding 1
Decorate 3189(t3D) DescriptorSet 2
Decorate 3180(t2D) DescriptorSet 2
Decorate 3189(t3D) Binding 2
Decorate 3198(tCube) DescriptorSet 2
Decorate 3189(t3D) DescriptorSet 2
Decorate 3198(tCube) Binding 4
Decorate 3207(sShadow) DescriptorSet 2
Decorate 3198(tCube) DescriptorSet 2
Decorate 3207(sShadow) Binding 12
Decorate 3238(t1DArray) DescriptorSet 2
Decorate 3207(sShadow) DescriptorSet 2
Decorate 3238(t1DArray) Binding 5
Decorate 3247(t2DArray) DescriptorSet 2
Decorate 3238(t1DArray) DescriptorSet 2
Decorate 3247(t2DArray) Binding 6
Decorate 3256(tCubeArray) DescriptorSet 2
Decorate 3247(t2DArray) DescriptorSet 2
Decorate 3256(tCubeArray) Binding 7
Decorate 3285(t2DRect) DescriptorSet 2
Decorate 3256(tCubeArray) DescriptorSet 2
Decorate 3285(t2DRect) Binding 3
Decorate 3318(subpass) DescriptorSet 3
Decorate 3285(t2DRect) DescriptorSet 2
Decorate 3318(subpass) Binding 0
Decorate 3318(subpass) DescriptorSet 3
Decorate 3318(subpass) InputAttachmentIndex 0
Decorate 3324(subpassMS) DescriptorSet 3
Decorate 3324(subpassMS) Binding 1
Decorate 3324(subpassMS) DescriptorSet 3
Decorate 3324(subpassMS) InputAttachmentIndex 0
Decorate 3491(fragColor) Location 0
Decorate 3494(tBuffer) DescriptorSet 2
Decorate 3494(tBuffer) Binding 8
Decorate 3496(t2DMS) DescriptorSet 2
Decorate 3494(tBuffer) DescriptorSet 2
Decorate 3496(t2DMS) Binding 9
Decorate 3498(t2DMSArray) DescriptorSet 2
Decorate 3496(t2DMS) DescriptorSet 2
Decorate 3498(t2DMSArray) Binding 10
Decorate 3498(t2DMSArray) DescriptorSet 2
Decorate 3499(bias) Location 6
2: TypeVoid
3: TypeFunction 2