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

@ -1333,10 +1333,11 @@ Validation failed
Name 392 "g_tTexcdf4"
Name 395 "g_tTexcdi4"
Name 398 "g_tTexcdu4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 16(g_tTex2df4) Binding 2
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 30($Global) Block
MemberDecorate 30($Global) 0 Offset 0
MemberDecorate 30($Global) 1 Offset 8
MemberDecorate 30($Global) 2 Offset 16
@ -1345,37 +1346,36 @@ Validation failed
MemberDecorate 30($Global) 5 Offset 56
MemberDecorate 30($Global) 6 Offset 64
MemberDecorate 30($Global) 7 Offset 80
Decorate 30($Global) Block
Decorate 32 DescriptorSet 0
Decorate 32 Binding 5
Decorate 47(g_tTex2di4) DescriptorSet 0
Decorate 32 DescriptorSet 0
Decorate 47(g_tTex2di4) Binding 3
Decorate 63(g_tTex2du4) DescriptorSet 0
Decorate 47(g_tTex2di4) DescriptorSet 0
Decorate 63(g_tTex2du4) Binding 4
Decorate 63(g_tTex2du4) DescriptorSet 0
Decorate 363(@entryPointOutput.Color) Location 0
Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 370(g_sSamp2d) DescriptorSet 0
Decorate 370(g_sSamp2d) Binding 0
Decorate 373(g_tTex1df4a) DescriptorSet 0
Decorate 370(g_sSamp2d) DescriptorSet 0
Decorate 373(g_tTex1df4a) Binding 1
Decorate 374(g_tTex1df4) DescriptorSet 0
Decorate 373(g_tTex1df4a) DescriptorSet 0
Decorate 374(g_tTex1df4) Binding 0
Decorate 377(g_tTex1di4) DescriptorSet 0
Decorate 374(g_tTex1df4) DescriptorSet 0
Decorate 377(g_tTex1di4) Binding 0
Decorate 380(g_tTex1du4) DescriptorSet 0
Decorate 377(g_tTex1di4) DescriptorSet 0
Decorate 380(g_tTex1du4) Binding 0
Decorate 383(g_tTex3df4) DescriptorSet 0
Decorate 380(g_tTex1du4) DescriptorSet 0
Decorate 383(g_tTex3df4) Binding 0
Decorate 386(g_tTex3di4) DescriptorSet 0
Decorate 383(g_tTex3df4) DescriptorSet 0
Decorate 386(g_tTex3di4) Binding 0
Decorate 389(g_tTex3du4) DescriptorSet 0
Decorate 386(g_tTex3di4) DescriptorSet 0
Decorate 389(g_tTex3du4) Binding 0
Decorate 392(g_tTexcdf4) DescriptorSet 0
Decorate 389(g_tTex3du4) DescriptorSet 0
Decorate 392(g_tTexcdf4) Binding 0
Decorate 395(g_tTexcdi4) DescriptorSet 0
Decorate 392(g_tTexcdf4) DescriptorSet 0
Decorate 395(g_tTexcdi4) Binding 0
Decorate 398(g_tTexcdu4) DescriptorSet 0
Decorate 395(g_tTexcdi4) DescriptorSet 0
Decorate 398(g_tTexcdu4) Binding 0
Decorate 398(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32