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

@ -36,21 +36,21 @@ spv.meshTaskShader.task
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
MemberDecorate 47(block0) 0 Offset 0
Decorate 47(block0) Block
Decorate 49 DescriptorSet 0
MemberDecorate 47(block0) 0 Offset 0
Decorate 49 Binding 1
Decorate 65(uni_image) DescriptorSet 0
Decorate 65(uni_image) Binding 0
Decorate 49 DescriptorSet 0
Decorate 65(uni_image) NonReadable
Decorate 65(uni_image) Binding 0
Decorate 65(uni_image) DescriptorSet 0
Decorate 87 ArrayStride 8
MemberDecorate 88(Task) 0 PerTaskNV
MemberDecorate 88(Task) 0 Offset 0
MemberDecorate 88(Task) 1 PerTaskNV
MemberDecorate 88(Task) 1 Offset 8
MemberDecorate 88(Task) 2 PerTaskNV
MemberDecorate 88(Task) 2 Offset 32
Decorate 88(Task) Block
MemberDecorate 88(Task) 0 Offset 0
MemberDecorate 88(Task) 0 PerTaskNV
MemberDecorate 88(Task) 1 Offset 8
MemberDecorate 88(Task) 1 PerTaskNV
MemberDecorate 88(Task) 2 Offset 32
MemberDecorate 88(Task) 2 PerTaskNV
Decorate 90(mytask) Location 0
Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
Decorate 115 BuiltIn WorkgroupSize