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

@ -207,117 +207,117 @@ Validation failed
Name 5783 "t2DMS"
Name 5785 "t2DMSArray"
Name 5786 "bias"
Decorate 125(s1D) DescriptorSet 0
Decorate 125(s1D) Binding 0
Decorate 125(s1D) DescriptorSet 0
Decorate 128(c1) Location 0
Decorate 135(f16c1) Location 11
Decorate 137(f16bias) Location 16
Decorate 145(s2D) DescriptorSet 0
Decorate 145(s2D) Binding 1
Decorate 145(s2D) DescriptorSet 0
Decorate 148(c2) Location 1
Decorate 156(f16c2) Location 12
Decorate 165(s3D) DescriptorSet 0
Decorate 165(s3D) Binding 2
Decorate 165(s3D) DescriptorSet 0
Decorate 169(c3) Location 2
Decorate 177(f16c3) Location 13
Decorate 186(sCube) DescriptorSet 0
Decorate 186(sCube) Binding 4
Decorate 201(s1DShadow) DescriptorSet 0
Decorate 186(sCube) DescriptorSet 0
Decorate 201(s1DShadow) Binding 11
Decorate 201(s1DShadow) DescriptorSet 0
Decorate 215(compare) Location 4
Decorate 226(s2DShadow) DescriptorSet 0
Decorate 226(s2DShadow) Binding 12
Decorate 247(sCubeShadow) DescriptorSet 0
Decorate 226(s2DShadow) DescriptorSet 0
Decorate 247(sCubeShadow) Binding 14
Decorate 247(sCubeShadow) DescriptorSet 0
Decorate 251(c4) Location 3
Decorate 271(s1DArray) DescriptorSet 0
Decorate 271(s1DArray) Binding 7
Decorate 286(s2DArray) DescriptorSet 0
Decorate 271(s1DArray) DescriptorSet 0
Decorate 286(s2DArray) Binding 8
Decorate 301(sCubeArray) DescriptorSet 0
Decorate 286(s2DArray) DescriptorSet 0
Decorate 301(sCubeArray) Binding 9
Decorate 301(sCubeArray) DescriptorSet 0
Decorate 309(f16c4) Location 14
Decorate 318(s1DArrayShadow) DescriptorSet 0
Decorate 318(s1DArrayShadow) Binding 15
Decorate 339(s2DArrayShadow) DescriptorSet 0
Decorate 318(s1DArrayShadow) DescriptorSet 0
Decorate 339(s2DArrayShadow) Binding 16
Decorate 359(s2DRect) DescriptorSet 0
Decorate 339(s2DArrayShadow) DescriptorSet 0
Decorate 359(s2DRect) Binding 3
Decorate 373(s2DRectShadow) DescriptorSet 0
Decorate 359(s2DRect) DescriptorSet 0
Decorate 373(s2DRectShadow) Binding 13
Decorate 393(sCubeArrayShadow) DescriptorSet 0
Decorate 373(s2DRectShadow) DescriptorSet 0
Decorate 393(sCubeArrayShadow) Binding 17
Decorate 393(sCubeArrayShadow) DescriptorSet 0
Decorate 565(lod) Location 5
Decorate 572(f16lod) Location 15
Decorate 1300(sBuffer) DescriptorSet 0
Decorate 1300(sBuffer) Binding 5
Decorate 1311(s2DMS) DescriptorSet 0
Decorate 1300(sBuffer) DescriptorSet 0
Decorate 1311(s2DMS) Binding 6
Decorate 1322(s2DMSArray) DescriptorSet 0
Decorate 1311(s2DMS) DescriptorSet 0
Decorate 1322(s2DMSArray) Binding 10
Decorate 1322(s2DMSArray) DescriptorSet 0
Decorate 1393(dPdxy1) Location 8
Decorate 1400(f16dPdxy1) Location 18
Decorate 1407(dPdxy2) Location 9
Decorate 1414(f16dPdxy2) Location 19
Decorate 1421(dPdxy3) Location 10
Decorate 1428(f16dPdxy3) Location 20
Decorate 2909(i1D) DescriptorSet 1
Decorate 2909(i1D) Binding 0
Decorate 2918(i2D) DescriptorSet 1
Decorate 2909(i1D) DescriptorSet 1
Decorate 2918(i2D) Binding 1
Decorate 2927(i3D) DescriptorSet 1
Decorate 2918(i2D) DescriptorSet 1
Decorate 2927(i3D) Binding 2
Decorate 2936(i2DRect) DescriptorSet 1
Decorate 2927(i3D) DescriptorSet 1
Decorate 2936(i2DRect) Binding 3
Decorate 2945(iCube) DescriptorSet 1
Decorate 2936(i2DRect) DescriptorSet 1
Decorate 2945(iCube) Binding 4
Decorate 2954(iBuffer) DescriptorSet 1
Decorate 2945(iCube) DescriptorSet 1
Decorate 2954(iBuffer) Binding 8
Decorate 2963(i1DArray) DescriptorSet 1
Decorate 2954(iBuffer) DescriptorSet 1
Decorate 2963(i1DArray) Binding 5
Decorate 2972(i2DArray) DescriptorSet 1
Decorate 2963(i1DArray) DescriptorSet 1
Decorate 2972(i2DArray) Binding 6
Decorate 2981(iCubeArray) DescriptorSet 1
Decorate 2972(i2DArray) DescriptorSet 1
Decorate 2981(iCubeArray) Binding 7
Decorate 2990(i2DMS) DescriptorSet 1
Decorate 2981(iCubeArray) DescriptorSet 1
Decorate 2990(i2DMS) Binding 9
Decorate 2999(i2DMSArray) DescriptorSet 1
Decorate 2990(i2DMS) DescriptorSet 1
Decorate 2999(i2DMSArray) Binding 10
Decorate 2999(i2DMSArray) DescriptorSet 1
Decorate 4187(lodClamp) Location 7
Decorate 4194(f16lodClamp) Location 17
Decorate 5316(t1D) DescriptorSet 2
Decorate 5316(t1D) Binding 0
Decorate 5320(s) DescriptorSet 2
Decorate 5316(t1D) DescriptorSet 2
Decorate 5320(s) Binding 11
Decorate 5336(t2D) DescriptorSet 2
Decorate 5320(s) DescriptorSet 2
Decorate 5336(t2D) Binding 1
Decorate 5353(t3D) DescriptorSet 2
Decorate 5336(t2D) DescriptorSet 2
Decorate 5353(t3D) Binding 2
Decorate 5370(tCube) DescriptorSet 2
Decorate 5353(t3D) DescriptorSet 2
Decorate 5370(tCube) Binding 4
Decorate 5387(sShadow) DescriptorSet 2
Decorate 5370(tCube) DescriptorSet 2
Decorate 5387(sShadow) Binding 12
Decorate 5451(t1DArray) DescriptorSet 2
Decorate 5387(sShadow) DescriptorSet 2
Decorate 5451(t1DArray) Binding 5
Decorate 5468(t2DArray) DescriptorSet 2
Decorate 5451(t1DArray) DescriptorSet 2
Decorate 5468(t2DArray) Binding 6
Decorate 5485(tCubeArray) DescriptorSet 2
Decorate 5468(t2DArray) DescriptorSet 2
Decorate 5485(tCubeArray) Binding 7
Decorate 5543(t2DRect) DescriptorSet 2
Decorate 5485(tCubeArray) DescriptorSet 2
Decorate 5543(t2DRect) Binding 3
Decorate 5603(subpass) DescriptorSet 3
Decorate 5543(t2DRect) DescriptorSet 2
Decorate 5603(subpass) Binding 0
Decorate 5603(subpass) DescriptorSet 3
Decorate 5603(subpass) InputAttachmentIndex 0
Decorate 5609(subpassMS) DescriptorSet 3
Decorate 5609(subpassMS) Binding 1
Decorate 5609(subpassMS) DescriptorSet 3
Decorate 5609(subpassMS) InputAttachmentIndex 0
Decorate 5777(fragColor) Location 0
Decorate 5781(tBuffer) DescriptorSet 2
Decorate 5781(tBuffer) Binding 8
Decorate 5783(t2DMS) DescriptorSet 2
Decorate 5781(tBuffer) DescriptorSet 2
Decorate 5783(t2DMS) Binding 9
Decorate 5785(t2DMSArray) DescriptorSet 2
Decorate 5783(t2DMS) DescriptorSet 2
Decorate 5785(t2DMSArray) Binding 10
Decorate 5785(t2DMSArray) DescriptorSet 2
Decorate 5786(bias) Location 6
2: TypeVoid
3: TypeFunction 2