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

@ -32,24 +32,24 @@ spv.310.comp
Name 53 "gl_LocalInvocationID"
Name 65 "gl_DeviceIndex"
Decorate 11 ArrayStride 16
Decorate 12(outb) BufferBlock
MemberDecorate 12(outb) 0 Offset 0
MemberDecorate 12(outb) 1 Offset 4
MemberDecorate 12(outb) 2 Offset 8
MemberDecorate 12(outb) 3 Offset 16
Decorate 12(outb) BufferBlock
Decorate 14(outbname) DescriptorSet 0
Decorate 14(outbname) Binding 0
Decorate 14(outbname) DescriptorSet 0
Decorate 23(outbna) BufferBlock
MemberDecorate 23(outbna) 0 Offset 0
MemberDecorate 23(outbna) 1 Offset 16
Decorate 23(outbna) BufferBlock
Decorate 25(outbnamena) DescriptorSet 0
Decorate 25(outbnamena) Binding 1
Decorate 25(outbnamena) DescriptorSet 0
Decorate 47 ArrayStride 16
Decorate 48(outs) BufferBlock
MemberDecorate 48(outs) 0 Offset 0
MemberDecorate 48(outs) 1 Offset 16
Decorate 48(outs) BufferBlock
Decorate 50(outnames) DescriptorSet 0
Decorate 50(outnames) Binding 2
Decorate 50(outnames) DescriptorSet 0
Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 65(gl_DeviceIndex) BuiltIn DeviceIndex
Decorate 71 BuiltIn WorkgroupSize