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

@ -198,51 +198,51 @@ Validation failed
Name 77 "g_texdata_array2[2].samp"
Name 78 "g_texdata_array2[2].tex"
Name 79 "g_texdata_array2[2].nonopaque_thing"
Decorate 18(g_texdata.tex) DescriptorSet 0
Decorate 18(g_texdata.tex) Binding 1
Decorate 22(g_texdata.samp) DescriptorSet 0
Decorate 18(g_texdata.tex) DescriptorSet 0
Decorate 22(g_texdata.samp) Binding 0
Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
Decorate 22(g_texdata.samp) DescriptorSet 0
Decorate 28(g_texdata_array[1].tex) Binding 3
Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
Decorate 30(g_texdata_array[1].samp) Binding 2
Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
Decorate 40(g_texdata_array2[1].tex) Binding 5
Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
Decorate 45(g_texdata_array2[1].samp) Binding 4
Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
Decorate 59(ps_output.color) Location 0
Decorate 62(g_samp) DescriptorSet 0
Decorate 62(g_samp) Binding 0
Decorate 63(g_tex) DescriptorSet 0
Decorate 62(g_samp) DescriptorSet 0
Decorate 63(g_tex) Binding 0
Decorate 63(g_tex) DescriptorSet 0
Decorate 65(g_texdata.nonopaque_thing) Location 0
Decorate 65(g_texdata.nonopaque_thing) DescriptorSet 0
Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
Decorate 66(g_texdata_array[0].samp) Binding 0
Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
Decorate 67(g_texdata_array[0].tex) Binding 0
Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
Decorate 68(g_texdata_array[0].nonopaque_thing) Location 1
Decorate 68(g_texdata_array[0].nonopaque_thing) DescriptorSet 0
Decorate 69(g_texdata_array[1].nonopaque_thing) Location 2
Decorate 69(g_texdata_array[1].nonopaque_thing) DescriptorSet 0
Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
Decorate 70(g_texdata_array[2].samp) Binding 0
Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
Decorate 71(g_texdata_array[2].tex) Binding 0
Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
Decorate 72(g_texdata_array[2].nonopaque_thing) Location 3
Decorate 72(g_texdata_array[2].nonopaque_thing) DescriptorSet 0
Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
Decorate 73(g_texdata_array2[0].samp) Binding 0
Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
Decorate 74(g_texdata_array2[0].tex) Binding 0
Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
Decorate 75(g_texdata_array2[0].nonopaque_thing) Location 4
Decorate 75(g_texdata_array2[0].nonopaque_thing) DescriptorSet 0
Decorate 76(g_texdata_array2[1].nonopaque_thing) Location 5
Decorate 76(g_texdata_array2[1].nonopaque_thing) DescriptorSet 0
Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
Decorate 77(g_texdata_array2[2].samp) Binding 0
Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
Decorate 78(g_texdata_array2[2].tex) Binding 0
Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
Decorate 79(g_texdata_array2[2].nonopaque_thing) Location 6
Decorate 79(g_texdata_array2[2].nonopaque_thing) DescriptorSet 0
2: TypeVoid